MAPGIS二次开发讲义.docVIP

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

MAPGIS二次开发简明讲义 一、MAPGIS二次开发的基本概念 成熟实用的地理信息系统(GIS)的重要标志就是它提供给用户的二次开发能力。MAPGIS提供完整的二次开发函数库。用户完全可以在MAPGIS平台上开发面向各自领域的应用系统。 操作系统、MAPGIS开发库及MAPGIS应用程序的相互关系如下图所示: … 基于MAPGIS平台的应用程序 MAPGIS二次开发函数库包括下表所列部分,这些库函数都支持Windows3.x,Windows95和NT操作系统。MAPGIS二次开发函数库支持的语言包括Borland c++,Visual c++,Visual basic等高级语言程序设计环境。 32位函数库(支持Windows95,NT) 函数库名称 动态库文件 c,c++连接 文件 c,c++说明 文件 vb说明 文件 工作区基础函数 bas32.dll Bas32.lib Win_area.h W32_area.bas 图形显示输出 Mapdsp32.dll Mapdsp32.lib Map_out.h Mapdsp32.bas 工作区管理函数 w32_area.dll W32_area.lib Win_area.h W32_area.bas 图形窗口操作 W32_oper.dll W32_oper.lib Win_oper.h W32_oper.bas 空间分析函数 W32_anly.dll W32_anly.lib Spc_anly.h W32_anly.bas 地图库读取显示 D32_view.dll D32_view.lib Dbs_view.h 图形编辑函数 Maped32.dll Maped32.lib Mapedit.h Maped32.bas 表1 MAPGIS函数库 MAPGIS二次开发函数采用匈牙利命名法,即动宾结构命名法,并且所有函数都以下横线开始,以便和Windows函数以及其他语言函数明显区别开来,如_GetLin表示取线实体;在Visual Basic环境下,由于Visual Basic语言不能识别以下横线开始的函数名,所以库函数都以字母b开始,如bGetLin表示取线实体。 上述动态函数库提供了从最基本数据单元的读取、保存、更新和维护到MAPGIS地图库的建立和漫游,以及空间分析,图象处理等一系列功能,MAPGIS应用程序可以根据需要在任何层次上进行开发。 除了上述 API函数外,MAPGIS还为基于MFC(Microsoft Foundation Class)的开发者提供多个可重用基类,将应用程序所需的常见基本功能作了封装,使用便利,改动灵活。 MAPGIS正在向组件化迈进,已推出一系列组件,这将使得二次开发更为快捷便利。但与此同时MAPGIS仍将不断完善其API函数库,以多种开发手段满足不同层次、不同应用的需求。 二、MAPGIS的数据组织 工作区 MAPGIS数据管理的核心就是对工作区的操作。 工作区是MAPGIS提出的一个概念,简单地说,工作区就是一个数据池,存放实体的空间数据、拓扑数据、图形数据和属性数据,每个工作区都对应于一个MAPGIS数据文件。MAPGIS开发函数库提供对工作区实施操作的一系列函数,如将工作区中的内容存盘,从盘上将数据装入工作区,对工作区中内容进行添加、修改、删除、检索等等。对硬盘数据的存取及虚拟内存的管理等等复杂繁琐的工作无需应用程序的编写者去关心,而是由MAPGIS工作区管理模块自动完成。如图1-2所示。由此可见,深入了解工作区的逻辑结构和工作区操作函数的使用,是进行成功的二次开发的关键。 工作区管理模块的地位 MAPGIS将工作区分为点、线、区、网、表五种类型,它们的差别主要表现在其中包含的空间实体的类型不同。详见下表: 工作区类型 实体类型 点工作区(.WT文件) 点(PNT) 线工作区(.WL文件) 线(LIN)、结点(NOD) 区工作区(.WP文件) 线(LIN)、结点(NOD)、区(REG) 网工作区(.WN文件) 线(LIN)、结点(NOD)、网(NET) 表工作区(.WB文件) 无空间实体,仅有表格记录 各类工作区中可以包含的实体类型 由于不同种类的工作区中空间实体的类型不同,各类型的工作区所适用的数据操作函数也就不同。例如,对点工作区只能使用操作点实体数据的函数;而对区工作区则可对线、结点和区实体的数据进行操作。 空间实体及其数据组织 空间实体是MAPGIS数据操作的基本单位,在一个工作区中,一类实体可有多达2G的个体,每个个体都有唯一的序号,称为实体号(点号、线号、区号、网号、记录号等)。对实体数据的存取主要依据实体号。 每个实体在工作区中都

文档评论(0)

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

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

1亿VIP精品文档

相关文档