Découpage d’une adresse

Une adresse postale est souvent présentée sous forme textuelle, exemple:

2, rue Jean Zay
54519 Vandœuvre-lès-Nancy
France

Cependant, une adresse est composée de plusieurs informations sémantiquement différentes comme le pays, la rue ou le code postal. Pour l’exemple précédent:

NomValeur
nom de la rueJean Zay
Code postal54519
VilleVandœuvre-lès-Nancy
PaysFrance

Le web service permet, à partir d’une adresse de découper une adresse au format texte en tableau de champs.  Ce découpage en champs permettra, par exemple, de classer des données par ville ou de les situer sur une carte.

Exemple textuel du traitement

Le format d'entrée :
[
    {
        "id": 1,
        "value": "Inist-CNRS 2, rue Jean Zay CS 10310 F-54519 Vandœuvre-lès-Nancy France"
    },
    {
        "id": 2,
        "value": "46th St & 1st Ave, New York, NY 10017"
    }
]
Le résultat :
[
  {
    "id": 1,
    "value": {
      "id": "Inist-CNRS 2, rue Jean Zay CS 10310 F-54519 Vandœuvrelès-Nancy France",
      "value": {
        "house": "inist-cnrs",
        "house_number": "2",
        "road": "rue jean zay cs 10310",
        "postcode": "f-54519",
        "city": "vandœuvre-lès-nancy",
        "country": "france"
      }
    }
  },
  {
    "id": 2,
    "value": {
      "id": "46th St & 1st Ave, New York, NY 10017",
      "value": {
        "road": "46th st & 1st ave",
        "city": "new york",
        "state": "ny",
        "postcode": "10017"
      }
    }
  }
]