组件式GIS开发实例之AO+VB

来源:互联网 发布:电商网站数据流程图 编辑:程序博客网 时间:2024/06/07 18:31
开发工具:
ArcObjects + Visual  Basic 6.0
 
开发工具简介:
本次实习所采用的组件为ActiveX控件—ArcObjects,它是由全球最大的GIS厂商ESRI(美国环境研究所)公司推出的。它不能单独安装,必须随着GIS平台软件ArcGIS打包使用,ArcGIS把GIS的基本功能都封装在ArcObjects的组件对象库中,这些库文件定义了一些接口,包括组件对象、方法、事件、枚举,开发者可以通过接口来实现对象的操作机制。开发人员在开发时采用VB,C++,VC,Delphi等高级开发语言,引用组件对象进行编程,从而开发出符合用户要求的界面及相关功能的GIS软件系统。
 
实现功能简介:
    按照数据的流向,将本系统分为以下几个模块,分别实现的功能如下:
(1)    地图输入模块
该模块实现的功能有:
① 矢量文件(shp格式)的自动加载
将存储在与系统同一文件目录下的shp格式的文件显示在主地图框架和鹰眼地图框架上。
② 矢量文件(shp格式)的选择加载
通过文件选择对话框的形式加载shp格式的文件
③ 栅格文件(bmp格式)的选择加载
通过文件选择对话框的形式加载bmp格式的文件
④ Geodatabase数据的加载
通过文件选择对话框的形式加载Geodatabase文件
(2) 地图操作模块
该模块设计的功能有:
① 主地图显示
以地图的方式shp格式、bmp格式、Geodatabase数据。
② 地图放大
实现地图的无极放大,形式有鼠标点击放大和鼠标拉框放大。
② 地图缩小
实现地图的有限缩小,形式有鼠标点击缩小和鼠标拉框缩小。
③ 地图漫游
通过鼠标平移地图至适当位置
④ 全图显示
将放大、缩小、漫游后的图形恢复至全图的状态
⑤ 恢复/前进视图
恢复上一步的视图和前进到当前视图
⑥ 鹰眼图显示
在主地图显示地图的同时,也将相应的数据显示在鹰眼地图上。
 (3) 图层管理模块
该模块实现的功能有:
① 图层信息列表管理
将系统读入的地图以图层的形式显示在图层信息列表中,并允许用户对图层的显示状态进行操作。
② 删除当前图层
删除当前的活动图层,其他图层不受影响。
③ 删除所有图层
删除系统读入的所有图层。
④ 隐藏/显示选中图层
在图层列表信息框选择某个图层后,可在主地图和鹰眼地图上隐藏和显示该图层。
 (4) 地图查询模块
该模块实现的功能有:
① 属性查询
用户输入某地的名称便可在对应的图层上将该地区所在的地块放大至屏幕中心并可进行闪烁提示。
② 空间查询
用户可以通过鼠标在地图上进行点击,从而获得地图点击区域的信息。本系统提供的空间查询的形式有点查询、线查询、圆形查询、矩形查询、多边形查询、动态线性距离测量。
 (5) 空间分析模块
该模块实现的功能有:
① 缓冲区生成
用户输入线状实体缓冲半径,实现缓冲区的生成,并在主地图框架上进行显示。
② 缓冲区分析
在上一步生成的缓冲区的基础上,分析缓冲区周围的地物。
③ 网络分析
用户在几何网络图上点击任意两个节点,系统会将这两个节点间的最佳路径以着重色显示。
④ 事件追踪
在地图上显示某一事件的动态变化
 (6) 空间运算模块
该模块实现的功能有:
① 叠置求交
② 叠置求和
③ 叠置裁剪
 (7) 地图输出模块
① 缓冲区生成图输出
② 空间运算生成图输出
 
部分功能截图如下:

 fig1.系统界面

 fig2.地图操作子菜单

 

 fig3.地图查询子菜单

fig4.加载多个图层

fig5.点查询

fig6.动态线段测量