OGC总叙
一、什么是OGC
OGC,全稱是開放地理空間信息聯盟(Open Geospatial Consortium),是一個非盈利的國際標準組織,它制定了數據和服務的一系列標準,GIS廠商按照這個標準進行開發可保證空間數據的互操作。
二、OGC定義了些什么東西?
OGC基于http或者說是web的空間數據操作技術,主要涉及Web Service的相關技術。與ISO/TC211一同推出
- 基于Web服務(XML)的空間數據互操作實現規范(本文主要闡述)
- 用于空間數據傳輸與轉換的地理信息標記語言GML
- 提出了一個能無縫集成各種在線空間處理和位置服務的框架即OWS (OGC Web Service)
意義:使得分布式空間處理系統能夠通過XML和HTTP技術進行交互,并為各種在線空間數據資源、來自傳感器的信息、空間處理服務和位置服務,基于Web的發現、訪問、集成、分析、利用和可視化提供互操作框架。
三、基于Web服務(XML)的空間數據互操作實現規范
3.1 WMS
3.1.1 定義
- Web地圖服務(WMS)利用具有地理空間位置信息的數據制作地圖
- 一個WMS可以動態地生成具有地理參考數據的地圖
- 這些地圖通常用GIF、JPEG或PNG等圖像格式,或者SVG、KML、VML和WebCGM等矢量圖形格式來表現。
- 使用者通過指定的參數獲取相應的地圖圖片。
3.1.2 接口
| GetCapabilities | 返回服務級元數據,它是對服務信息內容和要求參數的一種描述 |
| GetMap | 獲取地圖圖片。該操作根據客戶端發出的請求參數在服務端進行檢索,服務器端返回一個地圖圖像,其地理空間參數和大小參數是已經明確定義的,返回的地圖圖像可以是GIF、JPEG、PNG或SVG格式。 |
| GetFeatureinfo | 返回顯示在地圖上的某些特殊要素的信息。該操作根據用戶所請求的X、Y坐標或感興趣的圖層,返回地圖上某些特殊要素的信息,信息以HTML,GML或ASCII的格式表示。 |
3.1.2.1 GetCapabilities操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型值為“WMS” |
| request | 1個(必選) | 字符類型,請求的操作名稱,值為“GetCapabilities” |
| version | 0或1個(可選) | 字符類型,值為請求的WMS的版本號 |
| format | 0或1個(可選) | MIME類型,值為服務元數據的輸出格式 |
| updateSequence | 0或1個(可選) | 字符類型,可取的值有none、any、equal、lower、higher,用來表示緩存數據更新的方式 |
示例1:http://127.0.0.1:8090/iserver/services/maps/wms130/World?request=getcapabilities&service=wms
示例2:http://tdt.fuzhou.gov.cn/serviceaccess/WMS/DMDZ?version=1.1.1&request=GetCapabilities&service=WMS
3.1.2.2 GetMap操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型標識值為“WMS” |
| request | 1個(必選) | 字符類型,值為“GetMap” |
| version | 1個(必選) | 字符類型,值為請求的WMS的版本號 |
| layers | 1個(必選) | 字符類型,值為一個或多個地圖圖層列表,多個圖層之間用”,”隔開 |
| styles | 1個(必選) | 字符類型,值為請求圖層的地圖渲染樣式 |
| CRS | 1個(必選) | 字符類型,值為坐標參照系統 |
| BBOX | 1個(必選) | Wkt格式,值為某個CRS下的地圖邊界范圍的坐標序列 |
| width | 1個(必選) | 整型類型,值為地圖圖片的像素寬度 |
| height | 1個(必選) | 整型類型,值為地圖圖片的像素高度 |
| format | 1個(必選) | 字符類型,值為地圖的輸出格式 |
| transparent | 0或1個(可選) | 字符類型,值為true或者false,用來表示地圖圖層是否透明(默認情況下是不透明的) |
| bgcolor | 0或1個(可選) | 值為十六進制的RGB值,表示地圖的背景顏色 |
| exceptions | 0或1個(可選) | 值為WMS的異常信息報告的格式(默認情況下是XML格式) |
| time | 0或1個(可選) | 時間類型,值為時間值,表示需要在圖層中有時間信息 |
| elevation | 0或1個(可選) | 數字類型,值為高程值,表示需要在圖層中有高程信息 |
示例1:http://127.0.0.1:8090/iserver/services/maps/wms130/World?LAYERS=0&STYLES=&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&SRS=EPSG%3A3857&BBOX=10008053.503544,5274522.8578226,10039584.01305,5292493.614536&WIDTH=579&HEIGHT=330
示例2:http://tdt.fuzhou.gov.cn/serviceaccess/WMS/DMDZ?version=1.1.1&request=GetMap&service=WMS&mapservice=DMDZ&layers=1&styles=default&width=1164&height=371&format=png&transparent=true&srs=EPSG%3A4490&bbox=119.28758165903027,26.090243729688037,119.28914270467693,26.0907412794603
3.1.2.3 GetFeatureInfo操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型標識值為“WMS” |
| request | 1個(必選) | 字符類型,值為“GetFeatureInfo” |
| version | 1個(必選) | 字符類型,值為請求的WMS的版本號 |
| map request part | 1個(必選) | 字符類型,值為獲得地圖的部分操作參數 |
| query_layers | 1個(必選) | 字符類型,值為查詢的一個或多個地圖圖層列表,多個圖層之間用”,”隔開 |
| info_format | 1個(必選) | MIME類型,值為請求信息的返回類型 |
| I | 1個(必選) | 整型類型,值為待查詢點的在地圖圖片上的像素列號 |
| J | 1個(必選) | 整型類型,值為待查詢點的在地圖圖片上的像素行號 |
| feature_count | 0或1個(可選) | 整型類型,值為返回信息中的要素的個數(默認是1) |
| exceptions | 0或1個(可選) | 值為WMS的異常信息報告的格式(默認情況下是XML格式) |
示例:http://127.0.0.1:8090/iserver/services/maps/wms130/World?REQUEST=GetFeatureInfo&EXCEPTIONS=application%2Fvnd.ogc.se_xml&BBOX=10008053.503544%2C5274522.857823%2C10039584.01305%2C5292493.614536&SERVICE=WMS&INFO_FORMAT=text/plain&QUERY_LAYERS=urbanlayer%3ADIJI&FEATURE_COUNT=50&Layers=urbanlayer%3ADIJI&WIDTH=579&HEIGHT=330&format=image%2Fpng&styles=&srs=EPSG%3A3857&version=1.3.0&x=315&y=147
3.2 WFS
3.2.1 定義
- Web要素服務(WFS)返回的是要素級的GML編碼,并提供對要素的增加、修改、刪除等事務操作,是對Web地圖服務的進一步深入
- 回結果的是XML格式的WFS服務元數據文檔
3.2.2 接口
| GetCapabilities | GetCapabilities請求用于查詢WFS服務的能力信息,包括支持的操作、支持的格式、空間坐標、包含的資源等。它主要的目的是使客戶端在使用GetFeature請求前可以對WFS服務有一個基本的了解,從而可以設置正確的參數。 |
| DescribeFeatureType | 返回描述可以提供服務的任何要素結構的XML文檔,即圖層描述信息 |
| GetFeature | 為一個獲取要素實例的請求提供服務,通過GetFeature操作可以由指定的屬性條件、空間條件或者兩者疊加的條件進行空間查詢。 |
| Transaction | 為事務請求提供服務,使客戶端可對服務器端所提供的地圖要素類執插入,更新,刪除等命令 |
| GetGmlObject | 通過XLink獲取GML對象 |
| LockFeature | 處理在一個事務期間對一個或多個要素類型實例上鎖的請求 |
3.2.2.1 GetCapabilities操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型值為“WFS” |
| request | 1個(必選) | 字符類型,請求的操作名稱,值為“GetCapabilities” |
| versions | 0或1個(可選) | 字符類型,值為請求的WFS的版本號 |
示例1:http://127.0.0.1:8090/iserver/services/data-world/wfs100/utf-8?service=wfs&version=1.1.0&request=GetCapabilities
示例2:http://tdt.fuzhou.gov.cn/serviceaccess/WFS/DMDZ_WFS-G?service=WFS&request=GetCapabilities&version=1.0.0
3.2.2.2 DescribeFeatureType操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型值為“WFS” |
| request | 1個(必選) | 字符類型,請求的操作名稱,值為“DescribeFeatureType” |
| typeName | 0或1個(可選) | 字符類型,值為要素類型的列表,多個值之間用“,”隔開,默認解析包括的全部要素類型 |
| outputFormat | 0或1個(可選) | MIME類型,值為輸出格式 |
示例: http://tdt.fuzhou.gov.cn/serviceaccess/WFS/DMDZ_WFS-G?service=WFS&request=DescribeFeatureType&typename=DMDZ:地名&version=1.0.0
3.2.2.3 GetFeature操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型標識值為“WFS” |
| request | 1個(必選) | 字符類型,請求的操作值為“GetFeature” |
| typeName | 1個(必選) | 字符類型,值為請求的要素類型的名稱,多個名稱之間用“,”隔開 |
| version | 0或1個(可選) | 字符類型,值為請求的WFS的版本號 |
| outputFormat | 0或1個(可選) | MIME類型,值為輸出格式 |
| resultType | 0或1個(可選) | 字符類型,值為請求的結果類型 |
| propertyName | 0或1個(可選) | 字符類型,值為請求要素的屬性名,多個值之間用“,”隔開 |
| featureVersion | 0或1個(可選) | 字符類型,值為要素的版本,值為ALL返回請求的要素的所有版本,沒有值默認為返回請求要素的最新版本 |
| maxFeature | 0或1個(可選) | 整型類型,值為請求要素的最大數,默認值為滿足查詢的所有結果集 |
| expiry | 0或1個(可選) | 數字類型,要素被鎖定的時間 |
| SRSName | 0或1個(可選) | 字符類型,值為坐標系統名 |
| featureID | 0或1個(可選) | 字符類型,值為要素的ID,多個ID之間用“,”隔開 |
| filter | 0或1個(可選) | 請求要素的過濾條件 |
| bBox | 0或1個(可選) | Wkt格式,請求指定要素查詢范圍,可以替代featureId和filter參數 |
| sortby | 0或1個(可選) | 字符類型,查詢結果屬性值的排序依據 |
示例: http://tdt.fuzhou.gov.cn/serviceaccess/WFS/DMDZ_WFS-G?service=WFS&request=GetFeature&typename=DMDZ:地名&version=1.0.0&maxFeature=20
3.3 WCS
3.3.1 定義
- Web柵格服務面向空間影像數據
- 將包含地理位置值的地理空間數據作為“柵格(Coverage)”在網上相互交換
- 允許用戶訪問“Coverage”數據,如衛星影像、數字高程數據等,也就是柵格數據
3.3.2 接口
| GetCapabilities | 返回描述服務和數據集的XML文檔 |
| DescribeCoverage | 在GetCapabilities確定什么樣的查詢可以執行、什么樣的數據能夠獲取之后執行的,它使用通用的柵格格式返回地理位置的值或屬性 |
| GetCoverage | 允許客戶端請求由具體的WCS服務器提供的任一覆蓋層的完全描述 |
3.3.2.1 GetCapabilities操作請求方法實現參數
| SERVICE | 1個(必選) | 字符類型,服務類型為“WCS” |
| REQUEST | 1個(必選) | 字符類型,請求的操作名稱,值為“GetCapabilities” |
| ACCEPTVERSIONS | 0或1個(可選) | 字符類型,值為請求的WMTS的版本號 |
| SECTIONS | 0或1個(可選) | 字符類型,請求元數據文檔0或多個節的名稱,多個名稱之間用“,”隔開,不須按順序排列。值為空默認返回整個元數據文檔 |
| UPDATESEQUENCE | 0或1個(可選) | 字符類型,值為increased,為空時默認返回最新的元數據文檔 |
| ACCEPTFORMATS | 0或1個(可選) | 字符類型,接受的格式 |
示例:http://hostname:port/path?service=WCS&request=GetCapabilities
3.3.2.2 DescribeCoverage操作請求方法實現參數
| VERSION | 1個(必選) | 字符類型,值為請求的WCS的版本號 |
| SERVICE | 1個(必選) | 字符類型,服務類型為“WCS” |
| REQUEST | 1個(必選) | 字符類型,請求的操作名稱,值為“DescribeCoverage” |
| IDENTIFIERS | 1個(必選) | 字符類型,標識符 |
示例: http://server_address/path/script?service=WCS&request=DescribeCoverage&version=1.1.2&identifiers=Cov1,Cov2,Cov3
3.3.2.3 GetCoverage操作請求方法實現參數
| VERSION | 1個(必選) | 字符類型,值為請求的WCS的版本號 |
| SERVICE | 1個(必選) | 字符類型,服務類型為“WCS” |
| REQUEST | 1個(必選) | 字符類型,請求的操作名稱,值為“GetCoverage” |
| coverage | 1個(必選) | 字符類型,請求的圖層名稱 |
| BBOX | 1個(必選) | 字符類型,請求的圖層顯示范圍 |
| CRS | 1個(必選) | 字符類型,請求的坐標系代碼 |
| FORMAT | 1個(必選) | 字符類型,請求圖片格式 |
示例: http://server_address/path/script?service=WCS&request=GetCoverage&version=1.1.2&coverage=wcs_layer&BBOX=4785268.8040398322045803,12847916.7660075146704912,5021045.0965897748246789,13079930.6709103845059872&CRS=EPSG:3857&FORMAT=image/png
3.4WMTS
3.4.1 定義
- 和WMS并列的重要OGC規范之一
- 采用緩存技術能夠緩解WebGIS服務器端數據處理的壓力,提高交互響應速度
- 目前各種緩存技術相互兼容的一種方法
3.4.2 接口
| GetCapabilities | 獲取WMTS的能力文檔(即元數據文檔),里面包含服務的所有信息 |
| GetTile | 獲取地圖瓦片。該操作根據客戶端發出的請求參數在服務端進行檢索,服務器端返回地圖瓦片圖像。 |
| GetFeatureInfo | 通過在WMTS圖層上指定一定的條件,返回指定的地圖瓦片內容對應的要素信息 |
3.4.2.1 GetCapabilities操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型值為“WMTS” |
| request | 1個(必選) | 字符類型,請求的操作名稱,值為“GetCapabilities” |
| acceptVersions | 0或1個(可選) | 字符類型,值為請求的WMTS的版本號 |
| sections | 0或1個(可選) | 字符類型,請求元數據文檔0或多個節的名稱,多個名稱之間用“,”隔開,不須按順序排列。值為空默認返回整個元數據文檔 |
| updateSequence | 0或1個(可選) | 字符類型,值為increased,為空時默認返回最新的元數據文檔 |
| acceptFormat | 0或1個(可選) | MIME類型,值為服務元數據的輸出格式 |
示例:http://tdt.fuzhou.gov.cn/serviceaccess/wmts/Vector2012CGCS2000?service=WMTS&request=GetCapabilities
3.4.2.2 GetTile操作請求方法實現參數
| service | 1個(必選) | 字符類型,服務類型標識值為“WMTS” |
| request | 1個(必選) | 字符類型,請求的操作值為“GetTile” |
| version | 1個(必選) | 字符類型,值為請求的WMTS的版本號 |
| layer | 1個(必選) | 字符類型,值為請求的圖層名稱 |
| style | 1個(必選) | 字符類型,值為請求圖層的渲染樣式 |
| format | 1個(必選) | 字符類型,值為瓦片地圖的輸出格式 |
| tileMatrixSet | 1個(必選) | 字符類型,瓦片矩陣數據集,其值在服務的元數據文檔中指定 |
| tileMatrix | 1個(必選) | 字符類型,瓦片矩陣,其值在服務的元數據文檔中指定 |
| tileRow | 1個(必選) | 整型類型,值為大于0的整數,表示瓦片矩陣的行號 |
| tileCol | 1個(必選) | 整型類型,值為大于0的整數,表示瓦片矩陣的列號 |
| Other sample dimensions | 0或1個(可選) | 字符類型,其他允許的參數 |
示例:http://tdt.fuzhou.gov.cn/serviceaccess/wmts/Vector2012CGCS2000?service=WMTS&request=GetTile&layer=0&style=default&tileMatrixSet=sss&tileMatrix=10&tileRow=93074&tileCol=435872&format=image/png
3.4.2.3 GetFeatureInfo操作請求方法實現參數
| request | 1個(必選) | 字符類型,請求的操作值為“GetFeatureInfo” |
| version | 1個(必選) | 字符類型,值為請求的WMTS的版本號 |
| J | 1個(必選) | 整型類型,值為大于0的整數,表示瓦片上一指定像素點的行號 |
| I | 1個(必選) | 整型類型,值為大于0的整數,表示瓦片上一指定像素點的列號 |
| info_format | 1個(必選) | MIME類型,值為請求信息的返回類型 |
| layer, style, format, Sample dimension, tileMatrixSet, tileMatrix, tileRow, tileCol | 1個(必選) | 這些參數的值應與請求GetTile的相應參數保持一致 |
總結
- 上一篇: 哲理故事与管理之道(18)-跳起来够得着
- 下一篇: TreeSize工具介绍