File type transform between ArcGIS and other major type

一、ARC/INFOAutoCADMicroStationMapInfo 之间的数据格式转换

        有一个非常好的工具,FME,本人使用的是FME Suit 2002 版本。可以进行大量的各种GIS数据格式的转换。可以先使用FME准备好FME的Workbench文件,然后在程序中通过命令行的方式进行调用。例如:
          Dim str As String
    str = "FME D:\Data\test_shape.fmw"
    Dim X As Long
   
    X = Shell(str, vbNormalFocus)    
    While IsRunning(X)
        DoEvents
    Wend



二、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中,一个层的面拓扑和点拓扑不能同时建立。

posted @ 2007-12-10 11:16  RayG  阅读(416)  评论(0编辑  收藏  举报