На сайте www.gis-lab.info/blog размещена статья одного из пользователей ресурса "Почему WMS ≠ Интернет".
В материале разъясняется, почему создание веб-карты не начинается с установки сервера WMS. Но так получилось, что разговор ушел в сторону WFS/WCS и на MapFish с MapBender места не нашлось. По мнению автора, в итоге статья больше заинтересует разработчиков настольных программ, чем веб-программистов.
Замечания, полученные в процессе редактирования и не раскрытые в тексте статьи:
Один из рецензентов указал, что функция json_encode некорректно ведет себя при использовании с кириллицей.
Я (автор - прим.) не сталкивался с ошибками, но согласно документации она работает только с данными в кодировке UTF-8. Возможно, стоит это учитывать.
Второй вопрос касался сервиса WCS. Если для WFS возможность изменения данных, то есть передача данных от клиента на сервер, реализуется с помощью WFS-T, то как это осуществляется в WCS?
Расширение «Transaction operation» впервые было введено для WCS 1.1. Операция не относится к основным и сервер WCS не обязан ее поддерживать (как, впрочем, и сервер WFS в аналогичной ситуации). Всего описано 5 операций с правом создания дополнительных:
― Add/Delete – добавить новый или удалить существующий грид (покрытие)
― UpdateAll/UpdateDataPart – обновить в указанном гриде все пиксели или их часть
― UpdateMetadata – изменить метаданные такие как имя грида, географические границы (bbox), число пикселей, описание каналов, диапазоны значений и т.п.
Процесс выглядит так: клиент отправляет на сервер документ с описанием операции (запрос POST). Например, вы обработали грид и решили обновить исходное покрытие «MyGrid» на сервере целиком.
Указываются новые пиксели, обновленные метаданные и система координат. Здесь данные передаются не непосредственно, а только в виде ссылок на файлы. Но можно было их включить в само тело документа, через обычные внутренние ссылки XML.
После получения запроса сервер выполнит указанную операцию и ответит клиенту что «все ОК». Вот так выглядят транзакции WCS в упрощенном виде.