IGN

Géoservices IGN

Nouveau service de géocodage - documentation

Dernière mise à jour : 3 Février 2020

Généralités

Le service de géocodage permet de fournir les coordonnées géographiques d’une adresse postale, d’un lieu ou d’une parcelle cadastrale à partir d’une requête HTTP. Les données de références utilisées par le service de géocodage sont :

Le géocodage des lieux est composé de plusieurs thèmes dont le thème administratif permettant de localiser les différentes divisions administrative du territoire (commune, région…).

Modalités d’accés

l’instance de test du service de géocodage est accessible à l’adresse suivante : https://geocodage.ign.fr/look4/{indice}/{méthode}?

La documentation technique du service au format OpenAPI peut être consultée ici.

Le paramètre indice permet de spécifier la donnée de référence utilisée. Les valeurs possibles sont :

Le paramètre méthode, quant à lui, permet d’indiquer suivant quelle méthode doit s’effectuer la recherche. Les valeurs possibles sont :

Les requêtes sont de type HTTP GET : on ajoute à l’url les paramètres sous la forme clé=valeur.

Réponse du service

En réponse à une requête de géocodage ou de géocodage inverse le service retourne un objet JSON de type “FeatureCollection”. Les feature sont composés d’attributs qui différent en fonction du type de l’objet (address, poi ou parcel). Pour chaque feature de la collection le service retourne en complément des attributs les éléments suivants :

Le calcul du score, dont la valeur est comprise entre 0 et 1, s’effectue de la manière suivante : Le score est calcul à partir de plusieurs composantes. Chacune d’entre elles est définie par un poids et son score peut-être compris entre 0 et ce poids. Le score final est calculé de la manière suivante : score final = somme des scores des composantes / somme des poids des composantes

Le score du géocodage est calculé à partir de 3 composantes :

Le score du géocodage inverse est calculé à partir d’une seule composante :

Ci-après la composition attributaire des différents types d’objet : Type “POI” :

Type “address” :

Type “parcel” :

Requêtes de géocodage

Les paramètres pour ce type de requête sont les suivants :

La recherche par lieu

La recherche par lieux regroupe plusieurs thèmes. Ces thèmes sont les suivants :

Les propriétés de filtrage (paramètre filters) pour les lieux sont :

Exemple de recherche de géocodage sur les lieux :https://geocodage.ign.fr/look4/poi/search?q=roissy%20charles%20de%20gaulle&filters[type]=a%C3%A9rodrome&returnTrueGeometry=true

Dans cette requête nous recherchons des objets de type POI dont le libellé est proche de la chaîne de caractère “roissy charles de gaulle” et dont le type comprend la valeur “aérodrome”. Nous précisons également que nous souhaitons récupérer dans la réponse la géométrie complexe des objets (dans le cas présent, des polygones).

Réponse:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "postalCode": ["95380",...],
        "inseeCode": ["93073","93",...],
        "toponyme": "Aéroport de Paris-Charles de Gaulle",
        "type": ["aérodrome"],
        "extraFields": {
          "cleabs": "AERODROM0000000003752586",
          "nature_detaillee": "",
          "names": ["aérodrome louvres","aérodrome épiais-lès-louvres","aéroport de paris-charles de gaulle",...]
        },
        "trueGeometry": {
          "type": "MultiPolygon",
          "coordinates": [[[[2.4823760016619,48.8589843844804,69.7],
            [2.48366443142965,48.8590798844387,66.7],[2.48368714658264,48.85912584868... ],
            ...80304411,72.8],[2.4823760016619,48.8589843844804,69.7]]]]
        },
        "_score": 0.5,
        "_type": "poi"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [2.48288196455206,48.8600271058162]
      }
   }
  ]
}

La recherche par adresse

Les propriétés de filtrage (paramètre filters) pour les adresses sont :

Les codes postaux, codes insee ou nom de commune peuvent être directement ajoutés en complément de la chaîne de recherche (paramètre q). Exemple : Le paramètrage q=15 rue nationale&filters[inseeCode]=75 peut être remplacé par q=15 rue nationale 75 Il n’est pas interdit d’ajouter le paramètre ‘returnTrueGeometry’ dans la requête mais ce dernier n’aura pas d’effet puisque seul une géométrie ponctuelle peut être retournée (position principale de l’adresse peut être retournée)

Exemple de recherche de géocodage sur les adresses : https://geocodage.ign.fr/look4/address/search?q=10 rue nationale 75&lonlat=2.369,48.822

