基于COM的MAPGIS二次开发.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于COM的MAPGIS二次开发

基于COM的MAPGIS二次开发 1 建立MAPGIS工作区对象 MAPGIS工作区对象是MAPGIS组件中最基本的几个组件对象之一。从工作区入手,通过创建和使用这些对象便于熟悉和掌握关于MAPGIS工作区对象的大部分属性和方法的使用,从而了解MAPGIS组件对象之间存在的结构关系。 首先需要创建MAPGIS工作区对象。常用的方法是使用Dim语句来声明特定的对象变量,这个方法要求MAPGIS类型库已经被包括在Visual Basic项目中。 例如,使用New关键字创建新的MAPGIS点工作区对象的语句是: Dim PntAi As New PntArea //定义一个点工作区对象PntAi并实例化。 例如,使用CreateObject函数声明和创建一个新的MAPGIS对象: Dim PntAi As PntArea Set PntAi = CreateObject(MapGisBasCom1. PntArea ) 下面以点工作区对象PntArea为例,介绍MAPGIS工作区对象的基本属性和方法。 (1) 点工作区对象的加载 PntAi.Load //自由加载(弹出对话框选择需要加载的文件),忽略所有的参数。 PntAi.Load(China.wt) //加载China.wt文件到工作区,双引号中的文件名应该带绝对路径。 PntAi.Load(China.wt, MYTESTDB, sa, ) //加载网络数据文件,其中MYTESTDB为数据源,sa为数据库用户,最后一个参数应为对应的用户密码。 PntAi.AppendFile //此处弹出文件对话框,选择要添加的文件到当前工作区。 PntAi.AppendFile(China.wt, MYTESTDB, sa, ) //添加网络数据文件China.wt到当前工作区。 (2) 点工作区对象的存取 PntAi.Save //将当前操作的文件保存,不改变原来文件的文件名。 PntAi.SaveAs //另存文件(忽略返回值),可以保存为本地文件,也可以是网络数据文件 PntAi.Save(China.wt, MYTESTDB, sa, ) //保存文件到网络数据库中(忽略返回值) PntAi.SavePart(PntPad, PntInfo, LayOnOff) //保存部分点到原文件,其中三个参数都是MAPGIS组件对象,均需定义并实例化,PntPad为点信息开关板对象Pnt_Pad,PntInfo是点信息对象Pnt_Info,LayOnOff是图层开关对象LayerOnOffPad。 PntAi.Get(lRes, xy, szStr, PntInfo) //取实体号为lRes的点实体的详细信息,参数xy为一个二维点对象D_Dot,szStr为描述点信息的字符串,后三个参数均为出口参数,只需要定义,不能实例化。 PntAi.GetExistFlag(lRes) //取实体是否存在的标志,返回值表示实体号为lRes的点实体是否存在,1/0/-1=存在/不存在/被删除。 PntAi.GetPos3D(lRes, xyz) //取实体号为lRes的三维点实体的坐标值,并将值设置到定义的对象xyz中。 PntAi.GetRect(lRes, rect) //取实体号为lRes的图元的矩形范围,并将值设置到定义的矩形对象rect中,该函数返回值:1/0/-1=存在/不存在/被删除。 PntAi.GetLayer(lRes, laynum) //取实体号为lRes的点实体所属图层号,并将值设置到整型变量laynum中,该函数返回值:1/0/-1=存在/不存在/被删除。 PntAi.GetRectLayer(lRes, rect, laynum) //取实体号为lRes的点实体的矩形范围及其图层号,返回值:1/0/-1=存在/不存在/被删除。 PntAi.GetDatLen(lRes) //取实体号为lRes的点实体的数据长度(字节长度)。 PntAi.GetInfo(lRes, PntInfo) //取实体号为lRes的图元信息,该函数返回值:1/0/-1=存在/不存在/被删除 PntAi.GetType(lRes, pntType) //取实体号为lRes的点实体的类型。 PntAi.GetAreaAlias(fName) //取工作区文件别名,并将别名设置到字符串变量fName中。 PntAi.SetAreaAlias(点工作区文件) //设工作区文件别名,即将别名作为参数直接写到引号中。 PntAi.GetAreaFClass //取工作区文件分类码。 PntAi.SetAreaFClass(1) //设工作区文件分类码,设为0类型。

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档