5 votos

ogr2ogr no lee el directorio de GeoJSON en GPKG

Tengo un directorio de archivos GeoJSON, que quiero cargar como capas en un nuevo archivo GeoPackage. Según el Documentación de GDAL GeoPackage En el caso de los archivos GeoPackage, puedo nombrar mi archivo de destino, introducir un directorio de archivos shapefiles como fuente, y los cargará cada uno como su propia capa/tabla. De hecho, he probado esto con shapefiles, y funciona.

Sin embargo, cuando intento hacer lo mismo con archivos GeoJSON, obtengo esto:

Unable to open datasource ./seattle_washington_osm with the following drivers.
   …
-> GeoJSON
   …

¿Esto no es posible con los archivos GeoJSON, o estoy haciendo algo mal?

7voto

Nathan Feger Puntos 7675

El "directorio como conjunto de datos" es una característica específica del controlador shapefile. En http://www.gdal.org/drv_shapefile.html :

Normalmente, el controlador OGR Shapefile trata un directorio completo de shapefiles como un conjunto de datos, y un solo shapefile dentro de ese directorio como una capa. En este caso, el nombre del directorio debe utilizarse como el nombre del conjunto de datos. Sin embargo, también es posible utilizar uno de los archivos (.shp, .shx o .dbf) de un conjunto de archivos shape como nombre del conjunto de datos, y entonces será tratado como un conjunto de datos con una capa.

Los enfoques alternativos serían cargar cada archivo usando un bucle, o convertir a shapefiles primero.

2voto

Alex B Puntos 973

No pude convertir un directorio de GeoJSONs en un solo pgkg usando ogr2ogr (GDAL 2.2.3) utilizando el comando ogr2ogr -f GPKG filename.gpkg ./path/to/geojsons/* ; Pero he conseguido utilizar el -aplicar en el comando ogr2ogr para convertir los datos GeoJSON en un pgkg uno por uno.

Aquí mostraré mis scripts de shell:

#! /bin/bash
function read_dir(){
for file in `ls $1` 
do
 res="${file:${#file}-7:7}"
 if [ "$res" == "geojson" ] ;then
  name="${file:0:${#file}-8}" 
  echo $name
  ogr2ogr -f GPKG filename.gpkg  -append $file
 fi
done
}
read_dir $1

Por fin tengo el archivo de salida llamado filename.gpkg y funciona bien.

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