Impor GeoJSON ke PostGIS

9

Saya ingin mengimpor GeoJSON tersedia di dump berikut ke PostGIS tetapi saya tidak dapat mengimpornya. Saya sudah mengimpor data geousa yang tersedia di dump publik ini ke MongoDB dengan lancar. Beri tahu saya apakah ada cara untuk mengimpor data ini secara langsung atau melalui MongoDB?

Karena data ini sangat besar, silakan periksa data berikut:

{"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
sumber
3
Anda harus memperingatkan bahwa dataset Anda adalah 2,2 GB. Agar lebih menarik untuk membantu Anda, bisakah Anda menyiapkan data uji hanya dengan beberapa fitur? Itu cukup baik untuk pengujian.
user30184
menambahkan format data untuk referensi.
siraj
1
Bagaimana Anda mencoba mengimpor data, dan apa pesan kesalahannya?
til_b
GDAL membaca bahwa satu fitur baik-baik saja. Anda dapat mengujinya sendiri dengan menyimpannya di disk dan menjalankannya ogrinfo -al sample.json. Anda harus benar-benar tahu apa yang Anda lakukan dan bagaimana itu gagal.
user30184
Saya mengeksekusi: ogr2ogr -f "PostgreSQL" PG: "dbname = my_database user = postgres" "source.geojson" tapi saya mendapatkan pesan kesalahan sebagai: KEGAGALAN Tidak dapat membuka sumber data `source.geojson 'dengan driver berikut. (menunjukkan daftar driver)
siraj

Jawaban:

20

Anda dapat menggunakan PostGIS ST_GeomFromGeoJSONuntuk menghadirkan bagian geometri GeoJSON.

Lebih baik lagi, Anda dapat menggunakan ogr2ogruntuk mengimpor seluruh dokumen JSON :

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

(Saya belum menguji ini dengan data Anda, tambahkan komentar jika Anda memiliki masalah.)

alphabetasoup
sumber
1
Saya mendapatkan error sebagai: FAILURE Tidak dapat membuka sumber data `source.geojson 'dengan driver berikut. (menunjukkan daftar driver).
siraj
Itu harus menjadi jalan penuh ke geojson Anda
alphabetasoup
Saya menambahkan path lengkap juga, masih saya mendapatkan kesalahan yang sama.
siraj
1
gdal-bin sudah diinstal di sistem saya (ubuntu).
siraj
2
Saya tidak akan mengunduh 2GB untuk dilihat, tetapi apakah fitur Anda 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

ogr2ogrmenampilkan daftar driver ketika file tidak ditemukan. dalam hal ini hanya meneruskan path lengkap ke file json

acmeincorporation
sumber