“样式化图层描述符”(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 Manager 中:
- 按照 WMS 服务中强调的指导原则发布 WMS 服务。
- 使用 SLD 语法创建 XML 文档,为要发布的各 WMS 图层定义其他样式。可以将此 SLD XML 文档保存到本地磁盘或使其可作为 URL 访问。
- 打开 Manager 并登录。如需此步骤的帮助,请参阅登录 Manager。
- 单击服务 > 管理服务。
- 在管理服务模块中,找到您的服务并单击编辑 。如果列表中未显示该服务,那么其可能位于站点(根)文件夹下的某一子文件夹下。
- 在编辑模块中,单击功能。
- 在功能列表中,单击 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://gisserver.domain.com: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://gisserver.domain.com: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://gisserver.domain.com: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 的响应: