基于sharpdevelop核心和ArcEngine打造插件式桌面GIS应用(概述)
系统演示请看《我的插件GIS系统演示》
之前,写过一篇博客《我的插件GIS》,无非是想记录一下插件GIS的功能,为健忘的自己留点回忆。今天看了园子里很多大神的文章,感觉应该写的再详细一点。打算写一个小的专题,跟大家分享一下自己的心得。也希望诸位多给些建议和意见,毕竟,这是自己闭门造车的产物。程序很久没有更新了,很多功能还未实现,大家将就着看吧。
一、功能清单
这个清单列出来的是最基本功能,另有高级功能未列出。
模块 | 功能点 | 功能描述 | 完成情况 |
MXD管理 | 新建MXD | 已完成 | |
打开MXD | 已完成 | ||
保存MXD | 已完成 | ||
另存MXD | 已完成 | ||
添加图层 | 已完成 | ||
地图浏览 | 放大 | 已完成 | |
缩小 | 已完成 | ||
平移 | 已完成 | ||
上一视图 | 已完成 | ||
下一视图 | 已完成 | ||
旋转 | 已完成 | ||
清除旋转 | 已完成 | ||
刷新 | 已完成 | ||
坐标定位 | 已完成 | ||
比例尺管理选项框 | 已完成 | ||
点选 | 已完成 | ||
线选 | 已完成 | ||
多边形选择 | 已完成 | ||
矩形选择 | 已完成 | ||
圆形选择 | 已完成 | ||
距离量测 | 已完成 | ||
面积量测 | 已完成 | ||
属性表 | 显示图层属性信息表 | 显示图层所有要素属性、显示选中要素属性。 可以同时显示多个图层的属性表。 |
已完成 |
要素定位、高亮、选择 | 可以把属性表中选定要素在地图上定位; 实现属性表中选中要素高亮显示、添加到选择集。 |
已完成 | |
属性值统计 | 对于数值类型的数据,可以进行汇总统计 | 已完成 | |
属性导出 | 属性表可以导出为xls格式。 | 已完成 | |
TOC控件 | 图层开关 | 已完成 | |
图例显示 | 已完成 | ||
图层顺序管理 | 已完成 | ||
数据导出设置 | 空间关系:工作区域、当前范围相交、包含 导出格式:shape、PGDB、FGDB |
未完成 | |
数据导出 | 导出图层所有要素 选中要素 工作区域内要素 当前范围内要素 |
已完成 | |
移除图层 | 已完成 | ||
缩放到图层范围 | 已完成 | ||
设置为工作区域 | 可以将某个图层设置为工作区域 | 已完成 | |
选中要素设置为工作区域 | 已完成 | ||
选中工作区域内的要素 | 已完成 | ||
缩放到选中要素 | 已完成 | ||
移动到选中要素 | 已完成 | ||
取消选中 | 已完成 | ||
切换选中 | 已完成 | ||
全部选中 | 已完成 | ||
查看属性表 | 已完成 | ||
属性 | 根据选中的TOC对象类型,显示TOC对象的属性信息对话框,可以修改属性。 Group图层属性 栅格数据属性 矢量图层属性(基本信息、数据源、符号化、标注); 地图属性 图例属性 |
未完成 | |
工作区域管理 | 绘制工作区域 | 已完成 | |
选中要素设置为工作区域 | 已完成 | ||
图层设置为工作区域 | 已完成 | ||
移除工作区域 | 已完成 | ||
清空工作区域 | 已完成 | ||
显示/隐藏工作区域 | 已完成 | ||
工作区域符号修改 | 已完成 | ||
定位工作区域 | 已完成 | ||
高亮工作区域 | 已完成 | ||
导入工作区域 | 工作区域可以通过文件导入,文件格式包括txt坐标文件和wkt格式 | 未完成 | |
导出工作区域 | 已完成 | ||
书签管理 | 新增 | 已完成 | |
删除 | 已完成 | ||
定位 | 已完成 | ||
顺序维护 | 已完成 | ||
鹰眼图 | 导航 | 已完成 | |
图层设置 | 已完成 | ||
图层顺序管理 | 已完成 | ||
鹰眼图背景颜色设置 | 已完成 | ||
点选查看属性 | 图层配置 顶层图层;可见图层;可选图层;所有图层。 |
已完成 | |
要素属性显示 | 已完成 | ||
要素定位 | 已完成 | ||
要素高亮 | 已完成 | ||
要素选中 | 已完成 | ||
取消选中 | 已完成 | ||
查询点居中、闪烁、添加Element | 已完成 | ||
属性表复制、复制选中字段、全选 | 未完成 | ||
编辑模块 | 启动编辑 | 已完成 | |
保存编辑 | 已完成 | ||
停止编辑 | 已完成 | ||
编辑工作空间选择 | 已完成 | ||
编辑图层设置 | 未完成 | ||
新建要素 | 未完成 | ||
添加要素节点 | 未完成 | ||
要素节点拖动 | 未完成 | ||
移动 | |||
分割 | 未完成 | ||
合并 | 已完成 | ||
联合 | 未完成 | ||
分解 | 已完成 | ||
缓冲 | 已完成 | ||
求交 | 已完成 | ||
裁剪 | 已完成 | ||
通用捕捉 | 未完成 | ||
Element管理 | 添加点、线、面、文字 | 未完成 | |
删除 | 未完成 | ||
文本修改 | 未完成 | ||
符号修改 | 未完成 | ||
打印 | 未完成 | ||
输出图片 | 已完成 | ||
系统定制 | 用户自定义工具栏 | 未完成 | |
数据管理 | 导航到指定目录 | 未完成 | |
收藏夹 | 未完成 | ||
最近浏览 | 未完成 | ||
本地数据浏览 | 已完成 | ||
本地数据添加到地图 | 已完成 | ||
SDE数据浏览 | 未完成 | ||
SDE数据添加到地图 | 未完成 | ||
ArcGISServer服务器连接 | 未完成 | ||
ArcGIS服务管理 | 发布、启动、停止 | 未完成 | |
数据属性管理 | 未完成 | ||
图层结构管理 | 未完成 | ||
图层删除 | 未完成 | ||
图层新建 | 未完成 | ||
图层复制 | 未完成 | ||
数据集新建 | 未完成 | ||
数据集删除 | 未完成 | ||
数据集复制 | 未完成 | ||
数据导入 | 已完成 | ||
刷新显示 | 未完成 |
高级数据导出 | 导出方案管理 | 新建方案 A 点击新建方案按钮,输入方案名称 B 选择数据源(当前Map,SDE数据源) C 选择图层 修改方案 A 方案名称修改 B 图层修改,包括添加图层、删除图层、清空图层 删除方案,删除方案,同时删除方案图层 |
已完成 |
数据导出 | 1)选择导出方案 2)选择导出图层(默认会把导出方案的所有图层作为导出图层),用户可以在导出方案图层的基础上,设定哪些需要导出,哪些不导出。由于方案图层的数据源可能来自不同的类型,对于失效识别的数据源,区别显示。 3)设定导出参数,包括导出范围、边缘裁剪、导出路径等。 4)执行导出 |
已完成 |
更新管理 | 更新服务设置 | 已完成 | |
更新开关设置 | 已完成 | ||
CAD集成 | 集成AutoCAD | 已完成 |
二、界面展示
1、主界面
2、鹰眼图管理
3、工作区域管理
工作区域是我自己进行的一个扩展,在实际工作中,我们可以绘制一个多边形、选择一个行政区作为工作区域,把工作区域内的数据导出,查询工作区域内感兴趣的数据……
工作区域列表
工作区域符号设置
4、属性表管理
支持多图层属性表查看;
仅显示选中要素、显示所有要素、显示未选中要素的切换;
可以导出选中要素未WKT或者坐标串文件;
可以将属性表导出为Excel文件。
5、编辑
6、工具箱
7、动态符号化
7、内嵌AutoCAD,视图同步
三、博客文章规划
1、概述
2、开发环境搭建
3、核心控件DefaultMapControl
4、工具栏——用户交互的窗口
5、图层树
6、鹰眼图的实现
7、工作区域的概念与实现
8、图层要素选择与选择集
9、属性表
10、要素识别(Identity)
11、数据输出
12、数据编辑——启动编辑、保存编辑、停止编辑
13、仿ArcMap的ToolBox简易实现
14、高级话题1——数据更新、版本维护
15、高级话题2——动态符号化的设计与实现
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
下面是修改后采用Ribbon风格的界面,图标太丑,大家可以捂上眼睛。