Géolocalisation des communes Françaises

Nous avons créé notamment pour les besoins de notre plate-forme Storimmo une base de données des communes Française. Cette base de données est optimisé en vitesse et en taille mémoire grâce à l'utilisation d'un script Perl de génération d'un source en C destiné à être compilé. Ce source en C qui est automatiquement généré représente pour l'ensemble des communes Françaises une taille de plus de 11Mo. La base de données est pré-optimisé par le script Perl :

  • les structures de collections sont sous forme de tables de hash et sont pré-construites à l'avance lors de la génération du source ;
  • une structure de table de hash en 2D est utilisée pour permettre la recherche de communes proches d'une coordonnées géographique (par exemple GPS) ou d'une autre commune de manière optimale ;
  • les chaînes de caractères sont assemblées ensemble dans un dictionnaire global afin de minimiser l'espace utilisée ;
  • les pointeurs ne sont utilisés qu'à minima pour éviter les codes de relocation généré par le compilateur C : en effet nous cherchons à minimiser la taille pour une bibliothèque dynamique qui pourra être utilisé ensuite par des scripts en Perl (ou en PHP) au niveau des sites Internet ;

Le résultat est une bibliothèque dynamique de seulement 1.3Mo pour environ 40000 communes françaises avec un accès très rapide (en O(1)) sur les critères suivants :

  • recherche par nom de commune exacte ;
  • recherche par coordonnées géographiques (lattitude et longitude) ;
  • attributs : nom de commune, code postal, code INSEE, département associé, région associée, lattitude et longitude notamment ;

Ces travaux d'ingénierie sont un exemple de prestations de services qui peuvent être réalisés pour nos clients mais dans des domaines très variés, selon les compétencesPDF du principal créateur de la société Aytechnet au besoin.

© 2008, 2009 AYTECHNET SARL au capital de 20 000€, siège social: Ayrolle 15340 Calvinet, Cantal, Auvergne
Code APE-NAF 6201Z - RCS Aurillac 502 088 792 - SIRET 502 088 792 00010 - Numéro de TVA intracommunautaire FR45502088792