博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcEngine在AxMapControl上绘制
阅读量:4303 次
发布时间:2019-05-27

本文共 2241 字,大约阅读时间需要 7 分钟。

在AxmapControl上绘制点(point)线(line,polyline)都是比较方便的,函数如下:

///         /// 在地图控件上绘制点或线        ///         /// 绘制符号        /// 绘制的图形        /// 地图控件        private void PRV_DrawOnMapControl(ISymbol IN_Symbol,IGeometry IN_Geometry,AxMapControl IN_AxmapControl)        {            //定义绘图容器            IGraphicsContainer Temp_GraphicsContainer = IN_AxmapControl.Map as IGraphicsContainer;            //设定参数            IElement Temp_TargetElement=new LineElementClass();//默认线元素            switch (IN_Geometry.GeometryType)            {                case esriGeometryType.esriGeometryPoint:                    IMarkerElement Temp_MarkerElement = new MarkerElementClass();                    //设定符号                    Temp_MarkerElement.Symbol = IN_Symbol as IMarkerSymbol;                    Temp_TargetElement = Temp_MarkerElement as IElement;                    Temp_TargetElement.Geometry = IN_Geometry;                    break;                case esriGeometryType.esriGeometryLine:                    //将Line转换成PolyLine                    object Missing1 = Type.Missing;                    object Missing2 = Type.Missing;                    ISegment Temp_Segment = IN_Geometry as ISegment;                    PolylineClass Temp_Polyline = new PolylineClass();                    Temp_Polyline.AddSegment(Temp_Segment, ref Missing1, ref Missing2);                    //绘制PolyLine                    ILineElement Temp_LineElement = new LineElementClass();                    Temp_LineElement.Symbol = IN_Symbol as ILineSymbol;                    Temp_TargetElement = Temp_LineElement as IElement;                    Temp_TargetElement.Geometry = Temp_Polyline;                    break;                case esriGeometryType.esriGeometryPolyline:                    ILineElement Temp_PolyLineElement = new LineElementClass();                    Temp_PolyLineElement.Symbol = IN_Symbol as ILineSymbol;                    Temp_TargetElement = Temp_PolyLineElement as IElement;                    Temp_TargetElement.Geometry = IN_Geometry;                    break;            }            //绘制            Temp_GraphicsContainer.AddElement((IElement)Temp_TargetElement, 0);            //刷新显示            IN_AxmapControl.ActiveView.Refresh();        }

转载地址:http://prqws.baihongyu.com/

你可能感兴趣的文章
大数据学习之HDP SANDBOX开始学习
查看>>
Hive Beeline使用
查看>>
Centos6安装图形界面(hdp不需要,hdp直接从github上下载数据即可)
查看>>
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
linux下载github中的文件
查看>>
HDP Sandbox里面git clone不了数据(HTTP request failed)【目前还没解决,所以hive的练习先暂时搁置了】
查看>>
动态分区最佳实践(一定要注意实践场景)
查看>>
HIVE—索引、分区和分桶的区别
查看>>
Hive进阶总结(听课总结)
查看>>
大数据领域两大最主流集群管理工具Ambari和Cloudera Manger
查看>>
Sqoop往Hive导入数据实战
查看>>
Mysql到HBase的迁移
查看>>
Sqoop import进阶
查看>>
Hive语句是如何转化成MapReduce任务的
查看>>
Hive创建table报错:Permission denied: user=lenovo, access=WRITE, inode="":suh:supergroup:rwxr-xr-x
查看>>
Hive执行job时return code 2排查
查看>>
hive常用函数及数据结构介绍
查看>>
Hive面试题干货(亲自跟着做了好几遍,会了的话对面试大有好处)
查看>>
力扣题解-230. 二叉搜索树中第K小的元素(递归方法,中序遍历解决)
查看>>