1. 程式人生 > 其它 >GIS應用及OpenGIS介紹

GIS應用及OpenGIS介紹

轉自:http://blog.csdn.net/cdl2008sky/article/details/7266680

GIS的三大應用
第一類是政府應用,“電子政務” 是當今政府加強資訊化建設的新方向,是指在現代計算機、網路通訊等技術支撐下,政府機構日常辦公、資訊收集與釋出、公共管理等事務在數字化、網路化的環境下進行的國家行政管理形式。GIS已成為很多政府決策部門工作必備的支撐系統之一,在國家水利、電力、林牧業、地礦、交通、資源環境保護等機構己發揮重要作用。
第二類是企業應用,隨著資訊時代的到來,企業的組織、運營、管理也逐漸向資訊化方向發展,GIS通過提供視覺化地理空間資訊服務結合企業管理資訊系統,為企業的業務規劃、物流等領域提供輔助決策。
第三類是大眾應用,WebGIS的產生為大眾提供了獲取地理空間資訊服務的平臺,通過開放的、操作簡單的WebGis服務,滿足大眾對地理資訊的需求,如:方便人們出行的谷歌、百度地圖服務。
GIS三大組成部分


(1)數字化的資料
數字化的資料是資訊在計算機中的表現形式,是指要使用計算機軟硬體進行圖形化顯示和空間分析操作的地理空間資訊。GIS中的資料不同於其他資訊系統的資料,它具有空間特性,Gis資料分為空間資料和非空間資料兩類.比如GIS中的一條資料經度和緯度資料表示該事物的空間位置,屬於空間資料,名字和日期資料表示該事物的屬性,屬於非空間資料,GIS將空間資料和非空間資料進行結合進行分析、處理。
GIS功能
基本功能應包括:資料輸入、資料編輯、資料儲存、資料操作、資料分析、資料顯示和輸出
(1)資料輸入:也稱資料採集
人工數字化輸入 遠端遙感的衛星影象和GPS
(2)資料編輯:隨著地圖要素的數字化操作,使用者需要完成將所有的空間要素關聯到其對應的屬性資料,清理並改正在資料轉換過程中產生的錯誤.
(3)資料儲存:當資料經過數字化、編輯後,數字化的地圖資料需要儲存在磁碟或其他儲存裝置上,儲存使用的資料模型最常用的包括:柵格格式和向量格式。兩種格式都將原有圖資料簡化為一種容易儲存的通用格式。
(4)資料操作:當資料在系統中儲存後,使用者就可以對資料進行一系列的操作,GIS操作通常以一個工具包的形式提供給使用者,工具包中包括基本的資料操作和分析功能,如:資料檢索、面積周長測量、座標轉換、投影變換、圖幅接邊等。
(5) 資料分析:Gls的核心在於其強大的分析能力,如對距離某一事故地點一定範圍內各種空間要素的搜尋,並對相關的資訊進行統計分析,為事故處理提供所需要的資訊。遙感技術、全球定位技術與地理資訊系統合稱為“3S”技術
OpenGIS
(Open Geodata Interoperation Specification,OGIS-開放的地理資料互操作規範)
是由美國OGC(OpenGIS協會,OpenGIS Consortium)提出,主要架構和類庫

幾何基礎類庫
代表: JTS(Java), GEOS(C++), Shapely(Python)
這類幾何基礎類庫主要實現的是OpenGIS的Simple Feature Access標準,簡單地說他們就是對幾何型別(Geometry)進行了一定程度的封裝。以JTS為例,它按照OpenGIS對於Geometry的描述實現了基於Java的介面和繼承關係,製作好了可以使用的類似Point、LineString這樣的類。另外這些類庫還普遍實現了OpenGIS的DE-9IM空間位置關係判斷和一些常用的計算幾何方法(如緩衝(buffer))此類軟體是所有GIS類庫的基礎,正如幾何是GIS的基礎之一一樣。

資料來源實現

