10 votos

Añadir un nuevo Coveragestore en un determinado espacio de trabajo por el RESTO

Así que, cosa tan simple como parece, pero me parece que no puede hacer el trabajo! Estoy tratando de agregar un mapa de bits de archivo de datos (GeoTIFF) a geoserver a través de REST API, utilizando curl en linux. La API de REST está trabajando, ya que he creado una nueva área de trabajo:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \
 -d '<workspace><name>restProba</name></workspace>' \
 http://localhost:8080/geoserver/rest/workspaces

Se ha creado correctamente, como se muestra por Geoserver la interfaz de usuario de admin, pero cuando intento agregar un coveragestore a esa área de trabajo mediante la ejecución de

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d
'<coverageStore><name>int_dec</name><enabled>true</enabled>
<type>GeoTIFF</type> <url>$home/int_dec.tif</url></coverageStore>'     
"http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores?configure=all"

aunque se ha cargado correctamente, que va directamente al espacio de trabajo por defecto, que no es la que yo quiero. Es allí cualquier manera de definir el área de trabajo que quiero? Pensé que había suficiente indicándolo en la dirección URL donde yo elija restProba área de trabajo de la URI, pero parece ser que omitir.

Gracias por su ayuda :-)

pd: novato con geoserver, he tratado de buscar por esto, pero yo no estoy usando el correcto criterios de búsqueda, que soy un tonto o es demasiado simple para cualquier persona para pedir que estoy incluso fooler para preguntar :p

6voto

shsteimer Puntos 8749

Tal vez usted puede probar esto después de crear el espacio de trabajo:

curl -u admin:geoserver -v -XPOST -H 'Content-Type: application/xml' \
     -d '<coverageStore><name>int_dec</name><workspace>restProba</workspace>  
         <enabled>true</enabled></coverageStore>' \
         http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores

Se debe crear un coveragestore llamado int_dec en la restProba espacio de trabajo::

Se puede hacer referencia al archivo GeoTIFF:

curl -u admin:geoserver -v -XPUT -H 'Content-type: text/plain' \
     -d 'file:/$home/int_dec.tif' \
      http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores/int_dec/external.geotiff?configure=first\&coverageName=int_dec

Creo que tu problema es la falta '

Su petición fue:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d
<coverageStore><name>int_dec</name><enabled>true</enabled>
<type>GeoTIFF</type> <url>$home/int_dec.tif</url></coverageStore>'     
"http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores?configure=all"

Ella debería haber sido:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d
'<coverageStore><name>int_dec</name><enabled>true</enabled>
<type>GeoTIFF</type> <url>$home/int_dec.tif</url></coverageStore>'     
"http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores?configure=all"

1voto

Sumod Puntos 1

Para agregar un GeoTIFF de la tienda y una capa con el mismo nombre en un solo paso puede ejecutar:

$ curl -v -u admin:geoserver -XPUT -H "Content-type: text/plain"
       -d "file:///path_to_directory/int_dec.tif"
       http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores/int_dec/external.geotiff

Más detalles en el "RESTO ejemplos de configuración: la Adición de un existente shapefile".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X