ARCINFO與常用軟件的數(shù)據(jù)接口轉(zhuǎn)換
一、引言
GIS技術(shù)和計算機輔助地圖制圖技術(shù)在社會各領(lǐng)域的應(yīng)用越來越廣泛,GIS數(shù)據(jù)和電子地圖數(shù)據(jù)的社會需求爆炸性增長,隨之,各俱特點的GIS和制圖應(yīng)用軟件如雨后春筍般涌現(xiàn)。應(yīng)用軟件系統(tǒng)的增多,帶給了社會用戶更大的選擇性,同時,不同應(yīng)用軟件之間數(shù)據(jù)轉(zhuǎn)換的問題也隨之出現(xiàn)。在數(shù)據(jù)采集的實際生產(chǎn)過程中,往往需要應(yīng)用多種軟件系統(tǒng)才能達(dá)到最終產(chǎn)品的要求,這就必須進(jìn)行數(shù)據(jù)轉(zhuǎn)換;而進(jìn)行數(shù)據(jù)轉(zhuǎn)換也是數(shù)據(jù)再利用的途徑之一。
ARC/INFO是美國環(huán)境系統(tǒng)研究所(ESRI)的代表產(chǎn)品,在當(dāng)前眾多的地理信息系統(tǒng)軟件中,影響廣、功能強、市場占有率高。筆者在生產(chǎn)實踐過程中應(yīng)用了部分國內(nèi)常用的GIS和地圖制圖軟件系統(tǒng),下面就筆者的經(jīng)驗對ARC/INFO與AutoCAD、MicroStation、MapInfo、GeoScan、方正智繪之間的數(shù)據(jù)轉(zhuǎn)換做個介紹。
二、ARC/INFO與AutoCAD之間的數(shù)據(jù)轉(zhuǎn)換
美國AutoDESK公司研制的AutoCAD系統(tǒng)自問世以來,即以驚人的速度向前發(fā)展,在國內(nèi)外得到了廣泛的應(yīng)用。ARC/INFO為與AutoCAD進(jìn)行數(shù)據(jù)轉(zhuǎn)換提供了一個良好的接口。
1.AutoCAD-->>ARC/INFO
將一個AutoCAD的圖形(Drawing)轉(zhuǎn)換成ARC/INFO的層(Coverage),首先需要在AutoCAD中輸出交換文件DXF文件。在把DXF文件轉(zhuǎn)換成ARC/INFO 數(shù)據(jù)之前,ARC/INFO提供了查看DXF文件的工具命令DXF、DXFINFO。其中DXF是ARCPLOT模塊中的命令,它可以用最接近原圖的符號特征來顯示DXF文件;DXFINFO命令會列出原始AutoCAD圖形包含的內(nèi)容,如:
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命令來轉(zhuǎn)換DXF文件,下面是DXFARC命令的用法:
Arc: DXFARC
Usage: DXFARC <in_dxf_file> <out_cover> {text_width} {attrib_width}
轉(zhuǎn)換前后各種圖形實體的對比如下表:
<![endif]>
ARC/INFO把DXF文件中的每一線(Line)實體的Layer、線型、顏色等屬性(信息)存放在后綴為“ACODE”的INFO文件中;把DXF文件中的每一點(Point)實體、注記(Text)實體、Insert實體的Layer、顏色、角度、尺寸、注記字符串等屬性(信息)存放在后綴為“XCODE”的INFO文件中。
2.ARC/INFO-->>AutoCAD
ARC/INFO用ARCDXF命令把層轉(zhuǎn)換成為DXF文件,從而可以用AutoCAD打開。ARCDXF命令用法如下:
Arc: ARCDXF
Usage ARCDXF <out_dxf_file> {in_line_cover} {in_point_cover} #p#page_title#e#
{in_annotation_cover} {decimal_places}{ASCII | BINARY}
轉(zhuǎn)換前后各種實體對比如下表: <![endif]>
DXF文件中的實體的Layer、顏色、類型等屬性(信息)來源于兩種途徑:層的屬性表AAT表和PAT表;后綴為“XOCDE”和“ACODE”的INFO表。上述的各表均是DBF類型的數(shù)據(jù)庫文件,若想成為DXF文件屬性(信息)來源,必須具有標(biāo)準(zhǔn)的DXF項。標(biāo)準(zhǔn)的DXF項如下表:
MapInfo是著名的桌面地圖信息系統(tǒng)應(yīng)用軟件,它提供了一個用MapBasic(在MapInfo平臺上開發(fā)用戶定制的應(yīng)用程序的編程語言)開發(fā)的、用于與ARC/INFO進(jìn)行數(shù)據(jù)轉(zhuǎn)換的工具,名為ArcLink。E00文件是ARC/INFO的交換文件,ArcLink可以轉(zhuǎn)入或轉(zhuǎn)出EOO文件。
1.ARC/INFO-->>MapInfo
在MapInfo環(huán)境中運行ArcLink后,選中“ARC/INFO->MapInfo”項,會彈出如下對話框
<![endif]>
ArcLink會根據(jù)選定的ARC/INFO E00數(shù)據(jù)的拓?fù)潢P(guān)系,讓用戶決定轉(zhuǎn)換那些類型的要素,如:Arcs、Polygons、Points、Annotationd等,并且根據(jù)類型把要素從E00數(shù)據(jù)中挑選出來轉(zhuǎn)換成多個的MapInfo的Table數(shù)據(jù)。值得注意的是,構(gòu)成ARC/INFO的Polygon的Arc,經(jīng)ArcLink轉(zhuǎn)換后,會存放于Line的Table和Poly的Table。ArcLink生成的Table的結(jié)構(gòu)和屬性數(shù)據(jù)來源于ARC/INFO數(shù)據(jù)的屬性表(AAT表和PAT表)。
2.MapInfo-->>ARC/INFO
在MapInfo環(huán)境中運行ArcLink后,選中“MapInfo-> ARC/INFO”項,會彈出如下對話框:
ArcLink根據(jù)選定的Table,分析Table中的要素類型,列出能夠轉(zhuǎn)換成ARC/INFO數(shù)據(jù)的要素類型讓用戶選擇,然后輸出ARC/INFO的E00交換文件。需要注意的是,當(dāng)用戶決定把某個Table轉(zhuǎn)換成ARC/INFO數(shù)據(jù),這個Table中Polygon要素和Point要素不能同時存在,因為在ARC/INFO中,一個層的面拓?fù)浜忘c拓?fù)洳荒芡瑫r建立。
MicroStation是一個在工程、繪圖、建筑等領(lǐng)域廣泛使用的CAD軟件包,它的設(shè)計(design)文件后綴為“dgn”。ARC/INFO提供了與“dgn”文件相互轉(zhuǎn)換的功能。
1. MicroStation-->>ARC/INFO
MicroStation的設(shè)計(design)文件中可以存在127種要素類型,但ARC/INFO只能轉(zhuǎn)換其中常用的11種:Cell、Line、Line string、Shape、Text node、Curve、Complex string、Complex shape、Ellipse、Arc、Text。在轉(zhuǎn)換“dgn”文件之前,可以在ARC/INFO中用IGDSINFO命令便捷地查看“dgn”文件所包含的大概內(nèi)容,然后用IGDSARC命令進(jìn)行轉(zhuǎn)換。IGDSARC命令用法如下:
Arc: IGDSARC
Usage: IGDSARC <in_igds_file> <out_cover> {2D | 3D} {xmin}
{ymin} {xmax} {ymax} {OVERLAP | INSIDE}
“dgn”文件的所有要素的Layer、顏色、類型等屬性(信息)都存放在后綴為“ACODE”的INFO表中。MicroStation的每一個要素的屬性(信息)可以通過聯(lián)接(linkage)方式存放在外部的數(shù)據(jù)庫中,如:Oracle、INFORMIX、Xbase、RIS等,ARC/INFO可以保持并轉(zhuǎn)換這些聯(lián)接,轉(zhuǎn)換后的層的要素通過Cover_id來與屬性(信息)一一對應(yīng)。
2. ARC/INFO-->>MicroStation #p#page_title#e#
ARC/INFO使用ARCIGDS命令將層轉(zhuǎn)換成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也可以重新構(gòu)造或生成聯(lián)接,從而建立“dgn”文件存放于外部數(shù)據(jù)庫的屬性(信息)。