Создание WMS сервера на базе GRASS и Pyramid
Добавлено: 04 май 2014, 20:46
Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
https://gis-lab.info/forum/
Код: Выделить всё
var wms_layer = new OpenLayers.Layer.WMS("GRASS WMS", '/wms', {
layers: "admin@PERMANENT,modis_composite@PERMANENT"
},{
Немного расширил текст стать, описал ответ на этот вопрос.Александр Мурый писал(а): Чего не хватает:
- пояснений для несообразительных, куда вписывать имена нужных растровых/векторных карт (как я понял, уже в коде веб-страницы?)Код: Выделить всё
var wms_layer = new OpenLayers.Layer.WMS("GRASS WMS", '/wms', { layers: "admin@PERMANENT,modis_composite@PERMANENT" },{
Добавил такой подраздел. На всякий случай еще в начале статьи добавил ссылки на установщики ПО.Александр Мурый писал(а): - стыдно сказать, но мне не хватило такой элементарщины, как конечное использование всего этого дела. Как увидеть результат работы скрипта (ну типа "а теперь открываем наш браузер и набираем в адресной строке "localhost:8080"").
При запуске сервера ему можно передавать параметры, в том числе параметр, отвечающий за объем вывода отладочной информации. Я не стал совать в статью еще и это (все это описано в доках Pyramid).Александр Мурый писал(а): - не по теме, просто попутный вопрос: как запустить наш питон-скрипт в режиме "демона", просто запустить как фоновый процесс? А то он засоряет stdout кучей букв.
Код: Выделить всё
<div id="map-div" style="height: 600px; width: 800px;"></div>
Да, полностью согласен. Просто я не хотел вводить в статью описание еще одного файла с настройками, а в реальных проектах --- конечно нужно делать так.Denis Rykov писал(а):Описывать переменные окружение (gisdbase, location) лучше в .ini файле, избегая хардкода.
Совершенно верно, строго говоря, это не совсем WMS. А если быть честным, то это совсем не WMS.Denis Rykov писал(а):Я вот только не совсем уверен, что использование термина "WMS" в смысле стандарта OGC уместно в данной статье. Ведь не любой HTTP-сервис, принимающий на вход список слоёв, охват и размеры выходной картинки - это WMS-сервис?
Максим, ты неисправимый оптимист ) До реализации WPS еще дальше, чем до реализации WMS. Хотя, конечно -- да, я планировал сделать небольшую серию статей. Первая статья про создание WMS на базе GRASS, а вторая -- использование GRASS как WPS сервера.Максим Дубинин писал(а):мне тоже кажется что получился не WMS, а WPS сервер) Это не очень важно, но возможно стоит где-то добавить что термин "WMS" в данном случае используется в условном смысле, что спецификации это соответствует частично или вообще не соответствует(?) и т.д.
Конечно, и в текущем варианте можно заворачивать любые функции, но это нужно делать руками, прописывая команды в функции обработки данных. Но у меня была мысль сделать еще одну статью, ссылающуюся на первую, в которой прописать механизм передачи тех или иных команд для выполнения на сервере. Тогда схема обработки запроса была бы такой: получить исходный(е) файл(ы) для обработки, получить команду/скрипт для исполнения, выполнить команду, вернуть результат по WMS.Максим Дубинин писал(а): по статье, в самом начале не хватает пары общих предложений описывающих почему это круто и что таким образом можно заворачивать любые функции и что можно например...например.... Я понимаю что это очевидно, но я бы добавил.
Небольшое замечание: эта фраза теряется в тексте, желательно либо убрать в конец, либо как-то выделить. Ну и слово "модуль" здесь не совсем применимо, т.к. скрипт выполняется не в самой GRASS и нет каких-либо специальных параметров/опций, как в обычных грассовских модулях.Исходный код модуля описанный в статье доступен по ссылке: Файл:Grass wms.zip.