Как получить информацию о параметрах WMS (GeoServer) ?

Кроме QGIS
spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 11 ноя 2010, 15:49

Здравствуйте!

Наша организация переходит с дорого, но хорошего ArcGIS на бесплатный GeoServer. В связи с этим возник вопрос следующего плана: можно ли получить через http-запрос параметы WMS-сервиса (какая проекция, начальный екстент, кэширован ли сервис и т.д.) ? Ранее мною использовался ArcGIS Server - там все это проходило просто: запрос вида

Код: Выделить всё

http://some_map_server_name/ArcGIS/rest/services/some_map_service/MapServer?f=json

возвращал в JSON-виде полную информацию об опубликованном сервисе, что-то вроде вот этого:

Код: Выделить всё

{
  "serviceDescription" : "", 
  "mapName" : "КРАСНОДАРСКИЙ КРАЙ", 
  "description" : "Цифровая модель местности на территорию Краснодарского края. включает слои:\nдорожные соорудения; дороги; улицы; отд. строения; грунты; рельеф; нас. пункты; кварт. и  прочие нас. пункты; растительность;гидрография; соц. эконом.;границы; текст.", 
  "copyrightText" : "", 
  "layers" : [
    {
      "id" : 0, 
      "name" : "1:10000", 
      "parentLayerId" : -1, 
      "defaultVisibility" : true, 
      "subLayerIds" : [1, 26, 30, 43, 48]
    }, 
... (тут перечисляются слои)
  ], 
  "spatialReference" : {
    "wkid" : 102100
  }, 
  "singleFusedMapCache" : false, 
  "initialExtent" : {
    "xmin" : 4422413.89639723, 
    "ymin" : 5367101.27538127, 
    "xmax" : 4500696.63257865, 
    "ymax" : 5427307.12852176, 
    "spatialReference" : {
      "wkid" : 102100
    }
  }, 
  "fullExtent" : {
    "xmin" : 4430726.91185294, 
    "ymin" : 5369672.04872473, 
    "xmax" : 4495416.41885532, 
    "ymax" : 5423978.1547452, 
    "spatialReference" : {
      "wkid" : 102100
    }
  }, 
  "units" : "esriMeters", 
  "supportedImageFormatTypes" : "PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ", 
  "documentInfo" : {
    "Title" : "KRASNODARSKIJ_KRAJ", 
    "Author" : "RAS", 
    "Comments" : "", 
    "Subject" : "", 
    "Category" : "", 
    "Keywords" : "", 
    "AntialiasingMode" : "Best", 
    "TextAntialiasingMode" : "Normal"
  }
}
Эту информацию в дальнейшем можно было парсить и настраивать поведение программы.
Интересует, в общем-то, можно ли получить подобную информацию о WMS-сервисе? Заранее спасибо за ответ.
Последний раз редактировалось spacecadet 12 ноя 2010, 14:58, всего редактировалось 1 раз.
На самом деле нет никакой обратной стороны луны

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 11 ноя 2010, 16:08

с дорого, но хорошего ArcGIS на бесплатный GeoServer
Сразу пропало желание отвечать на вопрос. Читайте стандарт WMS, ищите GetCapabilities.
лангольеры под окном жрали время ом-ном-ном

spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 11 ноя 2010, 16:58

Сразу пропало желание отвечать на вопрос.
Простите за любопытство, но чем Вам не угодил ArcGIS? Система действительно хорошая, поэтому и такая дорогая, думаю, отрицать это бессмысленно. Насчет GeoServer'а еще мнение не оформилось - только начинаю пользоваться, но пока все кажется нормальным и приемлемым. А если Вы считаете, что я имею что-то против GeoServer'а в частности и опенсорса вообще, то Вы глубоко заблуждаетесь.

За ссылку и наводку на GetCapabilities Вам преогромное спасибо, информация оказалась очень полезной. Как я понял, GetCapabilities-запрос возвращает краткое описание всех опубликованных слоев и еще параметры самого WMS-сервера, из этого можно вытащить необходимое. Но есть ли способы получать информацию именно по конкретному слою (группе слоев), чтобы не тащить весь исполинский xml? И как все-таки получить информацию о кешированном слое ( в частности очень интересует количество уровней кэширования и масштаб на каждом из них) ?
На самом деле нет никакой обратной стороны луны

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 11 ноя 2010, 17:53

