999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OGR的通用地理數據格式轉換研究

2012-12-11 07:27:36崔虎平
測繪通報 2012年1期

崔虎平,江 南

(信息工程大學地理空間信息學院,河南鄭州450052)

一、引 言

長期以來,地理數據處理過程中的數據格式轉換一直是地理信息系統的研制開發與應用過程中必不可少的,也是花費時間、經費比較大的模塊。不同的地理信息系統應用程序均需要讀取、轉換不同格式的地理數據,然后進行查詢分析。這種處理過程如圖1所示。

圖1 傳統數據格式轉換流程

每一個應用程序均需要編寫大量的代碼用于讀取不同的文件格式,進行重復的工作,因此,需要建立一個統一的數據訪問接口,使得應用軟件的開發脫離這些瑣碎復雜的數據格式轉換。OGR簡單要素庫(OGR simple feature library)就是最有效的解決方案之一。

OGR是開源C++代碼庫,可以提供讀取(部分可以寫入)大量的矢量數據格式文件,如 ESRI Shape、SDTS、PostGIS、Oracle Spatial、MapInfo mid/mif和TAB文件等格式。隨著開源項目的發展,OGR目前已作為地理空間數據抽象庫(open geospatial data abstraction library,GDAL)的一部分,GDAL可完成柵格地理數據的讀寫轉換,柵格數據與矢量數據處理相結合,相得益彰,使得GDAL/OGR在許多開源項目中得到了更廣泛的應用,如熟悉的 Google Earth、ESRI ArcGIS 9.2+、GRASS、OpenEV、UMN MapServer、Quantum GIS(QGIS)、MapWindow 等十幾個開源項目。

OGR目前支持的矢量數據格式如表1所示。

表1 OGR支持的矢量數據格式

其中,是否允許保存為No,表示當前只支持讀取該文件格式;而Yes表示既可以讀取此文件格式還可以寫此文件格式。因此為了將某一文件格式(如MapGIS明碼格式)轉換為其他文件格式,只要在OGR增加相應的讀取該文件格式代碼,即可保存為可建立的文件格式。

本文就是使用OGR提供的矢量數據模型,在VC++開發環境下,增加讀取MapGIS明碼數據文件格式的相關代碼,實現由MapGIS明碼數據格式轉換為其他矢量數據格式的功能。其流程如圖2所示。

圖2 基于OGR的數據格式轉換

二、OGR中數據格式驅動的開發

在OGR中,不同的數據格式對應不同的驅動(Driver),OGR統一管理所有支持的驅動,使用驅動完成地理數據格式的讀取與保存。OGR中類的框架關系如圖3所示。

圖3 OGR中類的框架關系

其中,

1)OGRSFDriverRegistrar:負責注冊并統一管理所有驅動;

2)OGRSFDriver:對應于某一文件格式,可以實現打開數據源、復制、刪除等功能;

3)OGRDataSource:表示文件或數據庫的抽象類,由用戶繼承實現,包含一個或多個圖層(OGRLayer);

4)OGRLayer:表示數據源中要素的抽象類,由用戶繼承實現;

5)OGRSpatialReference:空間參考類;

6)OGRFeature:表示某一幾何要素,包括屬性信息;

7)OGRGeometry:幾何對象類。

由于OGR是基于OpenGIS簡單要素數據模型建立起來的,數據的類型、方法命名均符合OpenGIS規范,因此非常容易移植于其他符合OGC規范的軟件系統中。OGR使用的幾何數據對象關系如圖4所示。

圖4 OGR中的幾何數據對象關系

為了讀取新的數據格式,主要實現OGR中以下3個類的接口:OGRSFDriver、OGRDataSource與OGRLayer。在實現以上接口以后,使用OGRSFDriverRegistrar類函數RegisterDriver(new OGRMapGISDriver)將新的驅動增加到OGR中。

三、完成數據格式的轉換

將新的驅動增加到OGR驅動列表后,就可以使用OGR完成相應數據格式的讀取功能,使用OGR可以將源數據格式轉換為驅動列表中可保存的數據格式。

使用OGR完成數據格式轉換的主要流程如圖5所示。

圖5 實現數據格式轉換的主要流程

第1步:得到注冊的驅動。

第2步:根據指定的驅動名,得到驅動對象。

第3步:使用驅動打開數據文件,得到數據源對象。

第4步:根據指定的目標驅動名,得到目標驅動對象,方法同第2步。

第5步:建立輸出數據源。

第6步:根據源目標數據中圖層個數,依次在目標數據源中建立圖層。

第7步:建立目標圖層的屬性結構。

第8步:依次寫入源數據集中的要素對象。

第9步:釋放內存。

綜合以上處理過程,筆者編寫了通用地理數據格式轉換工具,界面圖6所示。

四、結束語

矢量地理數據格式轉換是地理信息系統開發與應用過程的基礎之一。本文研究了OGR實現矢量地理數據格式轉換的原理,并在OGR中編程實現了MapGIS明碼格式驅動的開發,完成了向其他數據格式之間的轉換。其重要意義在于數據格式之間的轉換不再需要大量的商業軟件來完成,節約了大量的軟件購置費用,同時軟件的開發思路對于其他數據格式的轉換具有借鑒意義。

仍存在以下不足:

1)由于OGR采用符合OpenGIS的簡單幾何數據模型,因而MapGIS數據格式向其他數據格式轉換時丟失了其拓撲關系。

2)目前完成矢量數據轉換過程時保持空間參考系保持不變,如何在轉換過程中增加地理參考系有待于進一步研究。

[1]易善楨,李琦,承繼成.空間信息的共享與互操作[J].測繪通報,2000(8):17-19.

[2]孫立堅,朱翊,劉紀平,等.GIS數據交換理論與系統架構的研究[J].測繪通報,2007(9):57-60.

[3]王家耀.空間信息系統原理[M].北京:科學出版社,2001.

[4]華一新,吳升,趙軍喜.地理信息系統原理與技術[M].北京:解放軍出版社,2001.

[5]蘇潔,周東方,岳春生.GPS車輛導航中的實時地圖匹配算法[J].測繪學報,2001,30(3):252-256.

主站蜘蛛池模板: 日本一区中文字幕最新在线| 国产波多野结衣中文在线播放 | 四虎成人免费毛片| 毛片免费观看视频| 欧美精品二区| 欧美在线综合视频| 国产毛片网站| 直接黄91麻豆网站| 国产高清无码麻豆精品| 另类欧美日韩| 无码日韩视频| 亚洲精品视频免费看| 国产午夜一级淫片| 亚洲欧美国产视频| 最新无码专区超级碰碰碰| 亚洲欧美国产视频| 少妇被粗大的猛烈进出免费视频| 精品亚洲国产成人AV| 18禁色诱爆乳网站| 欧美国产综合色视频| 国产毛片高清一级国语| 天堂成人在线| 无码AV日韩一二三区| 99视频国产精品| 三级视频中文字幕| 久久免费视频播放| 最新亚洲人成网站在线观看| 成人午夜亚洲影视在线观看| 亚洲第一在线播放| a级毛片免费网站| 97久久超碰极品视觉盛宴| 女同久久精品国产99国| 高清大学生毛片一级| 波多野结衣一区二区三区AV| 国产导航在线| 福利小视频在线播放| 国产高清免费午夜在线视频| 午夜一级做a爰片久久毛片| 97国产成人无码精品久久久| 久久久久免费精品国产| 欧美a在线看| 亚洲人成影视在线观看| 色呦呦手机在线精品| 欧美影院久久| 97se亚洲| 欧美视频在线播放观看免费福利资源| 72种姿势欧美久久久久大黄蕉| 91亚洲精品第一| 欧美色视频日本| 波多野吉衣一区二区三区av| 97青草最新免费精品视频| 亚洲第一色视频| 亚洲国产成人精品一二区| 久久久精品国产SM调教网站| 91精品国产91久久久久久三级| 日韩不卡高清视频| 青青操国产| 九色视频线上播放| 无码AV高清毛片中国一级毛片| 国产偷倩视频| 国产成人精品亚洲77美色| 国产成人8x视频一区二区| 欧美一级色视频| 18禁黄无遮挡网站| 国产真实乱子伦视频播放| 这里只有精品在线播放| 久久青草视频| 欧美性色综合网| 狠狠做深爱婷婷综合一区| 91日本在线观看亚洲精品| 免费一级毛片在线观看| 一本久道久综合久久鬼色| 成人伊人色一区二区三区| 国产精品嫩草影院av| 国产精品久久精品| 精品国产一二三区| 欧美性久久久久| 人人91人人澡人人妻人人爽| 国产精品无码AV片在线观看播放| 日韩专区欧美| 无码福利日韩神码福利片| 国产亚洲高清视频|