Importar GeoJSON para o PostGIS

9

Desejo importar o GeoJSON disponível no despejo a seguir no PostGIS, mas não consigo importá-lo. Eu já importei dados geousa disponíveis neste despejo público para o MongoDB sem problemas. Deixe-me saber que existe uma maneira de importar esses dados diretamente ou através do MongoDB?

Como esses dados são enormes, verifique os seguintes dados:

{"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
fonte
3
Você deve avisar que seu conjunto de dados é de 2,2 GB. Para torná-lo mais atraente para ajudá-lo, você poderia preparar dados de teste com apenas alguns recursos? Isso é bom o suficiente para testar.
user30184
formato de dados adicionado para referência.
siraj
1
Como você tentou importar os dados e qual é a mensagem de erro?
Til_b /
GDAL lê esse recurso bem. Você pode testá-lo salvando-o no disco e executando ogrinfo -al sample.json. Você deve realmente contar o que fez e como falhou.
user30184
Eu executei: ogr2ogr -f "PostgreSQL" PG: "dbname = my_database user = postgres" "source.geojson" mas estou recebendo um erro como: FAILURE Não é possível abrir a fonte de dados `source.geojson 'com os seguintes drivers. (mostrando a lista de drivers)
siraj

Respostas:

20

Você pode usar o PostGIS ST_GeomFromGeoJSONpara trazer apenas a parte geométrica do GeoJSON.

Melhor ainda, você pode usar ogr2ogrpara importar o documento JSON inteiro :

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

(Não testei isso com seus dados, adicione um comentário se você tiver problemas.)

alphabetasoup
fonte
1
Estou recebendo erro como: FAILURE Não é possível abrir a fonte de dados `source.geojson 'com os seguintes drivers. (mostrando a lista de drivers).
precisa saber é
Isso tem que ser o caminho completo para o GeoJSON
alphabetasoup
Eu adicionei o caminho completo também, ainda estou recebendo o mesmo erro.
siraj
1
O gdal-bin já está instalado no meu sistema (ubuntu).
Siraj
2
Não vou baixar 2 GB para procurar, mas seus recursos são um 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

ogr2ogrexibe uma lista de drivers quando o arquivo não foi encontrado. nesse caso, basta passar o caminho completo para o arquivo json

corporativo
fonte