На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Поддерживает ли WMS сервис POST запросы с телом.

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebService
Страницы: 1
RSS
Поддерживает ли WMS сервис POST запросы с телом.
 
Добрый день!
В прошлом проекте реализовывал запросы к ГИС серверу (Geoserver) методом POST (не GET) с телом запроса. Делал это для того чтобы получать картинку с картами сервера + своим слоем, наложенным на эту карту (он и передавался в теле запроса).
Реализована ли данная возможность в WMS сервисе GIS WebService?

Пример тела запроса:
<?xml version="1.0" encoding="UTF-8"?>
http://www.opengis.net/ows"
           xmlns:gml="http://www.opengis.net/gml"
           version="1.3.0"
           service="WMS">

 <StyledLayerDescriptor version="1.0.0"
                        xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
                        xmlns="http://www.opengis.net/sld"
                        xmlns:ogc="http://www.opengis.net/ogc"
                        xmlns:xlink="http://www.w3.org/1999/xlink"
                        xmlns:dave="http://blasby.com"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <UserLayer>
.........................................................................................................................................................................................................................

   </UserLayer>

 </StyledLayerDescriptor>

 <BoundingBox>
   <gml:coord>
     <gml:X>0</gml:X>
     <gml:Y>0</gml:Y>
   </gml:coord>
   <gml:coord>
     <gml:X>500</gml:X>
     <gml:Y>500</gml:Y>
   </gml:coord>
 </BoundingBox>

 <Output>
   <Format>image/jpeg</Format>
   <Transparent>false</Transparent>
   <Size>
     <Width>501</Width>
     <Height>501</Height>
   </Size>
 </Output>

 <Exceptions>application/vnd.ogc.se+xml</Exceptions>

</ogc:GetMap>
 
Вы можете подать несколько слоёв через запятую в запросе GET.
У нас поддерживаются Post запросы по стандарту XMLRPC. Подробнее про формирование запроса по данному методу вы можете почитать в главе 7.1 руководства системного программиста
Вы также можете публиковать или создавать свои пользовательские слои, доступные только вам. И запрашивать с них данные.
Изменено: Владимир Железняков - 06.12.2016 15:11:19
 
Спасибо, но я имел ввиду немного другое: требуется получить картинку с наложением пользовательского слоя на слой с сервера. Причём пользовательский слой не храниться на сервере, а полностью описан в теле запроса.
Ситуация такова: на клиенте карта отображается с использованием OpenLayers, подложку получаем с сервера и поверх неё добавляются свои объекты (иконки, надписи...). Стоит задачи добавления карты (подложка с сервера + пользовательские иконки с клиента) в отчёты (где использовать OpenLayers невозможно). В предыдущем моём проекте WMS сервис Geoserver-ра справлялся с такой задачей.

Есть ли документация по структуре XMLRPC? Можно ли там полностью описать свой свой (в стандарте GML или другом)?

Пример XMLRPC запроса из главы 7.1 не проходит. Сервер отвечает "Request contains a Service not offered by the server."

Спасибо!
 
Есть метод LOADRSW - позволяет загрузить растровую картинку на сервер и опубликовать её в виде слоя.
Далее запрашивать дополнительно к подложке слой(слои) с картинкой.
Можно полностью описать свой слой по стандарту GML и опубликовать его - метод LoadGmlByXsd (только векторные данные и метаданные (подписи относятся к векторным данным)).

Есть возможность отображения слоёв в виде SVG графики в GeoJSON, хранящихся на клиенте, но для этого необходим либо GIS WebToolKit, либо GIS WebServer SE.
Возможность отображения картинки напрямую появится позднее в GIS WebToolKit и GIS WebServer SE.

В документация есть опечатка, поправим. Помимо xml, запрос выглядит следующим образом http://localhost/GISWebServiceSE/service.php?RESTMETHOD=GetFeature&service=WFS
Для создания XMLRPC запроса необходимо:
1) открыть документацию по запросу, например GetFeature
2) сформировать запрос, содержащий имя метода и стандарт(WMS, WFS, WCS, WMTS)  http://localhost/GISWebServiceSE/service.php?RESTMETHOD=GetFeature&service=WFS
3) сформировать xml с параметрами. Возможные параметры для каждого метода свои, описаны в документации к посылаемому методу.
Например необходимо подать параметр IdList, со значением NoginskEdit:2356, тогда часть xml будет выглядит следующим образом:
                                                                             <member>
                                                                                         <name>IdList</name>
                                                                                             <value>
                                                                                                             <string>NoginskEdit:2356</string>
                                                                                             </value>
                                                                             </member>
Если дополнительно к параметрам необходимо подать файл(например для метода LoadGmlByXsd ), то он кодируется в BASE64 и передаётся в теге
<member>
<name>FILEDATA</name>
<value>
<ba se64>2223ssfs </base64>
</value>
</member>
Про стандарт XMLRPC можете почитать здесь https://ru.wikipedia.org/wiki/XML-RPC
Изменено: Владимир Железняков - 07.12.2016 11:22:00
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности