REST Загрузка шейп-файла - PullRequest
3 голосов
/ 07 августа 2009

Я пытаюсь загрузить файл формы с помощью REST API. Вот ошибка, которую я получаю: Нет такого хранилища данных: ws1, nete

Я установил версию 1.7.5 вместе с плагином restconfig-1.7.5.jar.

Вот что я делаю: 1) Создать рабочее пространство ws1

curl -u admin: геосервер -v -XPOST -H 'Тип содержимого: текст / xml' -d 'ws1'localhost: 8080 / геосервер / остальные / рабочие пространства

2) Проверить рабочее пространство

curl -XGET -H 'Принять: текст / xml' localhost: 8080 / геосервер / остальные / рабочие пространства / ws1

ответ в порядке

3) Загрузить шейп-файл

curl -u admin: geoserver -XPUT -H 'Тип содержимого: application / zip' --data-binary @ roads.zip localhost: 8080 / geoserver / rest / workspaces / ws1 / datastores / roads / file.shp

Ответ:

Предупреждение: не удалось прочитать данные из файла "roads.zip", это приводит к пустому POST. Произошла ошибка при распаковке файла: ошибка при открытии zip

нужна помощь, пожалуйста !!!

1 Ответ

3 голосов
/ 29 октября 2010

Я задал себе ту же проблему сегодня и наконец решил ее. Я использую Geoserver 2.0.2 с расширением REST.

Следующая команда curl работает:

curl -u admin:geoserver -v -XPUT -H 'Content-type: application/zip' --data-binary @/home/shape.zip http://localhost:8085/geoserver/rest/workspaces/ws/datastores/test1/file.shp

Файл "перед" .shp "произвольный, используйте то, что вам нравится.

"test1" - это имя нового хранилища данных.

"/ home / shape.zip" - это путь к сжатому шейп-файлу. Примечание. Шейп-файл состоит из нескольких файлов! Смотрите Википедию для ознакомления. Архивированный Shapefie для Geoserver должен содержать, по крайней мере, .shp, .dbf, .shx, .prj.

Если вы разрабатываете на Java, вы можете использовать Java-клиент для настройки Geoserver через REST. GSRCJ - очень маленький (2 класса, нулевая зависимость) клиент, написанный на Java 1.5+. Это не полная реализация, но есть рабочий код о том, как загрузить Shapefile в Geoserver и многое другое. Смотрите код здесь .

...