Matching Géographique et SIG : Définition, Outil et Algorithme

Dans le secteur des Nouvelles Technologies d’information et de Communication (NTIC), les exemples de business déployés sur le concept du Matching Géographique sont relativement nombreux. On peut citer les sites d’annonces, de covoiturage, les sites de rencontre, les réseaux sociaux, les sites d’informations. Par extension, certains business font directement référence au terme de Matches comme l’application Tinder par exemple (figure 1). Toutefois, même si les activités des différents sites intègrent clairement la dimension géographique, la mise en place d’un Système d’Informations Géographiques (SIG) est loin d’être systématique.

Matching Spatial

Figure 1 : Statistiques des Matches sur l’application Tinder.

Dans la majorité des cas, on assiste plutôt à une correspondance entre des noms représentant des limites géographiques. En clair, les caractères sont les paramètres des requêtes. Alors, comment prendre en compte la puissance de la dimension géographique pour concevoir du Matching Spatial? Comment élaborer un SIG capable de gérer le Matching Géographique? Et ce, grâce à des technologies Open Sources? Dans un premier temps, on définit de manière plus approfondie le concept de Matching Spatial. Puis, les outils SIG utilisés sont présentés ainsi que les fonctions et algorithmes de Matching Géographique. Enfin, des exemples de développements SIG montrent concrètement l’utilisation de ce concept.

1. Définition du Matching Géographique dans un Système d’Informations Géographiques

1.1. Principes du Matching Géographique

Le Matching Spatial, c’est quoi? Par définition, c’est la relation entre plusieurs entités distinctes et caractérisées par leur localisation géographique. Chaque entité géographique possède des informations attributaires et une géométrie spatiale associée. Cette géométrie peut être un point, des multipoints, une ligne, des multilignes, un polygone, des multipolygones ou un ensemble de ses différentes géométries appelé collection de géométries. Ensuite, la relation entre deux entités peut être de différentes natures :

  • une comparaison entre leurs données attributaires;
  • une relation entre leurs géométries spatiales.

Cette dernière relation définit le Matching Géographique pour les puristes du SIG. En outre, la prise en considération de la géométrie spatiale offre beaucoup plus de possibilités que celles de la concordance des informations alphanumériques. En effet, se limiter à une comparaison des champs attributaires revient à prendre en compte seulement les éléments de cette requête. Alors que l’association par la géométrie spatiale permet de réaliser de nombreuses requêtes qui ne se limitent pas à un territoire défini. Par conséquent, le système de Matching est une question de représentation mentale. Et en tant que géomaticien, on doit être totalement imprégné de ce schéma.

1.2. Exemple des limites du Matching Spatial basé sur la concordance alphanumérique

Prenons par exemple un site d’annonces bien connus en France : Le Bon Coin. Le tunnel d’entrée vers les annonces est une cartographie sur laquelle on peut choisir une limite administrative (figure 2). Ce premier niveau administratif représente les régions françaises. Pourtant, malgré le succès indéniable de ce site internet avec quelques millions de visites par mois, le moteur de recherche d’annonces est relativement limitant pour l’utilisateur. En effet, la recherche est systématiquement et strictement associée à un unique échelon administratif :

  1. l’échelon administratif de la région;
  2. la limite administrative d’un ou des départements;
  3. les noms d’une ou de plusieurs villes.
cartographie lebocoin

Figure 2 : Cartographie de sélection de recherches d’annonces sur Le Bon Coin.

Maintenant, imaginons que l’utilisateur veuille trouver une annonce comme un bien immobilier à la frontière d’une limite administrative. Il doit alors réaliser non pas une mais plusieurs recherches sur le site. Dès lors, le site d’annonces pourrait proposer à l’utilisateur de dessiner une zone géographique de recherche ou encore de définir une distance à un lieu donné. Grâce à cette fonctionnalité de WebMapping, tous les éléments associés à cette recherche seraient visibles en une seule requête par l’utilisateur. Ainsi, son expérience serait donc améliorée et plus fluide. Vous souhaitez recréer ce fameux site d’annonces en vous basant sur une architecture SIG? C’est une idée de Business SIG mais je vous souhaite bon courage pour concurrencer ce mastodonte.

