【问题标题】:Some advices for creating a WMS service and a desktop client?关于创建 WMS 服务和桌面客户端的一些建议?
【发布时间】:2010-07-11 11:54:57
【问题描述】:

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

提前致谢!

【问题讨论】:

    标签: python pyqt gis 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 结果以便更快地使用(并在本地缓存)。

    【讨论】:

    • 很好的答案 gographika!非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多