Importer GeoJSON dans PostGIS

9

Je souhaite importer GeoJSON disponible dans le vidage suivant dans PostGIS mais je ne peux pas l'importer. J'ai déjà importé des données geousa disponibles dans ce vidage public dans MongoDB en douceur. Faites-moi savoir s'il existe un moyen d'importer ces données directement ou via MongoDB?

Comme ces données sont énormes, veuillez vérifier les données suivantes:

{"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
la source
3
Vous devez avertir que votre jeu de données fait 2,2 Go. Pour le rendre plus attrayant pour vous aider, pourriez-vous préparer des données de test avec seulement quelques fonctionnalités? C'est assez bien pour les tests.
user30184
format de données ajouté pour référence.
siraj
1
Comment avez-vous essayé d'importer les données et quel est le message d'erreur?
til_b
GDAL lit qu'une fonction est très bien. Vous pouvez le tester vous-même en l'enregistrant sur le disque et en l'exécutant ogrinfo -al sample.json. Vous devriez vraiment dire ce que vous avez fait et comment cela a échoué.
user30184
J'ai exécuté: ogr2ogr -f "PostgreSQL" PG: "dbname = my_database user = postgres" "source.geojson" mais j'obtiens l'erreur comme: FAILURE Impossible d'ouvrir la source de données `source.geojson 'avec les pilotes suivants. (montrant la liste des pilotes)
siraj

Réponses:

20

Vous pouvez utiliser PostGIS ST_GeomFromGeoJSONpour n'apporter que la partie géométrique du GeoJSON.

Mieux encore, vous pouvez utiliser ogr2ogrpour importer l'intégralité du document JSON :

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

(Je n'ai pas testé cela avec vos données, ajoutez un commentaire si vous avez des problèmes.)

alphabetasoup
la source
1
J'obtiens une erreur comme: ÉCHEC Impossible d'ouvrir la source de données `source.geojson 'avec les pilotes suivants. (montrant la liste des pilotes).
siraj
Cela doit être le chemin complet vers votre geojson
alphabetasoup
J'ai également ajouté le chemin complet, mais je reçois toujours la même erreur.
siraj
1
gdal-bin est déjà installé sur mon système (ubuntu).
siraj
2
Je ne vais pas télécharger 2 Go pour regarder, mais vos fonctionnalités sont-elles un 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

ogr2ograffiche une liste de pilotes lorsque le fichier est introuvable. dans ce cas, passez simplement le chemin complet vers le fichier json

acmeincorporated
la source