Несколько советов по созданию сервиса WMS и настольного клиента?

1

Я изучаю создание службы WMS с помощью MapServer, и после этого я хочу разработать настольное приложение PyQt, которое будет обращаться к нему. Я не знаю, как лучше всего это сделать, потому что я видел много веб-решений, но это не то, что я ищу. Я также не знаю, есть ли библиотеки, которые могут мне помочь. Можете ли вы дать мне несколько советов?

Спасибо заранее!

Теги:
pyqt
gis
wms

1 ответ

1
Лучший ответ

Я предполагаю, что у вас нет проблем с настройкой службы WMS на MapServer. Тест это работает с настольным клиентом 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, так и клиентом. Вы также можете проверить исходный код С++, как работает клиент MapServer - https://trac.osgeo.org/mapserver/browser/branches/branch-5-6/mapserver/mapwmslayer.c

Служба WMS возвращает изображение (помимо нескольких дополнительных мета-сервисов), поэтому пользовательская разработка будет основана на построении правильных запросов WMS на основе действий пользователя.

Если вы хотите иметь быструю производительность, взгляните на TileCache, который будет кэшировать результаты WMS на сервере для более быстрого использования (а также кешировать локально).

  • 0
    Отличный ответ, географика! Большое спасибо!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню