¿Convertir archivos GeoJSON de SimpleGeo Places a shapefile?

15

SimpleGeo recientemente ha hecho que su conjunto de datos de "Lugares" esté disponible de forma GRAN, porque ahora podemos usarlo para nuestros propios fines, incluso desconectado. Así que fui a descargando el conjunto de datos de 2GB , que contiene archivos de país comprimidos en formato GeoJSON.

Aquí es donde comienza mi problema ... cuando intento cargar un archivo de país (* .geojson) directamente en QGIS o incluso convertirlo en shapefile usando ogr2ogr, acabo con una característica de 1 punto.

Claramente, hay más datos disponibles en estos archivos que no puedo "ver" o recuperar, así que, ¿qué estoy haciendo mal? ¿Alguien me puede dar alguna sugerencia sobre cómo convertir estos archivos en funciones GIS utilizables?

Pregunta actualizada: realmente quiero convertir el archivo geojson en un shapefile (o formato GIS estándar similar) para usar en un software de GIS de escritorio.

Fragmento del blog SimpleGeo el 1 de agosto de 2011 :

"El conjunto de datos CC0 Places de SimpleGeo ahora está disponible para su descarga sin costo. Si desea obtener 21M + POI que cubren 63 países, estamos listos para entregarlo en un archivo. el archivo tiene aproximadamente 2 GB en formato .ZIP y recuerde, con la licencia CC0, esta información se convierte en suya, gratuita y clara, para hacer lo que quiera. ¡Esperamos que haga cosas increíbles con ella! Puede descargarlo ahora haciendo clic aquí. "

Actualización: 12 de enero de 2012: Después de que Simple Air fue adquirida por Urban Airship en octubre de 2011, Urban Aiship dijo: "reducir la disponibilidad de las versiones actuales de Lugares, Contexto y Almacenamiento [de SimpleGeo] en los próximos meses". la fecha para desconectar el enchufe oficialmente será el 31 de marzo de 2012. Link

    
pregunta RyanDalton 19.08.2011 - 08:19

3 respuestas

10

Intente ajustar las características de la siguiente manera:

{"type":"FeatureCollection","features":[ 

****ALL THE DATA HERE -- COMMA SEPARATED****

]}

y separar cada característica con una coma.

Por ejemplo, aquí están las dos primeras características del conjunto de datos de IE:

{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "[email protected]", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/[email protected]", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}}
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "[email protected]", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/[email protected]", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}

... y aquí están como una colección de características de GeoJSON:

{"type":"FeatureCollection","features":[ 
{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "[email protected]", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/[email protected]", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}},
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "[email protected]", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/[email protected]", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}
]}
    
respondido por el fod 19.08.2011 - 16:15
4

Muchas gracias a @fod & ¡@Sasa Ivetic por ponerme en el camino correcto! Tuve que dejar este proyecto por un tiempo, pero finalmente lo retomé hoy y quería transmitir mis resultados para ayudar a cualquier otra persona que pudiera haber tenido problemas con esto.

Usando la información que proporcionaron en la respuesta de @fod, escribí esta secuencia de comandos de Python para convertir los archivos de volcado al formato geojson "apropiado". Este script py convertirá los datos en un formato legible por ogr2ogr, luego podrá convertirlos al formato que desee.

infile = sys.argv[1]
outfile = sys.argv[2]


## Prepare the input/output for read/write of files
fin = open(infile, 'r')
fout = open(outfile, 'w')


##Prepend the new file with approriate header info
fout.write('{"type":"FeatureCollection","features":[' + '\n')


## Read each line from the input and write to the output
for line in fin:
    ##write each line in the table, and replace carriage returns with "," + carriage return
    fout.write(line.replace("\n",",\n"))

##Append the new file with approriate footer info
fout.write(']}')

##Close the input and output files to release file locking
fin.close()
fout.close()
    
respondido por el RyanDalton 27.10.2011 - 23:35
1

Puedes intentar FME para hacer esto. Lee GeoJSON y escribe Shape y, lo que es más importante, tiene un montón de "transformadores" para manejar JSON (JSONExploder, JSONFlattener, JSONExtractor). Así que creo que ayudaría a que el contenido salga a un formato utilizable.

¡También tiene una versión de prueba gratuita disponible!

NB: trabajo para Safe Software, creadores de FME.

    
respondido por el Mark Ireland 19.08.2011 - 21:10

Lea otras preguntas en las etiquetas