2010-07-11 86 views
1

我正在学习使用MapServer创建WMS服务,之后我想开发一个可以访问它的PyQt桌面应用程序。我不知道最好的办法是什么,因为我看到了很多网络解决方案,但这不是我想要的。我也不知道是否有图书馆可以帮助我。你能给我一些建议吗?有关创建WMS服务和桌面客户端的建议?

在此先感谢!

回答

1

我假设你在MapServer上设置WMS服务没有问题。测试这是与一个GIS桌面客户端,或一个简单的OpenLayers网页。

要开发WMS客户端,我会在GDAL库之上构建。这也包含在MapServer中。

GDAL具有从远程WMS服务器读取的图像 的能力,和治疗 它们作为它的任何其它数据源: 这意味着它可以采取 图像,并将其转换为任何其它 格式,从JPEG2000到GeoTIFF。

http://crschmidt.net/blog/archives/285/producing-a-large-image-from-openaerialmap/

作为额外的奖励GDAL包括Python绑定将与脚本帮助。

http://pypi.python.org/pypi/GDAL/

您还需要的libcurl访问的URL。 libcurl也有Python绑定 - http://curl.haxx.se/libcurl/python/

libcurl也包含在MapServer中,它本身可以是WMS服务器和客户端。您还可以查看C++源代码了解MapServer客户端的工作原理 - https://trac.osgeo.org/mapserver/browser/branches/branch-5-6/mapserver/mapwmslayer.c

WMS服务返回一个图像(除了一些额外的元服务之外),因此自定义开发将基于构建正确的WMS请求基于用户操作。

如果您希望获得更快的性能,请查看TileCache,它将缓存服务器上的WMS结果以便更快速地使用(也可以本地缓存)。

+0

伟大的回答gographika!非常感谢你!! – Alfre2 2010-07-13 08:10:32