gml已經成為大家所接受並且容易理解的一種空間資訊的交換格式標準,所以將其它gis資料轉換為gml格式進行發布就具有廣泛的實用價值和市場前景。不久的將來,空間資訊會大量的以gml格式存在,人們可以方便的進行空間資訊的共享與交換。由此就會引發出乙個非常重要的問題,那就是如何將現有的一些空間資訊轉換成gml格式,更好的實現各類空間資料共享。
目前,大量的空間資料都是以特定的文字資料格式進行儲存的,最常見的gis資料格式包括arcinfo公司的shp檔案,mapinfo公司的mif檔案等等。
根據gml3規範中的schema的描述、shp檔案和mif檔案的格式,就能將shp檔案和mif檔案轉換為gml檔案。在轉換過程中,首先要建立乙個gml格式文件,新增gml描述資訊,然後迴圈的將shp或者mif檔案中的地理資訊元素轉換為gml中的幾何圖元。
以arcinfo公司的shp檔案為例。該檔案是乙個二進位制檔案,包含乙個固定長度的標頭檔案。該標頭檔案長度為100個位元組,其中包含整個檔案的重要屬性資訊。例如:從第24個位元組開始到28個位元組描述的是檔案的長度;從第28個位元組開始到第32個位元組描述的是檔案的版本;從第32個位元組開始到第36個位元組描述的是檔案中包含圖形的型別;從第36個位元組到第84個位元組,每八個位元組為一組,分別描述該圖形檔案的邊界範圍(xmin,ymin,xmax,ymax,zmin,zmax)。第100個位元組以後是關於物件資料的描述,其中包括對point,line,polygon等幾何型別的描述。每個地理物件是由一組位元組決定,每組位元組的長度根據所描述的幾何型別的不同,位元組長度也相應不同。以其中的point點物件為例,從第0-4個位元組描述物件的型別,從第4-12個位元組描述點物件的x座標,從第12-20個位元組描述點物件的y座標。
我們將shp檔案中描述的各種地理資訊與gml幾何圖元進行對應,其對應關係如下表所示。
shp檔案
gml檔案
point
point
pointm
point
pointz
point
multipoint
point 或 multipoint
multipointm
point 或 multipoint
multipointz
point 或 multipoint
polyline
linestring
polylinem
linestring
polylinez
linestring
null shape
dbnull.value
polygon
polygon
polygonm
polygon
polygonz
polygon
multipatch
polygon
除了以特定文字資料格式儲存以外,還有相當一部分地理資訊是儲存在資料庫中的(一般都是儲存在關聯式資料庫中)。將這些地理資訊轉換為gml檔案的原理和上述方法是類似的,只要找到地理資訊與gml幾何圖元之間的對應關係,就可以程式設計進行轉換。
還有一種常見的地理資訊格式就是柵格資料(
raster data
)。柵格資料是由正方形或者矩形柵格點組成,每個柵格點或者畫素的位置由柵格所在的行列號來定義,所對應的數值為柵格所要表達的內容的屬性值。柵格影象的編碼和
xml格式的編碼完全不同。它不能從語法上進行分析,不能驗證正確性,也沒有良好的格式。而且,它的每乙個柵格點的資料值都是固定不變的,將其轉化
xml標準的格式的時候,沒有任何操作的靈活性
。將柵格影象轉換為
gml,可以將其中所有的柵格點轉換成為
gml中的
point
。由於通常柵格影象都包含著大量的資訊,因此轉換後的
gml檔案一般也都包含了大量的點資訊。目前來看,將柵格資料轉換為
gml,並沒有太多的實際意義。況且,
gml3
中已經支援柵格資料,其中對覆蓋模式的描述與柵格資料集是等價的
空間資訊到GML的轉換
gml 已經成為大家所接受並且容易理解的一種空間資訊的交換格式標準,所以將其它 gis資料轉換為 gml格式進行發布就具有廣泛的實用價值和市場前景。不久的將來,空間資訊會大量的以 gml格式存在,人們可以方便的進行空間資訊的共享與交換。由此就會引發出乙個非常重要的問題,那就是如何將現有的一些空間資訊...
空間資訊到GML的轉換
gml已經成為大家所接受並且容易理解的一種空間資訊的交換格式標準,所以將其它gis資料轉換為gml格式進行發布就具有廣泛的實用價值和市場前景。不久的將來,空間資訊會大量的以gml格式存在,人們可以方便的進行空間資訊的共享與交換。由此就會引發出乙個非常重要的問題,那就是如何將現有的一些空間資訊轉換成g...
空間資訊到GML的轉換
gml 已經成為大家所接受並且容易理解的一種空間資訊的交換格式標準,所以將其它 gis資料轉換為 gml格式進行發布就具有廣泛的實用價值和市場前景。不久的將來,空間資訊會大量的以 gml格式存在,人們可以方便的進行空間資訊的共享與交換。由此就會引發出乙個非常重要的問題,那就是如何將現有的一些空間資訊...