gpt4 book ai didi

geoserver - 带时间参数的 WFS GetFeature 查询不会在 geoserver 中过滤

转载 作者:行者123 更新时间:2023-12-02 09:09:28 28 4
gpt4 key购买 nike

我试图通过在geoserver中使用WFS GetFeature来获取一些按GML格式的日期过滤的数据,但该操作忽略了时间参数,只返回一个包含所有数据的巨大GML文件。这是我正在使用的查询:

http://localhost:8082/geoserver/it.geosolutions/ows?service=WFS&version=1.2.0&request=GetFeature&typeName=it.geosolutions:tsige&time=2011-07-25T00:00:00.0Z/2011-07-25T23:59:59.999Z

根据this ,WFS GetFeature操作中应该支持时间参数,所以不知道哪里出了问题。另外,我有哪些替代方案可以以 XML 或 JSON 格式或其他易于解析的格式获取按时间过滤的数据?

最佳答案

并非所有供应商实现都支持所有参数,这是使用 OGC 服务的乐趣之一。另请注意,GeoServer 实现了 WFS 1.0.0、1.1.0 和 2.0.0(不是上面示例中的 1.2.0)

您可以使用 OGC 过滤器通过(相对详细的)POST 请求执行您想要的操作,这可能适用于 GET,但我将其作为读者的练习...

<wfs:GetFeature 
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ows="http://www.opengis.net/ows"
xmlns:wfs="http://www.opengis.net/wfs"
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
service="WFS" version="1.1.0" outputFormat="JSON">
<wfs:Query typeName="it.geosolutions:tsige" srsName="EPSG:4326">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>your-time-variabe-here</ogc:PropertyName>
<ogc:Function name="dateParse">
<ogc:Literal>yyyy-MM-dd</ogc:Literal>
<ogc:Literal>2011-07-25</ogc:Literal>
</ogc:Function>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>your-time-variable-here</ogc:PropertyName>
<ogc:Function name="dateParse">
<ogc:Literal>yyyy-MM-dd</ogc:Literal>
<ogc:Literal>2011-07-26</ogc:Literal>
</ogc:Function>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>

您可以使用curl 进行测试,并将请求保存为wfs.xml

curl -d @wfs.xml -H "Content-Type: application/xml" "http://localhost:8082/geoserver/it.geosolutions/ows"

关于geoserver - 带时间参数的 WFS GetFeature 查询不会在 geoserver 中过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998614/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com