代表:PostGIS(PostgreSQL),MySQL Spatial
資料來源的實現主要是開源資料庫的空間擴充套件。資料庫的空間擴充套件不僅僅在資料表中支援幾何型別的儲存,

而且更提供了SQL級別的集合關係判斷,例如,可以直接利用SQL查詢在某個多邊形內的點。

PostGIS是加拿大Refractions公司支援的開源專案,它為開源資料庫PostgreSQL提供了空間支援。PostGIS安裝後,PostgreSQL中出現一個模版資料庫,新建空間資料庫時只需以PostGIS為模版即可。PostGIS在SQL級別上實現了基本的空間運算功能。另外絕大多數開源GIS軟體(即使是不嚴格遵守OpenGIS標準的)都支援PostGIS資料表的直接載入,讀寫等功能。毋庸置疑,PostGIS是OpenGIS資料來源最佳實現。
目的是促進採用新的技術和商業方式來提高地理資訊處理的互操作性(Interoperability),
它致力於消除地理資訊應用(如地理資訊系統,遙感,土地資訊系統,自動製圖/設施管理(AM/FM)系統)
之間以及地理應用與其它資訊科技應用之間的藩籬,建立一個無“邊界”的、分佈的、基於構件的地理資料互操作環境


中介軟體

代表:GeoTools(Java)
中介軟體在系統中扮演連線資料和服務的角色。GeoTools承擔了從各種資料來源(如PostGIS,GML,Shapefile,WFS)讀取資料並將資料標準化的工作。Feature介面就定義在GeoTools中,不同資料來源的資料讀出後被統一成包含一個Geometry成員(定義在JTS中)的Feature介面的實現。這樣,進一步的操作只需面向Feature即可,
省去了高層軟體對於不同資料來源的解讀過程。另外,GeoTools還是OpenGIS標準的全面實現,其中包括Filter、座標轉換、GML。

GeoTools和JTS還有GeoAPI到底是什麼關係?
JTS是加拿大的 Vivid Solutions 做的一套開放原始碼的 Java API。它提供了一套空間資料操作的核心演算法。為在相容OGC標準的空間物件模型中進行基礎的幾何操作提供2D空間謂詞API。
GeoAPI為OpenGIS規範提供一組Java介面。
Geotools是一個開源的Java GIS工具包,可利用它來開發符合標準的地理資訊系統。
Geotools提供了OGC(Open Geospatial Consortium)規範的一個實現來作為他們的開發。
簡單而言:GeoTools的目標是致力於開發一個符合規範的Gis工具包,既然是工具包,那麼就要有很多工具用來對付構建一個完整的地理資訊系統時會碰到的問題,常見的問題比如:投影的轉換,基準面的設定,空間資料物件的渲染和樣式,各種資料來源的支援,各種GIS檔案格式支援,空間資料過濾與搜尋。。。。等等的問題。
在開發這些工具的時候,恰好在處理空間資料圖形關係的時候,有一個非常好的解決方案,那就是JTS,JTS解決了物件與物件之間拓撲關係的判定和計算,並提供很多有用的演算法來解決物件的面積,長度。。。等等等的問題。這樣而言,JTS就相當於GeoTools中的一個子模組。但因為這個模組本身不是GeoTools工程的,所以在javadoc中找不到JTS的API,需要到JTS官網上面另外下載。至於GeoAPI則是GeoTools符合標準的模板。它制定了地理資訊系統中所有的資料型別應該是什麼,投影轉換的方式有哪幾種諸如此類的規範。這樣相容GeoAPI介面的GeoTools才是一個符合規範的地理資訊系統工具包。

WMS/WFS伺服器

Web Map Service(WMS)根據使用者的請求返回相應的地圖(包括PNG,GIF,JEPG 等柵格資料或者SVG,WEB CGM 向量資料) 。

代表: GeoServer(Java),MapServer(PHP)
地圖伺服器扮演向網路中的客戶端提供地圖服務的角色。這類地圖伺服器可以接收統一規範的WMS和WFS請求(request),返回多種格式的資料。這個過程有WMS/WFS規範的嚴格規定,所以,對客戶端來說其地圖伺服器的實現究竟是什麼並不會造成太大影響。
GeoServer 是 OpenGIS Web 伺服器規範的 J2EE 實現的社群開源專案,利用 GeoServer 可以方便的釋出地圖資料,允許使用者對特徵資料進行更新、刪除、插入操作,通過 GeoServer 可以比較容易的在使用者之間迅速共享空間地理資訊。
GeoServer相容 WMS 和 WFS 特性;支援 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo ;支援上百種投影;能夠將網路地圖輸出為 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能夠執行在任何基於 J2EE/Servlet 容器之上;嵌入 MapBuilder 支援 AJAX 的地圖客戶端OpenLayers;


客戶端
代表:OpenLayers/MapBuilder(JavaScript),uDig(Java),QGIS(C++)
客戶端分為瀏覽器和桌面客戶端程式兩種。以OpenLayers為代表的B/S系統客戶端現在已經非常強大,它可以封裝WMS請求,在瀏覽器上實現地圖的切片載入功能。另外拖動、縮放都功能也非常完善,可以實現跨瀏覽器操作。最近的OpenLayers版本還支援了向量編輯功能,可以通過WFS-t提交。而傳統的桌面客戶端程式功能則更加強大,支援多種包括WMS和WFS在內的資料來源,另外編輯功能、操作性也要比瀏覽器中的強大。

資料格式

ESRI的Shapefile格式

是GIS向量檔案格式的事實標準,通常由.shp, .shx, .prj, .dbf等檔案組成。

OpenGIS的實現軟體普遍支援Shapefile的讀寫。Shapefile在GeoServer中可以直接作為資料來源,但是這種方式並不被推薦,原因很簡單,基於檔案的資料來源可能造成效能不佳和資料丟失。shape格式檔案最少包含3個檔案,他們的字尾是:.shp, .dbf, .shx。.shp儲存地理形狀和位置資訊,.dbf儲存屬性資訊,.shx是索引檔案。

MapInfo 的.mif/.mid格式

.MIF的檔案,它主要用來儲存空間物件的幾何資料;副檔名為.MID的檔案,它主要用來儲存與幾何資料相對應的屬性資料;

GML

GML是OpenGIS的標準規範之一,它基於xml描述地理資料。於Shapefile相比,xml更容易讀寫,易於在網路中以各種形式傳播。

同時,xml還具有可讀性,人可以理解和辨識。GeoTools實現了GMLDataStore,因此在GeoServer中GML也可以直接作為資料來源(需要下載GML擴充套件)。
同時,GML的資料來源為資料來源動態化提供了實現的思路和可能性。

地理應用伺服器

Mapinfo MapXtreme

MapObject Autodesk
Map Guide
ArcIMS
Super Map

ArcGIS Server

MapXtreme是MapInfo公司開發的基於Internet/ Intranet的應用伺服器,它具有強大的地圖化功能,包括繪製專題地圖、緩衝區分析、地圖編輯、地圖目標查詢、地圖顯示、圖層控制、空間選擇、地理編碼、擴充套件地相簿和示例資料等。管理員只要在Web伺服器上對MapXtreme進行程式設計和管理,使用者就能夠通過Web瀏覽器訪問到地圖資訊。
工作方式
  MapXtreme的工作方式總體來說是瘦客戶端的工作方式,客戶端看到的地圖是服務端根據使用者請求動態生成的某種格式的圖片。MapXtreme採用的是B/S模式三層架構客戶端首先向Web伺服器提交HTTP請求,遞交Form表單,Web伺服器收到該請求後,把地圖操作請求提交給地圖應用服務,地圖應用服務在內部呼叫MapXServer響應使用者的操作請求,進行相應的空間分析和處理後,產生新的地圖圖片,返回給Web伺服器,Web伺服器再把該圖片嵌入到HTML頁面中並返回到客戶端的瀏覽器上