Crear una capa en GeoServer usando REST

14

Como parte de una posible solución para esta pregunta quiero crear una capa en GeoServer a través de REST que proporciona una declaración SQL junto con un ID de usuario.

Lectura Creo que crear un tipo de función y publicarlo? Necesito hacer todo esto en RESTO. ¿Alguien tiene algún ejemplo de código?

    
pregunta CaptDragon 02.08.2011 - 16:35

5 respuestas

36

Hay muchas cosas que puedes 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 enfrentarlos.

Primero, comience con los ejemplos en la documentación . Asegúrese de estar familiarizado con la forma en que 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 cual no hay documentación (en este caso, un tipo de característica).

Finalmente, navegue manualmente al índice REST de GeoServer ( http://your-server/rest o http://your-server/geoserver/rest ). Examine el índice hasta que encuentre el tipo de entidad 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 POST (por ejemplo, http://your-server/geoserver/rest/..../myFeatureTypeName.json ).

Puedes usar esta estrategia para descubrir cómo crear o configurar cualquier recurso en GeoServer mediante programación.

    
respondido por el Rohan Singh 24.01.2012 - 10:22
7

Sé que esta es una pregunta antigua, 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 enlace .

Si desea agregar una capa vectorial, se hace a través del recurso de tipo de función:

enlace

Un POST para:

/workspaces/<ws>/datastores/<ds>/featuretypes

¿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, capa?

Si se está preguntando acerca de lo que puede POSTAR, @Rohan es correcto, la forma más sencilla es consultar un tipo de característica existente, es decir, un GET de http para

/workspaces/<ws>/datastores/<ds>/featuretypes/<ft>.json 

que devolverá un tipo de entidad existente como json.

    
respondido por el lostintranslation 04.03.2017 - 18:52
1

Su mejor referencia está en la guía del usuario. enlace

    
respondido por el jdeolive 02.08.2011 - 16:52
0

Si entiendes Java, deberías echar un vistazo a este código simple que usa REST para hacer todo tipo de operaciones en GeoServer.

    
respondido por el Ivo Limmen 24.01.2012 - 10:08
0

Para agregar una capa, se deben definir un almacén de datos y un tipo de elemento. Suponiendo que ya están definidos junto con un estilo (como se describe en la guía en enlace para agregar una capa a PUT debe enviarse a geoserver a:

http://geoserver.host/geoserver/rest/layers/NEW_LAYER_NAME

Con un contenido de datos como:

<layer>
  <name>NEW_LAYER_NAME</name>
  <type>VECTOR</type>
  <defaultStyle>
    <name>myStyle</name>
  </defaultStyle>
  <resource class="featureType">
    <name>myFeature</name>
  </resource>
</layer>
    
respondido por el a1an 04.06.2015 - 18:32

Lea otras preguntas en las etiquetas