gregoiredavid / france-geojson

Contours des régions, départements, arrondissements, cantons et communes de France (métropole et départements d'outre-mer) au format GeoJSON
https://france-geojson.gregoiredavid.fr
733 stars 410 forks source link

Position des communes #23

Closed mycaule closed 6 years ago

mycaule commented 6 years ago

Bonjour,

Je cherche à avoir un point représentatif de type geometry.type == "Point" pour les communes, qui soit à l'intérieur des polygones disponibles ici.

J'ai besoin pour mon application de ces deux informations simultanément (contour + point intérieur), je pense stocker le point intérieur pourra être stocké dans l'objet properties.

Pourriez-vous me suggérer une source d'information me permettant de recouper facilement les champs properties.code et properties.nom des fichiers que vous proposez ?

"properties": {
  "code": "03252",
  "nom": "Saint-Pont"
}

Une autre solution que j'envisage éventuellement est de calculer une approximation avec cet algorithme. https://blog.mapbox.com/a-new-algorithm-for-finding-a-visual-center-of-a-polygon-7c77e6492fbc

Voir également cette question que j'ai posé sur stackoverflow https://stackoverflow.com/questions/52467305/computing-the-center-of-gravity-of-a-geojson-polygon-using-jq

Je vais aussi vouloir faire la même chose pour les départements.

Merci.

gregoiredavid commented 6 years ago

Bonjour !

L'IGN ne fournit pas cette information dans admin express, il faudra donc effectivement la calculer par vos propres moyens. L'algorithme de mapbox est une bonne référence, vous pouvez également regarder du côté de turf.js, plus particulièrement les méthodes centroid ou centerOfMass.

Attention, si vous cherchez la position du "centre-bourg" de chaque commune plutôt que le point central du polygone, je vous conseille de jeter un oeil aux données disponibles via Open Street Map en utilisant l'API Overpass.

mycaule commented 6 years ago

Pour info, je pense recouper avec cet API Open Data https://api-adresse.data.gouv.fr/search/?q=paris qui est plutôt simple d'utilisation, il suffit d'injecter le properties.code et properties.nom de vos fichiers dans la requête

Merci encore pour votre travail !

gregoiredavid commented 6 years ago

Merci pour l'info ! Effectivement je n'avais pas pensé à cette API, elle sera plus pratique à interroger qu'Open Street Map.