mapinfo 5.0适合初学者考虑。
几种常用地理信息软件的比较:
地理信息系统是信息科学和信息技术发展的重要组成部分,是信息高速公路上的节点。
作为信息社会中一种特殊的地理空间特征和各种统计信息,
信息系统和地理信息系统已成为政府部门进行科学管理和快速决策不可或缺的工具。
管理信息系统的提出起源于20世纪50年代。 经过40多年的发展,随着计算机科学的发展,地理学
随着科学、地图学、遥感与摄影测量、图形图像技术、数据库技术的不断发展,地理信息系
该系统已成为功能强大、性能完善的计算机系统,广泛应用于规划、国土、测绘、建设等领域。
建设、环保、军队等多个部门。
自MapInfo和Arc/Info率先进入中国地理信息系统市场以来,其他各种国外GIS软件(如MG
E、MapCAD、Genemap、MicroStation GeoGraphics、Maptitude等)也蜂拥而至,竞相占领
中国GIS市场。此时此刻,在这个关键时刻,国产GIS软件在国家和地方相关部门的支持下,也
发展步伐加快,相继推出了多款GIS软件,如武汉测绘科技大学的GeoStar、中国地理信息系统等。
中正大学MapGIS、北京大学CityStar、方正集团公司开发的“方正智能绘图”软件等。
无论是国产GIS软件还是国外GIS软件,都必须具备GIS的基本功能,如数据接收和处理(
包括数据验证、坐标变换、投影变换等)、数据存储、数据库管理、空间查询与检索、空间
时间分析、数据输出等。下面我将比较三个GIS软件:MapInfo、Arc/Info和Maptitude。
简单分析一下熟悉的部分。
1.MapInfo软件
MapInfo系列产品中,最常用的是MapInfo Professional和MapBasic。
MapInfo Professional是一款基于普通PC机的桌面地图信息软件。 其主要特点是:
(1)快速的数据查询和高速的屏幕刷新,使用户界面具有良好的图形显示效果;
(2)具有较强的集成能力,是一种可以根据数据的地理属性进行信息分析的应用开发工具。 它是一个强大的地理定位工具。
图形数据组织与显示软件包;
(3)强大的数据可视化和数据分析能力,可直接访问多个数据库的数据,如Oracle、Mi等
crosoft Access、Informix、SQL Server、Dbase 等;
(4)专题图制作容易,数据制图方便;
(5)同时支持16/32位应用程序开发,适用于多种计算机操作系统,如Windows 3.1、Windo
ws 95、Windows NT、OS/2 等;
(6)完整的Client/Server架构;
(7)完善的图形无缝连接技术;
(8)支持OLE 2.0标准,可启用其他开发语言如:Visual Basic、Visual C++、PB、Dephi
我们可以使用集成映射技术将MapInfo开发为OLE对象。
MapBasic是基于MapInfo平台的用户开发语言,包含300多个语句和函数。by MapBasic
二次开发可以扩展MapInfo的功能,实现程序的自动化运行,轻松将MapInfo与
与其他软件集成,其主要特点是:
(1)由于MapBasic是一种类似Basic的编程语言,因此易于使用;
(2)有利于MapInfo界面的改造、功能的扩展和应用的可视化;
(3)支持OLE Automation和DDE(动态数据交换)技术,方便与其他应用软件连接;
(4) 包含嵌入式SQL语句,使数据查询和检索更加方便。
MapInfo和Mapbasic提供基本的图形操作,例如放大、缩小、漫游、选择、组合/分割空间实体。
操作功能; 同时MapBasic可以直接读取点、线、面等空间实体和属性数据库,并提供条件分析
分析、统计分析、缓冲液分析等分析功能。
使用MapInfo进行开发主要有三种模式:
(1)使用MapInfo作为独立的开发平台,并使用MapBasic的二次开发模式;
MapInfo Professional提供基本的GIS功能,如数据接收功能、数据库建立功能、制图功能、
数据查询检索功能、专题图制作功能、简单分析功能、数据输出功能等。而MapBasic是
基于MapInfo平台构建的用户开发语言,针对MapInfo的二次开发,完善MapInfo的功能和功能。
灵活开发各种所需功能。
(2)使用MapInfo作为OLE对象的开发模式;
虽然MapInfo Professional和MapBasic具有强大的功能来实现通用的GIS功能,
随着用户需求的不断变化,其功能毕竟还是有限的。对于任何GIS软件平台来说,为了能够维护
要保持其活力,必须要求平台具有可扩展性,即支持OLE标准。 MapInfo有效解决
这个问题使得其他开发语言可以将其开发为OLE对象。
(3)采用基于ActiveX的MapX控件的开发模式。
GIS软件的组件化是GIS软件的发展方向之一,即:采用Active
发展。 MapX是MapInfo基于ActiveX技术的可编程控件。 它集成了MapInfo的几乎所有功能。
,如地图显示、图形放大、缩小、选择、漫游等,制作专题图、图层控制、ODBC功能、
地理查询等等。
在GIS系统中,数据工作量占整个系统开发的70-80%,所有GIS功能都必须基于地理数据。
可见,合理的地理数据模型是GIS系统生存的基础。 MapInfo Professional 作为桌面地图
作为模型系统,其空间数据结构不存在拓扑关系,因此与部门级或企业级地理信息系统相比,
总体来说,其空间分析能力较弱,但对硬件平台、软件环境和软件工具的要求较低。
使用方便,价格低廉。 MapInfo通过建立空间实体模型和空间索引来定义其空间数据。
对于模型来说,表用于存储空间数据和属性数据。空间实体有点、线、面三种基本类型。
使用面向对象的方法组合而成,每个实体对象都维护自己的所有信息。 空间索引是使用 R- 完成的
实现了树技术。利用这种数据模型可以简化数据管理的复杂性,解决一些空间查询和分析功能,但仍然存在一些空间分析问题。
路径分析等分析功能软件本身无法实现简要分析计算机硬件系统和软件系统的基本组成部分,必须依赖外部开发语言(如Visual Basic、Visual
C++、Dephi等)来实现。
MapInfo数据存储在数据库中,主要有两种数据库:内置数据库和通过ODBC连接的外部数据。
数据库。它的数据库以Tables的形式组织和管理数据,每个Table可以存储一定的空间。
每个空间实体的实体和几个属性描述。 当然,只能存储属性数据。 表严格遵循要求
为满足系统模式标准化的要求而设计,Table表中空间实体的存储不允许重复,以保证空间实体记录
独特性。 有Table结构,可以建立空间实体和属性数据之间的连接关系,从而使用标准S
用于查询和检索的 QL。
2.Arc/Info软件
Arc/Info是目前功能最齐全、性能最稳定的专业地理信息系统软件平台之一。
庞大的GIS软件。 Arc/Info一般用于部门级、企业级大型地理信息系统的开发,以及桌面
地表GIS主要使用ArcView开发。 两个软件互相兼容,可以互相调用数据。
我简单列出一下我所知道的Arc/Info的主要功能:
(1) 支持多种系统平台,如Windows NT、UNIX、SUN Solaris、SGI IRIX、IBM AIX等可用
方便地调用各种系统平台上的数据和应用程序;
(2)将最广泛的数据源集成到统一的环境中,例如矢量(x,y坐标)地图数据、栅格图像
数据、CAD数据、音视频数据以及大量的DBMS表数据;
(三)地理数据及相关数据的自动采集、管理和显示功能;
(4)强大的地理空间分析功能。 Arc/Info提供多种分析工具,如:拓扑地理叠加分析
、缓冲区分析、空间和逻辑查询、邻近分析等;
(5)建立了多种数据模型,如水文模型、网络模型、栅格模型等;
(6)TIN模块,非常专业、功能齐全,可以生成、显示、分析地表模型,同时可以进行地图光晕。
通讯、模拟飞行动画、可视化分析、剖面提取、工程土方量计算等;
(7)提供栅格分析功能,可进行栅格矢量一体化查询和叠加显示;
(8)开发了数据库管理模块,可以管理大量数据并维护和动态更新工作数据。
;
(9)高效的图形显示功能。 Arc/Info开发了图形加速模块,提高图形显示速度
。
Arc/Info提供了AML(Arc Macro Language)语言开发环境,使用起来非常方便
对用户菜单和功能进行编程。 AML是一种解释型开发语言,类似于Maptitude的Caliper脚本类
类似,具有以下特点:
(1)语法结构简单,易于掌握,易于开发;
(2)可采用模块化开发方式来开发系统应用软件;
(3)支持多种风格的菜单、对话框、工具栏的设计和开发;
(4)提供多线程调度和输入管理。
同时,为了克服AML语言处理复杂线程控制和开发效率低的困难,Arc/Info
可控性差等缺陷也提供了ODE(开放开发环境)功能。既然ODE是通行证
它是通过编译执行的,因此可以弥补AML语言的缺点。
Arc/Info主要有两种开发模式:
(1)使用Arc/Info、AML和ODE进行开发。
(2)使用Arc/Info的Active X控件在通用编程语言开发环境中进行开发。
Arc/Info的基本元素是“ARC”,可以由任意多个点组成,两端都有节点,伴随着“ARC”的共享
ARC”的两个区域的代码。同时,还为每个多边形建立了围绕其边界的“ARC”目录表。
在这个数据结构中,实际上只存储了节点的坐标,并通过逻辑关系建立了“ARC”和多边形。
。 该数据结构不仅保存了描述多边形形状的几何信息,还建立了多边形元素(Poly
边、弧、节点)。 同时,Arc/Info使用Coverage特征来描述地理数据。 氩气
c/Info将各种特征属性保存在相应的Tables中。 当 Arc/Info 创建 Coverage 拓扑时,定义拓扑并
几何特征并存储在特征属性表(FAT)文件中。因此,Arc/Info 使用拓扑关系
系统数据模型。 在这方面,Maptitude 有点类似。
ArcView与MapInfo类似,主要有以下几个方面:
(1)均属于桌面地理信息系统范畴,开发简单、简洁;
(2)可以支持多种空间数据格式,并且两种空间数据可以互换;
(3)空间数据不具有拓扑结构,需要建立索引文件来完成各种空间查询和分析;
(4) 其他一些基本的GIS功能在这两个软件中都有,这里不再详细介绍。
当然,作为不同厂家开发的两款软件,它们也有各自的特点。 例如,在数据管理模式方面,ArcView采用
Shape格式用于保存无拓扑关系的矢量数据,Table用于管理属性数据; MapInfo 使用 T
能够管理所有数据; 两种开发工具不同。 ArcView 的 Avenue 是一个面向对象的程序。
设计语言引入了类的概念。 虽然功能强大,但是开发起来却很困难。 MapInfo的MapBasic是B类
ASIC编程语言易于掌握,功能也比较齐全,但两种开发工具都可以编译。 由于氩气
cView的很多功能都源自Arc/Info,这里不再赘述。
3. 地图软件
Maptitude系列软件用于开发各种专题地理信息系统的主要工具是Maptitude软件平台。
和GISDK开发工具。 Maptitude已经升级到4.1版本了,但是由于种种原因,我只尝试了3.0
版本。 该软件的主要功能有:
(1)数据接收功能强大,支持多种GIS数据源,如MapInfo、Arc/Info、MGE、CAD等;
(2)数据查询快捷方便,数据可以更好地动态更新;
(3)支持ODBC技术,可以与多种数据库通信,如:Oracle、Informix、MS Access、S
QL服务器等;
(4)可以通过多种方式方便地制作和输出各种专题图;
(5)支持Windows 3.1、Windows 95 & 98系统,但3.0版本不支持Windows NT4.0。
目前没有测试UNIX、OS等操作系统是否支持;
(6)具有无缝数据连接功能;
(7)支持多媒体。除了支持BMP图片和创建可翻转的幻灯片外,还支持播放音乐和电影。
多媒体功能。
(8)具有快速、强大的空间分析如缓冲区分析、最短路径分析等功能;
(9)可以使用工具自动建立拓扑关系;
(10) 支持OLE和DDE技术,Maptitude可以在常用开发语言中调用OLE,如:Vis
ual Basic、Visual C++、Dephi 等
(11) 数据压缩是Caliper引以为豪的专利技术。Maptitude中压缩形式的地图数据
存储,但无需解压即可操作。 占用空间小,速度大大提高。
Maptitude提供的开发工具是GISDK。 GISDK 是一种解释型开发语言,可利用任何文本编辑器
为了编写代码,Maptitude 本身不提供编辑窗口。 GISDK由两部分组成: Caliper脚本程序
用于应用程序编译和测试的编程语言和交互式开发工具。 Caliper脚本编程语言开发完成
基于 Maptitude 应用程序的密钥。该语言功能强大且易于使用,即使对于编程经验很少的人来说也是如此
可以快速掌握。由于其程序流程由一组命令、隐式变量声明、灵活的数组处理、结构体组成
GISDK类似于BASIC语言简要分析计算机硬件系统和软件系统的基本组成部分,由于其专门的函数调用等而具有独特之处。 Caliper脚本可以创建和管理
管理用户界面,例如表格、地图、地图要素、窗口、选择集以及工具、对话框、工具栏等
,Caliper脚本还包含多达600个函数的库。高级函数调用完全调用Maptitude
函数、函数库包括DDE信息处理、实时应用开发、ODBC目标管理等专用函数库
。
GISDK的特点是:
(1)提供非常完善的功能,让开发更加方便;
(2)任何文本编辑器都可以用来编写程序代码;
(3)Maptitude的功能可以通过嵌入进行扩展;
(4)可以方便地建立用户所需的菜单、对话框、工具栏等界面。
Maptitude的地理数据存储在自己的数据库(DBF或DAN)或外部数据库中。 外部数据库通过
ODBC调用。它的空间数据由点、线、面组成。 它采用传统GIS拓扑结构建立方法,数据基于拓扑。
存储方式。由于数据本身具有拓扑关系,有利于各种空间分析,例如多边
形状叠加分析、最短路径分析、缓冲区分析等
Maptitude目前主要有两种开发模式:
(1)使用Maptitude和GISDK进行开发。这种方式有利于系统的稳定性,但不能
系统功能扩展;
(2)使用Maptitude作为OLE开发模型
虽然Maptitude和GISDK功能强大,尤其是GISDK的函数库包含了600多个函数。
但相对于用户对系统的要求来说,这个功能毕竟还是有限的。 所以 Maptitude 就是 OLE
、使用常用的开发语言如Visual Basic、Visual C++、Delphi等进行系统开发。