4 votos

¿Cómo subir un shapefile a geoserver utilizando cURL?

Necesito cargar automáticamente (usando python) un shapefile en mi geoservidor.

Estoy tratando de hacer como se describe en aquí pero estoy recibiendo este error:

java.io.IOException: Wrong magic number, expected 9994, got 1347093252* Connection #0 to host localhost left intact

Voy a enviar esto:

curl -u admin:geoserver -v -XPUT -H 'Content-type: application/zip' --data-binary @C:/x/test_data/localfile.zip http://localhost:8081/geoserver/rest/workspaces/test_VN/datastores/maisum/file.shp

3voto

shsteimer Puntos 8749

¿Supongo que utilizas Windows? ¿Podría utilizar comillas dobles en lugar de simples?

curl -u admin:geoserver -v -XPUT -H "Content-type: application/zip" \
    --data-binary @C:/x/test_data/localfile.zip \   
    http://localhost:8081/geoserver/rest/workspaces/test_VN/datastores/maisum/file.shp

Creo que el problema es que Windows está ignorando el tipo de contenido, ya que está encerrado entre comillas simples. Por lo tanto, Geoserver no trata el archivo como zip. Desde el Documentación del intérprete de comandos de Windows :

... cualquier argumento que contenga espacios o comience o termine con espacios debe ir entre comillas dobles. Esto es especialmente importante cuando se utilizan nombres largos de archivos y directorios, que con frecuencia contienen uno o más espacios. Si un argumento entre comillas dobles contiene un carácter de comilla doble, la comilla doble debe duplicarse. Por ejemplo, introduzca el argumento "entre comillas" como """entre comillas"" Argumento


~~

Encontré esto en el Lista de correo de Geoserver .

A veces después de repetidas subidas fallidas algunos archivos pueden li en el servidor que causan problemas. Vaya a su GEOSERVER_DATA_DIRECTORY y elimine cualquier archivo persistente del directorio "data". A continuación, inténtelo de nuevo.

Esperemos que esto ayude a resolver tu problema.

~~

0voto

bob-the-destroyer Puntos 138

Incluso si la respuesta ya se ha encontrado me gustaría señalar a un buen artículo sobre la adición de capas a Geoserver utilizando curl para los usuarios que todavía están buscando algo más de información sobre eso: http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/

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