对 WMS 服务使用“样式化图层描述符”
“样式化图层描述符”(SLD) 可通过使用开放地理空间联盟 (OGC) 所定义的 XML 规范发布应用于 WMS 服务的各种符号方案。此外,服务的客户端可以使用自定义的 SLD 文件对 WMS 服务应用自己所选择的符号。
SLD 文件和 SLD 样式
SLD 文件是一种遵循 OGC SLD 语法的 XML 文件,从而在服务器与客户端的通信中可以被理解。
SLD 样式本身保存在 SLD 文件中。从逻辑上来讲,一个 SLD 样式定义了所指定的 WMS 图层中的指定要素组的符号化规则。一个样式可以有多个规则,而且每个规则都可以有一个过滤器以描述要渲染哪些要素,以及多个符号化器以描述这些要素要如何渲染。
以下是一个 SLD XML 文档的样本:
<sld:StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
<!--
ESRI_StatesCitiesRivers_USA @
http://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?
-->
<sld:NamedLayer>
<!--
layer "2" is the "cities" point layer in the WMS service
-->
<sld:Name>2</sld:Name>
<sld:UserStyle>
<!--
style should be applied on layer "2", reference the style by it's name "pointSymbolizer"
-->
<sld:Name>pointSymbolizer</sld:Name>
<sld:Title>pointSymbolizer</sld:Title>
<sld:FeatureTypeStyle>
<sld:Rule>
<sld:PointSymbolizer>
<sld:Graphic>
<sld:Mark>
<!-- uses a circle to mark a city -->
<sld:WellKnownName>circle</sld:WellKnownName>
<!-- fill circle with color #666666 -->
<sld:Fill>
<sld:CssParameter name="fill">#666666</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1</sld:CssParameter>
</sld:Fill>
<!-- circle boundary with color #666666 -->
<sld:Stroke>
<sld:CssParameter name="stroke">#666666</sld:CssParameter>
<sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:Mark>
<!-- circle opacity 1.0 -->
<sld:Opacity>1</sld:Opacity>
<!-- circle size "3" -->
<sld:Size>3</sld:Size>
<sld:Rotation>0</sld:Rotation>
</sld:Graphic>
</sld:PointSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
在 ArcGIS Server 中 WMS SLD 的实现是要基于“OGC 样式化图层描述符 (SLD) 执行规范”进行的。要获取 SLD 的一般性概述,请参阅 OGC 网站上的样式化图层描述符页面。
使用 SLD 发布多个样式
可以采用以下工作流,通过 SLD 发布 WMS 图层的多个样式:
- 使用系统生成的服务能力文件创建一个 WMS 服务。
- 创建一个对 WMS 服务中的每个图层定义了多个样式的 SLD XML 文档。
- 对 SLD XML 与 WMS 服务进行绑定。
要做到这一点,请执行以下步骤:
在 ArcGIS Server 管理器中:
- 按照 WMS 服务中强调的指导原则发布 WMS 服务。
- 使用 SLD 语法创建一个 XML 文档,用于为要发布的所有 WMS 图层定义各种附加样式。可以将此 SLD XML 文档保存到本地磁盘或使其可作为 URL 访问。
- 打开 ArcGIS Server 管理器,然后登录。如果需要此步骤的帮助信息,请参阅登录管理器。
- 单击服务 > 管理服务。
- 在管理服务 模块中,找到您的服务,然后单击编辑 。如果列表中没有该服务,那么其可能位于站点(根)文件夹下的子文件夹中。
- 在编辑 模块中,单击功能。
- 在功能列表中,单击 WMS,确保 WMS 项已启用。
- 在 WMS 配置列表中,将看到 SLD 路径或 URL 文本框。输入 SLD XML 文档的 URL 或使用文件浏览器在磁盘上查找 SLD XML。
- 单击保存并重新启动。将立即应用对服务执行的编辑操作。
在 ArcGIS for Desktop 中:
- 按照 WMS 服务中强调的指导原则发布 WMS 服务。
- 使用 SLD 语法创建一个 XML 文档,为要发布的所有 WMS 图层定义各种附加样式。可以将此 SLD XML 文档保存到本地磁盘或使其可作为 URL 访问。
- 在 ArcCatalog 中或 ArcGIS for Desktop 的目录 窗口中,展开 GIS 服务器节点,建立 ArcGIS Server 管理 GIS 服务器连接类型。如果您已已建立了一个管理连接,则可以跳过此步骤。有关如何连接的说明,请参阅在 ArcGIS for Desktop 中与 ArcGIS Server 建立管理连接。
- 在 ArcGIS Server 连接中,右键单击要编辑的服务,然后选择服务属性。
- 在服务编辑器 中,单击功能选项卡并验证已选择 WMS。
- 单击 WMS 选项卡。
- 在 WMS 选项卡的属性 部分中,您将看到 SLD 路径或 URL 字段。输入 SLD XML 文档的 URL 或使用文件浏览器在磁盘上查找 SLD XML。
- 单击确定。服务将重新启动并立即应用编辑内容。
注释:
要确保 SLD XML 与 WMS 服务正确绑定,执行以下任一操作:
- 在浏览器中提交 WMS GetCapabilities 请求。在 XML 响应中,应该为 SLD 中所定义的各 WMS 图层的每个附加样式都指定一个 <Style> 元素。
- 检查文件夹 <地图服务输出目录>\<服务名称 MapServer>\wms\。在每个 WMS 图层的 SLD 中定义的每个附加样式都应生成一个图例文件。
要查看 SLD 的工作示例,请访问 WMS 样式化图层描述符示例。
在 ArcGIS for Desktop 中更改 WMS 地图的样式
对 SLD XML 文件与 WMS 服务进行绑定后,将为各图层选择适用样式,并通过 WMS 服务的服务能力信息进行发布。然后,某些 WMS 客户端(如 ArcMap)会获知这些样式,并允许在这些样式之间进行切换。
在 ArcMap 中,要选择用于各 WMS 服务子图层的 SLD,请右键单击图层并选择图层属性。在此对话框上,有一个样式选项卡,在此可以选择要用于图层的 SLD。
从客户端使用外部 SLD
使用 WMS 服务,用户将不会受限于仅发布在服务器上的样式。客户端可以在 WMS 服务的 GetMap 请求中引入适用的 SLD 文件,以便 WMS 服务可以使用自己的样式对地图进行渲染。
从客户端使用外部 SLD 包括以下步骤:
- 创建一个为 WMS 服务中的每个图层定义了多个样式的 SLD XML 文档,或者,在适用的情况下,也可使用一个公共的 SLD XML。
- 确保 SLD XML 可利用一个服务器可访的 URL 地址进行访问(如果使用的是公共 SLD XML,确保其作为 URL 可访问)。
- 更改原始 WMS HTTP GetMap 请求中 LAYERS 和 STYLES 参数的值,以指明 WMS 服务器要使用哪种样式渲染其中的每个图层。
- 将 SLD XML 发送至 WMS 服务器,并通过向 WMS HTTP GetMap 请求字符串末尾添加多个键值参数对 (SLD=<sld_xml_url>) 来请求地图。
SLD_BODY 工作原理
另一种向服务器发送 SLD 样式的方法是使用标准 WMS GetMap 请求参数 SLD_BODY。与参数 SLD 不同,SLD_BODY 的值包含 SLD 文档的实际 XML 正文。使用 SLD_BODY,客户端可动态修改 WMS 图层的样式,而且 SLD 文档也不必通过公共 URL 进行显示。
目前,几乎没有桌面 WMS 客户端支持 SLD_BODY。SLD_BODY 大多数的实际应用在 Web 客户端(例如 OpenLayers 和 ArcGIS API for JavaScript)完成,应用程序开发人员可灵活修改 GetMap 请求以追加 SLD_BODY。
从客户端使用 SLD_BODY 包含以下步骤:
- 创建一个为 WMS 服务中每个图层定义了多个样式的 SLD XML 文档,或者,如果能够访问 SLD XML,则可以使用公共 SLD XML 文档。
- 更改原始 WMS HTTP GetMap 请求中 LAYERS 和 STYLES 参数的值,以指明 WMS 服务器要对每个图层使用哪种样式进行渲染。
- 将 SLD XML 发送至 WMS 服务器,并通过向 WMS HTTP GetMap 请求字符串末端添加一个键值参数对 (SLD_BODY=<sld_xml_body>) 来请求地图。
SLD_BODY 示例
样本请求 1:
http://myserver:6080/arcgis/services/OGC/SanFrancisco/MapServer/WMSServer?LAYERS=highways&STYLES=style_sld_body&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&CRS=CRS%3A84&SLD_BODY=%3Csld%3AStyledLayerDescriptor%20xmlns%3Asld%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22%20version%3D%221.0.0%22%20xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%20http%3A%2F%2Fschemas.opengis.net%2Fsld%2F1.0.0%2FStyledLayerDescriptor.xsd%22%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%3E%3Csld%3ANamedLayer%3E%3Csld%3AName%3Ehighways%3C%2Fsld%3AName%3E%3Csld%3ANamedStyle%3E%3Csld%3AName%2F%3E%3C%2Fsld%3ANamedStyle%3E%3Csld%3AUserStyle%3E%3Csld%3AName%3Estyle_sld_body%3C%2Fsld%3AName%3E%3Csld%3ATitle%3Eroad_types%3C%2Fsld%3ATitle%3E%3Csld%3AFeatureTypeStyle%3E%3Csld%3ARule%3E%3Csld%3AName%3Ecalles%3C%2Fsld%3AName%3E%3Csld%3ATitle%3Ecalles%3C%2Fsld%3ATitle%3E%3Csld%3ALineSymbolizer%3E%3Csld%3AStroke%3E%3Csld%3ACssParameter%20name%3D%22stroke%22%3E%23FFFF00%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-width%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linejoin%22%3Eround%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linecap%22%3Eround%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AStroke%3E%3C%2Fsld%3ALineSymbolizer%3E%3C%2Fsld%3ARule%3E%3Csld%3ARule%3E%3Csld%3AName%3Eautopista%3C%2Fsld%3AName%3E%3Csld%3ATitle%3Eautopista%3C%2Fsld%3ATitle%3E%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3EROAD_TYPE%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3EMajor%20Roads%2FHighways%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E%3Csld%3ALineSymbolizer%3E%3Csld%3AStroke%3E%3Csld%3ACssParameter%20name%3D%22stroke%22%3E%230000FF%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-width%22%3E2%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linejoin%22%3Eround%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linecap%22%3Eround%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AStroke%3E%3C%2Fsld%3ALineSymbolizer%3E%3C%2Fsld%3ARule%3E%3Csld%3ARule%3E%3Csld%3AName%3Erampa%3C%2Fsld%3AName%3E%3Csld%3ATitle%3Erampa%3C%2Fsld%3ATitle%3E%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3EHWYNAME%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ERAMP%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E%3Csld%3ALineSymbolizer%3E%3Csld%3AStroke%3E%3Csld%3ACssParameter%20name%3D%22stroke%22%3E%2300FF00%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-width%22%3E2%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linejoin%22%3Eround%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linecap%22%3Eround%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AStroke%3E%3C%2Fsld%3ALineSymbolizer%3E%3C%2Fsld%3ARule%3E%3C%2Fsld%3AFeatureTypeStyle%3E%3C%2Fsld%3AUserStyle%3E%3C%2Fsld%3ANamedLayer%3E%3C%2Fsld%3AStyledLayerDescriptor%3E&BBOX=-122.64942090625,37.6087920625,-122.25391309375,37.8724639375&WIDTH=1152&HEIGHT=768
样本请求 1 的响应:
样本请求 2:
http://myserver:6080/arcgis/services/OGC/SanFrancisco/MapServer/WMSServer?LAYERS=pizzastores&STYLES=style_sld_body&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&SLD_BODY=%3Csld%3AStyledLayerDescriptor%20xmlns%3Asld%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22%20version%3D%221.0.0%22%20xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%20http%3A%2F%2Fschemas.opengis.net%2Fsld%2F1.0.0%2FStyledLayerDescriptor.xsd%22%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%3E%3Csld%3ANamedLayer%3E%3Csld%3AName%3Epizzastores%3C%2Fsld%3AName%3E%3Csld%3ANamedStyle%3E%3Csld%3AName%2F%3E%3C%2Fsld%3ANamedStyle%3E%3Csld%3AUserStyle%3E%3Csld%3AName%3Estyle_sld_body%3C%2Fsld%3AName%3E%3Csld%3ATitle%3Epizza%3C%2Fsld%3ATitle%3E%3Csld%3AFeatureTypeStyle%3E%3Csld%3ARule%3E%3Csld%3AName%3Edefault%3C%2Fsld%3AName%3E%3Csld%3APointSymbolizer%3E%3Csld%3AGraphic%3E%3Csld%3AExternalGraphic%3E%3Csld%3AOnlineResource%20xlink%3Atype%3D%22simple%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xlink%3Ahref%3D%22http%3A%2F%2Fzeon%2Fresources%2Fsld%2Fsanfrancisco%2Fimages%2Fpizza.gif%22%2F%3E%3Csld%3AFormat%3EGIF%3C%2Fsld%3AFormat%3E%3C%2Fsld%3AExternalGraphic%3E%3Csld%3AOpacity%3E1%3C%2Fsld%3AOpacity%3E%3Csld%3ASize%3E12%3C%2Fsld%3ASize%3E%3Csld%3ARotation%3E0%3C%2Fsld%3ARotation%3E%3C%2Fsld%3AGraphic%3E%3C%2Fsld%3APointSymbolizer%3E%3C%2Fsld%3ARule%3E%3C%2Fsld%3AFeatureTypeStyle%3E%3C%2Fsld%3AUserStyle%3E%3C%2Fsld%3ANamedLayer%3E%3C%2Fsld%3AStyledLayerDescriptor%3E&BBOX=-122.64942090625,37.6087920625,-122.25391309375,37.8724639375&WIDTH=1152&HEIGHT=768
样本请求 2 的响应:
样本请求 3:
http://myserver:6080/arcgis/services/OGC/SanFrancisco/MapServer/WMSServer?LAYERS=blockgroups&STYLES=style_sld_body&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&SLD_BODY=%3Csld%3AStyledLayerDescriptor%20xmlns%3Asld%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22%20version%3D%221.0.0%22%20xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%20http%3A%2F%2Fschemas.opengis.net%2Fsld%2F1.0.0%2FStyledLayerDescriptor.xsd%22%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%3E%3Csld%3ANamedLayer%3E%3Csld%3AName%3Eblockgroups%3C%2Fsld%3AName%3E%3Csld%3ANamedStyle%3E%3Csld%3AName%2F%3E%3C%2Fsld%3ANamedStyle%3E%3Csld%3AUserStyle%3E%3Csld%3AName%3Estyle_sld_body%3C%2Fsld%3AName%3E%3Csld%3AFeatureTypeStyle%3E%3Csld%3ARule%3E%3Csld%3AName%3E0%20-%20784%3C%2Fsld%3AName%3E%3Csld%3ATitle%3E0%20-%20784%3C%2Fsld%3ATitle%3E%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsBetween%3E%3Cogc%3APropertyName%3EPOP1990%3C%2Fogc%3APropertyName%3E%3Cogc%3ALowerBoundary%3E%3Cogc%3ALiteral%3E0%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3ALowerBoundary%3E%3Cogc%3AUpperBoundary%3E%3Cogc%3ALiteral%3E784%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3AUpperBoundary%3E%3C%2Fogc%3APropertyIsBetween%3E%3C%2Fogc%3AFilter%3E%3Csld%3APolygonSymbolizer%3E%3Csld%3AFill%3E%3Csld%3ACssParameter%20name%3D%22fill%22%3E%23FFFF80%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22fill-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AFill%3E%3Csld%3AStroke%3E%3Csld%3ACssParameter%20name%3D%22stroke%22%3E%23FF3300%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-width%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linejoin%22%3Eround%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linecap%22%3Eround%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AStroke%3E%3C%2Fsld%3APolygonSymbolizer%3E%3C%2Fsld%3ARule%3E%3Csld%3ARule%3E%3Csld%3AName%3E785%20-%201571%3C%2Fsld%3AName%3E%3Csld%3ATitle%3E785%20-%201571%3C%2Fsld%3ATitle%3E%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsBetween%3E%3Cogc%3APropertyName%3EPOP1990%3C%2Fogc%3APropertyName%3E%3Cogc%3ALowerBoundary%3E%3Cogc%3ALiteral%3E785%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3ALowerBoundary%3E%3Cogc%3AUpperBoundary%3E%3Cogc%3ALiteral%3E1571%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3AUpperBoundary%3E%3C%2Fogc%3APropertyIsBetween%3E%3C%2Fogc%3AFilter%3E%3Csld%3APolygonSymbolizer%3E%3Csld%3AFill%3E%3Csld%3ACssParameter%20name%3D%22fill%22%3E%23F7C348%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22fill-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AFill%3E%3Csld%3AStroke%3E%3Csld%3ACssParameter%20name%3D%22stroke%22%3E%230033FF%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-width%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linejoin%22%3Eround%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linecap%22%3Eround%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AStroke%3E%3C%2Fsld%3APolygonSymbolizer%3E%3C%2Fsld%3ARule%3E%3Csld%3ARule%3E%3Csld%3AName%3E1572%20-%204737%3C%2Fsld%3AName%3E%3Csld%3ATitle%3E1572%20-%204737%3C%2Fsld%3ATitle%3E%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsBetween%3E%3Cogc%3APropertyName%3EPOP1990%3C%2Fogc%3APropertyName%3E%3Cogc%3ALowerBoundary%3E%3Cogc%3ALiteral%3E1572%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3ALowerBoundary%3E%3Cogc%3AUpperBoundary%3E%3Cogc%3ALiteral%3E4737%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3AUpperBoundary%3E%3C%2Fogc%3APropertyIsBetween%3E%3C%2Fogc%3AFilter%3E%3Csld%3APolygonSymbolizer%3E%3Csld%3AFill%3E%3Csld%3ACssParameter%20name%3D%22fill%22%3E%23C46D1B%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22fill-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AFill%3E%3Csld%3AStroke%3E%3Csld%3ACssParameter%20name%3D%22stroke%22%3E%2333FF00%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-opacity%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-width%22%3E1%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linejoin%22%3Eround%3C%2Fsld%3ACssParameter%3E%3Csld%3ACssParameter%20name%3D%22stroke-linecap%22%3Eround%3C%2Fsld%3ACssParameter%3E%3C%2Fsld%3AStroke%3E%3C%2Fsld%3APolygonSymbolizer%3E%3C%2Fsld%3ARule%3E%3C%2Fsld%3AFeatureTypeStyle%3E%3C%2Fsld%3AUserStyle%3E%3C%2Fsld%3ANamedLayer%3E%3C%2Fsld%3AStyledLayerDescriptor%3E&BBOX=-122.64942090625,37.6087920625,-122.25391309375,37.8724639375&WIDTH=1152&HEIGHT=768
样本请求 3 的响应: