Как часть возможного решения этого вопроса я хочу создать слой в GeoServer через REST, который предоставляет оператор SQL вместе с идентификатором пользователя.
Чтение Думаю, я бы создал тип объекта и опубликовал его? Мне нужно сделать все это в ОТДЫХЕ. У кого-нибудь есть примеры кода?
Ответы:
Есть много вещей, которые вы можете сделать с помощью GeoServer REST API, которые специально не задокументированы и для которых нет примеров кода. Вот стратегия для решения этих проблем.
Сначала начните с примеров в документации . Убедитесь, что вы знакомы с тем, как вы можете создать простой новый слой или рабочую область, используя HTTP POST с XML или JSON.
Затем с помощью пользовательского интерфейса GeoServer вручную создайте объект, для которого нет документации (в данном случае тип объекта).
Наконец, вручную перейдите к индексу GeoServer REST (
http://your-server/rest
илиhttp://your-server/geoserver/rest
). Просматривайте указатель, пока не найдете только что созданный тип объекта. Добавьте «.xml» или «.json» к URL-адресу этого ресурса, и вы увидите его представление XML или JSON.Это представление - то, что вам нужно для POST, чтобы создать тип объекта через API. URL-адрес представления - это URL-адрес, который вам понадобится для POST (например,
http://your-server/geoserver/rest/..../myFeatureTypeName.json
).Вы можете использовать эту стратегию, чтобы понять, как программно создать или настроить любой ресурс в GeoServer.
источник
featuretypes
конечной точке магазина, напримерgeoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
Я знаю, что это старый вопрос, но на случай, если кто-нибудь еще запутается, как я. Важной частью является то , что вы не можете создать слой из HTTP: // Geoserver / отдых / слои конечной точки.
Если вы хотите добавить векторный слой, это делается через ресурс типа объекта:
http://docs.geoserver.org/stable/en/user/rest/api/featuretypes.html
ПОЧТА, чтобы:
где - рабочее пространство, в котором вы хотите разместить тип объекта, а используемый источник данных создаст новый тип векторного объекта, то есть слой.
Если вы задаетесь вопросом о том, что вы можете POST, @Rohan является правильным, самый простой способ - это запросить существующий тип объекта, т.е.
который вернет существующий тип объекта как json.
источник
Ваша лучшая ссылка в руководстве пользователя. http://docs.geoserver.org/stable/en/user/rest/examples/index.html
источник
Если вы понимаете Java, возможно, вы захотите взглянуть на этот простой код, который использует REST для выполнения всех видов операций на GeoServer.
источник
Чтобы добавить слой, необходимо определить хранилище данных и тип объекта. Предполагая, что они уже определены вместе со стилем (как описано в руководстве по адресу http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/, чтобы добавить слой в PUT запрос должен быть отправлен на геосервер по адресу:
С содержанием данных, как:
источник