1.3. La représentation spatiale

De nombreux cas similaires à l’exemple présenté ci-dessus existent. On peut citer les alertes météorologiques : pourquoi alerter tout un département et émouvoir nos retraités apaisés alors que la tempête ne passera seulement que sur une extrémité de la collectivité? Certes, les autorités administratives compétentes sont déclinées par échelon administratif mais des points de vue scientifiques et naturelles, cela n’a aucun sens. Il suffit d’avoir la critique géographique pour améliorer de nombreux systèmes de Matching Spatial en place. Si vous n’avez pas encore ce schéma spatial à l’esprit, imprégnez votre cerveau de cette représentation. Il faut se poser sans cesse les bonnes questions :

  • Quel élément intersecte tel autre élément?
  • Qu’est-ce qui est contenu spatialement dans telle entité géographique?
  • A quelle distance se trouve tel service ou tel magasin?

Après quelques semaines de pratique, de nombreuses opportunités de business et de services SIG naîtront à chaque instant devant vos yeux, puis dans votre inconscient.

Par conséquent, le SIG a toute légitimité pour optimiser le Matching Spatial. Alors quels sont les outils SIG préférentiels pour réaliser du Matching géographique?

2. Outils SIG utilisés pour le Matching Spatial

Les outils SIG disponibles pour analyser une relation entre des géométries spatiales sont relativement nombreux. Bien entendu, sur Geomatick, on ne parle que de technologies SIG libres comme les logiciels SIG ou les API de WebMapping Open Sources. Les résultats obtenus sont plus flexibles et adaptés à ce que l’on souhaite mettre en place. On reviendra sur les avantages du SIG Open Sources en comparaison avec le commercial dans un prochain article. Afin de structurer cette section, on distingue trois catégories d’outils SIG pour le Matching Spatial :

  • Le Système de Gestion de Bases de Données (SGBDR);
  • Le serveur cartographique;
  • Les API de WebMapping.

Ici, on n’évoque pas les logiciels SIG Bureau comme QGIS. Tous ces composants de l’architecture SIG mettent à disposition des fonctions traitant les géométries. Ainsi, il est possible de réaliser diverses opérations de Matching Spatial. Les plus utilisées sont :

  • l’intersection : les deux objets géographiques se croisent (pour l’une ou les entités des objets);
  • la contenance : un objet est contenu dans l’autre;
  • la zone d’intérêt (buffer) : l’entité géographique est contenue dans une « zone tampon »;
  • la distance : la longueur entre deux géométries spatiales;
  • le retrait (disjoin) : une surface est retirée d’une zone géographique.

Pour ces trois composants de l’architecture SIG, on utilise PostgreSQL et son extension spatiale PostGIS pour le SGBDR, GeoServer pour le serveur cartographique et OpenLayers pour l’API de WebMapping.

3. Algorithme de correspondance géographique

Dans cette section, on mentionne de manière non exhaustive différentes fonctions de Matching Spatial pour chaque outil SIG.

3.1. Le SGBD PostgreSQL / PostGIS

Le SGBD PostgreSQL / PostGIS met à disposition de nombreuses fonctions permettant d’associer des géométries de projection commune. Quelques-unes d’entre elles sont introduites ci-après :

  • ST_Intersects : vérifie si deux géométries s’intersectent;
  • ST_Intersection : retourne la géométrie intersectée de deux géométries;
  • ST_Contains : montre si une géométrie est contenue dans l’autre;
  • ST_Buffer : retourne une géométrie dont tous les points sont situés à égale ou plus grande distance d’une première géométrie;
  • ST_DWithin : vérifie si deux géométries sont distantes l’une de l’autre à une distance indiquée;
  • ST_Distance : indique la distance entre deux entités géométriques.

