基本信息
内容简介
计算机书籍
随着地理信息系统(GIS)技术应用领域的不断拓展,应用开发人员迫切需要一种制图与GIS功能组件。为此,各大GIS厂商陆续推出了二次开发组件。GIS组件的代表作应首推MapObjects和MapX。
本书通过大量实例,介绍了如何利用MapObjects和MapX组件进行GIS二次开发。首先介绍了进行GIS二次开发的概要、组件式GIS的特点及其结构;然后分别介绍了如何使用多种语言(Visual Basic、C++ Builder和Visual C++)以及Map Basic和MapX组件进行GIS二次开发。在介绍每个组件时,都从基本概念开始介绍,然后由浅入深地介绍如何实现地图显示及地理计算方法。
本书适用于政府、企业相关部门的GIS研究和开发人员,也适用于高等院校地理学、地理信息系统、房地产、环境科学、资源与城乡规划管理、区域经济学等专业的学生参考与学习,本书还适合作为各种GIS培训班的学习教材与参考书。
目录
第1章 gis二次开发概述
1.1 gis二次开发的三种实现方式
1. 1.l 独立开发
1.1.2 单纯工次开发
1.1.3 集成工次开发
1. 2 数据管理设计
1. 2. 1 全部采用文件管理
1. 2. 2 文件结合关系数据库管理
1. 2.3 全部采用关系数据库管理
1. 2.4 采用面向对象数据库管理
1.3 界面设计基础
1.3.l 界面设计原则
l. 3. 2 gis界面设计中的要素
第2章 组件式gis的开发
2.l 组件技术
2.1. 1 组件技术的兴起
2.1. 2 com与 dcom
2.1.3 activex与 activex控件
序言
今天,GIS已是一个全球拥有数十万从业人员和数十亿美元的产业。世界各国己设计出大量实用化的地理信息系统,常用的GIS软件已达400多种。比较著名的有美国环境系统研究所(ESRI)的 ARC/INFO和 Arc View,澳大利亚 GENASYS公司开发的 GENAMAP,中国地质大学开发的MapGIS,原武汉测绘科技大学开发的GeoStar,北京大学遥感与地理信息系统研究所开发的CityStar等等。
虽然GIS的教学与科研在国外进行得如火如荼,其应用几乎渗透到人们生活的方方面面,但是我国各高校直到最近几年才开始GIS专业人才的培养,例如北京大学城市与环境科学系于1999年才开始招收GIS专业本科生,可见我国GIS人才的严重不足。当前许多从事GIS应用与研究的工作人员并非GIS专业毕业的学生。这不仅制约了GIS技术的应用与发展,更为重要的是相关人员不能在工作中充分利用GIS知识解决实际问题,从而对我国的经济发展产生一定影响。这些人迫切需要掌握GIS基本理论、技术方法、应用经验、GIS项目组织管理与软件开发的方法。近些年未,国内涌现了不少的GIS教材,但是作为其配套的介绍具体GIS软件的实习教程非常少。从而限制了读者对GIS原理、应用的理解,缺乏运用GIS工具解决实际问题的能力。
此外,虽然GIS软件产品繁多,但是由于GIS软件专业性较强,它们不可能解决所有的问题,因此针对某些具体专业问题,还必须由用户进行二次开发来解决。正是为了满足这种需求,各大GIS厂商在推出基础地理信息系统平台的同时,一般都提供专门的语言与二次开发组件方便用户进行二:次开发,例如 Maplnfo公司的 MapBasic、MapX,ESRI公司的AVENUE、MapObjects,以及RSI公司的IDL、IDLDrawWidget等。我国主要有北京超图地理信息技术有限公司的SuperMap。但是介绍这方面知识的书籍廖廖无几。
鉴于上述原因,我们编写了这套丛书,分别为:
《地理信息系统实习教程》
《地理信息系统二次开发教程——组件篇》
《地理信息系统二次开发教程——语言篇》
ANC/INFO是地理信息系统的排头兵,其产品主要运行在工作站上。虽然1996年底,ESRI公司把工作站版的ARC/INFO的全部模块移植到Windows NT上,但是运行速度却实在令人难以恭维。国内外在开设地理信息系统课程时,一般都使用IDRISI作为实习系统。因此,我们在《地理信息系统实习教程》中,以实习的形式,用实际的案例详细介绍了IDRISI地理信息系统的功能及其使用。由于IDMSI系统的文件格式都是公开的,因此在这个简单的系统中,我们直接利用IDRISI的矢量与栅格文件格式,而扩充了遥感数据格式。通过编程实习,读者不但可以更加深入理解GIS的理论,了解GIS的实现过程,而且可以提高GIS的编程能力。
组件式软件技术已经成为当今软件技术的潮流之一,GIS软件的最新版本也提供大量组件,方便用户自己进行二次开发。《地理信息系统二次开发教程——组件篇》首先从总体上介绍了如何进行GIS二次开发、以及组件式GIS的特点及其结构,然后分别介绍了如何使用多种语言(Visual Basic、C++ Builder和Visual C++)和MapObjects与MapX两组件来进行GIS的二次开发。
GIS二次开发的另一种方式是借助于GIS平台提供的开发语言进行应用系统开发。大部分GIS平台提供了可供用户进行二次开发的宏语言,它是一种专门用于该GIS平台的一种开发语言,它有严格的数据类型定义、语法定义,编译后只能在该 GIS平台下运行,如 ESRI的 ArcView提供了 Avenue语言,MapInfo公司研制的 MapInfo Professional提供了 MapBasic语言等等。用户可以利用这些宏语言,以原GIS软件为开发平台,开发出自己的应用程序。
《地理信息系统二次开发教程——语言篇》以大量的实例介绍了如何使用MapBasic和IDL两种语言进行地理信息系统二次开发。在该书中还介绍了集成二次开发。集成二次开发以专业的 GIS平台为基础,以通用软件开发工具,尤其是可视化开发工具(如 C++ Builder、Visual Basic等)为开发平台,进行二者的集成开发。还介绍了如何利用OLE自动化方式或DDE方式启动 GIS工具软件在后台执行,利用回调技术动态获取其运口信息,实现应用程序中的地理信息处理功能。
相信通过这3本书的系统学习,广大规划、设计和管理人员能够更好地利用GIS这个基本工具解决城市管理、区域规划、环境整治、政府决策中的实际问题:地理信息系统及相关专业的学生也会很快掌握GIS的应用开发技能。