1. 程式人生 > >空間資訊到GML的轉換

空間資訊到GML的轉換

  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格式存在,人們可以方便的進行空間資訊的

位置資訊座標轉換(GCJ02座標、WGS84座標、bd09座標之間的轉換

       現在幾乎每一個App都會收集使用者位置資訊,App得到的座標大多是通過高德地圖等SDK獲取的,當使用這些座標進行webGIS視覺化的時候會發現各種偏離狀況,座標不對,疊加錯位。這是由於不同SDK獲取到的座標可能屬於不同座標系,想要針對不同地圖

大地座標與空間直角座標互相轉換

##引言 座標轉換程式碼,由大地座標(經、緯度、高)與空間直角座標(XYZ)互相轉換。MATLAB程式碼。 ##BLH2XYZ function [X,Y,Z] = BLh2XYZ(LAT,LON,h)

翼次元空間資訊:區塊鏈網際網路酒業“心直酒快”有動作

本文由BitCOO、4COO全球運營官社群網路中國區節點與TokenRise+ValueBoost | Chain++產業鏈+、FUND++、Value++與BrandFin+品牌價值燃煥力中心、FintechX金融科技發展中心、孵化器WiTx鏈智星雲 翼次元空間 Ai&Hi_AiH

Ruby操作MongoDB(進階十一)--空間資訊搜尋Geospatial Search

   上篇博文中介紹了,文字搜尋的相應功能。   MongoDB資料庫為空間資訊的處理操作提供了一系列的索引和查詢機制。本篇博文將在Ruby驅動上展示如何建立和適用空間索引。下面的例項使用了test資料庫中的一個叫做restaurants的簡單集合。  下面是resta

RGB與Ycbcr空間的互相轉換

#include "stdafx.h" #include "highgui.h" #include "cv.h" #include "cxcore.h" #include "stdio.h" int _tmain(int argc, _TCHAR* argv[]) {float imgy,imgcb,img

PostgreSql 使用postgis 儲存地理空間資訊操作以及jsonb操作示例

PostgreSql 使用postgis 儲存地理空間資訊操作示例 1.postgresql9.4 版本 2.請先安裝postgis和postgis_topology 外掛 3.jsonb操作自定

linux核心空間與使用者空間資訊互動方法

本文作者: 康華:計算機碩士,主要從事Linux作業系統核心、Linux技術標準、電腦保安、軟體測試等領域的研究與開發工作,現就職於資訊產業部軟體與積體電路促進中心所屬的MII-HP Linux軟體實驗室。如果需要可以聯絡通過[email protected]

詳解Android中獲取SD卡和記憶體的空間資訊

建立一個新的Android工程,工程名字為《獲取儲存空間大小》,包名為:com.connect.storageSize 這裡使用預設生成的佈局檔案和Activity類。 修改佈局檔案activity_main.xml 佈局檔案第二部分: 編寫業務程式碼 業務程式碼第一部分: 業務程

C# 獲取磁碟空間資訊

獲取本地或遠端伺服器磁碟用度,示例如下 1.獲取本機磁碟用度   可通過 DriveInfo 或ManagementObjectSearcher兩種方式   A.DriveInfo  public void GetDriver() {

大地座標-空間直角座標相互轉換,大地座標-平面直角座標相互轉換

三種座標系的總結介紹:https://blog.csdn.net/ywjatjd/article/details/62896201大地座標-空間直角座標相互轉換部分轉自:http://blog.sina.com.cn/s/blog_7cdaf8b60102wksh.htmlW

視訊特性TI(時間資訊)和SI(空間資訊)的計算工具:TIandSI

=====================================================TI(時間資訊)和SI(空間資訊)計算工具文章列表:=====================================================做視訊評價試

RGB彩色空間的不同轉換公式

在做影象處理時,我們一般採用的是RGB空間,但是在某些特殊情況下,我們也會用到其他的顏色空間。本文主要介紹一些常見的顏色空間的概念和轉換公式。 顏色的實質是一種光波。它的存在是因為有三個實體:光線、被觀察的物件以及觀察者。人眼是把顏色當作由被觀察物件吸收或者反射不同波長的光波形成的。例如,當在一個晴朗的日子

使用StatFs用於獲取系統/sdcard儲存空間資訊 api18中增加的方法

StatFs(String path)//構造方法 可以指定獲取系統或者sdcard的資訊 getAvailableBlocksLong();//獲取可以被應用程式使用的可用空間塊的數量getFree

標準WPS框架下的空間資訊處理服務部署方法

筆者第一篇部落格裡面曾介紹過將專題圖製作功能釋出為WPS,但隨著後面的研究,才發現那時候釋出的不是真正WPS框架下的服務,而只是通過Servlet將其釋出為可呼叫的網路服務,所以今天再具體介紹一下真正的WPS服務到底如何釋出。 WPS(Web Processing Service)是OGC組織制定的空間資訊

PCIe to AXI Translation——PCIe 內存空間到AXI內存空間轉換

系列 article 配置信息 sla src 存在 轉換 關系 相對 PCIe to AXI Translation——PCIe 內存空間到AXI內存空間的轉換 UltraScale系列芯片包含PCIe的Gen3 Integrated Block IP核在內的多種不同功能

C/C++(C++內存管理,內聯函數,類型轉換,命名空間,string類)

多個 產生 沒有 turn out 強制類型轉化 表現 高度 變量 內存管理 new/delete C語言中提供了 malloc 和 free 兩個系統函數,#include struct Stu { int age; string name; }; Stu* pStu =

kvm中raw格式轉換為qcow2格式節省主機空間

kvm中raw格式轉換為qcow2格式節kvm中raw格式轉換為qcow2格式節省主機空間virsh list --allqemu-img info /data2/fdfs1.imgqemu-img convert -f raw -O qcow2 /data2/CDH_003.img /data2/CDH_

BZOJ - 3489 KD樹 範圍計數 空間思維轉換

oid else query etc build 一個 define efi IT 題意:給定數列\(a[1...n]\),\(Q\)次查詢\([L,R]\)中只出現一次的最大值 這道題的做法比較勁.. 對每個元素構造三維空間的點\((i,pre[i],next[i])\)

python利用百度API進行地理編碼(將地名轉換為經緯度資訊

更新時間:2018-3-28 更新內容:優化部分程式碼,新增mongodb部分的內容 本文章通過講解如何在百度地圖API申請金鑰,然後在python中呼叫API介面將自有資料中的地名轉換為經緯度座標。 執行環境: python3 一、註冊金鑰