Pour toutes ces fonctions PostGIS, il est important d’avoir vérifié la validation des données géographiques.

3.2. Le serveur cartographique GeoServer

Le serveur cartographique GeoServer utilise des protocoles HTTP pour servir des données géographiques dans divers formats de sortie. Différents paramètres composent les URLs générés : le service utilisé comme le WMS ou le WFS, sa version, la couche SIG et l’étendue géographique. Pour manipuler les géométries, GeoServer implémente également d’autres paramètres basés sur les requêtes spatiales. Ainsi, le paramètre cql_filter, utilisant l’Extended Common Query Language (ECQL), autorise les filtres géométriques sur les données géographiques comme le montre la figure 3 issue de la documentation. On retrouve les principales opérations propices au Matching Géographique comme Intersects, Contains ou encore DWithin.

requêtes sur GeoServer

Figure 3 : Filtres spatiaux de GeoServer (source : Documentation de GeoServer).

3.3. L’API de WebMapping OpenLayers

Comparer des géométries spatiales en utilisant l’API d’OpenLayers seule est beaucoup plus limité. En effet, certaines méthodes comme getLength et getArea réalisent des opérations basiques pour obtenir respectivement la longueur d’une géométrie linéaire (ou de même la distance entre deux points) (figure 4) et l’aire d’un polygone. On pourra également citer le module Intersects qui vérifie l’intersection d’une géométrie. Quant à elle, la méthode getIntersection retourne la géométrie intersectée entre deux étendues géographiques (extent). Mais dès lors qu’il s’agit d’intersection entre géométries, de contenance et d’autres opérations de Matching Spatial, on associera l’utilisation de la librairie JavaScript Topology Suite (JSTS).

distance avec l'api de webmapping

Figure 4 : Mesure de la Distance avec OpenLayers.

Toutefois, l’affichage sur la carte de géométries « pré-traitées » issues de protocoles HTTP est toujours possible. Côté client, OpenLayers implémente également la possibilité de définir des filtres pour le format WFS.

Pour conclure, sous l’impulsion de l’Open Geospatial Consortium (OGC), les fonctions des différents outils SIG ont des caractéristiques très proches.

4. Exemples d’utilisation du Matching Géographique dans des business SIG

Cette section présente quelques exemples d’utilisation de Matching Spatial en considérant les algorithmes évoquées précédemment.

4.1. Relation spatiale entre la localisation d’un bien immobilier et son quartier

4.1.1. Principes de la dégradation de la localisation géographique

Premièrement, la majorité des annonces immobilières ne sont pas localisées précisément sur les sites des agences immobilières ou les sites d’agrégat des offres de location et/ou de ventes. En effet, le professionnel de l’immobilier n’a aucun intérêt à donner une adresse exacte du bien en vente. Plusieurs raisons de la dégradation de la localisation géographique des maisons, appartements, garages, terrains existent:

  • L’agent immobilier n’a pas l’exclusivité de la vente du bien. Il veut ainsi éviter tout espionnage concurrentiel. Un quelconque concurrent ne peut finalement pas démarcher le vendeur.
  • Suivant la même logique, un client potentiel ne pourra pas entrer directement en contact avec le vendeur du bien immobilier.

Comment procéder pour faire correspondre l’adresse d’un bien immobilier avec son quartier?

4.1.2. Méthodologies utilisées pour le Matching Spatial

Pour toute saisie du bien immobilier, l’agence immobilière enregistre l’adresse par la suite géocodée. En clair, le géocodage permet de transformer la localisation ponctuelle du bien en coordonnées géographiques : une latitude et une longitude. Pour réaliser cette opération, différents outils SIG de géocodages gratuits existent :

  • Nominatim, basé sur les données mondiales d’OpenStreetMap;
  • l’API de la Base Adresse Nationale française.

