Merci pour cette réponse.
J'étais donc sur la bonne piste mais le problème c'est surtout que je ne sais pas quelles sont les bonnes projections à utiliser. D'après ce document il me semble que les bonnes seraient UTM30W84 (EPSG:32630), UTM31W84 (EPSG:32631), UTM32W84 (EPSG:32632), qui ne sont pas incluses dans l'API.
Quand je teste le code suivant
geoportalLoadmap("GeoportalMapDiv", "normal", "FXX",false,["EPSG:32630","EPSG:32631","EPSG:32632"]);
je peux voir que Proj4js essaye d'aller récuperer les fichiers correspondants sur mon serveur dans /defs, qui évidemment n'éxistent pas.
J'ai récupéré les définitions correspondantes sur http://spatial-reference.org/ref/epsg/32630/ et placé les fichiers au bon endroit. Cette fois Proj4js les trouve mais ensuite c'est l'API entiere qui plante :
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://api.ign.fr/geoportail/api/js/1.0beta4/GeoportalExtended.js :: anonymous :: line 10854" data: no]
J'ai résolu ça en rajoutant tout simplement les définitions juste avant l'appel à 'geoportalLoad<INSTANCE>()'
1 2 3 4 5
| Proj4js.defs["EPSG:32630"] = "+title=UTM - 30 +proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
Proj4js.defs["EPSG:32631"] = "+title=UTM - 31 +proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
Proj4js.defs["EPSG:32632"] = "+title=UTM - 32 +proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
geoportalLoadmap("GeoportalMapDiv", "normal", "FXX",false,["IGNF:RGF93G","IGNF:GEOPORTALFXX","EPSG:32630","EPSG:32631","EPSG:32632"]); |
Maintenant je vais essayer de surcharger Geoportal.Control.Information pour n'avoir qu'un seul choix "UTM" et que le controle choisisse tout seul la bonne zone, j'ai vu sur spatial-reference que les zones représentaient 6°, avec la 30 allant de -6° à 0° et ainsi de suite.
Partager