sld 詳細教程中文版本.doc_第1頁
sld 詳細教程中文版本.doc_第2頁
sld 詳細教程中文版本.doc_第3頁
sld 詳細教程中文版本.doc_第4頁
sld 詳細教程中文版本.doc_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1. Scope(范圍)22. Conformance(一致性)23. Normative references(標準參考)24. Terms and definitions(術語和定義)25. Conventions (約定)35.1 Normative Verbs 標準動詞35.2 Symbols (and abbreviated terms)符號(和縮寫詞)36. Web-Map-Server Integration(Web-Map-Server 結合)36.1 (A Review of WMS 1.1.1)WMS 1.1.1的回顧36.2 General HTTP Request Rules as used by WMS and SLD46.3 Styled-Layer Descriptor (風格化圖層描述器)46.4 WMS Requests using an SLD(使用一個SLD的WMS請求)56.5 Web Map Servers and Web Feature/Coverage Servers86.6 DescribeLayer Request (DescribeLayer請求)96.7 Enhancements to WMS GetCapabilities(WMS GetCapabilities的增強)107. Layers(圖層)117.1 SLD Root Element (SLD 根元素).117.2 Named Layers.(命名的圖層)127.3 User-Defined Layers (用戶自定義的圖層)148. User-Defined Styles (用戶自定義的樣式)169. FeatureTypeStyles.(特征類型樣式)1710. Rules(規則)1810.1 Identification & Legends (標識和圖例)1810.2 Scale Selection(比例選擇).1910.3Feature Filtering(特征過濾)1911. Symbolizers(象征)1911.1 Line Symbolizer(線象征)1911.1.1Format(Line Symbolizer的格式)1911.1.2 Geometry(幾何圖形)1911.1.3 Stroke (筆劃)2011.1.4 Examples(例子)2111.2 Polygon Symbolizer(多邊形象征)2211.2.1 Format (格式)2211.2.2 Fill (填充)2211.2.3 Example(例子).2311.3 Point Symbolizer (點象征)2311.3.1 Format (格式)2311.3.2 Graphic(圖形)2411.3.3 Examples (例子)2511.4 Text Symbolizer.(文本象征)2611.4.1 Format (格式)2611.4.2 Label (標簽)2711.4.3 Font(字體)2711.4.4 Label Placement .(標簽布局)2711.4.5 Halo (光輪)2911.4.6 Example(例子)2911.5 Raster Symbolizer (光柵象征)2911.5.1 Format (格式)2911.5.2 Parameters (參數)3011.5.3 Examples(例子)32 Styled Layer Descriptor Implementation Specification 風格化圖層描述器實現規格1. Scope(范圍) This OpenGIS Interoperability-Program Report specifies the format of a map-styling language for producing georeferenced maps with user-defined styling. Different modes for utilizing this styling specification are discussed.這個開放地理信息系統互操作能力編程報告指定了一個地圖樣式語言的格式,這個語言是用用戶定義風格來生成地理參考地圖。本文檔討論了使用這種風格化規格的不同模式。2. Conformance(一致性)Conformance and Interoperability(互操作性)Testing for this OGC Interoperability Program Report may be checked using all the relevant tests specified in Annex C (normative).為這個OGC互操作綱領報告的一致性和互操作性測試可能會使用所有相關的在附錄C(標準的)的測試來檢查。 3. Normative references(標準參考)這部分的說明省略。 4. Terms and definitions(術語和定義) Operation :一個變化或者查詢的規格,是可以被調用執行的對象。Interface :描述一個實體的行為的操作的名字集。 Service :一個實體通過接口提供的獨立的功能部分。 service instance 服務實例 server :一個服務的實際的工具。 Client :能從一個服務端調用操作的軟件成分。Request :通過客戶端的一個操作的調用。Response :從服務器端返回給客戶端的一個操作的結果。Map :地理數據的圖片表示capabilities XML :描述一個得到的服務實例操作的操作和內容的服務級的元數據。5. Conventions (約定)5.1 Normative Verbs 標準動詞 required, shall, shall not, should, should not, recommended, may, 和 optional5.2 Symbols (and abbreviated terms)符號(和縮寫詞) CGI :Common Gateway InterfaceDCP :Distributed Computing PlatformDTD :Document Type DefinitionEPSG :European Petroleum Survey GroupGIF :Graphics Interchange FormatGIS :Geographic Information SystemGML :Geography Markup LanguageHTTP: Hypertext Transfer ProtocolIETF: Internet Engineering Task ForceJPEG: Joint Photographic Experts GroupMIME :Multipurpose Internet Mail ExtensionsOGC :Open GIS ConsortiumOWS: OGC Web ServicePNG :Portable Network GraphicsRFC :Request for CommentsSLD: Styled Layer DescriptorSVG :Scalable Vector GraphicsURL :Uniform Resource LocatorWebCGM :Web Computer Graphics MetafileWCS :Web Coverage ServiceWFS :Web Feature ServiceWMS :Web Map ServiceXML :Extensible Markup Language6. Web-Map-Server Integration(Web-Map-Server 結合)6.1 (A Review of WMS 1.1.1)WMS 1.1.1的回顧WMS 1.1.1按照“styled layers”來描述一張地圖的外表。一個風格化的圖層可以被認為是一個在其上被標記的有特征的透明的薄片。一張地圖是由指定的順序放在一起的風格化的許多圖層組合而成的。風格化圖層被說成是被Z-ordered的。用戶通過增加或者移除風格化圖層,定義更多的復雜的或者更簡單的地圖。一個風格化圖層本身表示了一個特殊的layer和一個style的組合,這個style中層能被符號化。從概念上說,層定義了特征流,樣式定義了這些特征是怎樣符號化的。這個概念是被標記的,是因為可能會有多個樣式在一個層中標記。在WMS規格中,請求一張地圖是的代碼是在一個HTTP-GET請求中給定的,并且,一張地圖的外觀描繪是通過LAYERS和STYLES參數指定的。 比如:/WMS?VERSION=1.1.0&REQUEST=GetMap&BBOX=0.0,0.0,1.0,1.0&LAYERS=Rivers,Roads,Houses&STYLES=CenterLine,CenterLine,Outline返回的地圖描繪:其中的圖層和樣式的對應關系是:Rivers:CenterRoads:CenterLineHouses:Outline WMS1.1.1規格處理樣式和圖層,這些樣式和圖層是WMS知道的,并且他們有名字來標示。由于這個原因,這個文檔的剩余部分涉及到在上面已經被描述為“named layers”和“named styles”的層和樣式, WMS規格提供了僅有的一種方法來定義一個樣式層,就是一個named layer和一個named style的組合。6.2 General HTTP Request Rules as used by WMS and SLD 由WMS和SLD使用的一般的HTTP請求規則 目前,僅有的由OGC網絡服務支持的分布式計算平臺是WWW本身,或者更多特別的英特網主機,這些主機實現了HTTPIETF RFC 2616。因此,被一個服務實例支持的每一個在線資源是一個HTTP URL。按照服務提供的意見,URL可能對于每一個操作是不同的或者是相同的。每一個URL應該要遵照在IETF RFC 2616 (Section 3.2.2 HTTP URL)中的描寫,否則的話是依賴與實現的;僅有組成這個服務請求本身的參數是通過OGC網絡服務規格授權的。 HTTP支持兩種請求方法:GET和POST。這兩個方法中的一個或者兩個可能是為一個特殊的OGC網絡服務類型定義的,并且通過服務實例提供,并且在線資源URL的使用在每種情況下是不一樣的。基礎的WMS規格僅僅定義了調用操作的HTTP GET請求。(一個風格化圖層描述器WMS10為一些操作定義了HTTP POST方法)6.3 Styled-Layer Descriptor (風格化圖層描述器) 前面部分描述了在WMS規格中的一張地圖的外觀能被定義為一連串風格化層。風格化同樣能使用一個叫做SLD的地圖外觀的用戶定義的XML編碼來描述。簡要地說, 一個SLD包含了一個StyledLayerDescriptor的XML元素,這個元素包含了一連串風格化圖層定義。這些風格化圖層定義可能使用命名好的或者用戶自定義的層,和命名好的或者用戶定義的樣式。這就是一個簡單的SLD例子,它相當于與先前部分的WMS請求的例子。 RiversCenterLineRoadsCenterLineHousesOutlineNamedLayer 和NamedStyle元素相當于CGI參數中的LAYERS和STYLES,一個SLD XML文檔能使用用戶自定義的樣式而變得很復雜。6.4 WMS Requests using an SLD(使用一個SLD的WMS請求)有三種方式允許客戶利用SLD的符號:1.客戶端使用HTTP GET 與WMS進行交互,但是這個請求引用了一個遠程的SLD。2.客服端使用HTTP GET方法但是包含在SLD_BODY CGI參數中的與一個GET請求放在一起的SLD XML文檔。3.客戶端使用帶GetMap請求的HTTP POST和包含一個嵌套的SLD來與WMS交互,這個GetMap請求是在XML文檔中編碼的。 第三種方式雖然很先進,但是要有強大的技術支持,第二種方式的URL地址過長。假定已經準備好的SLD文檔的URL是:/mySLD.xml那么上面例子可以通過下面的兩種請求來實現:第一種(通過把SLD的URL包含在請求的SLD參數中):/WMS?VERSION=1.0.5&REQUEST=GetMap&SRS=EPSG%3A4326&BBOX=0.0,0.0,1.0,1.0&SLD=http%3A%2F%2F%2FmySLD.xml&WIDTH=400&HEIGHT=400&FORMAT=PNG第二種(把SLD文檔的內容包含在SLD_BODY請求參數中)/WMS?VERSION=1.0.5&REQUEST=GetMap&SRS=EPSG%3A4326&BBOX=0.0,0.0,1.0,1.0&SLD_BODY=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3C!DOCTYPE+StyledLayerDescriptor+SYSTEM+%22http%3A%2F%2F%2Fsld%2Fsld_072.xsd%22%3E%3CStyledLayerDescriptor+version%3D%221.0.0%22%3E%3CNamedLayer%3E%3CName%3ERivers%3C%2FName%3E%3CNamedStyle%3E%3CName%3ECenterLine%3C%2FName%3E%3C%2FNamedStyle%3E%3C%2FNamedLayer%3E%3CNamedLayer%3E%3CName%3ERoads%3C%2FName%3E%3CNamedStyle%3E%3CName%3ECenterLine%3C%2FName%3E%3C%2FNamedStyle%3E%3C%2FNamedLayer%3E%3CNamedLayer%3E%3CName%3EHouses%3C%2FName%3E%3CNamedStyle%3E%3CName%3EOutline%3C%2FName%3E%3C%2FNamedStyle%3E%3C%2FNamedLayer%3E%3C%2FStyledLayerDescriptor%3EWIDTH=400&HEIGHT=400&FORMAT=PNG 使用這個方法的好處是客戶端不用發表SLD文檔在網絡上,并且不能使用POST方法的簡單的客服端也能夠使用這個方法。上面兩種方法都有不合理的地方,比較折中的方法是:像在WMS 1.2+的組件中一樣來使用帶SLD的HTTP POST與WMS通信。使用這個方法,上面的例子轉換成下面的XML的POST編碼: RiversCenterLineRoadsCenterLineHousesOutline-180.0-90.0180.090.0image/jpegfalse1024512application/vnd.ogc.se+xml 為了使HTTP-GET方法更有實用性,SLD也能用于一個或者兩個不同的模式,該模式是依賴于LAYERS參數是否存在與請求中。假如它沒有出現,那么所有的在SLD文檔中定義的圖層用所有的定義好的樣式著色,它相當于XML-POST方法的使用。假如LAYERS參數是存在的,那么僅是通過參數定義的圖層被使用,并且這個SLD被用作一個“樣式庫”。 當一個SLD用作一個樣式庫,STYLES CGI參數以在GetMap請求中的一般的方式被解釋,除了在處理的樣式名是有組織的,那么在SLD中定義的樣式優先于在地圖服務器中存儲的命名了的樣式。用戶自定義的SLD樣式能被給定名字,它們也能被標記為一個圖層的缺省樣式。更精確的說,假如命名為“Centerline”的樣式被一個圖層引用,并且一個有那個名字的樣式是被在SLD中符合的層定義的,那么這個SLD樣式定義被使用,否則,構造在地圖服務器中的標準的命名樣式機制被使用。假如一個缺省樣式的使用是指定的,并且一個樣式被標記為缺省的,為了符合在SLD中的圖層,那么在SLD中的缺省的樣式被使用;否則在地圖服務器中的標準的缺省的樣式被使用。6.5 Web Map Servers and Web Feature/Coverage Servers (Web Map Servers 和 Web Feature/Coverage Servers) 假如一個WMS使用一個用戶自定義的符號來象征特征,那么定義特征數據源是必須的,這個規格是設計來允許WMS實現的多樣性,這個WMS是支持用戶自定義的符號化。例如,一個WMS可能象征特征或者儲存在遠程WFS或者WCS的覆蓋數據,或者僅能符號化從一個明確的缺省特征/覆蓋存儲中的數據。為了支持這點,可選參數REMOTE_OWS_TYPE和REMOTE_OWS_URL在HTTP-GET GetMap請求中說明,這個請求能用于把這個WMS指向一個遠程的WFS,WCS或者其他OWS服務,這個OWS服務作為特征/覆蓋數據的缺省源。當前被允許的REMOTE_OWS_TYPE參數值是WFS和WCS,盡管將來可能會允許更多的值。REMOTE_OWS_URL參數支持使用基本的URL服務。(以前,這個機制用單一的WFS參數來提供,但是那樣會有很多限制),例如,假如對于一個WFS的URL是/WFS?,那么前面部分的地圖請求可能會轉換成下面的樣子:/WMS?VERSION=1.0.5&REQUEST=GetMap&SRS=EPSG%3A4326&BBOX=0.0,0.0,1.0,1.0&SLD=http%3A%2F%2F%2FmySLD.xml&WIDTH=400&HEIGHT=400&FORMAT=PNG&REMOTE_OWS_TYPE=WFS&REMOTE_OWS_URL=http%3A%2F%2F%2FWFS%3F 這表示了一個WMS和一個WFS/WCS之間的簡單的聯系。但是可能會有更寬泛的聯系。為了澄清這個論述,合格文檔介紹了組件和集成服務器的概念: 1.組件服務器:這些服務器的設計是松耦合的,可以以任何的組合一起工作。例如,一個組件WMS能用符號表示從任何的WFS/WCS到它指向的特征和覆蓋。 2.集成的服務器:這些服務器的設計是緊耦合的,僅僅可以工作在特殊的配置中。例如,一個集成的WMS僅僅能夠用符號表示從與它集成在一起的WFS/WCS的特征/覆蓋數據。無論一個特殊的服務器是組件或者是集成的服務器都說明了關于它是如何執行的東西。例如,一個WMS是有效的OGC WMS只要他能正確第提供WMS接口。這就沒有關于WMS是如何生效的假設。但是,一個能用符號表示特征和覆蓋數據的組件WMS通過WFS/WCS接口與數據交互,這就是說明了關于實現的一些東西。當然,一個組件WMS指向的是什么樣的WFS/WCS(組件的或者集成的)并不重要。能夠從來源那制造地圖而不是特征數據的那些WMS同樣的沒有多少價值。將會有很多的支持用戶自定義的符號的能力的WMS。Component WMS 組件WMS 本質上一個能用符號表示特征數據的描繪引擎能從一個或多個遠程的WFS/WCS那獲得。通常它有這而特征:一個組件WMS可能沒有預先定義的Named層或者樣式。 一個組件WMS僅僅支持WMS接口。 一個組件WMS能用符號表示從順應的WFS/WCS那的特征數據 一個組件WMS支持用戶自定義的樣式和用戶之定義的圖層。Integrated WMS 集成的WMS 這是一個表示緊耦合特征倉庫和描繪引擎的服務器。它有這些特征: 一個集成的WMS可能有有名的突出圖層和樣式。 一個集成的WMS支持WMS接口和WMS接口的DescribeFeatureType請求或者GetCapabilities或者WCS 接口的可選的DescribeCoverageLayer 一個集成的WMS僅僅能用符號表示從它自己內部的特征倉庫中得到的特征數據。 一個集成的WMS可能僅僅支持被應用給預先定義的有名的層的用戶自定義的樣式。 不管是使用組件的或者集成的WMS,都一定要詢問(盡管在一個相對表面的層次)基礎的特征倉庫。這是因為用戶定義的符號使用了WMS以前沒有要求的概念。例如,WMS 1.1規格使得使用像這樣Named圖層 和 Named樣式的概念,但是沒有需要使用像特征類型的概念來與WMS交互成為可能。相比之下,用戶自定義的的符號需要能定義新的圖層和樣式,使用特征類型和特征類型屬性。例如,一個新的圖層可能被定義為一個特殊特征類型的所有特征。這個規格試圖保證創建支持用戶定義的符號的WMS的障礙盡可能的低。基本的特征/覆蓋倉庫是使用WFS/WCS接口來集成的。對于一個組件WMS來說不是一個問題,因為特征/覆蓋倉庫是從一個遠程的WFS/WCS那得到的。對于一個集成的WMS來說,服務器必須支持WMS接口和一個最小集的WFS/WCS操作。它必須支持一個WFS的DescribeFeatureType請求或者GetCapabilities或者一個WCS的可選的DescribeCoverageLayer。它描述了通過在請求中的名字指定的特征/覆蓋類型的屬性。并且,假如這個WMS支持基礎的圖層,那么它必須支持WFS的GetCapabilities請求。對于一個WFS,在其他事物之間,這個請求返回由WFS支持的所有特征類型的名字。同時,這兩個WFS請求允許客戶端檢索所有的他們要求構建用戶定義符號的所有信息。單獨的WCS 的GetCapabilities請求是對于一個WCS來說是足夠的。 有必要去指明一個WMS應該找出要被符號化的特征數據。它是通過下面的規則來執行的: 1.假如這個SLD具體指定了一個在UserLayer 元素中的RemoteOWS 元素中的WFS或者WCS,那么它應該被使用;否則 2.假如GetMap請求包含了CGI REMOTE_OWS_TYPE和 REMOTE_OWS_URL參數,那么遠程的服務應該被使用;否則 3.WMS應該使用一個缺省的WFS或者WCS。 這個方法不許可從不同的WFS/WCS得到的特征/覆蓋被包含在相同的樣式圖層中。前面的兩個選擇應該僅僅用于一個WMS,這個WMS能指向遠程的WFS/WCS。WMS將登記這些能力回應一個GetCapabilities請求(查看6.7節),對于一個集成的WMS。缺省的WFS/WCS僅是與它集成在一起的。但是,為什么一個組件WMS不應該有一個缺省的定義的WFS/WCS是沒有原因的。6.6 DescribeLayer Request (DescribeLayer請求) 定義一個用戶定義的樣式需要關于要被符號化的特征的所有信息,或者至少是它們的特征類型。由于用戶定義的樣式能被應用在一個有名的圖層中,就需要一個客戶為有名的圖層的一個能獲得特征/覆蓋類型的信息的機制。這是另一個彌補圖層和樣式的WMS概念和像特征類型和覆蓋圖層的WFS/WCS概念之間的代溝的例子。為了允許這樣,一個WMS可能選擇性地支持DescribeLayer請求。它能應用于多個圖層中,就像 下面例子顯示的一樣:/WMS?VERSION=1.1.0&REQUEST=DescribeLayer&LAYERS=Rivers,Roads,Houses DescribeLayer是REQUEST參數的一個新選項,LAYERS是允許許多命名了的圖層用名字來指定。這被認為是比超載的WMS能力文檔好的多的方法。 它的響應是一個描述了指定named layers的XML文檔。假如沒有一個named layer存在,響應是一個報告異常的XML文檔。 對于每一個named layer,它的描述應該指明假如它是確實基于特征數據的,那么他應該指明WFS/WCS(通過一個URL前綴)和特征類型。注意:一個named layer沒有用這種方法來描述是能成立的。它說明我們重復使用WFS機制來指明一個人怎么樣在一個WFS中定義一個特征類型,即是用Query元素。附錄B為這個響應給出了文檔類型定義 注意:實際上一個集成的WMS應該提供一個WFS/WCS前綴,因為它能允許構成DescribeFeatureType請求。一個WMS不需要支持DescribeLayer請求。但是,應該注意的是,它可能對于一個不支持UserLayers而允許UserStyles應用在named layer中的WMS來說是普通的。在這樣的情況下,支持DescribeLayer請求是僅有的一種一個客戶能指定用戶定義的符號的互操作的方法。6.7 Enhancements to WMS GetCapabilities(WMS GetCapabilities的增強) 由一個WMS支持的GetCapabilities請求必須返回足夠的為一個客戶構建進一步的有效的請求的信息。例如,一個WMS的能力包含了一個WMS知道的named layer。一個GetMap請求是無效的的,假如它引用了一個WMS不知道的named layer。為了保證與很多的WMS交互的有效性,包含上面描述到的組件和集成WMS,能力響應已經提高了。特別地,它能描述以下的信息: 1.WMS提夠SLD支持嗎?2.一個客戶使用個HTTP POST(使用一個被嵌套的SLD)或者HTTP GET(使用SLD 或者SLD_BODY參數)能否發出一個請求?3.WMS支持用戶定義的圖層嗎?4. WMS支持用戶定義的樣式嗎?5.這個WMS能指向遠程的OWS服務嗎?(例如:WMS支持在HTTP-GET請求中的REMOTE_OWS_SERVICE和REMOTE_OWS_URL參數和在SLD中的RemoteOWS屬性嗎?)6.WMS支持DescribeLayer請求嗎? 當描述它的能力的時候,一個WMS可能不支持named layers和named styles的話,是通過沒有返回任何的LAYERS元素來指明。這個方法使得支持user-defined style而不支持user-defined layer成為可能。這種情況很可能是最流行的組件WMS,這些WMS是只用來提供遠程特征的。但是,應該注意的是一個WMS的能力描述沒有詳細地提到集成的和組件的類型。 前面四條都代表處理user-defined符號的能力的不同方面。1.1.0 WMS-Capabilities DTD介紹了UserDefinedSymbolization元素,它包含在Capability元素中。這個新的元素包含關于支持user-defined符號的WMS能力的信息。!ATTLIST UserDefinedSymbolizationSupportSLD (0 | 1) 0UserLayer (0 | 1) 0UserStyle (0 | 1) 0RemoteWFS (0 | 1) 0RemoteWCS (0 | 1) 0 最后的需要使用能力來描述的兩條是使用WMS能力中的Request元素來處理的,是用另外的表示為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論