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

алгоритм программной загрузки и публикации карт

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebService
Страницы: 1
RSS
алгоритм программной загрузки и публикации карт
 
Здравствуйте

Хотим решить следующую задачу программным способом.

Задача:

Есть карты форматов: sit,sitx,mptz и SXF хочу разместить их на гис вебсервисе полностью через api.
Подскажите последовательность вызова методов, чтобы выполнить эту задачу:
1 загрузить файлы
2 создать слой
3 получить ссылку на слой
и т.п. прямо какие метода за какими вызывать.
 
Добрый день.
Для публикации данных из обменных форматов достаточно вызвать метод LoadData методом POST и передать в него zip архив с публикуемыми данными (sxf + классификатор).
http://localhost/GISWebServiceSE/loadData?serviceversion=151200&outtype=JSON&crs=EPSG%3A3857
Либо предварительно загрузив данные на сервер методом, указав путь к данным. метод GET http://localhost/GISWebServiceSE/loadData?serviceversion=151200&outtype=JSON&crs=EPSG%3A3857&filename=­путь к данным.

Загрузить данные на сервер возможно использовав метод uploadfile или загрузив данные в заранее установленную виртуальную/пользовательскую папку.  

При загрузке методом uploadfile данные загружаются в первую доступную для пользователя пользовательскую папку, указанную в настройках сервиса.
Вызывается метод POST http://localhost/GISWebServiceSE/service.php?method=uploadfile&uploadid=md5(guid())&action=upload и дополнительно передаётся часть файла для загрузки
Дополнительно передаётся к запросу устанавливаются 2 headers.
header - CONTENT-DISPOSITION : attachment; filename=1.tif
header - CONTENT-RANGE : bytes 0-4095/325694

При загрузке в пользовательскую папку данные доступны сразу при загрузке. Идентификатор слоя для обращения - USERFOLDER#Алиас_папки/путь к данным.sitx
Получить список доступных данных в папке возможно методом getUserFolderList.
В сервисе можно настроить автоматическую публикацию данных из виртуальных папок. Данные, попавшие в эту папку будут автоматически публиковаться https://gistoolkit.com/download/doc/giswebservicesedoc1.pdf#page=83&zoom=100,72,94
Для форматов sit,sitx,mptz доступна публикация только через папки виртуальные или пользовательские. В следующих версиях планируется добавление данных форматов в метод LoadData.
 
Цитата
Владимир Железняков написал:
Добрый день.
Для публикации данных из обменных форматов достаточно вызвать метод LoadData методом POST и передать в него zip архив с публикуемыми данными (sxf + классификатор).
http://localhost/GISWebServiceSE/loadData?serviceversion=151200&outtype=JSON&crs=EPSG%3A3857  
Либо предварительно загрузив данные на сервер методом, указав путь к данным. метод GET   http://localhost/GISWebServiceSE/loadData?serviceversion=151200&outtype=JSON&crs=EPS...= ­путь   к данным.

Загрузить данные на сервер возможно использовав метод uploadfile или загрузив данные в заранее установленную виртуальную/пользовательскую папку.  

При загрузке методом uploadfile данные загружаются в первую доступную для пользователя пользовательскую папку, указанную в настройках сервиса.
Вызывается метод POST  http://localhost/GISWebServiceSE/service.php?method=uploadfile&uploadid=md5(guid())&action=upload  и дополнительно передаётся часть файла для загрузки
Дополнительно передаётся к запросу устанавливаются 2 headers.
header - CONTENT-DISPOSITION : attachment; filename=1.tif
header - CONTENT-RANGE : bytes 0-4095/325694

При загрузке в пользовательскую папку данные доступны сразу при загрузке. Идентификатор слоя для обращения - USERFOLDER#Алиас_папки/путь к данным.sitx
Получить список доступных данных в папке возможно методом getUserFolderList.
В сервисе можно настроить автоматическую публикацию данных из виртуальных папок. Данные, попавшие в эту папку будут автоматически публиковаться  https://gistoolkit.com/download/doc/giswebservicesedoc1.pdf#page=83&zoom=100,72,94
Для форматов sit,sitx,mptz доступна публикация только через папки виртуальные или пользовательские. В следующих версиях планируется добавление данных форматов в метод LoadData.

метод upload попробую спасибо.

Про автоматическую публикацию не понял, вот что я сделал

положил один файл mptz в каталог /var/Panorama/appservice/Data/
второй файл mptz в каталог /var/Panorama/appservice/UserMaps/

нажал как в инструкции Автоматическое добавление данных, и новых опубликованных карт не появилось, в чём может быть причина?
 
Чтобы данные из виртуальных папок добавились в настройках папки должно стоять свойство - Обновление данных.
Для Пользовательских папок ничего нажимать не надо. Данные из них сразу доступны, но в общий файл настроек они не попадают.  Алиас слоя для доступа из пользовательской папки USERFOLDER#Алиас_папки/путь к данным.sitx
 
Цитата
Владимир Железняков написал:
Чтобы данные из виртуальных папок добавились в настройках папки должно стоять свойство - Обновление данных.
Для Пользовательских папок ничего нажимать не надо. Данные из них сразу доступны, но в общий файл настроек они не попадают.  Алиас слоя для доступа из пользовательской папки USERFOLDER#Алиас_папки/путь к данным.sitx
т.е. если положил файл в /var/Panorama/appservice/UserMaps/ то метод /getCapabilities не вернёт этот слой?
 
методы /getUserFolderList и /getGisServerFolderList возвращают ошибку

Код
Error: Not Found
Response bodyDownload

<?xml version="1.0" encoding="utf-8" ?>
  <ServiceExceptionReport version="15.7.0" xmlns="http://www.opengis.net/ogc"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ServiceException code="SocketError" locator="SOCKET ERROR">Internal mapserver error - socket_read() failed: The resulting command does not correspond to the format received.</ServiceException>
  </ServiceExceptionReport>

Response headers access-control-allow-headers: Origin,Content-Type,authorization-token,authorization-email,content-range,content-disposition 
 access-control-allow-methods: GET,POST,OPTIONS 
 access-control-allow-origin: * 
 access-control-expose-headers: Origin,Content-Type,authorization-token,authorization-email,content-range,content-disposition 
 connection: keep-alive 
 content-encoding: gzip 
 content-type: text/xml;charset=utf-8 
 date: Tue,15 Apr 2025 03:48:53 GMT 
 server: nginx 
 transfer-encoding: chunked 
 vary: Accept-Encoding 

 
метод http://192.168.7.7/GISWebServiceSE/service.php?RESTMETHOD=GETGISSERVERFOLDERLIST возвращает пустоту, почему пустой?
 
Цитата
Константин Батманов написал:
Цитата
Владимир Железняков написал:
Чтобы данные из виртуальных папок добавились в настройках папки должно стоять свойство - Обновление данных.
Для Пользовательских папок ничего нажимать не надо. Данные из них сразу доступны, но в общий файл настроек они не попадают.  Алиас слоя для доступа из пользовательской папки USERFOLDER#Алиас_папки/путь к данным.sitx
т.е. если положил файл в /var/Panorama/appservice/UserMaps/ то метод /getCapabilities не вернёт этот слой?
Не вернёт.
 
Цитата
Константин Батманов написал:
getGisServerFolderList
Запрос может вернуть пустоту, если на сервисе нет виртуальных папок с ГИС Сервера (пустота - старый формат ответа). Чтобы сервис выдавал данные в новом формате всегда добавляйте параметр serviceversion=151200
https://gisserver.info/GISWebServiceSE/service.php?RESTMETHOD=getGisServerFolderList&outtype=json&serviceversio­n=151200
 
Цитата
Константин Батманов написал:
методы /getUserFolderList и /getGisServerFolderList возвращают ошибку

Код
 Error: Not Found
Response bodyDownload

<?xml version="1.0" encoding="utf-8" ?>
  <ServiceExceptionReport version="15.7.0" xmlns="http://www.opengis.net/ogc"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ServiceException code="SocketError" locator="SOCKET ERROR">Internal mapserver error - socket_read() failed: The resulting command does not correspond to the format received.</ServiceException>
  </ServiceExceptionReport>

Response headers access-control-allow-headers: Origin,Content-Type,authorization-token,authorization-email,content-range,content-disposition 
 access-control-allow-methods: GET,POST,OPTIONS 
 access-control-allow-origin: * 
 access-control-expose-headers: Origin,Content-Type,authorization-token,authorization-email,content-range,content-disposition 
 connection: keep-alive 
 content-encoding: gzip 
 content-type: text/xml;charset=utf-8 
 date: Tue,15 Apr 2025 03:48:53 GMT 
 server: nginx 
 transfer-encoding: chunked 
 vary: Accept-Encoding 

 
Скорее всего служба была не запущена.
Страницы: 1
Читают тему (гостей: 2)



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

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