三维校园+AE+SceneControl


1、根据高程点(excel文件)生成TIN。 2、TIN与DOM叠加构建三维场景。 3、根据TIN提取等高线。 4、模型导入
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Analyst3D;

namespace _3DCampus
{
    /// 
    /// 模仿ArcGIS的TOCControl控件,对TIN模型分级渲染颜色进行关联,并通过
    /// 复选框的勾选状态控制对应色带的显隐
    /// 

    public partial class ColorControlView : UserControl
    {
        /// 
        /// 颜色图标清单
        /// 

        private ImageList pImageList;

        /// 
        /// 激活节点
        /// 

        private TreeNode pTreeNode;

        /// 
        /// 含有TIN的三维控件
        /// 

        static private AxSceneControl _pSceneControl;

        public ColorControlView()
        {
            InitializeComponent();
            treeView1.CheckBoxes = true;
        }

        /// 
        /// 初始化TIN图层颜色列表
        /// 

        /// 含TIN图层的AxSceneControl控件
        public void IniColorTree(AxSceneControl pSceneControl)
        {
            _pSceneControl = pSceneControl;

            ITinlayer pTinlayer = getTinlayer(_pSceneControl);
            if (pTinlayer == null)
                return;

            treeView1.Nodes.Clear();
            pImageList = new ImageList();
            pImageList.ImageSize = new Size(16 15);

            treeView1.ImageList = pImageList;

            ITinRenderer pRenderNew = pTinlayer.GetRenderer(0);
            ITinColorRampRenderer pElevRenderer = pRenderNew as ITinColorRampRenderer;
            if (pElevRenderer == null)
                return;
            ISimpleFillSymbol pSymbol = null;

            Color pColor = new Color();
            string lable = ““;

            for (int i = 0; i < pElevRenderer.BreakCount; i++)
            {
                lable = pElevRenderer.get_Label(i);
                pSymbol = pElevRenderer.get_Symbol(i) as ISimpleFillSymbol;
                pColor = ColorTranslator.FromOle(pSymbol.Color.RGB);

                Image pImage = getImage(pColor);
                pImageList.Images.Add(pImage);

                TreeNode pTN = new TreeNode();
                pTN.Text = lable;
                pTN.Checked = true;
                pTN.ImageIndex = pImageList.Images.Count - 1;
                pTN.Tag = pColor;

                treeView1.Nodes.Add(pTN);
            }
        }

        /// 
        /// 获得颜色图标
        /// 

        /// 图标颜色
        /// 
        private static Image getImage(Color clr)
        {
            Panel pPanel = new Panel();
            pPanel.Visible = false;
            pPanel.Width = 16;
            pPanel.Height = 14;

            Bitmap pBitmap = new Bitmap(16 14);
            Rectangle rc = new Rect

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-14 14:23  3DCampus
     文件       14035  2014-05-14 18:37  3DCampus3DCampus.csproj
     文件         227  2014-05-10 21:42  3DCampus3DCampus.csproj.user
     文件         857  2014-05-10 20:27  3DCampus3DCampus.sln
     文件       54784  2014-05-31 08:33  3DCampus3DCampus.suo
     文件           1  2014-05-10 20:37  3DCampusClassDiagram1.cd
     文件        9718  2014-05-10 23:31  3DCampusColorControlView.cs
     文件        2392  2014-05-10 23:31  3DCampusColorControlView.designer.cs
     文件        5814  2014-05-10 23:30  3DCampusColorControlView.resx
     文件        9741  2014-05-14 14:09  3DCampusCreateContour.Designer.cs
     文件       13431  2014-05-14 18:37  3DCampusCreateContour.cs
     文件      495625  2014-05-14 14:09  3DCampusCreateContour.resx
     文件        1840  2014-05-10 23:31  3DCampusDensitySetFrm.cs
     文件       14253  2014-05-10 23:31  3DCampusDensitySetFrm.designer.cs
     文件        6493  2014-05-10 23:30  3DCampusDensitySetFrm.resx
     文件       20942  2014-05-30 22:51  3DCampusForm1.Designer.cs
     文件       14503  2014-05-30 23:52  3DCampusForm1.cs
     文件      522187  2014-05-30 22:51  3DCampusForm1.resx
     文件         357  2014-05-10 23:31  3DCampusFrmChoseGColor.cs
     文件        4307  2014-05-10 23:31  3DCampusFrmChoseGColor.designer.cs
     文件        5814  2014-05-10 23:30  3DCampusFrmChoseGColor.resx
     文件         357  2014-05-10 23:31  3DCampusFrmChosePColor.cs
     文件        4184  2014-05-10 23:31  3DCampusFrmChosePColor.designer.cs
     文件        5814  2014-05-10 23:30  3DCampusFrmChosePColor.resx
     文件        2259  2014-05-11 00:05  3DCampusFrmContourSet.cs
     文件        8088  2014-05-10 23:57  3DCampusFrmContourSet.designer.cs
     文件      495125  2014-05-10 23:57  3DCampusFrmContourSet.resx
     文件        2754  2014-05-10 23:31  3DCampusFrmTinSet.cs
     文件       12624  2014-05-10 23:31  3DCampusFrmTinSet.designer.cs
     文件        6493  2014-05-10 23:30  3DCampusFrmTinSet.resx
     文件        8542  2014-05-30 23:35  3DCampusImportModel.Designer.cs
............此处省略237个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)