2012-03-03 17 views
31

Estoy trabajando en un proyecto en el que es necesario mostrar mapas de países y ciudades con d3.js.GeoJson World Database

En realidad, D3 es compatible con el formato GeoJson. Por lo general, supongo, el formato GeoJson se convierte de algún otro formato.

he encontrado algunos lugares con estos datos GeoJSON:

http://mbostock.github.com/protovis/ex/countries.js

embargo, esto es sólo una lista de países, Estoy buscando algún servicio o programa que me da la posibilidad de establecer un ID, obtener este formato, y convertirlo a GeoJson, o conseguirlo en GeoJson mejor.

Gracias!

Respuesta

69

¿Esto tiene que ser un servicio? Así es como me he acercado a esto en el pasado, el uso de herramientas de código abierto/gratuito:

  • descargar archivos de forma de dominio público desde Natural Earth Data

  • Uso Quantum GIS para convertir .shp a .geojson (un paso , en "Capa> Guardar como ...")

Ahora tiene alta resolución de datos de GeoJSON. Here, have some countries.

Este es un archivo realmente grande, por lo que querrá dividirlo. Pero no necesita un servicio para esto, solo archivos estáticos para cada país, nombrados por ID. Esto sería bastante fácil de producir con un script en su utilidad de elección (Python, Ruby, node.js).

+0

Gracias! ¡Eso es lo que estoy buscando! – todotresde

+5

Para aquellos que necesitan una respuesta más elaborada: 1. Descargue el mapa de Natural Earth Data. 2. Descomprime y encuentra el archivo Shape. 3.Arrastre el archivo de forma a QGIS. 4. "Capa> Guardar como" como arriba. – daCoda

+0

más rápido: conviértalo en línea en https://mygeodata.cloud/converter/shp-to-geojson – cyrianox

13

Tenga en cuenta que, a través del GDAL library, también puede usar la línea de comandos ogr2ogr para convertir shapefiles. Por ejemplo:

$ ogr2ogr -f geojson source_file.shp dst_file.json 

convertirá source_file.shp en el dst_file.json GeoJSON con formato.

Leer más aquí:

Convert a shapefile (.shp) to xml/json

2

Tome un vistazo a https://github.com/mledoze/countries

Tiene geoJSONs para cada país. (la resolución médica diría)

countries.json contienen la descripción de cada país, incluidos los nombres de países localizados, las coordenadas (en las que puede mostrar la etiqueta) y los nombres de mayúsculas.