![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AE开发
GIS程序猿
GIS程序猿。
专注国土行业GIS插件。
展开
-
arcgis插件 批量出图 按地块批量出图工具(动态文本、动态节点坐标表)
arcgis插件 批量出图 按地块批量出图工具。原创 2022-11-08 11:17:56 · 2920 阅读 · 3 评论 -
ArcGIS AddIn开发之:属性刷兼属性修改工具
1、arcmap中选中一个要素,点击读取要素,把属性读取到datagridview中。4、重新在arcmap中选择其他要素,可以单选多选,选中之后,点击“粘贴”按钮,先遍历要素,再遍历字典,把所有字段值,存到要素中。3、点击“复制”按钮,把需要复制的字段的 ID 和 字段内容,存到字典中。一般在arcmap修改要素属性的流程是:开启编辑,选择图层,找到要素,修改,保存,关闭编辑。但是用这个插件,只需要:选择要素,读取属性,修改内容,回车。添加了一个属性修改功能。人无我有,人有我优,做插件,就是要卷起来。原创 2022-11-03 17:55:52 · 1515 阅读 · 0 评论 -
gis二次开发,三个方法,完成engine鹰眼功能,简单易懂
三个方法,搞定engine鹰眼功能,简单易懂private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) { IEnvelope pEnv = axMapControl2.TrackRectangle(); axMapControl1.Extent = pEnv; axMapControl原创 2022-11-29 16:23:22 · 2127 阅读 · 0 评论 -
arcgis许可绑定 小关键
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);原创 2022-04-19 17:02:18 · 754 阅读 · 0 评论 -
打开shp文件
/// <summary> /// 打开shp /// </summary> /// <param name="shpfile"></param> /// <returns></returns> private IFeatureLayer openShpLayer(string shpfile) { ...原创 2022-03-18 09:41:15 · 2465 阅读 · 0 评论 -
[arcgis插件]gis二次开发 报备工具:SHP转TXT文本、TXT转SHP插件
arcgis插件 报备工具 :SHP和TXT文件互转,属性信息和地块坐标行可灵活配置原创 2022-03-18 09:26:48 · 6300 阅读 · 0 评论 -
VS中丢失ArcGis 控件和模板的解决方法
VS中丢失ArcGis 控件和模板的解决方法VS中丢失ArcGis控件和模板的解决方法(看了网上一些方法,多多少少对解决问题有些帮助,集合大家的成果),以下大部分问题是因为先装vs后装ArcGis或AE出现。所有这些问题其实都可以通过在装好vs的基础上重装ArcGis来解决,但是,如果你不想重装的话,可以试试下面的方法。问题一:工具箱中没有ArcGis Windows Forms解决方法:解法一:第一步:添加选项卡,命名为ArcGis Windows Forms或者其他你喜...转载 2020-05-09 09:08:17 · 3316 阅读 · 2 评论 -
engine 绘制 点线面 元素
此种方式为IElement的方式在axMapControl的GraphicsContainer中好绘制图形。 //画点IPoint pt = axMapControl1.ToMapPoint(e.x, e.y);IMarkerElement pMarkerElement = new MarkerElementClass();IElement pElement = pMarke...原创 2020-04-20 09:37:41 · 348 阅读 · 0 评论 -
Gis C# Form 做一个ComboBox,只需要传Ilayer给它,即可显示该图层所有字段
myFieldComboBox1.Layer = f1;using ESRI.ArcGIS.Carto;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace MyGIS.Model{ p...原创 2020-04-17 17:36:03 · 288 阅读 · 0 评论 -
Gis C# Form 做一个ComboBox,只需要传Map,即可显示所有图层
myComboBox1.Map = _map;using ESRI.ArcGIS.Carto;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace MyGIS.Model{ public...原创 2020-04-17 17:32:37 · 404 阅读 · 0 评论 -
C# Form 做一个DataGridView,只需要传AxMapControl和图层名称,即可显示图层属性
MyFeatureDataGridViewmyFeatureDataGridView2 = newmyFeatureDataGridView2(); myFeatureDataGridView2._mapcontrol = _mapcontrol; List<int> datab = new List<int&...原创 2020-04-17 17:29:12 · 397 阅读 · 0 评论 -
遍历map中的图层,获得所有要素图层
/// <summary> /// 获得要素图层 /// </summary> /// <param name="pMap"></param> /// <returns></returns> public IFeatureL...原创 2019-12-02 16:23:10 · 739 阅读 · 0 评论 -
通过IFeatureBuffer操作要素,进行要素的插入和更新(要素存储、储存)
通过IFeatureBuffer操作要素,进行要素的插入和更新 public void Updatefeature() { IFeatureClass fc = null; IFeatureCursor feaCursor = null; IFeature pFea = null; ...原创 2019-10-21 11:33:07 · 1325 阅读 · 0 评论 -
给shp图层添加字段
private void AddField(IFeatureClass pFeatureClass, string name, string aliasName, esriFieldType FieldType) { //若存在,则不需添加 if(pFeatureClass.Fields.FindField(name) > -1...原创 2018-03-21 13:52:49 · 3571 阅读 · 0 评论 -
c#+AE开发中,无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块解决办法
错误描述:当我们在自己的电脑上打开别人的项目时,会出现如下错误:无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块。(异常来自 HRESULT:0x8007007E)。这个错误一般点击“开始调试”时才会出现,在窗体设计中的“错误列表”显示错误为0,但是在窗体上看不到mapcontrol、TOCControl等地图编辑控件,像button这样的基础控件能够显示。具体如下图...原创 2019-03-01 09:36:20 · 700 阅读 · 0 评论 -
AxMapControl的右键菜单-自定义菜单
(1)在地图控件的鼠标起来事件,axMapControl1_OnMouseUp,判断是否右键。其中MyMuneCommand()为自定义的菜单。 /// <summary> /// 地图右键菜单 /// </summary> /// <param name="sender"></param>...原创 2019-03-05 09:40:29 · 1565 阅读 · 0 评论 -
ISpatialFilter 空间分析 相交、相接、包含、叠加(图层级别)
空间过滤器空间关系类型 描述(A是待查询图形,B是过滤条件图形) esriSpatialRelUndefined 未定义 esriSpatialRelIntersects A与B图形相交 esriSpatialRelEnvelopeIntersects A的Envelope和B的Envelope相交 esriSpatialRelIndexIntersects...原创 2019-02-20 19:54:44 · 4254 阅读 · 0 评论 -
给图层备注字段
private void NoteFeatures() { int index = _featureLayer.FeatureClass.FindField("CZCMC");//要标注的字段的索引 if (index <= -1) return; if (_textElemen...原创 2019-03-16 14:56:09 · 276 阅读 · 0 评论 -
在mapcontrol上用图片,做标记
private void DrawSign(double mapx,double mapy) { IPoint pPoint = new PointClass(); pPoint.PutCoords(mapx, mapy); IPictureMarkerSymbol p...原创 2019-03-20 17:51:45 · 586 阅读 · 0 评论 -
编辑featureclass
IDataset pd = featureClass as IDataset; IWorkspace pws = pd.Workspace; IWorkspaceEdit pwe = pws as IWorkspaceEdit; pwe.StartEditing(false); ...原创 2019-03-19 14:20:15 · 227 阅读 · 0 评论 -
使用gp工具将featureclass保存为shp(Select工具)
/// <summary> /// 用gp工具将featureclass保存为shp /// </summary> /// <param name="featureClass"></param> /// <param name="gp"></param...原创 2019-03-19 14:22:23 · 673 阅读 · 0 评论 -
arcengine给要素标记属性、标记字段
private void NoteFeatures() { int index = _featureLayer.FeatureClass.FindField("BSM");//要标注的字段的索引 if (index <= -1) return; if (_textElementsA...原创 2019-03-28 14:30:05 · 782 阅读 · 0 评论 -
C# GIS构建金字塔加载影像数据
/// <summary> /// 1、影像数据 /// </summary> /// <param name="point"></param> private void AddRasterData(FileInfo file) { ...原创 2019-04-16 18:04:36 · 851 阅读 · 0 评论 -
分析_要素裁剪工具 C#
public IFeatureLayer DoClip(IFeatureClass pInputFeatureClass, IFeatureClass pClipFeatureClass,double dis, string outputFile) { IFeatureClassName pOutput = new FeatureClassName...原创 2019-09-06 14:13:35 · 338 阅读 · 0 评论 -
判断A图层要素是否在B图层范围内
问题:判断A图层要素是否在B图层范围内 解决方法: /// <summary> /// 检查图斑在城镇村范围内 /// </summary> /// <returns></returns> private bool CheckerFeatureIn(IFeature...原创 2019-02-27 15:08:24 · 695 阅读 · 0 评论 -
IRelationalOperator接口的用法(判断两个图形的关系)(图形级别)
方法名称 描述Contains 检查两个几何图形几何图形1是否包含几何图形2Crosses 用于检测两个几何图形是否相交Equal 用于检测两个几何图形是否相等Touches 用于检测两个几何图形是否相连Disjoint 用于检测两个几何图形是否不相交Overlaps 用于检测两个几何图形是否有重叠Relation 用于检测是否存在定义...原创 2019-02-22 15:05:08 · 640 阅读 · 0 评论 -
调用gp工具把shp、mdb、gdb中的table导入到sde(oracle)中
添加这两个引用using ESRI.ArcGIS.ConversionTools;//using ESRI.ArcGIS.Geoprocessor; 调用gp 实现shp入库//调用gp工具 public void shpFeatureClassToGeodatabase(string inputPath, string sdePath) { ...原创 2018-03-22 11:44:43 · 2426 阅读 · 0 评论 -
C# 代码实现 shp图层导入到 sde(arcgis连接的oracle),oracle连接参数,以及导入的方法
连接sde(oracle数据库)server:localhost,instance:"sde:oracle$localhost:1521/"+实例;database:sde,也可以为空;user:oracle用户名;password:oracle该用户登录密码 public IWorkspace workspace;public IPropertySet propertySet;...原创 2018-03-22 09:26:24 · 1463 阅读 · 0 评论 -
arcgis 连接oracle各种实例字符串(各种版本写法不一样)
Instance: 输入要连接的数据库sde:oracle$localhost:1521/GHY2sde:oracle11g:GHY2ip/orcl (localhost/GHY2) 虽然也没试几种,就是纠结了、试了一天,原以为最后一个是最没机会的。没想到最后一个OK了。救命稻草啊以及自己在写代码去链接oracle库的时候,也会出现这个问题:这里又和arcgis的连接字符串不一样,这里的INS...原创 2018-03-21 17:27:03 · 1086 阅读 · 0 评论 -
给一个IPolyline 和一个距离disOnline,根据距离去打断线IPolyline
private IPolyline BreakLineToTwoPart_new(IPolyline myPolyline, double DisOnLine) { IPolyline[] Lines = new IPolyline[2]; bool isSplit; int...原创 2018-03-21 13:56:09 · 650 阅读 · 0 评论 -
arcengine c# 判断一个已知点是否在线上
/// 粗略判断一个已知点是否在线上 private bool isPointOnLine(IPoint pPoint, IPolyline myLine) { ITopologicalOperator topo = pPoint as ITopologicalOperator; IGe...原创 2018-03-21 13:54:22 · 1824 阅读 · 0 评论 -
获取离点最近的线要素
输入点要素feature和 和 线要素的集合IFeatureClass ,返回一个feature_line。 public IFeature get_nearst_feature(IFeature feature_point,IFeatureClass featureclass_line) { _point = feature_point.Shap...原创 2018-03-21 13:51:06 · 2020 阅读 · 0 评论 -
由点IPOintcollection生成面IGeometry
private IGeometry getGeometry(IPointCollection Points) { IPointCollection iPointCollection = new PolygonClass(); Ring ring = new RingClass(); objec...原创 2018-03-21 13:48:54 · 2178 阅读 · 1 评论 -
框选要素,弹窗显示选中要素属性
Form3 f = new Form3(); private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e) { if (droaTangle==1) ...原创 2018-03-21 13:47:30 · 1389 阅读 · 0 评论 -
实现:鼠标滑过显示要素 tip
方法一:axmapcontrol 自带效果实现:private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e){ axMapControl1.ShowMapTips = true; IFeatureLayer pFeatureLayer = axMapCont...原创 2018-03-21 13:46:08 · 2254 阅读 · 0 评论 -
经纬度与平面坐标的互相转换
两个函数,实现 经纬度与平面坐标的互相转换。 GetGeo输入平面坐标的x、y坐标,返回一个转化后的IPoint。两个方法都是将x、y坐标转化后返回IPoint。其中32649代表的坐标系如下:// 将平面坐标转换为经纬度。 获取的而是map的坐标系统。而不是layer的。 private IPoint GetGeo(double x, double y) {...原创 2018-03-21 13:38:13 · 50718 阅读 · 10 评论 -
将坐标系统保存为一个文件.prj
try { System.Windows.Forms.SaveFileDialog m_SaveFileDialog = new System.Windows.Forms.SaveFileDialog(); m_SaveFileDialog.Filter = "坐标系统文件(*.Prj...原创 2018-09-13 10:40:29 · 6503 阅读 · 0 评论 -
arcgis 定义查询 查询表中某字段 存在重复的数据
问题描述:如题 界面相关:代码实现:DLJX:表BSM:字段名称[BSM] in(select [BSM] from DLJX group by [BSM] having count( [BSM] ) > 1) order by [BSM]原创 2018-12-17 16:24:35 · 21417 阅读 · 7 评论 -
VS2017+Arcgis二次开发安装
原文链接: https://www.jianshu.com/p/4660d4e29a50 安装过程1.先安装VS和arcgisdesktop 10.2(这个很好找嘛)2.下载ArcGIS_Engine_DevKit_Windows_102_134944链接:https://pan.baidu.com/s/1W0OQuGiGo3XXGbzFEo3BXg 密码:e3zt...转载 2019-01-05 16:05:24 · 8185 阅读 · 5 评论 -
联合整个面图层(Union)
1、联合整个面图层, /// <summary> /// 联合整个面图层 /// </summary> /// <param name="featureClass"></param> /// <returns></returns> ...原创 2019-02-21 19:39:47 · 719 阅读 · 0 评论