Хороший. Только они отказались участвовать в соревновании :wink: (Erdas и Oracle там были 8)). Но это оффтопик.
получать информацию именно по конкретному слою
Насколько я знаю, нет. Параметр format в GeoServer не принимается, поэтому только xml. Информация по слою есть еще в DescribeLayer, но это из другой оперы (из стандарта SLD).
информацию о кешированном слое
Коэширование относится к сервисам WMS-C и WTMS, они в GeoServer в общем виде отсутствуют. А в частности, там встроен GeoWebCache. Вот у него и надо поспрашивать.
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 11 ноя 2010, 18:00

лангольеры под окном жрали время ом-ном-ном

spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 12 ноя 2010, 12:21

Спасибо Вам за информацию, вопрос можно считать закрытым.
На самом деле нет никакой обратной стороны луны

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 12 ноя 2010, 12:30

Можно еще поставить REST extension, написать скрипт и получать информацию через него.
лангольеры под окном жрали время ом-ном-ном

spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 12 ноя 2010, 14:16

О, REST я уважаю вполне! Но даст ли это что-либо помимо той информации, что содержится в xml-ответах на GetCapabilities, не знаете случайно?

UPD: Установил расширение, посмотрел. По REST еще меньше данных можно вытянуть чем по GetCapabilities :( . Зато можно удобно управлять опубликованными слоями, воркспейсами и хранилищами. Но мне пока этого не нужно.
На самом деле нет никакой обратной стороны луны

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 12 ноя 2010, 14:54

Извините, я его пристально не разглядывал. Думал, он на уровне MapScript по возможностям.
лангольеры под окном жрали время ом-ном-ном

spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 12 ноя 2010, 14:55

И еще вопрос - насколько я понял, понятие о количестве уровней кеширования для GeoWebCache не имеет смысла, так как недостающие тайлы генерируются на лету при соответствующем запросе, это так?
На самом деле нет никакой обратной стороны луны

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 12 ноя 2010, 15:08

К сожалению, с GeoServer и GWC я не работал больше года. В документации вопрос не освещен.

Если GeoWebCache установлен как отдельное приложение, то уровни кэша прописываются в файле конфигурации (раньше так было). Из автоматически настраивающихся кэшей я знаю GeoJazzy.
лангольеры под окном жрали время ом-ном-ном

spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 12 ноя 2010, 15:15

Mavka писал(а):то уровни кэша прописываются в файле конфигурации
Да, полностью согласен, но этот файл через http не вытянешь, он хранится локально на диске.
spacecadet писал(а):насколько я понял, понятие о количестве уровней кеширования для GeoWebCache не имеет смысла, так как недостающие тайлы генерируются на лету при соответствующем запросе
Такой вывод я сделал, ознакомившись с документацией на вашем же прекрасном ресурсе (http://gis-lab.info/qa/geowebcache.html предпоследний абзац), может быть я не так понял... :?
На самом деле нет никакой обратной стороны луны

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 12 ноя 2010, 15:45

Я писал статью про версию 1.1. С выходом 1.2 программа капитально изменилась. Там полностью переработали механизм сеток, масштабов и зумов. И, как я уже говорил, мне больше года не приходилось пользовался GWC.

Предпоследний абзац: тайлы - генерируются автоматически при первом запросе, но количество зумов и соответствующие масштабы задаются жестко в конфигурации.

В GeoServer есть спец. библиотека, которая полностью заменяет файл настроек у standalone-версии. И вот ее возможности я совершенно не исследовал. Насколько она умная? Рассчитана на систему тайлов Google и 22 зума, использует жестко вшитые или подстраивающиеся параметры?
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение Mavka » 12 ноя 2010, 15:52

А из "WMTS 1.0.0 GetCapabilities document" получить нужные вам данные не получается?

Например, первый слой - "geosample:admin" / TileMatrixSet: "EPSG:900913"
Спускаемся ниже, находим соответствующий TileMatrixSet.
Видим 30 уровней зума, в каждом прописан масштаб (ScaleDenominator).
лангольеры под окном жрали время ом-ном-ном

spacecadet
Новоприбывший
Сообщения: 9
Зарегистрирован: 11 ноя 2010, 15:35
Репутация: 0

Re: Как получить информацию о параметрах WMS (GeoServer) ?

Сообщение spacecadet » 12 ноя 2010, 16:06

Да, я смотрел и этот запрос. Но полученная информация же совсем не означает, что слой "geosample:admin" кеширован на 30 уровней зума. Может он кеширован на два уровня, а я пользователю предоставлю ползунок с 30 позициями - и что он в итоге будет наблюдать?
В общем, я в замешательстве. Скорее всего придется для моего веб-проекта создавать xml-файл конфигурации и в нем вручную пробивать все нужные параметры WMS-сервиса. Жаль, думал все получится так же просто как с ArcGIS-сервисами..
На самом деле нет никакой обратной стороны луны

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость