zhhy51
路人甲
路人甲
  • 注册日期2003-10-13
  • 发帖数80
  • QQ
  • 铜币189枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1301回复:1

ARC/INFO与常用软件的数据转换

楼主#
更多 发布于:2003-11-16 14:42
ARC/INFO与常用软件的数据转换
吴志伟
(广西基础地理信息中心)
   摘要:介绍了ARC/INFO与生产应用中常用的AutoCAD、MicroStation、MapInfo、 GeoScan、
       方正智绘等软件系统之间的数据转换。
   关键词:ARC/INFO;数据转换;属性(信息);属性表;实体;要素
一、引言
GIS技术和计算机辅助地图制图技术在社会各领域的应用越来越广泛,GIS数据和电子地图数据的社会需求爆炸性增长,随之,各俱特点的GIS和制图应用软件如雨后春笋般涌现。应用软件系统的增多,带给了社会用户更大的选择性,同时,不同应用软件之间数据转换的问题也随之出现。在数据采集的实际生产过程中,往往需要应用多种软件系统才能达到最终产品的要求,这就必须进行数据转换;而进行数据转换也是数据再利用的途径之一。
ARC/INFO是美国环境系统研究所(ESRI)的代表产品,在当前众多的地理信息系统软件中,影响广、功能强、市场占有率高。笔者在生产实践过程中应用了部分国内常用的GIS和地图制图软件系统,下面就笔者的经验对ARC/INFO与AutoCAD、MicroStation、MapInfo、GeoScan、方正智绘之间的数据转换做个介绍。
 
二、ARC/INFO与AutoCAD之间的数据转换
美国AutoDESK公司研制的AutoCAD系统自问世以来,即以惊人的速度向前发展,在国内外得到了广泛的应用。ARC/INFO为与AutoCAD进行数据转换提供了一个良好的接口。
1.AutoCAD-->>ARC/INFO
将一个AutoCAD的图形(Drawing)转换成ARC/INFO的层(Coverage),首先需要在AutoCAD中输出交换文件:DXF文件。在把DXF文件转换成ARC/INFO 数据之前,ARC/INFO提供了查看DXF文件的工具命令:DXF、DXFINFO。其中DXF是ARCPLOT模块中的命令,它可以用最接近原图的符号特征来显示DXF文件;DXFINFO命令会列出原始AutoCAD图形包含的内容,如:
Arc: DXFINFO TEST.DXF
                                    TEXT DEF   DEFAULT
LAYER NAME ARCS POINTS TEXT ATTRIB INSERT  LEN COLOR LINETYPE
---------- ---- ------ ---- ------ ------ ---- ----- ---------
A123         4      0    0      0      0    0     7 CONTINUOUS
LOTS        13      2    5      0      0   32    14 CONTINUOUS
DATA         0      0    0      2      1    5     6 CONTINUOUS
HIDE         1      0    0      0      0    0    -1 DASHED
---------- ---- ------ ---- ------ ------ ----
ALL LAYERS   18      2    5      2      1   32
ARC/INFO用DXFARC命令来转换DXF文件,下面是DXFARC命令的用法:
Arc: DXFARC
Usage: DXFARC <in_dxf_file> <out_cover> {text_width} {attrib_width}
转换前后各种图形实体的对比如下表:
 <![endif]>  
ARC/INFO把DXF文件中的每一线(Line)实体的Layer、线型、颜色等属性(信息)存放在后缀为“ACODE”的INFO文件中;把DXF文件中的每一点(Point)实体、注记(Text)实体、Insert实体的Layer、颜色、角度、尺寸、注记字符串等属性(信息)存放在后缀为“XCODE”的INFO文件中。
2.ARC/INFO-->>AutoCAD
ARC/INFO用ARCDXF命令把层转换成为DXF文件,从而可以用AutoCAD打开。ARCDXF命令用法如下:
Arc: ARCDXF
Usage ARCDXF <out_dxf_file> {in_line_cover} {in_point_cover}
{in_annotation_cover} {decimal_places}{ASCII | BINARY}
转换前后各种实体对比如下表: <![endif]>
DXF文件中的实体的Layer、颜色、类型等属性(信息)来源于两种途径:层的属性表AAT表和PAT表;后缀为“XOCDE”和“ACODE”的INFO表。上述的各表均是DBF类型的数据库文件,若想成为DXF文件属性(信息)来源,必须具有标准的DXF项。标准的DXF项如下表:  
三、ARC/INFO与MicroStation之间的数据交换
    MicroStation是一个在工程、绘图、建筑等领域广泛使用的CAD软件包,它的设计(design)文件后缀为“dgn”。ARC/INFO提供了与“dgn”文件相互转换的功能。
1. MicroStation-->>ARC/INFO
MicroStation的设计(design)文件中可以存在127种要素类型,但ARC/INFO只能转换其中常用的11种:Cell、Line、Line string、Shape、Text node、Curve、Complex string、Complex shape、Ellipse、Arc、Text。在转换“dgn”文件之前,可以在ARC/INFO中用IGDSINFO命令便捷地查看“dgn”文件所包含的大概内容,然后用IGDSARC命令进行转换。IGDSARC命令用法如下:
Arc: IGDSARC
Usage: IGDSARC <in_igds_file> <out_cover> {2D | 3D} {xmin}
  {ymin} {xmax} {ymax} {OVERLAP | INSIDE}
“dgn”文件的所有要素的Layer、颜色、类型等属性(信息)都存放在后缀为“ACODE”的INFO表中。MicroStation的每一个要素的属性(信息)可以通过联接(linkage)方式存放在外部的数据库中,如:Oracle、INFORMIX、Xbase、RIS等,ARC/INFO可以保持并转换这些联接,转换后的层的要素通过Cover_id来与属性(信息)一一对应。
2. ARC/INFO-->>MicroStation
ARC/INFO使用ARCIGDS命令将层转换成MicroStation的“dgn”文件,ARCIGDS命令的用法如下:
Arc: ARCIGDS
Usage: ARCIGDS <in_cover> <out_igds_file> <COMPLEX | NOCOMPLEX> <VANILLA | ACODE | SOURCE > <in_igds_seed_dgn> {2D | 3D} {in_cell_library} {in_property_map} {in_features}
 {out_elements}
“dgn”文件中的要素的Layer、颜色、类型等属性(信息)来源于后缀为“ACODE”的INFO表,ARC/INFO也可以重新构造或生成联接,从而建立“dgn”文件存放于外部数据库的属性(信息)。
四、ARC/INFO与MapInfo之间的数据交换
MapInfo是著名的桌面地图信息系统应用软件,它提供了一个用MapBasic(在MapInfo平台上开发用户定制的应用程序的编程语言)开发的、用于与ARC/INFO进行数据转换的工具,名为ArcLink。E00文件是ARC/INFO的交换文件,ArcLink可以转入或转出EOO文件。
1.ARC/INFO-->>MapInfo
在MapInfo环境中运行ArcLink后,选中“ARC/INFO->MapInfo”项,会弹出如下对话框
 <![endif]>
   ArcLink会根据选定的ARC/INFO E00数据的拓扑关系,让用户决定转换那些类型的要素,如:Arcs、Polygons、Points、Annotationd等,并且根据类型把要素从E00数据中挑选出来转换成多个的MapInfo的Table数据。值得注意的是,构成ARC/INFO的Polygon的Arc,经ArcLink转换后,会存放于Line的Table和Poly的Table。ArcLink生成的Table的结构和属性数据来源于ARC/INFO数据的属性表(AAT表和PAT表)。
2.MapInfo-->>ARC/INFO
在MapInfo环境中运行ArcLink后,选中“MapInfo-> ARC/INFO”项,会弹出如下对话框:
       ArcLink根据选定的Table,分析Table中的要素类型,列出能够转换成ARC/INFO数据的要素类型让用户选择,然后输出ARC/INFO的E00交换文件。需要注意的是,当用户决定把某个Table转换成ARC/INFO数据,这个Table中Polygon要素和Point要素不能同时存在,因为在ARC/INFO中,一个层的面拓扑和点拓扑不能同时建立。
 
五、ARC/INFO与GeoScan之间的数据交换
GeoScan是国内开发的矢量化应用软件。为了与ARC/INFO进行数据转换,GeoScan分层、分要素类型输出极为简单的坐标文本文件和存放属性(信息)的DBF数据库文件。如:GeoScan图形中有一个层为TEST,层中存在线要素和点要素,则GeoScan会输出线坐标文件“TEST.ARC”、点坐标文件“TEST.LAB”、线属性文件“TESTA.DBF”和点属性文件“TESTP.DBF”。ARC/INFO 的GENERATE命令可以根据输入的坐标,往新生成或现存的层增加要素。应用ARC/INFO的二次开发语言AML,运用GENERATE命令,引用GeoScan输出的坐标文件,可以完成从GeoScan到ARC/INFO的图形转换。然后,根据ARC/INFO的属性表和GeoScan存放属性的DBF数据库文件的公共项:NAME_ID,进行属性转换(联接)。
 
六、ARC/INFO与方正智绘之间的数据交换
方正智绘是北大方正集团推出的具有地图出版、地理数据采集、管理等功能的应用软件,系统本身提供了与ARC/INFO之间的数据转换。
1.       ARC/INFO-->>方正智绘
方正智绘可以转入微机版本的ARC/INFO图层,而不支持NT/UNIX格式,但能转入微机版本和工作站版本的ARC/INFO E00交换文件。方正智绘分类型将ARC/INFO图形数据转入,建立图层,然后通过“创建属性库”、“创建属性表”、“引入表”等步骤,将ARC/INFO属性表的属性数据转入,从而完成从ARC/INFO到方正智绘的数据转换。
2.       方正智绘-->>ARC/INFO
方正智绘可以把数据转出到ARC/INFO E00交换文件。转换的方式是:线图元转成ARC、面图元转成ARC和PAL、点图元转成LAB和TXT。如果存在属性库,方正智绘会把属性数据一起输出到E00文件中。
 
七、结束语
    不同的数据格式进行相互间的转换,丢失一些空间信息和属性信息有时是不可避免的;数据转换也增加了生产应用的成本和工作量。解决的方法是实行统一的数据格式标准。

喜欢0 评分0
zypczf
路人甲
路人甲
  • 注册日期2004-03-12
  • 发帖数66
  • QQ
  • 铜币227枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-03-12 22:56
thank you
举报 回复(0) 喜欢(0)     评分
游客

返回顶部