有没有MAPINFO和MAPX的资料啊

xlfsprite 2002-05-07 04:08:56
我正在做一个GIS毕业设计,望大家提供相关资料
...全文
405 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlfsprite 2002-05-07
  • 打赏
  • 举报
回复
好了,己结贴了,谢谢各位了,我已收到了!不过好像不太全,最好再发一份给我
xlfsprite 2002-05-07
  • 打赏
  • 举报
回复
这样看太累了,兄台能不能发到我邮箱里xlfsprite@sina.com.cn收到后即给分
erp2 2002-05-07
  • 打赏
  • 举报
回复
我K说了这么多,怎么不说在哪里可以下载?
xlf_boy 2002-05-07
  • 打赏
  • 举报
回复
MapX支持的外部数据
在MapX中可以引用多种类型的外部数据。
(1)、 地图数据:如果用户已经购买了或是利用MapInfo创建了MapInfo地图,可以直接将它们在应用中打开。
(2)、 远程空间数据库:利用MapX可以访问保存在Oracle8i及MapInfo SpatialWare中的地图数据。其中,对Oracle8i的支持是MapX 4.0的新特性。通过Oracle8 Call Interface(OCI),MapX可以将存储在Oracle8i数据库服务器中的MapInfo空间数据和属性数据同时下载到本地。
(3)、 其它远程数据:MapX支持多种对外远程数据的访问方式,如ADO、DAO、及RDO等,更可以通过ODBC使用更广范围内的数据。
数据库设计原则
GIS系统中涉及的数据包括图形矢量数据、空间属性数据和工程管理数据。为了增强整个系统数据处理的灵活性,采用分开存储的方法。图形矢量数据以MapInfo标准文件格式存储在特定目录下,图形中每个地物均有其对应的唯一的标识(ID号),系统以此为索引建立该地物的图形数据文件。空间属性数据与工程管理数据均采用MS SQL Server来存储,各地物属性记录的关键字为图形文件中该地物的ID号,由此便实现了图形文件与属性文件的一一对应关系。

图3.1 图形数据与属性数据的关联关系
关联属性数据的方法
在MapX中,属性数据与几何数据的关联是通过数据绑定实现的。
(1)、 什么叫数据绑定
数据绑定是将外部数据引入MapX的过程。
可以绑定的数据源包括以下类型:
类型 描述
ADO 使用ADO(Active data objects)
DAO DAO对象,可以是VB中的data control、Access表格等,也可自己创建
Delphi 使用Borland BDE数据源
Global Handle lets you pass in a block of tab-delimited data
Layer 创建一个Dataset,使用MapInfo表字段
Notes View/NotesQuery 专门用于Lotus Notes
ODBC 可以使用ODBC从任何ODBC数据源中获取数据
OLE Data 用于containers,如PowerBuilder
RDO MS Remote Data Objects和RDO结果集对象
safeArra COM数据集,与safearray中的数据进行静态绑定
Unbound 兼容其它
xlf_boy 2002-05-07
  • 打赏
  • 举报
回复
四、 MapX研究
MapX简介
MapX是MapInfo公司向用户提供的具有强大地图分析功能的ActiveX控件产品。由于它是一种基于Windows操作系统的标准控件,因而能支持绝大多数标准的可视化开发环境如Visual C++、Visual Basic、Delphi、PowerBuilder等。编程人员在开发过程中可以选用自己最熟悉的开发语言,轻松地将地图功能嵌入到应用中,并且可以脱离MapInfo的软件平台运行。利用MapX,能够简单快速地在企业应用中嵌入地图化功能,增强企业应用的空间分析能力,实现企业应用的增值。MapX采用基于MapInfo Professional的相同的地图化技术,可以实现MapInfo Professional具有的绝大部分地图编辑和空间分析功能。而且,MapX提供了各种工具、属性和方法,实现这些功能是非常容易的。
MapX的空间数据结构
空间数据结构,是GIS的基石,GIS就是通过这种地理空间拓扑结构建立地理图形的空间数据模型并定义各空间数据之间的关系,从而实现地理图形和数据库的结合。

图2.3 MapX的空间数据结构
从横向分析,MapX采取的空间数据结构是基于空间实体和空间索引相结合的一种结构。空间实体是地理图形的抽象模型,主要包括点、线、面三种类型。任何点、线、面实体都可以用直角坐标点x、y来表示。点可以表示成一组坐标(x,y),对于线和面,则均被表示成多组坐标(x1,y1;x2,y2;xn,yn)。空间索引是查询空间实体的一种机制,通过空间索引,就能够以尽量快的速度查询到给定坐标范围内的空间实体及其所对应的数据。
从纵向分析,MapX的空间数据结构是一种分层存放的结构。用户可以通过图形分层技术,根据自己的需求或一定的标准对各种空间实体进行分层组合,将一张地图分成不同图层。采用这种分层存放的结构,可以提高图形的搜索速度,便于各种不同数据的灵活调用、更新和管理。
图2.4 MapX的模型结构
MapX组件的模型结构
MapX组件的基本组成单元是Object(单个对象)和Collection(集合)。其中集合包括对象,是多个对象的组合。每种对象和集合负责处理地图某一方面的功能。
由图4.4可以看出,位于顶层的是Map对象本身,其它均由Map对象继承。Layers、DataSets、Annotations是Map对象下面的三个重要的分支。其中Layer主要用于操作地图的图层,DataSet用于访问空间数据表,Annotation用于在地图上增加文本或者符号。
MapX的显著特征
Ø 专题地图
将数据库表中的特定值赋给地图对象的颜色、图案或符号从而创建不同的专题地图;可创建范围值、等级符号、点密度、独立值、直方图和饼图6种方式的专题地图;
Ø 可深入的地图
通过简单的点击方式可浏览与地图对象相连的数据信息;
Ø 数据绑定
地图可通过嵌入OCX的容器与数据库相连,并提供了几种不同的数据绑定方式包括ZIP Code-level地理编码法;
Ø 注解
可提供方向、加亮显示特殊数据,还可加入文本、符号、表格使地图信息更加丰富直观;
Ø 图层
显示和控制图层的缩放、使用或创建无缝地图、还可支持一些特殊的应用,比如用于实时跟踪的活动图层和可绘制特殊图形的用户自定义图层(如logo图案);
Ø 栅格图象
采用栅格图象作为地图的基础图层可使其它图层有一个更细致的背景;
Ø 自动标记
自动在地图上加入标记,同时标记属性和显示;
Ø 选择
可在地图上拖动鼠标以在圆、矩形或特定的点上选择一个或多个对象或记录以供分析;
Ø 对象库
可以使用FeatureFactory对象,创建、联接或删除点、线、区域图形对象;
Ø 工具
使用MapX的标准工具或根据需要自己创建的自定义工具,用户可通过点击或拖拽对地图直接进行操作;
Ø 地图编辑
允许用户添加、修改、删除地图上的文本、编辑区域、点等特殊对象;
Ø 投影与坐标系
MapX允许用户调整地图的显示、用本地坐标系处理X-Y坐标数据;
Ø 远程空间数据服务器
可以访问存储在Oracle8i 和MapInfo SpatialWare中的远程地图数据。空间数据服务器如SpatialWare和Oracle8i等都提供了先进的查询处理能力 ,提高了空间数据组织的性能。将空间数据存储到关系型数据库中,可以增加应用程序的灵活性,同时也要求在地图编辑和大数据集方面做更多的工作。
MapX的基本属性
Ø Map
每个Map对象主要包括Datasets、Layers、Annotations三个对象集合。
Map对象有一些主要的属性,如Zoom用来设置放大级别(在地图上显示的大小),Rotation控制地图的旋转角度,CenterX和CenterY用于设置x和y的坐标系,这要取决于地图的投影。
Map对象的许多属性本身又是一个对象,比如说一幅地图由多个图层组成,则在一个Map对象中存在一个单独的layers集合,其中包含所有图层的信息。
Ø Layers
在MapX中,每张单独的地图都被表示成单独的一个图层,所有的图层存储在layers集合中。Layers集合由Layer对象组成,按顺序编号为0到n。Layer对象由features对象组成,features对象又是由Feature对象组成,对应于地图中的点、线、区域或符号。
最上面一层为Layers(1),Layers(2)位于Layers(1)的下面,以次类推。最下面的图层最先绘制,最上面的图层最后绘制。在应用程序中,合理地安排好每层在Layers中的顺序是至关重要的。比如说有两个图层,一层为点,一层为区域,则应将点层放到区域层的上方,否则区域会将点覆盖。
另外,在进行地图选择操作时,根据要求调整图层的顺序也是十分重要的。MapX中的选择工具总是从可选择图层中的最上层开始选择,如果在地图上的同一位置存在多个位于不同层的地图对象,其结果是很难精确地选择到目标对象。因此,最好将被选择图层提到最上层显示。
Ø GeoSets
GeoSet是在GeoManager中建立好的.GST文件,类似MapInfo中的WorkSpace概念,是图层及其设置的集合,控制程序中显示的地图。也可以在运行阶段设置GeoSet,此时将导致已经加载的所有图层和DataSet被删除而由GeoSet中定义的图层所代替。如果单纯地想删除所有图层,只需给GeoSet赋一个空字符串即可。
可以使用GeoSet Manager程序来管理GeoSet 文件(*.GST)。默认情况下.GST文件存储在…\\mapx\maps目录下,可以调用GeoDictionary Manager程序进行修改,指向用户程序数据所在的位置。
Ø Datasets
Datasets用于实现地图与数据的绑定。举例说明,有一个关于城市销售情况的MSAccess 数据库和一张该城市的地图,则可以将二者绑定,在地图上形象地显示出各城市销售业绩的趋势,这一点是表格数据无法做到的。
建立地图信息与属性数据之间联系的过程称之为自动绑定或自动匹配(autobinding /automatching)。要实现这一过程,必须首先将地图在GeoDictionary 中注册。
属性数据表示的可视化使得创建专题地图成为可能。
数据绑定"Putting Your Data on the Map"
专题地图"Theme Mapping and Analysis"
Ø Annotations
Annotations集合提供了操纵地图中文字和符号的简单方法。Annotations位于所有其它图层的上方并且不与任何数据连接,有点儿象MapInfo中的透明图层。
Annotations包括以下主要的属性与方法:AddSymbol在Annotations中增加符号,符号类型使用Map.DefaultStyle定义;AddText在Annotations中增加文本;Remove删除特定的标注.;Type取值为miSymbolAnnotation或miTextAnnotation。
Annotations还有一个非常重要的属性Graphic,其定义为Graphic对象,在该对象中包含了符号或文本的样式、位置等信息,即Graphic的Caption、Position、Style 、X、Y属性。如Annotations的Type属性定义为miTextAnnotation,则可以定义Graphic的Caption属性设置标注的字符串。
Ø 可创建对象
在MapX对象模型中,以下对象是可以被创建的:
AffineTransform、BindLayer、BitmapSymbols、CoordSys、Datum、Feature、Fields、LayerInfo、Map、 ODBCQueryInfo、 Parts、Point、Points、Rectangle、RowValue、RowValues、Style、Variables、NotesQueryInfo、NotesViewInfo。
在Delphi中创建这些对象需要注意一点,即在后面注明MapX的版本。如在本课题实现过程中,由于使用的是MapX 4.0版本,因此创建语句要写成
s := CreateOleObject('MapX.Style.3');
五、 MapX的两个实用应用程序
Geodictionary Manager
Geodictionary其实是一个二进制文件,默认文件名为GeoDict.dct,在这个文件中包含了MapX进行自动数据绑定时可以进行匹配的MapInfo表的注册信息。只有能够被匹配的MapInfo表可以在Geodictionary中注册。需要注意的是,没必要将应用程序中用到的所有表(.tab文件)注册,因为注册一些不必要的表将导致额外的开销。
应用程序Geodictionary Manager的作用是用来操纵与管理Geodictionary。可执行文件GeoDictionaryManager40.exe既可以运行于图形界面也可以使用命令行参数,在进行程序安装时,命令行参数可以用来调用GeoDictionaryManager40.exe以注册相关的MapInfo表。
每当创建一幅地图时,MapX就会在注册表的
HKEY_LOCAL_MACHINE\Software\MapInfo\MapX\4.0\
中查询GeoDictionary的注册键值。注册键值主要包括两方面的信息:一是GeoDictionary,用于定位.DCT文件;二是SearchPaths,其值是缺省的数据目录,用于定位.GST文件,可以是多个目录,之间用逗号隔开。
对于注册键可以有三种取值:
①包含Geodictionary文件的完整目录,如C:\Program Files\MapInfo MapX\Maps\geodict.dct。 数据目录被设置成相应的目录,在上例中为C:\Program Files\MapInfo MapX\Maps\。
②只包含目录信息如C:\Program Files\MapInfo MapX\Maps。 数据目录也被设置成这个目录。
③为空值
Map.GeoDictionary的缺省值时"GeoDictionary",这就意味着MapX会在注册表中查询HKEY_LOCAL_MACHINE\Software\MapInfo\MapX\4.0\GeoDictionary。
除了使用默认的GeoDict.DCT文件,也可以根据需要自己建立。新建一个.DCT文件,在Geodictionary Manager中打开,注册必要的.TAB文件并进行相应的设置即可。
在MapX 4.0和更高版本中,MapX的
xlf_boy 2002-05-07
  • 打赏
  • 举报
回复
apInfo相关技术
MapInfo公司及其产品
美国MapInfo公司致力于为用户提供先进的数据可视化、信息地图化技术,并将这些技术与主流业务系统集成,提供完整的解决方案。MapInfo吸取了传统GIS系统的精华,并借助于计算机技术的发展,及时将GIS概念从中大型计算机的专用工作站上介绍至普通桌面PC上,开创了崭新桌面地图信息系统。MapInfo公司的主要系列产品有:
Ø 桌面地理信息系统MapInfo Professional
Ø 网络解决方案MapInfo ProSerev
Ø 数据库服务器产品MapInfo Spatialware
Ø MapInfo ActiveX
Ø DEC Alpha NT产品MapInfo Professional for DEC Alpha NT
Ø 开发工具MapInfo MapBasic
MapInfo空间数据的拓扑关系模型
空间数据的拓扑关系模型是地理信息系统的基石。当前商用地理信息系统中,主要采用POLYVRT结构和“空间实体+空间索引”两种模型。
MapInfo采用称作“空间实体+空间索引”的的拓扑关系模型。80年代中后期出现的商用地理信息系统,尤其是桌面地理信息系统大多采用这种方式,包括ESRI的ArcView。而采用POLYVRT模型的系统主要是以Arc/Info为代表的一些专业GIS产品。
“空间实体+空间索引”模型的基础是“空间实体”。空间实体是地理实体的抽象,主要包括点、线、面三种类型。每个空间实体对象都维护着自己的所有属性。多个空间实体组成一个图层。
“空间实体+空间索引”模型的空间查询功能是通过“空间索引”技术来实现的。空间索引的目的是对给定的空间坐标,能够以尽快的速度搜索到坐标范围内的空间对象。MapInfo采用R-Tree技术将空间实体的最小外接矩形(MBR)存储在索引中,并按从大到小的顺序进行索引搜索。建立了空间索引,就能快速地进行空间分析了。
相对于,POLYVRT的优点是多个不同的对象可以共用相同的结点,节省存储空间,但由此产生的问题是其结构更加复杂,数据的编辑和维护比较困难。而“空间实体+空间索引”模型虽然会造成公共结点的重复存储,但是其结构化的实体模型使得对某个对象的更改不会影响到其它对象的定义,从而大大增强了空间数据的可维护性。
另外,基于POLYVRT结构的空间数据组织不能被规范为关系模式,而基于“空间实体+空间索引”模型可以规范为“实体-关系”模型,从而可以与关系数据库系统结合,在关系数据库内实现对空间数据的查询、分析和处理等操作。
主要技术特点
(1)、 以表(Table)的形式组织信息
每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件。为使用MapInfo,就需要有组成表的用户数据和地图文件。这些文件可以来自MapInfo或者由用户创建。用户要想在MapInfo中工作,就必须打开一个或多个表。
MapInfo通过表的形式将数据与地图有机地结合在一起。当用户在MapInfo中打开数据文件时,MapInfo将创建一个表。这个表至少由两个独立的文件组成,一个是包含数据结构的文件,另一个是包含原始数据的文件。一个典型的MapInfo表将主要由*.tab、*.dat、*.wks、*.dbf、*.xls、*.map、*.id、*.ind文件格式组成。
(2)、 图形对象
MapInfo内置的数据库管理系统是一种关系型数据库管理系统,也是用二维表组织数据。与其它关系型数据库不同的是表结构中除可包含常用类型的属性列外,还引入一个图形对象列(OBJ列),用于存储图形对象(如线、区域等)。MapInfo提供许多图形对象的操作接口,利用这些接口可以生成和处理所需要的各种图形。
(3)、 地图图层化
MapInfo是按图层组织计算机地图的。也就是说,将一幅计算机地图加工成多个层层叠加的透明层,这个透明层就称为图层。每个图层包含了整个地图的一个不同方面。例如,第一个图层包含省边界,第二个图层表示省府的符号,第三个图层由标注文本组成,把它们层层叠加就形成一幅完整的地图。在创建每一个图层时,都要为其建立一张表,MapInfo就是通过这种方式使表与地图之间建立了联系。
也就是说,MapInfo是以表的形式来进行管理的,每个表一般包含两部份:地图部分和数据库(属性)部份。
(4)、 专题地图
提供多种数据可视化的专题地图,能将数据库中的信息进行直观的可视化分析。使用专题渲染在地图上显示数据时,可以清楚地看出在数据记录中难以发现的模式或趋势,为用户的决策提供依据。专题地图包括范围值、点密度、柱状图、等级符号、饼图和独立值六种形式。
(5)、 内置ODBC
MapInfo内置ODBC,支持各种关系型数据库,支持SQL查询,从而保证了对原有数据库的沿用和对远程数据库地访问。具备空间查询的功能扩展(如缓冲区、叠加等),采用数据仓库的最新技术OLAP(Online Analytical Processing)的联机事物处理,对于应用程序实现图形查询和表查询提供了强大的手段。
(6)、 支持多种数据格式及其转换
MapInfo既支持数字化仪的图形输入方式,直接生成矢量图,也支持目前市场上流行的图形图象格式。可接受AutoCAD的DWG、DXF标准文件格式,还可通过MIF及MID文件与其它软件建立数据的接口。其中MIF文件内保存有图形信息,MID文件内保存有图形的属性信息。MIF及MID文件通过MapInfo的菜单命令Import和Export来输入和产生。
(7)、 二次开发工具MapBasic
作为一个系统软件,MapInfo提供了可以将其所有的功能用程序来驱动的方法,内置标准的二次开发工具——MapBasic。MapBasic不仅与大众化的Basic语法相一致,具有基本一致的常用函数集(计算、字符串处理、文件I/O、DLL调用等),而且利用MapBasic语言所提供的函数、过程和语句命令可以完成许多有关图形对象管理的复杂操作和运算。它的真正优势在于对MapInfo中的Table及其图形对象的管理所提供的特性和强大功能。采用面向对象及事件驱动编程
(8)、 集成二次开发能力
具有OLE和OLE Automation功能,可以方便地使用Delphi、VB、VC等多种开发工具,保证了新的应用程序与原有的应用界面保持一致,为日后的深层开发提供一个扩展空间。
MapInfo的数据组织
MapInfo采用双数据库存储模式,即其空间数据与属性数据是分开来存储的。属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo的自定义格式保存于若干文件中,二者通过一定的索引机制联系起来。为了提高查询和处理效率,MapInfo采用层次结构对空间数据进行组织,即根据不同的专题将地图分层(图层还可以分成若干图幅),每个图层存储为若干个基本文件。
(1)、 属性数据的表结构文件.TAB
属性数据表结构文件定义了地图属性数据的表结构,包括字段数、字段名称、字段类型和字段宽度、索引字段及相应图层的一些关键空间信息描述。.TAB文件实际上是一个文本文件,可以在写字板中打开观察其内容。
(2)、 属性数据文件.DAT
属性数据文件中存放完整的地图属性数据。在文件头之后,为表结构描述,其后首尾相接地紧跟着各条具体地属性数据记录。
(3)、 交叉索引文件.ID
交叉索引文件记录了地图中每一个空间对象在空间数据文件(.MAP)中的位置指针。每四个字节构成一个指针。指针排列的顺序与属性数据文件(.DAT)中属性数据记录存放的顺序一致。交叉索引文件实际上是一个空间对象的定位表。
(4)、 空间数据文件.MAP
具体包含了各地图对象的空间数据。空间数据包括空间对象的几何类型、坐标信息和颜色信息等。另外还描述了与该空间对象对应的属性数据记录在属性数据文件(.DAT)中的记录号。这样,当用户从地图上查询某一地图对象时,就能够方便地查到与之相关的属性信息。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