使用 Openlayers 的 WFS 请求中出现奇怪的错误
Posted
技术标签:
【中文标题】使用 Openlayers 的 WFS 请求中出现奇怪的错误【英文标题】:Strange error in WFS request with Openlayers 【发布时间】:2015-02-10 10:31:35 【问题描述】:我使用 OpenLayers 库编写了一个脚本来从 Geoserver 获取一些图层并将它们显示在地图上。我同时使用 WMS 和 WFS 层。 在 Windows 操作系统中的本地主机(MAMP)中一切正常。 现在我必须在 UBUNTU 12.10 系统中迁移。虽然我正确获得了 WMS,但我无法获得 WFS。
我使用了 firebug,这是 POST 请求:
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="rural:foc_network" srsName="EPSG:4326" xmlns:rural="http://www.opengeospatial.net/rural">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:BBOX>
<gml:Envelope xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">
<gml:lowerCorner>21.831815896484 37.948519811767</gml:lowerCorner>
<gml:upperCorner>22.346800027344 38.120181188719</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
这是 POST 响应(实际上是我的 cgi 文件的内容:
#!/usr/bin/env python
"""This is a blind proxy that we use to get around browser
restrictions that prevent the javascript from loading pages not on the
same server as the Javascript. This has several problems: it's less
efficient, it might break some sites, and it's a security risk because
people can use this proxy to browse the web and p
在 firegu 的 XML 标记中我得到这个错误:
XML Parsing Error: not well-formed Location: moz-nullprincipal:79ed7c81-0daf-4525-a315-808f0894befd Line Number 1, Column 2:
#!/usr/bin/env python
你知道这里出了什么问题吗?路径:#!/usr/bin/env python 是否设置错误?或者还有什么问题?
这是我的 WFS 请求:
wfs_layer_komvoi = new OpenLayers.Layer.Vector("Κόμβοι",
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS(
version: "1.1.0",
url: "http://localhost:8080/geoserver/wfs",
featurePrefix: "rural", //workspace from geoserver
featureType: "komvoi_real", //layer name from geoserver
featureNS : "http://www.opengeospatial.net/rural", //namespace from geoserver
styles: "point"
)
)
谢谢 D.
【问题讨论】:
【参考方案1】:看来问题出在网络上。地理服务器和您的应用程序是否有代理? 您是否尝试过使用地理服务器界面来显示您的 WFS 文件而不是您的应用程序?
【讨论】:
以上是关于使用 Openlayers 的 WFS 请求中出现奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章
openlayers6结合geoserver利用WFS服务实现图层删除功能(附源码下载)
OpenLayers 3 中来自 QGIS 服务器的 WFS
使用 Openlayers/Geoserver 从我的 WFS 源更改 srsName