使用Arcgis Engine 二次开发的使用和总结

所属分类: 软件教程 / 编程开发 阅读数: 104
收藏 0 赞 0 分享

来公司快三个月了,从一进入公司开始便和组长接受xx部的gis系统项目,第一次听说gis还是在学校,老师嘴里总是念叨着学校里的gis比赛,终究在学生时代还是没有接触过。出来一年多,发现情景、地点总是关联性的出现,面试匆匆经过的立水桥是上份工作上班每日必经之地,现在的工作地点却在姐姐曾租住过的小区底商,很多很多熟悉的地方再次因某件事情出现而印象深刻。扯远了,开始的gis系统准备使用sharpmap开源组件进行二次开发,但后来发现两个问题:

  1、sharpmap图像渲染机制并不是很完善(对于客户的要求来说)
  2、sharpmap不提供编辑功能

  后来转投Arcgis Engine,一切都在摸索着前进,由于项目是立足于触摸设备,所有对地图的拖动,修改要求更高,在第一个版本完成与客户沟通后项目有我一人负责,我打定主意转投Arcgis Runtime for WPF,不是追新,而是winform程序实在不适合触摸设备,这些都是后话。下面开始介绍使用Arcgis Engine的情况。 

写在前面 Arcgis Engine 初体验

  先放一张第一版系统的图,由于公司机密不能提供源码,但是各个小功能提供源码,为需要的同仁提供些许帮助。

  接下来进入正题,将逐一展示利用Arcgis Engine开发的程序小例子。

Arcgis Engine小程序们

  一、较完全编辑功能GIS程序

  开发原理:通过隐藏Arcgis Engine工具条开发的较全编辑功能GIS小程序,调用Arcgis Engine工具时使用内置Command进行传值。

  包含功能:

    1、基础编辑功能(打开.shp文件、绘制多边形、修改多边形)

    2、扩展编辑功能(添加顶点、删除顶点、触摸拖动点)

    3、锁定图层功能,防止修改其他图层

  预览图:

  

  下载地址:gisCommand.rar

 

  二、字段搜索要素和空间搜索要素GIS程序

  开发原理:使用内置的字段搜索功能搜索要素,通过新建多边形进行重叠要素查询(空间查询,也可选用其他空间)。

  包含功能:

    1、根据字段搜索要素

    2、空间关系搜索要素

  预览图:

 

  下载地址:gisSearch.rar

 

  三、图层重叠搜索GIS程序

  开发原理:使用要素合并成临时图层然后与其他图层比对搜索出与其他图层重叠的要素。

  包含功能:

    1、搜索两图层的重叠要素

  预览图:

 

  下载地址:gisFeatureSearch.rar

 

  四、要素合并、裁剪及检测要素重叠GIS程序

  开发原理:使用内置要素合并和裁剪方法进行合并和裁剪,使用空间关系判断进行检测重叠判断。

  包含功能:

    1、合并要素

    2、裁剪要素

    3、检测重叠并提醒重叠要素个数

  预览图:

 

  下载地址:gisVertex.rar

 

  五、自定义触屏拖拽顶点控件

  上面涉及到拖拽点功能的程序都已引用该DLL了。

  下载地址:SnapAndMoveVertex.rar

 一些我搜集的Sharpmap资料和Arcgis Engine资料   

  1、gis520地信免费资源共享_igis520的网盘  http://igis520.7958.com/folder-7678922

  2、gis资源网盘 http://laoheitan.400gb.com/u/1906276/3210355

  3、ArcEngine跨屏幕画线解决办法 http://bbs.esrichina-bj.cn/esri/archiver/?tid-27758.html

  4、地图数据编辑_添加节点 http://blog.3snews.net/space.php?uid=64155&do=blog&id=61731

  5、Sample: Custom vertex editing commands (ArcObjects .NET 10 SDK)

    http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html

  6、ArcEngine编辑功能的实现(二) - yhexie - 博客园 http://www.cnblogs.com/yhlx125/archive/2012/02/27/2369572.html

  7、使用ArcEngine的Select Features工具,如何获取选中的要素 http://blog.csdn.net/brokencar/article/details/6069997

  8、[几何-图形学算法学习笔记二]线围成的面多边形自动构建 http://www.cnblogs.com/yhlx125/archive/2012/03/01/2374999.html

  9、用ArcEngine的工具条添加图层要素 http://www.doc88.com/p-909236632317.html

  10、ArcGIS Runtime加载本地Shape数据和编辑Shape数据 http://blog.csdn.net/arcgis_cs/article/details/7547730

  11、C#如何保存新加入shp的地图文档为mxd? http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=17395&page=1

  12、ArcGIS Engine中创建Shapfile文件 http://bbs.esrichina-bj.cn/esri/viewthread.php?tid=48944

  13、ArcGIS10.0下载与安装 http://blog.sina.com.cn/s/blog_71dbfe2e0101b2hy.html

  14、arcgis10.0下载地址及安装教程和注册机.rar http://pan.baidu.com/share/link?shareid=103102&uk=1143478374

  15、ArcGIS Engine基础开发教程(5)——学习地图查询 http://www.gisall.com/html/59/4359-899.html

  16、ArcEngine空间数据查询_百度文库 http://wenku.baidu.com/view/ed3a5afe04a1b0717fd5ddd3.html

  17、ArcGIS Engine基础开发教程(2)——学习几何对象与空间参考 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=46367

  18、ArcMap的Editor工具,实现要素拖动、编辑 http://www.cnblogs.com/aplsc/archive/2008/08/31/1280594.html

  19、ArcEngine 一些实现代码 - 李炳南 - 博客园 http://www.cnblogs.com/alex-bn-lee/archive/2012/04/08/2437358.html

  20、分享AE中编辑功能的代码过程 和 思路_ArcEngine_GIS开发 http://210.43.24.222/chy/3sbase/news/?595.html

  21、在地图上移动点,线,面的方法 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=47446

  22、关于节点编辑 http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=53988

  23、Move Vertex of polyline and polygon http://forums.esri.com/Thread.asp?c=159&f=1707&t=285835

  24、ArcGIS Runtime快速入门_百度文库 http://wenku.baidu.com/view/ed044e3d67ec102de2bd8965.html

  25、ArcGIS Runtime 本地API介绍(一) http://blog.csdn.net/arcgis_all/article/details/8215094

  26、SharpMap深度分析:地图渲染、坐标和比例尺 - 马维峰 - 博客园 http://maweifeng.cnblogs.com/archive/2006/03/06/344089.html

  27、GIS资料网盘 http://www.bego.cc/u/256394/2672612/5

  

  标红为着重推荐。

  在此对以上文章作者表示感谢,谢谢你们的无私分享!

  如果你能在阅读中有任何疑问或质疑可以联系我,邮箱:zdp06623@163.com

更多精彩内容其他人还在看

VisualStudio2015怎么设计一个注册信息的页面?

VisualStudio2015怎么设计一个注册信息的页面?vs2015中想要设计一个注册表信息的页面,该怎么制作填写信息的表格呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Notepad怎么显示隐藏的字符?

Notepad怎么显示隐藏的字符?Notepad++中文件都有隐藏的字符,想要显示隐藏的字符,该怎么显示呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

VS2017怎么提交作业? VS提交作业的方法

VS2017怎么提交作业?VS2017中做编程开发的时候,想要进行作业提交,该怎么提交呢?下面我们就来看看VS提交作业的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

VS2017怎么使用作业视图?

VS2017怎么使用作业视图?VS2017中想要使用作业视图,该怎么使用作业视图呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

VS2017怎么使用Web代码分析功能?

VS2017怎么使用Web代码分析功能?经常使用VS2017进行编程开发,这个软件有很多功能,今天我们就来给大家介绍Web代码分析的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

VS2017怎么使用ADLS路径?

VS2017怎么使用ADLS路径?VS2017编程开发经常使用的软件,该怎么使用ADLS路径呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode英文版怎么显示隐藏行号?

vs code英文版怎么显示隐藏行号?Visual Studio Code中编程开发的时候,想要隐藏行号,该怎么隐藏或者显示行号呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode英文版怎么设置自动保存的时间?

vscode英文版怎么设置自动保存的时间?使用vscode软件的时候,为了防止意外早层的文件丢失损失,想要设置自动保存文件,下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Sublime怎么查看最近打开的文件?

Sublime怎么查看最近打开的文件?Sublime编程开发的时候,想要打开之前打开过的文件,该怎么操作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Authorware多媒体课件怎么插入背景音乐?

Authorware多媒体课件怎么插入背景音乐?Authorware制作的课件需要插入音乐,该怎么插入背景音乐呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多