OpenLayers: trasformazione delle coordinate di un punto da WGS84 a Spherical Mercator e viceversa

ATTENZIONE! Il post ha più di 2 anni e le informazioni contenute potrebbero essere obsolete (ad esempio a causa di un aggiornamento di versione rispetto agli elementi descritti o links modificati da siti esterni).

Per visualizzare dei punti con coordinate gps (WGS84) su un layer Google Maps con OpenLayers è necessario eseguire la trasformazione delle coordinate da EPSG:4326 (ovvero WGS84) a EPSG:900913 (Spherical Mercator). Ecco le 2 funzioni per eseguire la traformazione diretta e inversa:


/**
* Trasformazione delle coordinate da WGS84 a Spherical Mercator
*/
function wgs84ToMercator(point){
 return point.transform(
  new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
  new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
 )
}

/**
* Trasformazione delle coordinate da Spherical Mercator a WGS84
*/
function MercatorToWgs84(point){
 return point.transform(
  new OpenLayers.Projection("EPSG:900913"), // transform from Spherical Mercator Projection
  new OpenLayers.Projection("EPSG:4326") // to WGS 1984
 )
}

Un esempio di utilizzo:


//definizione di un punto con sistema di coordinate WGS84
var point_WGS84 = new OpenLayers.Geometry.Point('13.1343', '45.6815');
//trasformazione delle coordinate da WGS84 a Spherical Mercator
var point_spherical_mercator = wgs84ToMercator(point);

Con la funzione "point.transform(projection1, projection2)" è possibile eseguire qualsiasi trasformazione tra sistemi di coordinate semplicemente modificando i codici SRS (spatial reference systems).

Server dedicato

Condividi questo post


Commenti