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

时间:2024-03-13 22:34:27

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

开始的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、搜索两图层的重叠要素

  预览图:

 

  下载地址:gisSearch.rar

 

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

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

  包含功能:

    1、合并要素

    2、裁剪要素

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

  预览图:

 

  下载地址:gisSearch.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#//0001000002pz000000

  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

  

  标红为着重推荐。