Dans cette requête nous recherchons des objets de type address dont le libellé est proche de la chaîne de caractère “10 rue nationale 75”. Le score sera influencé par la distance des objets au point de référence dont les coordonnées sont spécifiées par le paramètre “lonlat”. Les objets les plus proche de ce point verront leur score amélioré.

Réponse :

{
   "type": "FeatureCollection",
   "features": [
     {
       "type": "Feature",
       "properties": {
         "city": "Paris 13e Arrondissement",
         "street": "Rue Nationale",
         "postalCode": "75013",
         "number": "10",
         "inseeCode": ["75113","75"],
         "houseNumberInfos": {
           "date":"2018-10-21",
           "source":"ign",
           "kind":"entrance"
         },
         "_score":0.9761899647698602,
         "_type":"address"
       },
       "geometry": {
         "type": "Point",
         "coordinates": [2.369025,48.822466]}
       }
     },
     {
       "type": "Feature",
       
     }
   ]
 }

La recherche par parcelle cadastrale

Les propriétés de filtrage (paramètre filters) pour les parcelles sont :

Pour faire une recherche de parcelle cadastrale, il faut connaître la référence cadastrale de la parcelle.

Exemple : https://geocodage.ign.fr/look4/parcel/search?q=920120000G0027&returnTrueGeometry=true Dans cette requête nous recherchons l’objet de type parcel dont le libellé vaut “920120000G0027”. Nous précisons également que nous souhaitons récupérer dans la réponse la géométrie complexe des objets (dans le cas présent, des polygones).

Réponse :

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "identifiant": "920120000G0027",
        "codeDepartement": "92",
        "codeCommune": "012",
        "nomCommune": "Boulogne-Billancourt",
        "codeCommuneAbs": "000",
        "codeArrondissement": "000",
        "section": "0G",
        "numero": "0027",
        "feuille": 1,
        "trueGeometry": {
          "type": "MultiPolygon",
          "coordinates": [
            [[[2.23124554382499,48.8452290709846],
            ...54382499,48.8452290709846]]]
          ]
        },
        "_score": 1,
        "_type": "parcel"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [2.23133407213081,48.8450469160941]
      }
    }
  ]
}

Si l’utilisateur ne connaît pas la référence et souhaite utiliser les filtres de recherche, il faut tout de même spécifier le paramètre “q” (paramètre obligatoire) en lui affectant une chaîne vide.

Exemple : https://geocodage.ign.fr/look4/parcel/search?q=’‘&filters[codeDepartement]=95&filters[codeCommune]=200&filters[numero]=2

La recherche avec l’indice de ‘location’

Pour la recherche multi-index avec l’indice “location”, les propriétés de filtrage des 2 index (address et POI) peuvent être utilisées. Chaque filtrage sera appliqué sur l’index concerné et n’aura pas d’effet sur l’autre.

Par exemple dans la requête qui suit, un filtrage est réalisé sur la propriété “type” qui existe pour le type POI mais qui n’existe pas pour le type address : https://geocodage.ign.fr/look4/location/search?q=vincennes&filters[type]=commune Ce filtrage ne sera donc pas pris en compte pour le type address et des objets address pourront donc être retourné dans la réponse du service. En revanche, le filtrage sera effectif sur le type POI. Seul des objets POI ayant un champ ‘type’ valant ‘commune’ seront donc retournés.

Requêtes de géocodage inverse

Les paramètres pour ce type de requête sont les suivants :

{
    type: 'Circle',
    coordinates: [2.0, 48.5],
    radius: 100
}

Le paramètre “radius’ est exprimé en mètres. Il est à noter qu’il existe des restrictions sur le paramètre searchGeom:

La recherche par lieu

La recherche par lieux regroupe plusieurs thèmes. Ces thèmes sont les suivants :

Les propriétés de filtrage (paramètre filters) pour les lieux sont :

Exemple de recherche de géocodage inverse sur les lieux : https://geocodage.ign.fr/look4/poi/reverse?searchGeom={“type”:”Point”,”coordinates”:[2.363348,48.827650]}&filters[type]=département

Par cette réquête nous souhaitons récupérer les objets de type POI dont la géométrie complexe intersecte le point localisé aux coordonnées longitude=2.363348 et latitude=48.827650 et dont la propriété “type” comprant la valeur “département”.

Réponse :

{
   "type": "FeatureCollection",
   "features": [
     {
       "type": "Feature",
       "properties": {
         "postalCode":[],
         "inseeCode": ["75"],
         "toponyme": "Paris",
         "extraFields": {
           "cleabs": "DEPARTEM0000002150000468",
           "names": ["paris"]
       },
       "type" : ["administratif","département"],
       "trueGeometry": "",
       "_score": 1,
       "_type": "poi"
     },
     "geometry":
       {
         "type": "Point",
         "coordinates": [2.31987826073,48.8586469225]
       }
    }
  ]
}

