web-dev-qa-db-fra.com

Comment / où puis-je obtenir des données geoJSON pour les États, les provinces et les régions administratives des pays non américains?

J'ai besoin de chemins au format geoJSON pour les états, les provinces et les régions dans plusieurs pays. Les données geoJSON les plus facilement disponibles concernent les États américains et les frontières nationales, et non les régions du pays. Ce geoJSON sera utilisé pour créer une visualisation géographique à l'aide de D3.js.

28
beauburrier

Il y a un bon résumé sur la façon de générer geoJSON à partir de fichiers de formes ici
http://vallandingham.me/shapefile_to_geojson.html

Les étapes ci-dessous devraient vous guider du début à la fin:

  1. Installez le framework Quantum GIS http://www.qgis.org/e/qgis .
    Si vous êtes sous Mac OS X, vous pouvez utiliser cette version http://www.kyngchaos.com/software
    Cela vous donnera l'utilitaire ogr2ogr utilisé pour convertir les fichiers de formes en geoJSON

  2. Téléchargez les fichiers de formes pour votre pays à partir d'ici http://www.gadm.org/country et décompressez

  3. Pour le Canada et peut-être d'autres pays, le fichier de formes avec le suffixe 0 correspond à la frontière du pays et le suffixe 1 aux régions internes. Je ne sais pas si cette dénomination est cohérente entre les pays.

  4. Téléchargez le fichier de formes au niveau de la région dans MapShaper http://mapshaper.com/test/MapShaper.swf
    Vous pouvez ignorer cette étape si vous ne souhaitez pas optimiser la taille de votre geoJSON résultant

  5. Réglez le curseur "niveau de simplification" dans MapShaper au niveau souhaité et exportez le fichier de formes simplifié en tant que "Shapefile - Polygons"

  6. Téléchargez le fichier .shp et .shx dans le répertoire local où vous avez décompressé les fichiers de formes d'origine, remplacez les fichiers d'origine par les fichiers simplifiés.

  7. Accédez au répertoire local et exécutez la commande ci-dessous, en remplaçant <shapefile> par le nom réel du fichier de formes que vous souhaitez convertir.

    ogr2ogr -f geoJSON regions.json <shapefile> .shp

Vous devriez maintenant avoir les régions de votre pays au format geoJSON. Vérifiez que des chemins sont définis dans regions.json et que les champs de propriété ont été conservés (ex. Nom de région).

19
beauburrier

Ce processus est maintenant simplifié (juillet 2014) par rapport aux étapes que je vois dans la réponse acceptée. Il semble maintenant beaucoup plus facile d'obtenir ces données. Au début, j'ai pataugé sur le Web en espérant pouvoir télécharger un tas de cartes standard au format GeoJSON, mais je suis apparu vide à part les offres standard États-Unis/Canada. À l'heure actuelle, il ne semble pas y avoir beaucoup de choses disponibles en GeoJSON direct. Au lieu de cela, vous prenez un format plus ancien et largement utilisé pour générer GeoJSON. C'est facile et c'est une bonne voie à suivre. Nous allons travailler avec des fichiers de formes et les convertir en GeoJSON.

  1. Téléchargez d'abord un fichier de forme pour la zone géographique qui vous intéresse. Un fichier de forme est un format de stockage vectoriel numérique pour stocker l'emplacement géométrique et les informations d'attribut associées. ( http://en.wikipedia.org/wiki/Shapefile )

    Il en existe de nombreuses sources. Ce sont des sources que j'ai trouvées utiles:

    GADM - Téléchargez des données par pays ou un fichier géant pour le monde. Chaque Zip que vous téléchargez contient plusieurs fichiers de forme à partir du numéro 0 et augmentant. Plus le nombre est élevé, plus le niveau de détail est élevé. Comme le pays, l'état, le comté, etc. ( http://www.gadm.org/country )

    Un autre site de téléchargement ( http://www.naturalearthdata.com/downloads/ )

    Téléchargez les données des États, des comtés et des sous-comtés des États-Unis selon les indications du bureau du recensement - http://census.ire.org/data/bulkdata.html

  2. Une fois que vous avez votre fichier de forme, faites-le glisser et déposez-le dans la page Web à http://www.mapshaper.org . Ici, vous pouvez faire glisser un curseur pour modifier la résolution vectorielle. D'après mon expérience, une résolution de 10% était encore parfaite pour les cartes Web, 25% était presque parfaite. La taille du fichier a été considérablement réduite, donc je recommanderais de l'utiliser. Ma carte du Massachusetts est passée de 800 Ko de données GeoJSON à 80 Ko après avoir réduit la résolution.

  3. Cliquez sur le bouton GeoJSON sur mapshaper et le fichier est automatiquement exporté pour vous.

Facultatif - Une fois que vous avez un fichier de forme, vous pouvez le modifier gratuitement dans un outil comme Quantum GIS (QGIS).

Vous pouvez également transmettre des données géographiques GeoJSON sur ce site Web. http://geojson.io/#map=2/20.0/0.

42
mrtsherman

Trouvé un endroit pour télécharger geojson: geojson-maps.kyd.com.a qui utilise les données de Natural Earth .

Et ces cartes de Highcharts. Celui-ci correspond le mieux à la question.

4
EricC

Je cherchais la même chose récemment. Il existe un compte github qui fournit le geojson pour tous les pays du monde, malheureusement, il semble être au format UTM que D3 ne prend pas en charge, donc si vous êtes prêt à les parcourir et à les convertir un par un en wgs84 ou si ou est prêt à écrire un programme qui le fera, voici le lien: https://github.com/johan/world.geo.json

3
Amre