Cette page n’est plus maintenue depuis la version 2022 de Geoconcept Web. Pour accéder à la documentation à jour de ce web service, veuillez suivre ce lien.
La requête comprend une adresse en entrée, le service retourne une ou plusieurs réponses possibles (s’il y a ambiguïté), en incluant l’adresse reconnue, la position, le score de géocodage, le type de géocodage.
Ce service de géocodage interroge la table de référence paramétrée grâce à l’interface Administration de Geoconcept Web.
Ce web service est disponible en permanence avec Geoconcept Web et une table de référence.
Les versions précédente du web service sont conservées dans Geoconcept Web pour assurer la compatibilité avec les développements antérieurs. Il est recommandé d’utiliser la version la plus récente.
Changements avec la v2
- Suppression du paramètre "projection", remplacé par "srs"
- Suppression du paramètre "geocodeScore", remplacé par "score"
- Suppression des paramètres "projection", "srs" et "maxResponses" dans le bloc "initialAddress"
- Le paramètre "postalCode" est renommé "postCode"
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
countryCode |
pays sur 2 ou 3 lettres (code ISO 3166-1) par exemple "fr" ou "fra", |
oui |
cf. Geoconcept Web / Administration / Paramètres |
postCode |
code postal |
oui * |
|
addressLine |
adresse comprenant numéro, indice de répétition, type de voie et libellé de voie. |
oui * |
|
city |
ville |
oui * |
|
region |
État, Comté, … |
oui |
|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
Sans projection, le résultat est en projection native de l’index de géocodage, habituellement wgs84 |
maxResponses |
nombre maximum de résultats d’adresses dans la réponse |
oui |
cf. Geoconcept Web / Administration / Paramètres |
streetMinScore |
la valeur de ce paramètre varie, comme pour le score, entre 0 et 100. |
oui |
(*) Au moins l’un des trois paramètres postCode, addressLine et city doit être renseigné.
En sortie
paramètre | type | min/max | description |
---|---|---|---|
geocodedAddress (ou geocodedAddresses en JSON / JSON-P) |
geocodedAddress (ou array en JSON / JSON-P) |
0/illimité |
Adresses géocodées |
initialAddress |
geocodeInitialAddress |
0/1 |
Adresse initiale |
Adresses géocodées (geocodedAddress)
paramètre | type | min/max | description |
---|---|---|---|
addressLine |
string |
0/1 |
rue trouvée et le cas échéant le numéro |
city |
string |
0/1 |
ville trouvée |
region |
string |
0/1 |
État, Comté, … trouvée, varie en fonction des pays, peut également être vide |
countryCode |
string |
1/1 |
cf. description du paramètre en entrée |
postCode |
string |
0/1 |
code postal trouvé |
secondaryZone |
string |
0/1 |
zone qui dépend de l’index de géocodage, habituellement en France il s’agit du code IRIS |
score |
double |
1/1 |
note du géocodage de 0 à 100, avec 100 pour une correspondance parfaite |
geocodeType |
int |
1/1 |
type de géocodage : - ville = 1 - rue = 2 - rue amélioré = 3 - numéro de rue = 4 - non géocodé = 0 |
x |
double |
1/1 |
coordonnées X |
y |
double |
1/1 |
coordonnées Y |
place (ou places en JSON / JSON-P) |
string (ou array en JSON / JSON-P) |
0/illimité |
liste des attributs. Valeur des attributs de l’adresse trouvée, en relation avec placeTypes (par exemple ["751010206","930005Y001XCHE"]). Dépend du référentiel utilisé. |
placeType (ou placeTypes en JSON / JSON-P) |
string (ou array en JSON / JSON-P) |
0/illimité |
liste des types d’attributs (par exemple ["IRIS","FANTOIR"]) .Dépend de la table de référence utilisée. |
streetNumber |
string |
0/1 |
numéro de rue |
streetWayType |
string |
0/1 |
type de rue (avenue, street, etc ) |
streetWayName |
string |
0/1 |
nom de la rue |
streetWay |
string |
0/1 |
nom complet de la rue |
Adresse initiale (initialAddress)
paramètre | type | min/max | description |
---|---|---|---|
addressLine |
string |
0/1 |
rue trouvée et le cas échéant le numéro |
city |
string |
0/1 |
ville trouvée |
region |
string |
0/1 |
État, Comté, … trouvée, varie en fonction des pays, peut également être vide |
countryCode |
string |
1/1 |
cf. description du paramètre en entrée |
postCode |
string |
0/1 |
code postal trouvé |
WSDL
http://<server>
/<webapp>
/api/ws/geocodeService?wsdl
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas"> <soapenv:Header/> <soapenv:Body> <sch:geocodeV2> <!--Optional:--> <countryCode>FR</countryCode> <!--Optional:--> <postCode>44000</postCode> <!--Optional:--> <addressLine>45 Rue Noire</addressLine> <!--Optional:--> <city>nantes</city> <!--Optional:--> <region></region> <!--Optional:--> <srs>epsg:4326</srs> <maxResponses>2</maxResponses> <streetMinScore></streetMinScore> </sch:geocodeV2> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:geocodeV2Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <GeocodeResult> <status>OK</status> <geocodedAddress> <addressLine>45 RUE NOIRE</addressLine> <city>Nantes</city> <countryCode>FR</countryCode> <postCode>44109</postCode> <srs>epsg:4326</srs> <secondaryZone/> <score>94.95</score> <geocodeType>4</geocodeType> <x>-1.563901</x> <y>47.224987</y> <places> <place/> </places> <placeTypes> <placeType>Attribut</placeType> </placeTypes> <streetNumber>45</streetNumber> <streetWayType>RUE</streetWayType> <streetWayName>NOIRE</streetWayName> <streetWay>RUE NOIRE</streetWay> </geocodedAddress> <initialAddress> <addressLine>45 Rue Noire</addressLine> <city>nantes</city> <region/> <countryCode>FR</countryCode> <postCode>44000</postCode> </initialAddress> </GeocodeResult> </ns2:geocodeV2Response> </soap:Body> </soap:Envelope>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/geocode/v2.json?addressLine=45%20Rue%20Noire&postCode=44000&city=nantes&countryCode=fr&srs=epsg:4326
Requête JSON-P
http://<server>/<webapp>/api/lbs/geocode/v2.json?addressLine=45%20Rue%20Noire&postCode=44000&city=nantes&countryCode=fr&srs=epsg:4326&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/geocode/v2.xml?addressLine=45%20Rue%20Noire&postCode=44000&city=nantes&countryCode=fr&srs=epsg:4326
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message":null, "status":"OK", "geocodedAddresses":[ { "addressLine":"45 RUE NOIRE", "city":"Nantes", "countryCode":"FR", "postCode":"44109", "srs":"epsg:4326", "secondaryZone":"", "score":94.95, "geocodeType":4, "x":-1.563901, "y":47.224987, "places":[ "" ], "placeTypes":[ "Attribut" ], "streetNumber":"45", "streetWayType":"RUE", "streetWayName":"NOIRE", "streetWay":"RUE NOIRE" } ], "initialAddress":{ "addressLine":"45 Rue Noire", "city":"nantes", "countryCode":"fr", "postCode":"44000" } }
Format JSON-P
MyCallBack({ "message":null, "status":"OK", "geocodedAddresses":[ { "addressLine":"45 RUE NOIRE", "city":"Nantes", "countryCode":"FR", "postCode":"44109", "srs":"epsg:4326", "secondaryZone":"", "score":94.95, "geocodeType":4, "x":-1.563901, "y":47.224987, "places":[ "" ], "placeTypes":[ "Attribut" ], "streetNumber":"45", "streetWayType":"RUE", "streetWayName":"NOIRE", "streetWay":"RUE NOIRE" } ], "initialAddress":{ "addressLine":"45 Rue Noire", "city":"nantes", "countryCode":"fr", "postCode":"44000" } });
Format XML
<?xml version="1.0" encoding="UTF-8"?> <geocodeResultV2> <status>OK</status> <geocodedAddress> <addressLine>45 RUE NOIRE</addressLine> <city>Nantes</city> <countryCode>FR</countryCode> <postCode>44109</postCode> <srs>epsg:4326</srs> <secondaryZone /> <score>94.95</score> <geocodeType>4</geocodeType> <x>-1.563901</x> <y>47.224987</y> <places> <place /> </places> <placeTypes> <placeType>Attribut</placeType> </placeTypes> <streetNumber>45</streetNumber> <streetWayType>RUE</streetWayType> <streetWayName>NOIRE</streetWayName> <streetWay>RUE NOIRE</streetWay> </geocodedAddress> <initialAddress> <addressLine>45 Rue Noire</addressLine> <city>nantes</city> <countryCode>fr</countryCode> <postCode>44000</postCode> </initialAddress> </geocodeResultV2>
API JavaScript
Inclure la librairie JavaScript.
var geocoder = new GCUI.Control.GeoCode(); geocoder.geocode({url : 'http://<server>/<webapp>/api/lbs/geocode/v2.json', city : 'Nantes', postCode : '44000', addressLine : '45 Rue Noire', countryCode : 'fr', srs : 'wgs84', callback : function(result) {...} }) ;
La variable result
est au format JSON décrit ci-dessus.
La fonction callback
passée en paramètre est appelée à la fin du géocodage.
Cas d’une adresse trouvée (geocodeResponse/GeocodeResult/status est OK)
<ns2:geocodeV2Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <?xml version="1.0" encoding="UTF-8"?> <geocodeResultV2> <status>OK</status> <geocodedAddress> <addressLine>45 RUE NOIRE</addressLine> <city>Nantes</city> <countryCode>FR</countryCode> <postCode>44109</postCode> <srs>epsg:4326</srs> <secondaryZone /> <score>94.95</score> <geocodeType>4</geocodeType> <x>-1.563901</x> <y>47.224987</y> <places> <place /> </places> <placeTypes> <placeType>Attribut</placeType> </placeTypes> <streetNumber>45</streetNumber> <streetWayType>RUE</streetWayType> <streetWayName>NOIRE</streetWayName> <streetWay>RUE NOIRE</streetWay> </geocodedAddress> <initialAddress> <addressLine>45 Rue Noire</addressLine> <city>nantes</city> <countryCode>fr</countryCode> <postCode>44000</postCode> </initialAddress> </geocodeResultV2> </ns2:geocodeV2Response>
Cas d’une adresse non trouvée (geocodeResponse/GeocodeResult/status est OK et pas de geocodedAddress)
<ns2:geocodeV2Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <GeocodeResult> <status>OK</status> <initialAddress> <city>#hdkvnjsdvn</city> </initialAddress> </GeocodeResult> </ns2:geocodeV2Response>
Cas d’une requête ayant une erreur XML ou ne respectant pas le WSDL ⇒ erreur avec faultstring qui contient la description
<soap:Fault> <faultcode xmlns:ns1="geoconcept.com">ns1:8</faultcode> <faultstring>Message part {http://geoconcept.com/gc/schemas}geocodeABCD was not recognized. (Does it exist in service WSDL?)</faultstring> </soap:Fault>
Cas d’une requête avec un système de reprojection inexistant ⇒ erreur avec faultstring qui contient la description
<soap:Fault> <faultcode xmlns:ns1="geoconcept.com">ns1:8</faultcode> <faultstring>Geocode failed Failed to process geocoding task Unsupported coordinate system 'epsg:432666666'</faultstring> </soap:Fault>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
countryCode |
pays sur deux lettres (code ISO 3166-1 ou ccTLD) par exemple "fr", |
oui |
cf. Geoconcept Web / Administration / Paramètres |
postalCode |
code postal |
oui * |
|
addressLine |
adresse comprenant numéro, indice de répétition, type de voie et libellé de voie. |
oui * |
|
city |
ville |
oui * |
|
region |
État, Comté, … |
oui |
|
projection |
déprécié, remplacé par srs |
oui |
|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
Sans projection, le résultat est en projection native de l’index de géocodage, habituellement wgs84 |
maxResponses |
nombre maximum de résultats d’adresses dans la réponse |
oui |
cf. Geoconcept Web / Administration / Paramètres |
streetMinScore |
la valeur de ce paramètre varie, comme pour le score, entre 0 et 100. |
oui |
(*) Au moins l’un des trois paramètres postalCode, addressLine et city doit être renseigné.
En sortie
paramètre | type | min/max | description |
---|---|---|---|
geocodedAddress (ou geocodedAddresses en JSON / JSON-P) |
geocodedAddress (ou array en JSON / JSON-P) |
0/illimité |
Adresses géocodées |
initialAddress |
geocodeInitialAddress |
0/1 |
Adresse initiale |
Adresses géocodées (geocodedAddress)
paramètre | type | min/max | description |
---|---|---|---|
secondaryZone |
string |
0/1 |
zone qui dépend de l’index de géocodage, habituellement en France il s’agit du code IRIS |
score |
double |
1/1 |
note du géocodage de 0 à 100, avec 100 pour une correspondance parfaite |
geocodeScore |
double |
1/1 |
Déprécié, , remplacé par score : note du géocodage de 0 à 20, avec 20 pour une correspondance parfaite |
geocodeType |
int |
1/1 |
type de géocodage : - ville = 1 - rue = 2 - rue amélioré = 3 - numéro de rue = 4 - non géocodé = 0 |
x |
double |
1/1 |
coordonnées X |
y |
double |
1/1 |
coordonnées Y |
place (ou places en JSON / JSON-P) |
string (ou array en JSON / JSON-P) |
0/illimité |
liste des attributs. Valeur des attributs de l’adresse trouvée, en relation avec placeTypes (par exemple ["751010206","930005Y001XCHE"]). Dépend du référentiel utilisé. |
placeType (ou placeTypes en JSON / JSON-P) |
string (ou array en JSON / JSON-P) |
0/illimité |
liste des types d’attributs (par exemple ["IRIS","FANTOIR"]) .Dépend de la table de référence utilisée. |
streetNumber |
string |
0/1 |
numéro de rue |
streetWayType |
string |
0/1 |
type de rue (avenue, street, etc ) |
streetWayName |
string |
0/1 |
nom de la rue |
streetWay |
string |
0/1 |
nom complet de la rue |
Adresse initiale (initialAddress)
paramètre | type | min/max | description |
---|---|---|---|
addressLine |
string |
0/1 |
rue trouvée et le cas échéant le numéro |
city |
string |
0/1 |
ville trouvée |
region |
string |
0/1 |
État, Comté, … trouvée, varie en fonction des pays, peut également être vide |
countryCode |
string |
1/1 |
cf. description du paramètre en entrée |
postalCode |
string |
0/1 |
code postal trouvé |
projection |
string |
1/1 |
Déprécié, remplacé par srs |
srs |
string |
1/1 |
cf. description du paramètre en entrée |
maxResponses |
string |
0/1 |
cf. description du paramètre en entrée |
WSDL
http://<server>
/<webapp>
/api/ws/geocodeService?wsdl
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas"> <soapenv:Header/> <soapenv:Body> <sch:geocode> <!--Optional:--> <countryCode></countryCode> <!--Optional:--> <postalCode>75013</postalCode> <!--Optional:--> <addressLine>25, rue de toldiac</addressLine> <!--Optional:--> <city>paris</city> <!--Optional:--> <region></region> <!--Optional:--> <projection></projection> <!--Optional:--> <srs></srs> <maxResponses>2</maxResponses> <streetMinScore></streetMinScore> </sch:geocode> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:geocodeResponse xmlns:ns2="http://geoconcept.com/gc/schemas"> <GeocodeResult> <status>OK</status> <geocodedAddress> <addressLine>25 RUE DE TOLBIAC</addressLine> <city>PARIS</city> <countryCode>FR</countryCode> <postalCode>75013</postalCode> <projection>epsg:27572</projection> <srs>epsg:27572</srs> <secondaryZone>751135014</secondaryZone> <geocodeScore>19.8101</geocodeScore> <score>99.05</score> <geocodeType>4</geocodeType> <x>602722.1475334</x> <y>2425598.4510822</y> <places> <place>751135014</place> </places> <placeTypes> <placeType>IRIS</placeType> </placeTypes> <streetNumber>25</streetNumber> <streetWayType>RUE</streetWayType> <streetWayName>DE TOLBIAC</streetWayName> <streetWay>RUE DE TOLBIAC</streetWay> </geocodedAddress> <geocodedAddress> <addressLine>PONT DE TOLBIAC</addressLine> <city>PARIS</city> <countryCode>FR</countryCode> <postalCode>75013</postalCode> <projection>epsg:27572</projection> <srs>epsg:27572</srs> <secondaryZone>751135099</secondaryZone> <geocodeScore>19.0505</geocodeScore> <score>95.25</score> <geocodeType>2</geocodeType> <x>603221.0049634</x> <y>2426021.5068995</y> <places> <place>751135099</place> </places> <placeTypes> <placeType>IRIS</placeType> </placeTypes> <streetNumber/> <streetWayType>PONT</streetWayType> <streetWayName>DE TOLBIAC</streetWayName> <streetWay>PONT DE TOLBIAC</streetWay> </geocodedAddress> <initialAddress> <addressLine>25, rue de toldiac</addressLine> <city>paris</city> <region/> <countryCode/> <postalCode>75013</postalCode> <projection/> <srs/> </initialAddress> </GeocodeResult> </ns2:geocodeResponse> </soap:Body> </soap:Envelope>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/geocode.json?countryCode=fr&addressLine=25%20rue%20de%20toldiac&postalCode=75013&city=Paris&srs=epsg:4326&maxResponses=2
Requête JSON-P
http://<server>/<webapp>/api/lbs/geocode.json?countryCode=fr&addressLine=25%20rue%20de%20toldiac&postalCode=75013&city=Paris&srs=epsg:4326&maxResponses=2&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/geocode.xml?countryCode=fr&addressLine=25%20rue%20de%20toldiac&postalCode=75013&city=Paris&maxResponses=2
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message":null,"status":"OK", "geocodedAddresses": [ { "addressLine":"25 RUE DE TOLBIAC","city":"PARIS","countryCode":"FR","postalCode":"75013", "projection":"epsg:4326","srs":"epsg:4326","maxResponses":null,"secondaryZone":"751135014", "geocodeScore":19.8101,"score":99.05,"geocodeType":4,"x":2.373562,"y":48.828757, "places":["751135014"],"placeTypes":["IRIS"], "streetNumber":"25","streetWayType":"RUE","streetWayName":"DE TOLBIAC","streetWay":"RUE DE TOLBIAC" }, { "addressLine":"PONT DE TOLBIAC","city":"PARIS","countryCode":"FR","postalCode":"75013", "projection":"epsg:4326","srs":"epsg:4326","maxResponses":null,"secondaryZone":"751135099", "geocodeScore":19.0505,"score":95.25,"geocodeType":2,"x":2.380356,"y":48.832557, "places":["751135099"],"placeTypes":["IRIS"], "streetNumber":"","streetWayType":"PONT","streetWayName":"DE TOLBIAC","streetWay":"PONT DE TOLBIAC" } ], "initialAddress": { "addressLine":"25 rue de toldiac","city":"Paris","countryCode":"fr","postalCode":"75013", "projection":"epsg:4326","srs":"epsg:4326" } }
Format JSON-P
myCallback({ "message":null,"status":"OK", "geocodedAddresses": [ { "addressLine":"25 RUE DE TOLBIAC","city":"PARIS","countryCode":"FR","postalCode":"75013", "projection":"epsg:4326","srs":"epsg:4326","maxResponses":null,"secondaryZone":"751135014", "geocodeScore":19.8101,"score":99.05,"geocodeType":4,"x":2.373562,"y":48.828757, "places":["751135014"],"placeTypes":["IRIS"], "streetNumber":"25","streetWayType":"RUE","streetWayName":"DE TOLBIAC","streetWay":"RUE DE TOLBIAC" }, { "addressLine":"PONT DE TOLBIAC","city":"PARIS","countryCode":"FR","postalCode":"75013", "projection":"epsg:4326","srs":"epsg:4326","maxResponses":null,"secondaryZone":"751135099", "geocodeScore":19.0505,"score":95.25,"geocodeType":2,"x":2.380356,"y":48.832557, "places":["751135099"],"placeTypes":["IRIS"], "streetNumber":"","streetWayType":"PONT","streetWayName":"DE TOLBIAC","streetWay":"PONT DE TOLBIAC" } ] "initialAddress": { "addressLine":"25 rue de toldiac","city":"Paris","countryCode":"fr","postalCode":"75013", "projection":"epsg:4326","srs":"epsg:4326" } });
Format XML
<geocodeResult> <status>OK</status> <geocodedAddress> <addressLine>25 RUE DE TOLBIAC</addressLine> <city>PARIS</city> <countryCode>FR</countryCode> <postalCode>75013</postalCode> <projection>epsg:27572</projection> <srs>epsg:27572</srs> <secondaryZone>751135014</secondaryZone> <geocodeScore>19.8101</geocodeScore> <score>99.05</score> <geocodeType>4</geocodeType> <x>602722.1475334</x> <y>2425598.4510822</y> <places> <place>751135014</place> </places> <placeTypes> <placeType>IRIS</placeType> </placeTypes> <streetNumber>25</streetNumber> <streetWayType>RUE</streetWayType> <streetWayName>DE TOLBIAC</streetWayName> <streetWay>RUE DE TOLBIAC</streetWay> </geocodedAddress> <geocodedAddress> <addressLine>PONT DE TOLBIAC</addressLine> <city>PARIS</city> <countryCode>FR</countryCode> <postalCode>75013</postalCode> <projection>epsg:27572</projection> <srs>epsg:27572</srs> <secondaryZone>751135099</secondaryZone> <geocodeScore>19.0505</geocodeScore> <score>95.25</score> <geocodeType>2</geocodeType> <x>603221.0049634</x> <y>2426021.5068995</y> <places> <place>751135099</place> </places> <placeTypes> <placeType>IRIS</placeType> </placeTypes> <streetNumber/> <streetWayType>PONT</streetWayType> <streetWayName>DE TOLBIAC</streetWayName> <streetWay>PONT DE TOLBIAC</streetWay> </geocodedAddress> <initialAddress> <addressLine>25 rue de toldiac</addressLine> <city>Paris</city> <countryCode>fr</countryCode> <postalCode>75013</postalCode> </initialAddress> </geocodeResult>
API JavaScript
Inclure la librairie JavaScript.
var geocoder = new GCUI.Control.GeoCode(); geocoder.geocode({url : 'http://<server>/<webapp>/api/lbs/geocode.json', city : 'Paris', postalCode : '75013', addressLine : '25 rue de Toldiac', countryCode : 'fr', srs : 'wgs84', callback : function(result) {...} }) ;
La variable result
est au format JSON décrit ci-dessus.
La fonction callback
passée en paramètre est appelée à la fin du géocodage.
Cas d’une adresse trouvée (geocodeResponse/GeocodeResult/status est OK)
<ns2:geocodeResponse xmlns:ns2="http://geoconcept.com/gc/schemas"> <GeocodeResult> <status>OK</status> <geocodedAddress> <addressLine/> <city>BAGNEUX</city> <countryCode>FR</countryCode> <postalCode>92220</postalCode> <projection>epsg:4326</projection> <srs>epsg:4326</srs> <secondaryZone>920070110</secondaryZone> <geocodeScore>20.0</geocodeScore> <score>100.0</score> <geocodeType>1</geocodeType> <x>2.30811</x> <y>48.79692</y> <place>920070110</place> <placeType>IRIS</placeType> <streetNumber/> <streetWayType/> <streetWayName/> <streetWay/> </geocodedAddress> <initialAddress> <city>Bagneux</city> <postalCode>92</postalCode> <projection>epsg:4326</projection> </initialAddress> </GeocodeResult> </ns2:geocodeResponse>
Cas d’une adresse non trouvée (geocodeResponse/GeocodeResult/status est OK et pas de geocodedAddress)
<ns2:geocodeResponse xmlns:ns2="http://geoconcept.com/gc/schemas"> <GeocodeResult> <status>OK</status> <initialAddress> <city>#hdkvnjsdvn</city> </initialAddress> </GeocodeResult> </ns2:geocodeResponse>
Cas d’une requête ayant une erreur XML ou ne respectant pas le WSDL ⇒ erreur avec faultstring qui contient la description
<soap:Fault> <faultcode xmlns:ns1="geoconcept.com">ns1:8</faultcode> <faultstring>Message part {http://geoconcept.com/gc/schemas}geocodeABCD was not recognized. (Does it exist in service WSDL?)</faultstring> </soap:Fault>
Cas d’une requête avec un système de reprojection inexistant ⇒ erreur avec faultstring qui contient la description
<soap:Fault> <faultcode xmlns:ns1="geoconcept.com">ns1:8</faultcode> <faultstring>Geocode failed Failed to process geocoding task Unsupported coordinate system 'epsg:432666666'</faultstring> </soap:Fault>
- 1. Comment interpréter la note obtenu dans le score ?
- 2. Combien de caractères sont retournés dans la balise postCode ?
- 3. Quelles sont les règles sur les coordonnées X-Y (format, plage de coordonnées) ?
- 4. Ce service est-il capable de trouver une adresse approchante ?
- 5. Comment sont gérés les Cedex ?
- 6. Peut-on avoir en entrée tous les éléments de l’adresse dans un seul champ ?
- 7. Peut-on utiliser simultanément plusieurs référentiels ?
Edition du premier bloc associé à la première table de référence
<datasource> <file>france_dom_M20.ugc.mdi</file> <name>HERE</name> <title /> <abstract /> <online-resource /> <zone-meaning /> <uniqueId-meaning /> <secondaryZone-meaning /> <roadId-meaning /> <country /> <version /> <min-processors>0</min-processors> <max-processors>1</max-processors> <cache-enabled>true</cache-enabled> <cache-max-size>65536</cache-max-size> <city-scoring-method>levenshtein</city-scoring-method> <street-scoring-method>levenshtein</street-scoring-method> <min-streets>0</min-streets> <default-hierachy-search-depth>-1</default-hierachy-search-depth> <city-name-prefix-index-size>0</city-name-prefix-index-size> <strategy> <on-no-exact-city-match score-all-candidates="true" /> <on-no-exact-street-match score-all-candidates="true" /> <city-search-scoring max-error-threshold="85" /> <street-search-scoring max-error-threshold="85" /> <search hirerachy-depth="-1" /> <!-- <force-search-two-keys /> --> <!-- <filter-zone filters=">##" /> --> </strategy> <country /> <coordinateSystem /> <bounding-box /> <max-candidates>10</max-candidates> <find-type>street number</find-type> <tolerate-find-type>7</tolerate-find-type> <max-meter-error>50</max-meter-error> <discrepancy>0.0</discrepancy> <discrepancy-along-street>0.0</discrepancy-along-street> <favor-city-match-element>favor city name</favor-city-match-element> <zone-match-digits>auto</zone-match-digits> <score-threshold>0.0</score-threshold> <score-threshold-to-tolerate-street-geocoding-type>0.0</score-threshold-to-tolerate-street-geocoding-type> <score-threshold-to-accept-city>0.88</score-threshold-to-accept-city> </datasource>
- Laisser les autres paramètres par défaut,
- Répéter les étapes de la copie du bloc <datasource> et l'édition des balises <file/> et <name/> pour paramétrer la seconde source de données.
Edition du second bloc associé à l’autre table de référence qui sera exploitée
<datasource> <file>BD_ADRESSE_france_M20.ugc.mdi</file> <name>IGN</name> <title /> <abstract /> <online-resource /> <zone-meaning /> <uniqueId-meaning /> <secondaryZone-meaning /> <roadId-meaning /> <country /> <version /> <min-processors>0</min-processors> <max-processors>1</max-processors> <cache-enabled>true</cache-enabled> <cache-max-size>65536</cache-max-size> <city-scoring-method>levenshtein</city-scoring-method> <street-scoring-method>levenshtein</street-scoring-method> <min-streets>0</min-streets> <default-hierachy-search-depth>-1</default-hierachy-search-depth> <city-name-prefix-index-size>0</city-name-prefix-index-size> <strategy> <on-no-exact-city-match score-all-candidates="true" /> <on-no-exact-street-match score-all-candidates="true" /> <city-search-scoring max-error-threshold="85" /> <street-search-scoring max-error-threshold="85" /> <search hirerachy-depth="-1" /> <!-- <force-search-two-keys /> --> <!-- <filter-zone filters=">##" /> --> </strategy> <country /> <coordinateSystem /> <bounding-box /> <max-candidates>10</max-candidates> <find-type>street number</find-type> <tolerate-find-type>7</tolerate-find-type> <max-meter-error>50</max-meter-error> <discrepancy>0.0</discrepancy> <discrepancy-along-street>0.0</discrepancy-along-street> <favor-city-match-element>favor city name</favor-city-match-element> <zone-match-digits>auto</zone-match-digits> <score-threshold>0.0</score-threshold> <score-threshold-to-tolerate-street-geocoding-type>0.0</score-threshold-to-tolerate-street-geocoding-type> <score-threshold-to-accept-city>0.88</score-threshold-to-accept-city> </datasource>
- Sauvegarder le fichier « Service.xml » et relancer le service Tomcat,
- Se connecter au portail Geoconcept Web et aller dans le menu ,
- Ajouter une nouvelle clef de paramétrage via le bouton , indiquer les informations suivantes : Nom = geocoder.countryDatasource et Valeur = %country% , puis valider en cliquant sur .
- Désormais, lorsque l’on fait appel au WebService de Géocodage, l’utilisateur devra appeler une des deux ressources dans sa requête en indiquant dans le paramètre <countryCode> l’alias qui a été défini auparavant via la balise <name>. si aucun alias n’est passé, la source définie dans le paramètre geocoder.datasource sera utilisée par défaut.