开发者

Some advices for creating a WMS service and a desktop client?

开发者 https://www.devze.com 2023-01-06 22:12 出处:网络
I\'m learning to create a WMS service using MapServer and after that I want to develop a PyQt desktop application which will access it. I don\'t know what is the best way to do that because I have see

I'm learning to create a WMS service using MapServer and after that I want to develop a PyQt desktop application which will access it. I don't know what is the best way to do that because I have seen a lot of web solutions but it's not what I'm looking for. Neither I开发者_如何学Go know if there are libraries that can help me. Can you give me some advices?

Thanks in advance!


I'm assuming you have no trouble setting up a WMS service on MapServer. Test this is working with a GIS desktop client, or a simple OpenLayers web page.

To develop a WMS client I'd build on top of the GDAL library. This is also included in MapServer.

GDAL has the ability to read images from a remote WMS server, and treat them as it does any other data source: which means that it can take the images, and convert them to any other format, from JPEG2000 to GeoTIFF.

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

As an added bonus GDAL includes Python bindings which will help with scripting.

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

You will also need libcurl to access URLs. libcurl too has Python bindings - http://curl.haxx.se/libcurl/python/

libcurl is also included in MapServer, which itself can be both a WMS server and client. You can also check out the C++ source code for how the MapServer client works - https://trac.osgeo.org/mapserver/browser/branches/branch-5-6/mapserver/mapwmslayer.c

A WMS service returns an image (apart from a few extra meta services), so the custom development will be based around building the correct WMS requests based on user actions.

If you want to have fast performance then have a look at TileCache which will cache the WMS results on the server for quicker use (and also cache locally).

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号