Importar GeoJSON en PostGIS

9

Quiero importar GeoJSON disponible en el siguiente volcado en PostGIS pero no puedo importarlo. Ya importé los datos geousa disponibles en este basurero público a MongoDB sin problemas. Avíseme, ¿hay alguna manera de importar estos datos directamente o a través de MongoDB?

Como estos datos son enormes, verifique los siguientes datos:

{"geometry": {"type": "Point", "coordinates": [19.056792, 47.490894]}, "type": "Feature",
"id": "SG_1iYphlxn9BSHyGrpv1aXKc_47.490894_19.056792@1308163237",
"properties": {"website": "http://mito.hu", "city": "Budapest",
"name": "Mito Europe", "tags": ["online", "communication", "design",
"branding", "development", "mito"], "country": "HU", "classifiers":
[{"category": "Professional", "type": "Services", "subcategory": "Advertising"}], "href": 
"http://api.simplegeo.com/1.0/features/[email protected]",
"address": "N\u00e1dor u. 23.", "owner": "simplegeo", "postcode": "1051"}}

http://s3.amazonaws.com/simplegeo-public/places_dump_20110628.zip

siraj
fuente
3
Debe advertir que su conjunto de datos es de 2.2 GB. Para que sea más atractivo ayudarlo, ¿podría preparar datos de prueba con solo un par de características? Eso es lo suficientemente bueno para probar.
user30184
formato de datos agregado para referencia.
siraj
1
¿Cómo ha tratado de importar los datos y cuál es el mensaje de error?
til_b
GDAL lee esa característica bien. Puede probarlo usted mismo guardándolo en el disco y ejecutándolo ogrinfo -al sample.json. Realmente deberías decir lo que hiciste y cómo falló.
user30184
Ejecuté: ogr2ogr -f "PostgreSQL" PG: "dbname = my_database user = postgres" "source.geojson" pero recibo un error como: FALLO No se puede abrir el origen de datos `source.geojson 'con los siguientes controladores. (mostrando la lista de conductores)
siraj

Respuestas:

20

Puede usar PostGIS ST_GeomFromGeoJSONpara incorporar solo la parte de geometría de GeoJSON.

Mejor aún, puede usar ogr2ogrpara importar todo el documento JSON :

ogr2ogr -f "PostgreSQL" PG:"dbname=my_database user=postgres" "source_data.json" -nln destination_table -append

(No he probado esto con sus datos, agregue un comentario si tiene problemas).

alphabetasoup
fuente
1
Recibo un error como: FALLO No se puede abrir el origen de datos `source.geojson 'con los siguientes controladores. (mostrando la lista de controladores).
siraj
Ese tiene que ser el camino completo a su geojson
alphabetasoup
También agregué la ruta completa, todavía recibo el mismo error.
siraj
1
gdal-bin ya está instalado en mi sistema (ubuntu).
siraj
2
No voy a descargar 2GB para mirar, pero ¿son sus características a feature collection?
alphabetasoup
3
./ogr2ogr -f "PostgreSQL" PG:"dbname=theDatabaseName user=postgres" "/Users/dev/Downloads/theGeometry.json" -where "name not like 'Whatever%'" -nln theFeatureName -overwrite

ogr2ogrmuestra una lista de controladores cuando no se encuentra el archivo. en ese caso, simplemente pase la ruta completa al archivo json

incorporada
fuente