9 votos

¿Cuál es el comportamiento previsto de -skipfailures en ogr2ogr?

Estoy tratando de ejecutar ogr2ogr para convertir algunos geojson a shapefile. Todo es bueno hasta que alguna de las características de geojson tiene una geometría no válida (por ejemplo, la matriz de coordenadas de la geometría del punto es vacíela).

Incluí la bandera - skipfailures, pero ogr2ogr se cierra tan pronto como llega la primera función no válida. ¿Yo no estoy haciendo algo mal aquí?

Llamada ogr2ogr de ejemplo:

ogr2ogr -skipfailures -f "ESRI Shapefile" myshape.shp mygeojson.geojson

4voto

warsze Puntos 178

Trate de añadir -nlt geometry de su ogr secuencia de comandos:

ogr2ogr -skipfailures -f "ESRI Shapefile" myshape.shp mygeojson.geojson -nlt geometry

He experimentado el problema de describir el uso de ogr2ogr para traducir los conjuntos de datos que contienen tanto singlepart y varias funciones en la misma capa; por ejemplo, el PUNTO y MULTIPUNTO, de LÍNEA Y de varias líneas, y POLÍGONOS y MULTIPOLYGON.

De forma predeterminada, OGR quiere obedecer convención, y sólo una característica de tipo por cada conjunto de datos. Si se rompe la regla, OGR va a tirar un error genérico y recomendar la -skipfailures bandera. Esto puede ser engañoso si el problema real es mixta/coincide geometrías en la misma capa.

Desde ESRI shapefile permite único/de varias funciones en la misma capa, es necesario darse cuenta de OGR puede producir este error, incluso si usted tiene válido geometrías. En ese caso tienes dos opciones: 1) Convertir varias características para singlepart (que ogr puede hacer a través de la -explodecollections bandera), o 2) el uso de la -nlt bandera y especificar GEOMETRY como la opción. El -nlt GEOMETRY opción le permite combinar una mezcla de tipos de entidad en la misma capa. Por supuesto, como consecuencia, OGR no no van a proteger a las mejores prácticas.

Si el archivo GeoJSON "comenzó la vida" como un shapefile de ESRI, es posible que usted tiene tanto el PUNTO y MULTIPUNTO características contenidas en ese conjunto de datos, en cuyo caso es posible que se produzca este problema incluso con puntos válidos.

2voto

tobes Puntos 19
  -skipfailures: Continue after a failure, skipping the failed feature.
 

Una explicación para el comportamiento que está experimentando podría ser que todas las características de su archivo GeoJSON están rotos. ¿Ha probado su validez, por ejemplo, usando QGIS "Verificar la validez de geometría"?

1voto

Hugo Puntos 2156

El comportamiento previsto en mi opinión es que si se encuentra una función no válida, será omitida y la conversión continuará con la siguiente característica válida en lugar de detenerse.

Parece que usted está haciendo todo correctamente, así que no sé lo que está mal! ¿Usted ha intentado ir a un formato diferente sólo para ver si funciona?

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