Retour d’expérience sur la validation de données géolocalisées

Problématique

Vous disposez d'enregistrements qui contiennent différentes données, notamment des coordonnées géographiques. Chaque enregistrement géolocalisé renvoie également à une commune.

Cependant, vous constatez que certaines données sont erronées : les coordonnées géographiques ne correspondent pas à la commune qui leur est associée…

Mais alors comment procéder à la validation de ces données géolocalisées et s'assurer de leur fiabilité ?

Éléments nécessaires à la validation des données géolocalisées

Pour la validation des données géolocalisées, vous devez disposer de deux éléments :

  • Des enregistrements contenant les deux informations suivantes :
    • 1 localisation par enregistrement à valider (coordonnées GPS en degrés décimaux) ;
    • 1 commune (avec son code INSEE) associée à cet enregistrement.
  • Un fichier contenant les localisations des communes INSEE ainsi que leur superficie, fichier téléchargeable gratuitement sur l'Open Data de l'INSEE.

Logique de validation des données géolocalisées

Il est possible de mesurer la distance qui sépare deux points grâce à leurs coordonnées géographiques respectives. Ainsi, on peut obtenir la distance (D) entre le centre de la commune et notre point géolocalisé, puis comparer cette distance au rayon (R) de cette même commune (rayon extrapolé à partir de la superficie).

  • Si la distance est inférieure au rayon de la commune, la donnée est fiable : le point géolocalisé se situe bien dans la commune.

    Si D ≤ R, alors la donnée est validée.


  • Si la distance est comprise entre 1 et 3 fois le rayon de la commune ou si cette distance est inférieure à 5 km, la donnée est « à vérifier ».

    Si R ≤ D ≤ 3R ou si D ≤ 5 km, alors la donnée est à vérifier.


  • Si la distance est supérieure au rayon de la commune (ou supérieure à 5 km), alors le point géolocalisé ne peut pas être associé à la commune.

    Si D > R ou si D > 5 km, alors la donnée est invalidée.

Formules de calcul

Soit deux points A et B géolocalisés. Ci-dessous la formule pour calculer la distance D qui sépare ces deux points :

DA-B = arc cos [sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(LonB – LonA)]

Lat : latitude en radians
Lon : longitude en radians

Pour convertir les degrés en radians, il suffit d'appliquer la formule suivante :

Latitude (en degrés) * π/180 = Latitude (en radians)
Longitude (en degrés) * π/180 = Longitude (en radians)

exemple : Nantes

Nantes Degré Radian
Longitude (x) 47.216671 0.8240864
Latitude (y) -1.55 0.027052

La distance DA-B obtenue est une distance angulaire, exprimée en radians. Pour l'obtenir en kilomètres, il faut la multiplier par le rayon terrestre (6378,137 km).

La formule devient :

DA-B = arc cos [sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(LonB – LonA)] * 6378,137

Ensuite, il ne reste plus qu'à implémenter cette formule et à la valider avec un « si », « alors », « sinon » dans votre outil de traitement favori. Vous automatisez ainsi la validation des données géolocalisées.

Rappel :

La superficie des communes dans le fichier INSEE est exprimée en hectares. Sachant qu'un hectare vaut 0,01 km2, on peut extrapoler le rayon moyen de la commune grâce à la formule suivante :

rayon superficie

L'implémentation de cette formule en SQL Server donne : sqrt(Superficie/100*pi())

Retour au Wiki

Vous souhaitez bénéficier d'experts sur la validation de données géolocalisées ? Rendez vous sur la page Contact

Laissez-nous vos coordonnées et nous vous rappellerons sous 24 heures.

Les adresses
Next Decision

Next Decision Nantes

Tel : 02.34.09.31.70
31 Rue Fouré
44 000 NANTES
contact@nextdecision.fr

Next Decision Brest

Tel : 02.34.09.31.70
42 rue Glasgow
29 200 BREST
contact@nextdecision.fr

Next Decision Rennes

Tel : 02.34.09.31.70
2 Rue de la Mabilais
35000 RENNES
contact@nextdecision.fr

Next Decision Paris

Tel : 09.51.29.09.35
116 rue Lamarck
75 018 PARIS
contact@nextdecision.fr

Next Decision Bordeaux

Tel : 02.34.09.31.70
20 place Saint Martial
33 300 BORDEAUX
contact@nextdecision.fr

Next Decision Montpellier

Tel : 09.81.93.23.03
23 esplanade de l’Europe
34 000 MONTPELLIER
contact@nextdecision.fr

Next Decision Toulouse

Tel : 02.34.09.31.70
32 Rue Matabiau
31 000 TOULOUSE
contact@nextdecision.fr

Next Decision Lyon

Tel : 02.34.09.31.70
40b rue De La Villette
69 003 LYON
contact@nextdecision.fr

Next Decision Nice

Tel : 02.34.09.31.70
Les Aqueducs, 535 Route des Lucioles
06 560 Sophia Antipolis
contact@nextdecision.fr

Les actualités
Next Decision

Web demo le 12 janvier 2018 à 10h00
Découvrez ou redécouvrez les solutions Report One avec la Suite MyReport.

Next Decision, sponsor de Measurecamp à Nantes
Rendez-vous le 4 Novembre prochain !

Next Decision s’engage :
Un mécénat pour les enfants en difficultés !

13/10/2017 petit déjeuner à Paris
Commerce 2.0 : avez-vous adapté vos plans de rémunération ?