![](https://img-blog.csdnimg.cn/20200822152534500.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
组件GIS
GIS组件开发
努力搬砖的giser
面对敌人的严刑逼供,我一个字也没说,而是一五一十地写了下来。
展开
-
基于C#的AutoCAD二次开发之展高程点(txt、dat等文件)
基于c#的AutoCAD二次开发之展高程点(txt、dat等文件)我的开发环境为Visual Studio 2017 & AutoCAD 2014 & AutoCAD 2020。之前的一篇文章已经介绍过AutoCAD中基础图形的创建方法,今天给大家说下如何在AutoCAD中展高程点。高程点文件存储格式与CASS中读取的DAT格式一致,示例:【1,ZDH ,450000.000,4...原创 2020-01-18 23:13:34 · 3562 阅读 · 1 评论 -
基于C#的AutoCAD二次开发之直线、多段线、圆形、文字的创建
基于c#的AutoCAD二次开发之直线、多段线、圆形、文字的创建我的开发环境为Visual Studio 2017 & AutoCAD 2014 & AutoCAD 2020AutoCAD数据库的基础知识表:是数据库的组成单位,一个数据库至少包含9个符号表(块表、层表、文字样式表、线型表、视图表、UCS表、视口表、注册应用程序表、标注样式表)记录:是表的组成单位,一个...原创 2020-01-13 13:53:38 · 2176 阅读 · 3 评论 -
基于C#的AE二次开发之影像数据的裁切(掩膜)
基于C#的AE二次开发之影像数据的裁切和保存我的开发环境为ArcGIS Engine 10.2与Visual studio2010,主地图名称为axMapControl1,如果变动则需要修改(注意相关事件的添加与动态链接库的引入)。效果预览 裁剪前 裁剪后实现代码引用类库using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.C...原创 2020-01-12 13:27:56 · 1937 阅读 · 0 评论 -
基于C#的AE二次开发之GP工具实现要素类添加字段
基于C#的AE二次开发之GP工具实现要素类添加字段我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1。创建一个菜单或按钮,加入点击事件,粘贴代码即可实现。(注意相关事件的添加与动态链接库的引入)效果预览使用的工具实现效果预览实现代码private void 添加字段ToolStripMenuI...原创 2020-01-07 22:33:34 · 988 阅读 · 0 评论 -
基于C#的AE二次开发之GP工具的使用心得
基于C#的AE二次开发之GP工具的使用心得Geoprocessor与Geoprocessing有什么区别?Geoprocessing是GIS三大视角之一,能够通过分析处理已存在的数据,在新的数据集中产生结果。可以简单地理解为ToolBoxs中的工具。Geoprocessor是ArcEngine9.2新增的一个基于NET Framework2.0的托管类,所有的Geoprocessing工具...转载 2020-01-07 21:45:18 · 2487 阅读 · 0 评论 -
基于C#的AE二次开发之入门简介与类库简介
基于C#的AE二次开发之入门简介与部分类库简介简介什么是ArcGIS Engine?ArcGIS Engine 是一组完备的并且打包的嵌入式 GIS 组件库和工具库,开发人员可用来创建新的或扩 展已有的桌面应用程序。使用 ArcGIS Engine,开发人员可以将 GIS 功能嵌入到已有的应用软件中,如自 定义行业专用产品;或嵌入到商业生产应用软件中,如Mirosoft Word 和...原创 2020-01-05 22:04:05 · 1889 阅读 · 0 评论 -
基于C#的AE二次开发之地图旋转(IScreenDisplay )
基于C#的AE二次开发之地图旋转(IScreenDisplay )我的开发环境为ArcGIS Engine 10.2与Visual studio2010,主地图名称为axMapControl1。如果名称变动则需要修改(注意相关事件的添加与动态链接库的导入)!效果预览 旋转中的效果实现代码//鼠标按下事件private void axMapControl1_OnMouseD...原创 2020-01-05 21:30:46 · 1359 阅读 · 0 评论 -
基于C#的AE二次开发之鼠标滑过显示要素字段信息(ShowMapTips)
基于C#的AE二次开发之鼠标滑过显示要素字段信息(ShowMapTips)我的开发环境为ArcGIS Engine 10.2与Visual studio2010,主地图名称为axMapControl1。如果名称变动则需要修改(注意相关事件的添加与动态链接库的导入)!效果预览实现代码方法1:通过将 axmapcontrol 自带的 ShowMapTips 属性设置为 true...原创 2020-01-04 14:47:50 · 1103 阅读 · 3 评论 -
基于C#的AE二次开发之图层右键菜单打开属性表及图层相关操作
基于C#的AE二次开发之图层右键菜单打开属性表及图层相关操作我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,Toc目录名为axTOCControl1。(注意相关事件的添加与动态链接库的引入)!效果预览实现方法引入contextMenuStrip工具,并添加菜单栏工具目录。我这里有打开属性表、图层可选...原创 2020-01-04 11:47:57 · 5832 阅读 · 22 评论 -
VB6+Mo属性查询与空间查询
VB6+Mo属性查询与空间查询导入Map Objects组件,并在窗体中添加Map控件(主地图名为Map1)。界面与效果预览将用户鼠标点击所落入的多边形区域和相邻区域高亮显示(空间查询)2.查询所有要素类的总面积( 属性查询) - 实现代码将用户鼠标点击所落入的多边形区域和相邻区域高亮显示(空间查询)'所有变量必须先声明,才能使用Option ExplicitDim ...原创 2020-01-01 22:04:49 · 791 阅读 · 0 评论 -
基于C#的AE二次开发之GP工具实现要素类投影转换
基于C#的AE二次开发之GP工具实现要素类投影转换我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1。创建一个菜单或按钮,加入点击事件,粘贴代码即可实现。(注意相关事件的添加与动态链接库的引入)实现代码private void 定义投影ToolStripMenuItem_Click(object sender, ...原创 2019-12-31 20:25:02 · 896 阅读 · 1 评论 -
基于C#的AE二次开发之IQueryFilter、ISpatialFilter、IQueryDef的查询接口的介绍
基于C#的AE二次开发之IQueryFilter、ISpatialFilter、IQueryDef的查询接口的介绍我的开发环境为ArcGIS Engine 10.2与Visual studio2010。在使用ArcEngine查询进行查询的时候主要使用三种查询接口IQueryFilter(属性查询) 、ISpatialFilter(空间查询) 、IQueryDef (多表查询)那么这三个接口的...原创 2019-12-27 13:03:32 · 1909 阅读 · 0 评论 -
VB6+Mo矢量图层的加载与移除
VB6+Mo矢量图层的加载与移除(附实现代码)导入Map Objects、CommandDialog 组件(这一组件在对象库Microsoft Common Dialog Control 6.0 中)。添加Map控件(主地图名为Map1),Conmon Dialog 控件,将其名称改为cDlg1、添加Listbox 控件,并将其名称改为lstLayers界面预览效果预览相关代码...原创 2019-12-26 19:13:54 · 884 阅读 · 1 评论 -
VB6+Mo基础入门之地图放大、缩小、平移、漫游、全图、颜色修改等
VB6+Mo基础入门之地图拉框放大、平移、固定放大、固定缩小、漫游、全图、颜色修改等注意相关事件的添加,以及组件名称的修改!界面预览地图拉框放大与平移功能Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) '如果鼠标点击的是左键,就通过鼠标绘...原创 2019-12-25 15:59:27 · 1724 阅读 · 0 评论 -
基于C#的AE二次开发之通过点击地图窗口计算面要素面积并显示(ITopologicalOperator)
基于C#的AE二次开发之通过点击地图窗口计算面要素面积显示我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1。创建主地图的OnMouseDown来实现面状要素面积的计算,面状要素类必须经过投影(采用投影坐标系,而不是地理坐标系),否则计算出来的面积有误!(注意相关事件的添加与动态链接库的引入)效果预览:实...原创 2019-12-25 15:01:28 · 1065 阅读 · 1 评论 -
基于C#的AE二次开发-地图渲染之分级设色符号化
基于C#的AE二次开发-地图渲染之分级设色渲染符号化我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,Toc目录名为axTOCControl1,创建一个菜单或按钮,创建一个点击事件,粘贴代码修改图层与渲染字段即可实现。(注意相关事件的添加与动态链接库的引入)!效果预览:面状符号分级设色渲染点状符号分级设色...原创 2019-12-24 12:12:13 · 3367 阅读 · 3 评论 -
基于C#的AE二次开发-地图渲染之唯一值符号化
基于C#的AE二次开发-地图渲染之唯一值符号化我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,Toc目录名为axTOCControl1,创建一个菜单或按钮,创建一个点击事件,粘贴代码修改图层与标注字段即可实现。(注意相关事件的添加与动态链接库的引入)!效果预览:面状符号唯一值点状符号唯一值实现代码...原创 2019-12-23 15:50:39 · 1981 阅读 · 0 评论 -
基于C#的AE二次开发之地图标注
基于C#的AE二次开发之地图标注我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,创建一个菜单或按钮,创建一个点击事件,粘贴代码修改图层与标注字段即可实现。(注意相关事件的添加与动态链接库的引入)!效果预览:实现代码:private void 标注要素ToolStripMenuItem_Click(object ...原创 2019-12-21 23:57:45 · 2084 阅读 · 5 评论 -
基于C#的AE二次开发之调用GP实现擦除功能
基于C#的AE二次开发调用GP实现要素类的擦除功能实例我的开发环境为ArcGIS Engine 10.2与Visual studio2010,主地图名称为axMapControl1,如果变动则需要修改(注意相关事件的添加与动态链接库的引入)。示例代码:private void 擦除工具ToolStripMenuItem_Click(object sender, EventArgs e){...原创 2019-12-20 18:09:17 · 1160 阅读 · 1 评论 -
基于C#的AE二次开发之地图放大、缩小、平移、漫游、选择等等
基于C#的AE二次开发之地图拉框放大(缩小)、固定放大(缩小)、平移、漫游、(取消)选择等调用ArcGIS Engine封装好ICommand 类,快速地实现GIS系统的一些基础功能。我的开发环境为ArcGIS Engine 10.2与Visual studio2010,主地图名称为axMapControl1,如果变动则需要修改,将代码填入按钮或菜单栏点击事件中,对主地图进行操作即可实现对功能。...原创 2019-12-20 17:42:15 · 7134 阅读 · 6 评论 -
VB6+Mo图层顺序的调整(MoveToTop、MoveTo、MoveToBottom )
VB6+Mo图层顺序的调整(MoveToTop、MoveTo)object.MoveToTop 要移动图层的索引移动图层顺序为第一层object.MoveToBottom 要移动图层的索引移动图层顺序为最后一层object.MoveTo value1, value2(value1是移动图层的索引,value2 是要移动的图层顺序)示例:代码:'在窗体加载时时,给lstLayers...原创 2019-12-19 21:24:13 · 1099 阅读 · 0 评论 -
基于C#的AE二次开发地图保存与另存为
保存与另存为创建一个菜单或按钮,创建一个点击事件,粘贴代码即可实现。我的主地图名称为axMapControl1,如果变动则需要修改!private void 保存ToolStripMenuItem_Click(object sender, EventArgs e){ try { string sMxdFileName = axMapControl1.Docum...原创 2019-11-16 13:30:31 · 1007 阅读 · 0 评论 -
基于C#的AE二次开发GP生成缓冲区分析
调用GP工具生成缓冲区分析创建菜单栏或者按钮,设置点击事件加载代码即可,注意需要导入对应的动态链接库(.dll)/// GP工具调用,生成缓冲区private void btnGPBuffer_Click(object sender, EventArgs e){ try { //缓冲区分析-GP工具调用 Geoprocessor gp = new Geoprocessor();...原创 2019-11-16 13:41:36 · 1878 阅读 · 0 评论 -
AE二次开发C#语言鹰眼图的实现
AE二次开发C#语言鹰眼图的实现开发环境为ArcGIS Engine 10.2与Visual studio2010.主地图名称为axMapControl1,鹰眼图名称为axMapControl2。如果名称变动则需要修改(注意相关事件的添加与动态链接库的导入)!实现代码:private void axMapControl1_OnMapReplaced(object sender, IMapCo...原创 2019-12-16 16:03:54 · 1744 阅读 · 3 评论 -
基于C#的AE二次开发布局视图与主视图的同步
AE二次开发C#语言布局视图与主视图的同步我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为axMapControl1,布局视图名称为axPageLayoutControl1。如果名称变动则需要修改(注意相关事件的添加与动态链接库的导入)!实现代码:#region 布局视图与主地图同步private void axMapControl1_O...原创 2019-12-16 16:08:57 · 1825 阅读 · 0 评论 -
AE二次开发C#设置RGB、获取当前地图所有图层的要素类、由名称获取图层工具类
AE二次开发C#语言地图操作部分工具类开发环境为ArcGIS Engine 10.2与Visual studio2010。创建一个类加入相关引用(注意动态链接库的导入)。using ESRI.ArcGIS.Carto;using ESRI.ArcGIS.Geodatabase;using ESRI.ArcGIS.Display;using ESRI.ArcGIS.esriSystem;...原创 2019-12-16 16:14:42 · 851 阅读 · 0 评论 -
基于C#的AE二次开发导出地图为JPG、TIF、PDF图片
AE二次开发C#语言导出地图为JPG、TIF、PDF图片我的开发环境为ArcGIS Engine 10.2与Visual studio2010。创建一个菜单或按钮,创建一个点击事件,粘贴代码即可实现。我的主地图名称为axMapControl1,如果变动则需要修改(注意相关事件的添加与动态链接库的引入)!,这个导出是当前地图窗口范围的导出,导出的范围取决于地图窗口的当前内容。SaveFileDia...原创 2019-12-16 16:21:53 · 1957 阅读 · 1 评论 -
基于C#的AE二次开发字段统计
AE二次开发C#语言字段属性统计我的开发环境为ArcGIS Engine 10.2与Visual studio2010。利用IDataStatistics类可以实现数值型字段中的数量、最小值、最大值、平均数、数总、标准差的统计。实现代码:private void comboBoxFields_SelectedIndexChanged(object sender, EventArgs e){...原创 2019-12-16 17:21:55 · 881 阅读 · 2 评论 -
基于C#的AE二次开发调用AE中的符号选择器
基于C#的AE二次开发调用AE中的符号选择器我的开发环境为ArcGIS Engine 10.2与Visual studio2010。主地图名称为mainMapControl,如果变动则需要修改(注意相关事件的添加与动态链接库的引入)!实现代码:#region 调用ArcMap中的符号选择器//给toc菜单添加多次点击事件private void axTOCControl_OnDouble...原创 2019-12-17 08:39:22 · 1456 阅读 · 16 评论 -
基于C#的AE二次开发如何进行空间查询
基于C#的AE二次开发空间查询我的开发环境为ArcGIS Engine 10.2与Visual studio2010。如果想进行空间查询,则必须要了解 esriSpatialRelEnum 这个枚举类似的空间关系类,一下是几个比较重要的空间关系。A的Envelope和B的Envelope相交esriSpatialRelEnum.esriSpatialRelEnvelopeIntersect...原创 2019-12-17 08:51:32 · 2589 阅读 · 1 评论 -
基于.net平台c#语言的AutoCAD二次开发入门
基于.net平台c#语言的AutoCAD二次开发入门开发入门1.1 软件准备 Visual Studio 2017 AutoCAD 20141.2 开发环境准备首先打开我们的 Visual Studio软件,菜单栏点击“文件→新建→项目”,选择Visual C#下的“类库(.NET Framework)”,在下面的文字框内容填写类名与项目路径(由于我的AutoCAD是20...原创 2019-12-17 13:39:18 · 4518 阅读 · 3 评论