曹 鵬 孫睿英 李德元
(自然資源部第三地形測量隊,黑龍江 哈爾濱 150081)
全球地理信息資源建設與維護更新(以下簡稱”全球測圖”)是新時期國家在全球范圍內開展的一次時空認知新征程,它主要描述全球的地形地貌、地理環境和相關自然、人文信息,其主要成果數據涵蓋數字正射影像(DOM)、數字地表模型(DSM)、數字高程模型(DEM)及核心矢量要素(DLG)等;項目主要解決當前國家全球多尺度地理數據匱乏和高精度自主服務能力不足的問題,并為其他全方面的研究和規劃提供基礎的地理信息資源,為全面掌握全球地理信息狀況,推進“一帶一路”建設貢獻力量。
全球測圖項目的開展離不開基礎數據的支持。當前國內外形勢及版圖數據的保密性,為眾源地理數據的使用提供了應用基礎。而Open Street Map數據作為典型的眾源地理數據代表,內容涵蓋了交通、水系、建筑物等,且該數據主要由GPS軌跡數據和基于遙感衛星數據的用戶繪制而成,具有較強的可信度。
Open Street Map(簡稱OSM,意為公開地圖)作為一個開放眾源地理信息數據平臺,由網絡大眾共同打造,顯著特點為免費、開源及可編輯的地圖服務。OSM的測繪地圖由用戶充分利用GPS設備、航空攝影圖像、衛星遙感影像、人工架站全站儀甚至地方政府基礎性測繪成果進行繪制而成的,一些合作的商業公司也向OSM授權提供基礎數據。其數據覆蓋全球多個國家,不同區域數據的詳細程度不同,數據標準不統一,數據質量好壞程度不一致,故對其數據結構進行深入探索,會很大程度上幫助我們獲取更可信的地理信息大數據,為全球測圖項目數據的可靠性、真實性和準確性提供更好的支持。
核心矢量要素在以點、線、面形式表達地理信息要素的矢量數據中,根據需求、重要性和可操作性選取主要要素形成數據集。在全球測圖項目中,核心矢量要素主要包含鐵路(RAILN)、公路(ROALN)、交通頂層線(ROLEL)和水系線面(HYDLN/HYDPL)等五個要素層的數據集成果,它是通過將OSM數據進行數據轉換、結構規整、編輯整理、幾何配準、地圖配圖等工序處理制作而成。其數據格式主要采用ESRI Geodatabase(*.gdb),主要圖層命名(如表1所示):

表1 數據圖層命名表
OSM數據與傳統專業數據相比,具有更新頻繁、動態性強等特點,基本上每周發布一個版本。
OSM數據主要類型為Node、Way和Relation,分別代表各個數據節點、路線和相互之間的數據關系。通過點、線和數據關系,我們可以直接準確描述新的GIS數據和其中各個節點、線和面要素。OSM數據的數據格式主要有兩種:一種是用文本形式存儲的xml文件(*.osm),它查看起來比較方便,可直接用word等文本編輯器編輯查看;另一種是用二級制格式存儲的用戶自定義的pbf格式文件(*.pbf),它的顯著特點為數據占用空間較少,數據量較小。兩種格式數據都可直接從osm官方網站上下載,在全球測圖項目中主要采用XML文件(*.osm)作為數據模型解析的主要數據源。
通過下載近一個月內的OSM為數據源,對其進行整合處理,將其數據中的交通數據和水系數據通過數據轉換、幾何配準、編輯整理、地圖配圖等工序處理,制作該項目的核心矢量要素成果。在編輯整理過程中參考DOM和其他網絡地圖來補充、更新重要鐵路、公路、水庫及重大河流湖泊。道路、水系名稱需進行翻譯(由中圖社負責),成果應包括中文、英文,如果數據源中含當地文字,應予以保留。具體流程(如圖1所示):

圖1 生產流程圖
3.2.1 數據轉換
(1)傳統方式為通過格式轉換工具(如,FME等)將OSM數據格式轉換為通用格式,如,ARCGIS File Geodatabase(*.gdb)、ARCGIS Shapefile(*.shp),再將屬性對應轉換過去。該方式較為煩瑣,且容易丟失屬性。
(2)轉換完畢后,需對轉換數據進行一致性檢查,檢查轉換前后數據的數據量是否缺失、數據范圍是否一致、數據邏輯性是否合理等。
3.2.2 結構規整
結構規整是指把矢量數據轉換為《核心矢量要素數據生產技術規程》要求的數據結構,包括數據分析模型、對比方案設計和結構轉換參數。本項目基于《核心矢量要素數據生產技術規程》創建鐵路、公路、交通頂層線和水系數據模板。將轉換的幾何要素數據railway_line導入RAILN,highway_line導入ROALN,waterways_lines導入HYDLN,landuse_polygon、natural_polygon和relation_multiplygon_polygon導入HYDPL要素類中,導入數據示意圖(如圖2所示),進而形成核心要素的基礎數據庫。導入時注意目標字段SRCID對應匹配源字段的id[字符串],其他目標字段不對應匹配源字段的任何屬性。

圖2 導入數據示意圖
結構規整是全球測圖項目應用的轉換核心所在,項目所在國家、地區不同,數據源數據結構、數據質量及詳盡程度的不同,形成的轉換方案亦不同,因此需要結合當地實情、實際問題綜合考慮分析,從而制作出符合項目要求的對照方案設計表。
3.2.3 屬性及空間處理
依據《核心矢量要素數據生產技術規程》要求,由于國家、地區以及數據結構的不同,所以規整后的數據仍會出現屬性不合理及空間關系不合理的內容項。
對于數據屬性處理,我們可以通過較大程度地維持原始數據的屬性信息,并結合項目其他資料甚至谷歌衛星影像逐項檢查、核改完善相應屬性項,確保最終轉換數據屬性的有效、信息的完全和覆蓋度的全面性。如,澳大利亞的國家語言為英語,由于數據屬性字段有英語名稱,因此給本地語言屬性賦值時,不再將英語名稱賦值給LOCALNAME1,僅將loc_name賦值給LOCALNAME1,LOCALNAME2不進行賦值。
對于空間處理,主要是拓撲處理和空間關系處理。拓撲處理主要是處理數據中存在的不合理拓撲問題,主要包括重復線處理、相交線處理、懸掛點處理以及偽結點處理。重復線處理主要處理的是數據中的重復要素、數據的自相交、數據的立體不合理相交,按照相應的技術要求刪除、協調即可。相交線處理主要處理的是數據的拓撲關系問題,如,道路應打斷而未打斷問題。懸掛點處理主要處理的是一些重要要素的懸掛問題,如,重要交通和主要水系的懸掛問題,其他不相關懸掛問題不處理。一般要求懸掛距離不得超過實地0.1米。偽結點處理需要處理數據中的所有偽結情況。空間關系處理主要是參照DOM及其他資料改正數據中的不合理交叉和孤立要素。孤立鐵路、道路與周邊不聯通的,其ISNETWORK屬性賦值為“0”。
數據轉換程序化設計關鍵是建立兩種數據間對應層和對應層字段屬性的轉換規則模型。對應層間數據轉換,即將OSM數據層中的Way和Relation幾何圖形和屬性數據轉到全球測圖項目中核心矢量要素數據成果中對應的RAILN、ROALN、ROLEL、HYDLN和HYDPL層中要素。以鐵路層數據為例,其具體對應內容規則(如表2所示):

表2 核心矢量要素要素層和OSM數據對應要素層規則表
建立了對應層間數據轉換后,進行對應層字段屬性間轉換,經綜合研究分析核心矢量要素和OSM數據的各自特點,設計了基于OSM數據唯一ID和核心矢量要素數據的SRCID的一一對應字段轉換規則模型。以鐵路層數據為例,其具體對應字段屬性規則(如表3所示)。對應轉換規則模型建立后,可看到核心矢量要素屬性字段中一些屬性項在OSM數據中仍是無對應字段的,而這些無對應的字段屬性正是該項目需要結合其他相關資料和DOM數據賦值填寫的。

表3 OSM數據和核心矢量要素數據鐵路屬性對應賦值規則表
鑒于OSM數據結構復雜且屬性項較多,程序采用C#語言,首先直接基于OSM數據唯一ID及核心矢量要素數據唯一SRCID完成多面體-環-線-點的多級ID-SRCID的關聯映射,其次依據項目技術規定建立的對應層和對應字段轉換關系數據表解析讀取OSM數據,并通過調試FileGdbAPI開源庫實現對gdb數據的直接讀寫,從而實現OSM屬性數據和幾何要素向gdb數據要素的直接、快速賦值轉換。軟件界面及操作上簡單清晰,直接選用下載好的原始OSM文件格式數據,后選擇轉入到設計符合技術規定的標準格式空數據庫,轉換GISOTAL FOR OSM應用界面(如圖3所示)。處理完成后應對屬性項進行異常值檢查,確保每條矢量數據均匹配到對應屬性信息。

圖3 GISOTAL FOR OSM應用界面圖
軟件通過解決核心矢量要素數據預處理階段最為煩瑣和不確定的OSM預處理,解決了以往幾何圖形轉換和屬性數據轉換兩步操作帶來的檢查及不對應問題,實現了最大程度的簡化;同時自動化操作避免了多次提取、關聯導致的中間軟件字符串處理異常、數據丟失以及圖形異化等問題。
軟件已應用于全球地理信息資源建設與維護更新項目澳大利亞、納米比亞等測區并取得了較好的效果。技術要求的逐步完善,將給OSM數據的處理提供更為完善的支持和解決方案。
OSM數據作為全球覆蓋的眾源數據源,有別于傳統測繪的新型地理數據源。本文通過對其數據特點的研究,結合全球測圖具體項目設計要求,建立OSM數據數據格式與現有常用數據格式一一對應關系并實現程序自動化,為后期對該數據的研究及轉換應用提供了思路,特別是在全球化的大背景下,大數據、云計算和人工智能高新技術不斷更新,國內外生產項目必將更多涌現,對其深入研究顯得更為有意義。