La recherche par adresse

Les propriétés de filtrage (paramètre filters) pour les adresses sont :

Les codes postaux, codes INSEE ou nom de commune peuvent être directement ajoutés en complément de la chaîne de recherche (paramètre q). Exemple : Le paramètrage ‘q=15 rue nationale&filters[inseeCode]=75’ peut être remplacé par ‘q=15 rue nationale 75’ Il n’est pas interdit d’ajouter le paramètre ‘returnTrueGeometry’ dans la requête mais ce dernier n’aura pas d’effet puisque seul une géométrie ponctuelle peut être retournée (position principale de l’adresse peut être retournée)

Exemple de recherche de géocodage inverse sur les adresses : https://geocodage.ign.fr/look4/address/reverse?searchGeom={“type”:”Polygon”,”coordinates”:[[[2.354,48.838],[2.354,48.839],[2.357,48.839],[2.357,48.838],[2.354,48.838]]]}&filters[inseeCode]=75

Par cette réquête nous souhaitons récupérer les objets de type address dont la géométrie (ponctuelle) intersecte le polygone dont les coordonnées sont spécifiées dans le paramètre “searchGeom” et dont la propriété “inseeCode” comprant la valeur “75”.

Réponse :

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "city": "Paris 5e Arrondissement",
        "street": "Rue des Fossés Saint-marcel",
        "postalCode": "75005",
        "number": "14",
        "inseeCode": ["75105","75"],
        "houseNumberInfos": {
          "date": "2018-10-21",
          "source": "ign",
          "kind": "entrance",
          "otherPositions": [
            {
              "date": "2018-10-21",
              "source": "dgfip",
              "kind": "parcel",
              "geometry": {
                "type": "Point",
                "coordinates": ["2.355673","48.838603"]
              }
            }
          ]
        },
        "_score": 0.9769854718881752,
        "_type": "address"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [2.355869,48.838509]
      }
    },
    {
      "type": ...
    }
  ]
}

La recherche par parcelle cadastrale

Les propriétés de filtrage (paramètre filters) pour les parcelles sont :

Pour faire une recherche de parcelle cadastrale, il faut connaître la référence cadastrale de la parcelle.

Exemple de recherche de géocodage inverse sur les parcelles cadastrales : https://geocodage.ign.fr/look4/parcel/reverse?searchGeom={“type”:”Point”,”coordinates”:[2.2313,48.845]}

Par cette réquête nous souhaitons récupérer les objets de type parcel dont la géométrie complexe intersecte le point de coordonnées : longitude=2.2313 et latitude=48.845.

Réponse :

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "identifiant": "920120000G0027",
        "codeDepartement": "92",
        "codeCommune": "012",
        "nomCommune": "Boulogne-Billancourt",
        "codeCommuneAbs": "000",
        "codeArrondissement": "000",
        "section": "0G",
        "numero": "0027",
        "feuille": 1,
        "trueGeometry": {
          "type": "MultiPolygon",
          "coordinates": [
            [[[2.23124554382499,48.8452290709846],
            ...54382499,48.8452290709846]]]
          ]
        },
        "_score": 1,
        "_type": "parcel"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [2.23133407213081,48.8450469160941]
      }
    }
  ]
}

La recherche avec l’indice “location”

Pour la recherche multi-index avec l’indice “location”, les propriétés de filtrage des 2 index (address et POI) peuvent être utilisées. Chaque filtrage sera appliqué sur l’index concerné et n’aura pas d’effet sur l’autre.

Par exemple dans la requête qui suit, un filtrage est réalisé sur la propriété “type” qui existe pour le type POI mais qui n’existe pas pour le type address : https://geocodage.ign.fr/look4/location/reverse?searchGeom={“type”:”Polygon”,”coordinates”:[[[2.3776307702064514,48.85442547791262],[2.3776307702064514,48.85469373059058],[2.378220856189728,48.85469373059058],[2.378220856189728,48.85442547791262],[2.3776307702064514,48.85442547791262]]]}&filters[type]=commune

Ce filtrage ne sera donc pas pris en compte pour le type address et des objets address pourront donc être retourné dans la réponse du service. En revanche, le filtrage sera effectif sur le type POI. Seul des objets POI ayant un champ ‘type’ valant ‘commune’ seront donc retournés.