- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《第一讲MO概述及程序设计入门
第一讲 MO概述及程序设计入门
一、概述
1、简介
MapObject是由美国的ESRI(Environment System Research Institute,环境系统研究所)开发,是当今流行的组件式GIS开发软件。MapObject是一组地图软件的组件(ActiveX控件),利用它可以在普通的编程语言(如VB、VC、Delphi)上实现主要的地理信息系统(其中主要的就是电子地图的功能)的功能。MapObject简称MO。通过MapObjects你可灵活地建立适合用户的地图接口。在小内存空间中,你能用多种工业标准程序环境之一去建立应用程序,你能够联合使用MapObjects与其它软件去实现地图与用户信息的联系。
2、MapObjects的功能
??????????? 显示一张多图层地图(道路,河流,边界)。
??????????? 放大,缩小,漫游。
??????????? 生成、绘制图形元素,如点,线,圆,多边形。
??????????? 绘制图形化文字。
??????????? 可以用点击选择不同的对象(点、线、面)。
??????????? 通过线,方框,区域,多边形,圆来拾取物体。
??????????? 可以选择对象的指定位置。
??????????? 通过SQL描述来选择物体。
??????????? 对选取物体进行基本统计。
??????????? 对所选地图元素的属性进行更新,查询。
??????????? 绘制专题图。
??????????? 用特殊方法渲染图层,如数值、类别、密度、图表、事件或Z值。
??????????? 从航片或卫星图片上截取图像。
??????????? 动态显示实时或系列时间组数据。
??????????? 在图上标注地址或定位。
??????????? 把数据投影到不同的坐标下。
二、MO的基本操作
1、图层加载
进行电子地图系统显示、操作、处理和GIS开发之前,首先要有ArcInfo格式的GIS图层数据文件。这些文件可以从ArcInfo中产生,也可以从其他地理信息系统,如MapInfo、GeoMedia、MapGIS等系统中转换而来。在MO中可以使用的数据文件格式主要有Shapefile、Coverage、SDE、VFP和各种CAD文件。这里主要介绍针对Shapefile文件的电子地图开发。
Shapefile文件采用早期的dBase数据库管理模式,一个文件夹是一个数据库,文件夹的不同文件就是数据库中的表,每个表代表GIS图中的一个图层。每个图层文件必须包括3个以上的特征文件,才能在MO中使用,它们分别是空间特征数据文件(即图形文件).shp、索引文件.shx和属性数据文件.dbf。
图层又分为点状图层、线状图层和面状图层3类,图层加载的时候要使点状图层在最上面,线状图层在中间,面状图层在最下面,否则面状图层会把点状和线状图层都覆盖掉。要注意在MO中,最先加载的在下面,最后加载的在上面。
2、添加Map控件
3、手工加载图层:通过控件的属性添加图层文件
4、程序加载图层:(1)利用dc.Database = 文件路径设置图层文件所在目录,其中,dc.Database = app.path为设置与程序存在的文件夹一样的目录
例如:Option Explicit ‘在窗体模块中强制声明变量’
Private Sub Form_Load()
Dim dc As New mapobjects2.DataConnection ‘创建了对象变量的同时创建实例’
Dim layer As MapLayer ‘创建了一个空的对象变量而未创建实例’
Set layer = New MapLayer
dc.Database = F:\MO实验\程序加载
If dc.Connect Then
layer.GeoDataset = dc.FindGeoDataset(country)
Map1.Layers.Add layer
Map1.Refresh
Else
MsgBox 在指定文件夹下面没有找到相应图层数据文件!
End If
End Sub
几点说明
????????? MapLayer对象
表示地理坐标数据层,而这些地理坐标数据在Map控件中可以画出带GeoDataset的一类地理特征集。
????????? GeoDataset
是MapLayer对象的属性,是一个只写属性,用来设置图层相对应的空间数据和属性数据的数据库。
????????? DataConnection对象
表示数据库的连接,属性包括Database:设置和读取数据库的连接,如果数据为shape文件时,此值表示shape文件所在的目录路径和目录名,自动产生ODBC连接。
????????? 在将对象的引用赋给变
文档评论(0)