Como parte de una posible solución a esta pregunta, quiero crear una capa en GeoServer a través de REST que proporcione una instrucción SQL junto con un ID de usuario.
Lectura ¿Creo que crearía un tipo de función y lo publicaría? Necesito hacer todo esto en REST. ¿Alguien tiene algún ejemplo de código?
Respuestas:
Hay muchas cosas que puede hacer con la API REST de GeoServer que no están documentadas específicamente y para las que no hay ejemplos de código. Aquí está la estrategia para abordarlos.
Primero, comience con los ejemplos en la documentación . Asegúrese de estar familiarizado con cómo puede crear una nueva capa o espacio de trabajo simple utilizando un HTTP POST con XML o JSON.
Luego, a través de la interfaz de usuario de GeoServer, cree manualmente el objeto que necesita para el que no hay documentación (en este caso, un tipo de característica).
Finalmente, busque manualmente el índice REST de GeoServer (
http://your-server/rest
ohttp://your-server/geoserver/rest
). Navegue a través del índice hasta encontrar el tipo de característica que acaba de crear. Agregue ".xml" o ".json" a la URL de este recurso, y verá su representación XML o JSON.Esta representación es lo que habría necesitado para POST para crear el tipo de característica a través de la API. La URL de la representación es la URL que habría necesitado para PUBLICAR (por ejemplo
http://your-server/geoserver/rest/..../myFeatureTypeName.json
).Puede usar esta estrategia para descubrir cómo crear o configurar mediante programación cualquier recurso en GeoServer.
fuente
featuretypes
punto final de la tienda, por ejemplogeoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
Sé que esta es una vieja pregunta, pero en caso de que alguien más esté confundido como yo. La parte importante es que no puede crear una capa desde el punto final http: // geoserver / rest / layers .
Si está buscando agregar una capa vectorial, se hace a través del recurso de tipo de entidad:
http://docs.geoserver.org/stable/en/user/rest/api/featuretypes.html
Un mensaje para:
dónde está el espacio de trabajo en el que desea que viva el tipo de entidad, y la fuente de datos a utilizar creará un nuevo tipo de entidad vectorial, es decir, una capa.
Si se pregunta qué puede PUBLICAR, @Rohan es correcto, la forma más fácil es consultar un tipo de función existente, es decir, un http GET para
que devolverá un tipo de característica existente como json.
fuente
Su mejor referencia está en la guía del usuario. http://docs.geoserver.org/stable/en/user/rest/examples/index.html
fuente
Si comprende Java, es posible que desee echar un vistazo a este código simple que usa REST para realizar todo tipo de operaciones en GeoServer.
fuente
Para agregar una capa, se debe definir un almacén de datos y un tipo de entidad. Suponiendo que ya están definidos junto con un estilo (como se describe en la guía en http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/ para agregar una capa a PUT la solicitud debe enviarse a geoserver a:
Con un contenido de datos como:
fuente