Depuis peu, Google Maps a modifié ses conditions d’utilisation de l’API et son service est désormais payant. Une fois les coordonnées géographiques obtenues, il suffit de vérifier la correspondance par intersection entre ce point et les différentes géométries spatiales représentant ces quartiers. Plusieurs solutions de Matching Spatial existent :

  1. Depuis un protocole HTTP de type WMS et/ou WFS en lien avec un serveur cartographique.
  2. Depuis une méthode d’une classe basée sur une requête PostGIS, par extension mise à disposition comme API.

4.1.3. Résultats de l’affichage du quartier sur la cartographie dynamique

Dans le cas du développement du site pour l’agence immobilière de Crystal Immobilier, tous les biens immobiliers dans le secteur de Reims vendus sont géocodés lors de l’importation des annonces dans la base de données. Les quartiers sont quant à eux bancarisés sur un autre serveur. Après quelques développements, leur géométrie et données attributaires sont mises à disposition via une API. Depuis OpenLayers, la cartographie dynamique affiche l’objet géographique du quartier intersecté par les coordonnées géographiques du bien immobilier (figure 5).

Annonce immobilière par quartier

Figure 5 : Cartographie du quartier correspondant à la localisation géographique du bien immobilier.

4.2. Distance d’un point d’intérêt à une recherche par l’adresse

Les différents business SIG comparent très souvent la distance entre des objets localisés. On dispose d’un point localisé, par exemple une adresse et on retourne toutes les géométries dans un rayon d’une certaine distance. Les méthodologies sont identiques à celles de la section précédente. Dans ce cas, avec PostGIS, on privilégie la fonction ST_DWithin plus performante que ST_Distance. Si vous ne disposez pas d’une extension spatiale dans la base de données ni de serveur cartographique, la formule suivante permet de calculer la distance entre deux points A et B dont les coordonnées géographiques sont initialement en degrés décimaux. Il faut alors transformer leurs longitudes et latitudes en radians (rad).

(6371 * arc cosinus(((sinus(rad(latitude_B))*sinus(rad(latitude_A)))+(cosinus(rad(latitude_B))*cosinus(rad(latitude_A))*cosinus((rad(longitude_B)-rad(longitude_A)))))))*1000

La figure 6 montre un exemple de boutiques localisées à une certaine distance d’une adresse saisie grâce à l’utilisation de la formule précédente.

Distance d'une adresse avec un point d'intérêt

Figure 6 : Exemple de Matching Spatial par la distance.

Au final, les exemples de cette section sont relativement simples et nécessitent peu de développement. Il est donc facile de reproduire cette structure SIG dans différents WebSIG. Certains Business SIG font appel à des architectures SIG plus approfondies avec notamment, des classes et des méthodes plus complexes dans les traitements des données géographiques.

En conclusion, le Matching Géographique est largement mis en œuvre sur des sites internet et/ou des applications mobiles mais la dimension géographique est souvent mal exploitée. On a montré qu’à travers la mise en place d’une architecture SIG, il est possible d’implémenter divers systèmes de Matching Spatial associant les géométries de différentes natures entre elles. Aucun besoin de logiciels payants, les fonctions délivrées par les outils SIG libres et Open Sources sont performantes pour la construction de classes mettant en relation les objets géographiques. Intersection, contenance, zone d’intérêt, distance, toutes ces comparaisons entre les entités géographiques sont génératrices d’informations pour les utilisateurs d’un service. Par conséquent, le Matching Géographique est une source infinie de Business SIG.

Taggé , , , , .Mettre en favori le Permaliens.

A propos Florian Delahaye

Fondateur et Administrateur de Geomatick. Consultant en Géomatique. Docteur en Géographie, Spécialités en SIG et Télédétection.

Une réponse à Matching Géographique et SIG : Définition, Outil et Algorithme

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *