Web services 用于QGIS的WFS 2.0.0插件中WFS 2.0.0中存储的查询

Web services 用于QGIS的WFS 2.0.0插件中WFS 2.0.0中存储的查询,web-services,geolocation,maps,qgis,Web Services,Geolocation,Maps,Qgis,我正在为主题地籍数据库在INSPIRE web服务上测试StoredQuery。当我在浏览器中运行它时,一切正常,但当我试图使用Jürgen Weichand的WFS 2.0.0插件通过QGIS(1.8.0版Lisboa)获取功能时,我遇到了以下错误: Traceback (most recent call last): File "C:/Users/medm/.qgis//python/plugins\wfsclient\wfsclientdialog.py", line 727, in ht


我正在为主题地籍数据库在INSPIRE web服务上测试StoredQuery。当我在浏览器中运行它时,一切正常,但当我试图使用Jürgen Weichand的WFS 2.0.0插件通过QGIS(1.8.0版Lisboa)获取功能时,我遇到了以下错误:

Traceback (most recent call last):
File "C:/Users/medm/.qgis//python/plugins\wfsclient\wfsclientdialog.py", line 727, in httpRequestFinished
root = ElementTree.parse(str(self.outFile.fileName())).getroot()
File "C:\PROGRA~1\Quantum GIS Lisboa\apps\Python27\lib\xml\etree\ElementTree.py", line 1177, in parse
tree.parse(source, parser)
File "C:\PROGRA~1\Quantum GIS Lisboa\apps\Python27\lib\xml\etree\ElementTree.py", line 654, in parse
self._root = parser.close()
File "C:\PROGRA~1\Quantum GIS Lisboa\apps\Python27\lib\xml\etree\ElementTree.py", line 1636, in close
self._raiseerror(v)
File "C:\PROGRA~1\Quantum GIS Lisboa\apps\Python27\lib\xml\etree\ElementTree.py", line 1488, in _raiseerror
raise err
ParseError: no element found: line 1, column 0

Version of Python:
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]


QGIS version:
1.8.0-Lisboa Lisboa, f440b60

Python path: ['C:/PROGRA~1/Quantum GIS Lisboa/apps/qgis/./python', 
'C:/Users/medm/.qgis//python', 'C:/Users/medm/.qgis//python/plugins', 
'C:/PROGRA~1/Quantum GIS Lisboa/apps/qgis/./python/plugins',
'C:\\PROGRA~1\\Quantum GIS Lisboa\\bin\\python27.zip', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\DLLs', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\plat-win', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\lib-tk', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\qgis\\bin', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\site-packages',
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\site-packages\\PIL', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\site-packages\\win32', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\site-packages\\win32\\lib', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\site-packages\\Pythonwin', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode', 
'C:\\PROGRA~1\\Quantum GIS Lisboa\\apps\\qgis\\python\\plugins\\fTools\\tools']
以下是我在浏览器中使用的查询:


请注意,
标记中的参数是大括号,因此链接的实际地址是
http://services.cuzk.cz/wfs/inspire-cp-wfs.asp?service=wfs&version=2.0.0&request=getFeature&storedQuery_id=GetParcel&srsName=EPSG::5514&KATUZE_KOD=601527&TEXT_DEF_BOD=1


同样,QGIS WFS 2.0.0插件中也填写了参数:
我想给她放一张截图,但我没有足够的声誉。 浏览器和WFS 2.0.0插件中的查询参数完全相同。然后,当我单击getFeatures时,我发现了一个错误。
有人能帮我吗?还是有人有类似的问题?

谢谢
迈克尔

我测试了你的例子:

  • Windows上的QGIS 1.8和WFS 2.0客户端0.8.4→ 失败
  • Linux上的QGIS 1.8和WFS 2.0客户端0.8.4→ 很好
我将对此做更多的调查(例如URL编码)

为什么对参数使用fes:Literal而不是xs:String(或xs:int)

使用fes:Literal的GetFeature示例

http://services.cuzk.cz/wfs/inspire-cp-wfs.asp?service=WFS&request=GetFeature&version=2.0.0&STOREDQUERY_ID=GetParcel&KATUZE_KOD=<Literal xmlns="http://www.opengis.net/fes/2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string">601527</Literal>&TEXT_DEF_BOD=<Literal xmlns="http://www.opengis.net/fes/2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string">1</Literal>

这很奇怪,在我的例子中,它在Linux和Windows中都失败了,并且出现了相同的错误。您使用的是什么分发?我使用的是Ubuntu12.04.xs:String可能是更好的解决方案,我不喜欢这种长文本结构,但这不是主要问题。但值得注意的是,我与您分享您的观点12.1-QGIS 1.8.0-8.10与GDAL 1.10-5.6//OT:GDAL 1.10检测正确的几何体(地块本身,而不是参考点)我使用的是GDAL 1.9.2。这可能就是问题所在。我将再次实施和测试。
http://services.cuzk.cz/wfs/inspire-cp-wfs.asp?service=WFS&request=GetFeature&version=2.0.0&STOREDQUERY_ID=GetParcel&KATUZE_KOD=601527&TEXT_DEF_BOD=1