李 斌
(東華理工大學(xué) 地球科學(xué)學(xué)院,江西 南昌 330013)
MapGIS在地質(zhì)行業(yè)中通常作為區(qū)域地質(zhì)調(diào)查等工作所獲取的基礎(chǔ)地質(zhì)數(shù)據(jù)的管理和分析平臺,但在數(shù)據(jù)處理、人機(jī)交互以及空間分析上存在不足,且常用的MapGIS 6.7版本不支持基于CGCS2000坐標(biāo)系的數(shù)據(jù)處理。由ESRI公司開發(fā)的ArcGIS軟件支持空間數(shù)據(jù)庫,其核心應(yīng)用程序ArcMap支持海量、不同類型的地理數(shù)據(jù)的智能化管理和編輯,所支持的shapefile文件格式與MapGIS的文件格式均通過點(diǎn)、線、面的方式存儲空間數(shù)據(jù)。因此,本文以任意選取的江西某地1∶50 000地質(zhì)圖的MapGIS數(shù)據(jù)為例,研究以shapefile文件作為中間文件的MapGIS到ArcGIS的數(shù)據(jù)轉(zhuǎn)換方法。
在實(shí)際存儲中,MapGIS 采用二進(jìn)制文件的方式存儲空間數(shù)據(jù)和屬性數(shù)據(jù),ArcGIS 的shapefile格式采用二進(jìn)制方式存儲空間數(shù)據(jù),屬性數(shù)據(jù)則存儲于數(shù)據(jù)表文件.dbf中[1]。在圖面表達(dá)上,MapGIS的粒度為“圖元級”,即每一個(gè)圖元要素都有自己的圖形參數(shù),而ArcGIS的粒度為“屬性級”,即以要素類作為基本單元,通過要素類的一個(gè)或多個(gè)字段屬性組合進(jìn)行區(qū)別渲染[1]。MapGIS的基本明碼文件格式分為點(diǎn)文件(.wt)、線文件(.wl)、區(qū)文件(.wp)。其中,點(diǎn)文件的明碼文件包括注釋、子圖、圓、弧、圖像和版面6種[2]。MapGIS源數(shù)據(jù)明碼文件中,子圖號、旋轉(zhuǎn)角度、線型號、顏色號都是依據(jù)MapGIS加載的符號庫、顏色庫、線型庫存在的,脫離了符號庫、顏色庫、線型庫,以上參數(shù)都沒有任何意義[3]。尤其是MapGIS中注釋信息不存儲于屬性字段,在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí)注釋信息會丟失。MapGIS與ArcGIS對要素的幾何定義不同,線要素和區(qū)要素在轉(zhuǎn)換后容易出現(xiàn)幾何錯誤。MapGIS數(shù)據(jù)易出現(xiàn)拓?fù)溴e誤,可能出現(xiàn)數(shù)據(jù)屬性轉(zhuǎn)換前后不一致的問題。
MapGIS到ArcGIS的數(shù)據(jù)轉(zhuǎn)換方法主要通過MapGIS數(shù)據(jù)預(yù)處理、要素幾何關(guān)系修復(fù)、ArcGIS制圖表達(dá)3個(gè)關(guān)鍵步驟實(shí)現(xiàn)。其主要建模流程,如圖1所示。
圖1 MapGIS到ArcGIS的數(shù)據(jù)轉(zhuǎn)換流程Fig.1 Data conversion flow from MAPGIS to ArcGIS
2.1.1 數(shù)據(jù)比例尺變換
MapGIS中根據(jù)地質(zhì)圖件的比例尺的不同,圖上1 mm代表的實(shí)際距離不同,而ArcGIS中圖上1 mm代表實(shí)際距離1 m。因此,需要在MapGIS中利用“整圖變換”功能將地質(zhì)圖的比例尺變換為1∶1 000,確保轉(zhuǎn)換前后要素的幾何信息一致,變換時(shí)不勾選“參數(shù)比例變換直接作用于圖形參數(shù)”,避免轉(zhuǎn)換后的參數(shù)信息按比例尺變換倍數(shù)增大或減小。
2.1.2 注釋賦屬性和參數(shù)賦屬性
注釋賦屬性主要通過在點(diǎn)文件的屬性中增加一個(gè)新的字符串型字段,在MapGIS中利用點(diǎn)編輯的“注釋賦屬性”功能將注釋存儲于新建字段,將屬性信息以文本表達(dá)式的形式進(jìn)行存儲[4]。常用的MapGIS 6.7不支持參數(shù)信息的批量轉(zhuǎn)換,需借助SECTION輔助制圖工具,通過“輔助工具1→導(dǎo)入導(dǎo)出→參數(shù)轉(zhuǎn)為屬性”的功能將點(diǎn)(.wt)、線(.wl)、區(qū)(.wp)文件的參數(shù)信息快速批量導(dǎo)出,其屬性字段名自動生成。
2.1.3 屬性信息替換
一個(gè)完整的shapefile文件包括主文件(.shp)、索引文件(.shx)、dBASE表(.dbf),其中dBASE表(.dbf)存儲文件的地理數(shù)據(jù)屬性。MapGIS的屬性庫功能可以將MapGIS文件的屬性完整的導(dǎo)出為dBASE表(.dbf)。將需要處理的MapGIS文件的屬性導(dǎo)出為dBASE表(.dbf),表名與相應(yīng)的shapfile文件的名稱保持一致。運(yùn)用MapGIS的數(shù)據(jù)轉(zhuǎn)換功能將MapGIS文件轉(zhuǎn)換為shapefile文件,用導(dǎo)出的MapGIS文件的dBASE表(.dbf)替換數(shù)據(jù)轉(zhuǎn)換過程中新生成的dBASE表(.dbf)。經(jīng)過處理后的shapefile文件的屬性與相應(yīng)的MapGIS文件的屬性保持一致。
在ArcGIS中要素必須遵循一定的幾何規(guī)范,如果處理算法遇到不遵循幾何規(guī)范的數(shù)據(jù),軟件可能會返回錯誤或故障;操作可能不會產(chǎn)生任何明顯問題順利執(zhí)行,但結(jié)果可能不準(zhǔn)確[6]。點(diǎn)要素僅存在空幾何錯誤,影響可忽略;線要素存在短線段、線段方向不正確等幾何錯誤;面要素存在環(huán)走向不正確、面重疊等幾何錯誤。此外,線要素和面要素均可能存在無法找到空間索引信息的問題。ArcToolBox的空間數(shù)據(jù)管理工具提供“修復(fù)幾何”功能和“添加空間索引”功能?!靶迯?fù)幾何”功能可以檢查并修復(fù)常規(guī)幾何錯誤。“添加空間索引”功能可以計(jì)算最佳格網(wǎng)大小對要素重構(gòu)空間索引信息。因此,點(diǎn)、線、面要素在導(dǎo)入ArcMap前需通過“修復(fù)幾何”功能檢查并修復(fù)常規(guī)幾何錯誤,若消息列表中提示存在無法找到空間索引信息,則通過“添加空間索引”功能對要素進(jìn)行檢查并計(jì)算最佳格網(wǎng)大小,重新構(gòu)建空間索引信息,使要素的幾何關(guān)系符合ArcGIS的幾何規(guī)范要求。
2.3.1 符號化
MapGIS中以阿拉伯?dāng)?shù)字的形式存儲顏色參數(shù),且提供相對應(yīng)的RGB數(shù)值和CMYK數(shù)值。ArcGIS的符號系統(tǒng)根據(jù)RGB數(shù)值確定要素的顏色樣式。因此,需要根據(jù)MapGIS的顏色參數(shù)與相對應(yīng)的RGB數(shù)值建立顏色對照表,通過Excel編輯dBASE表(.dbf),在要素的屬性中添加對應(yīng)的R、G、B三個(gè)數(shù)值字段,在ArcMap中通過“符號系統(tǒng)→類別→唯一值,多個(gè)字段”功能添加R、G、B三個(gè)字段建立要素的顏色樣式。
對于簡單的點(diǎn)、線、面要素的符號直接采用ArcGIS的引用樣式,樣式的參數(shù)根據(jù)屬性表(.dbf)中存儲的MapGIS圖形參數(shù)與MapGIS的系統(tǒng)庫對照進(jìn)行設(shè)置。對于復(fù)雜的符號,如產(chǎn)狀、平行不整合界線、正斷層、逆斷層等需要拆分成多個(gè)簡單符號單獨(dú)進(jìn)行編輯,然后將簡單符號進(jìn)行組合疊加生成所需的復(fù)雜符號,通過設(shè)置符號的間隔、偏移量、寬度等參數(shù)使符號的樣式符合要求[2]。
2.3.2 注釋表達(dá)式重構(gòu)
地質(zhì)圖中最重要的注釋為地質(zhì)代號,地質(zhì)代號較復(fù)雜,一般由3個(gè)部分組成,以數(shù)字為界,前者為正體字母,后者則用1~2個(gè)漢語拼音小寫斜體字母表示,數(shù)字部分用上標(biāo)或下標(biāo)進(jìn)行表示[5],存在分式表達(dá)式。MapGIS與ArcGIS的文本表達(dá)式不一致,在ArcGIS中基于XML語言表示文本的特殊格式,無法識別MapGIS中的上下標(biāo)、斜體、分式等文本表達(dá)式,需要建立上標(biāo)、下標(biāo)、斜體及分式等的文本表達(dá)式對照表(見表1)。從表中可知:在ArcGIS中上標(biāo)表達(dá)為;下標(biāo)表達(dá)為;斜體表達(dá)為;分式表達(dá)式為B,其中A表示分子,B表示分母。根據(jù)文本表達(dá)式對照表,在Excel中編輯注釋shapefile文件的dBASE表(.dbf),使注釋字段中的文本表達(dá)式符合ArcGIS的文本表達(dá)式規(guī)范要求。經(jīng)過處理后,在ArcMap中添加注釋數(shù)據(jù)(.shp),其文本表達(dá)效果與轉(zhuǎn)換前基本一致。
表1 MapGIS與ArcGIS文本表達(dá)式對照表
本文將江西某地1∶50 000地質(zhì)圖的MapGIS數(shù)據(jù)轉(zhuǎn)換前后分別在MapGIS和ArcGIS中的圖面表達(dá)結(jié)果進(jìn)行對比(見圖2),其結(jié)果表明數(shù)據(jù)轉(zhuǎn)換前后的顏色、線型、注釋等樣式基本保持一致。
圖2 地質(zhì)圖數(shù)據(jù)轉(zhuǎn)換前后圖面表達(dá)結(jié)果Fig.2 Results of map expression before and after geological map data conversion
本文通過MapGIS數(shù)據(jù)預(yù)處理、要素幾何修復(fù)、ArcGIS制圖表達(dá)3個(gè)關(guān)鍵步驟基本實(shí)現(xiàn)了MapGIS到ArcGIS數(shù)據(jù)的完整轉(zhuǎn)換。事實(shí)證明,利用ArcGIS的數(shù)據(jù)處理和空間分析功能有利于提高地質(zhì)數(shù)據(jù)的共享、利用及制圖效率等。