将OpenLayers.Layer.WMS导出为GeoJSON / KML

3
我正在寻找一种使用OpenLayers和Geoserver将WMS图层的特定区域导出为XML格式(GeoJSON、GML、KML)的方法。 我已经找到了如何使用OpenLayers.Format.GeoJSON.write()方法导出要素对象,但该方法只允许转换要素对象或几何对象。
我的一个想法示例是:我正在查看某个国家的地图,并在其中加入了几个WMS图层的一些数据。然后我缩放到该国的特定州,并希望将我正在查看的内容导出为GeoJSON或KML,以便在桌面GIS应用程序(如QGIS)中使用。
有谁知道如何做到这一点吗?
谢谢。
2个回答

2

GeoServer WMS可以返回KML格式的数据,因为它是一种类似于SVG的样式化格式,但不支持返回GeoJSON格式,这种格式由WFS生成,因为它只是原始数据。 要返回KML格式,只需像请求PNG格式一样发出相同的请求,但将输出格式设置为"kml"。


感谢@Andrea Aime。我正在尝试这个,但我还有另一个问题。当我导出一个包含多个几何体的kml时,Qgis会加载kml,但不会显示kml。当我查看属性时,我发现没有关联几何类型。 - Lucas

0

感谢@olly_uk。显然,Qgis正在实现WMC。[http://hub.qgis.org/projects/17/wiki/QGISWebClientIdeas/annotate/1] - Lucas
那么,使用OpenLayers或Geoserver为WMS图层实现导出到GeoJSON/KML的策略是没有机会了吗? 我在考虑直接使用PostGIS表格来实施我的导出策略。您认为这样做值得吗? - Lucas
不确定这两个标准(尽管GeoJSON并不真正是一个标准)是否能够实现。另外,您如何让QGIS理解您的自定义输出? - olly_uk
Qgis支持GeoJSON、KML和GML格式。我想要的是将我在地图上看到的数据以任何桌面GIS应用程序可用的格式导出。 - Lucas
但是如果没有后端WMS信息,GeoJSON实际上会做什么呢?再次强调,WMS仅返回图像,它们如何转换为JSON? - olly_uk
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接