Convertire una coordinata geografica dal sistema EPSG:4326 WGS 84 al sistema EPSG:3857 e viceversa

Da Gambas-it.org - Wikipedia.

Per convertire una coordinata geografica (Longitudine e Latitudine) dal sistema EPSG:4326 WGS 84 al sistema EPSG:3857, si potranno adottare le seguenti formule:

Private Function ConversioneCoordinate(lon As Float, lat As Float) As Float[]

  Dim x, y As Float
   
  x = (lon * 20037508.34) / 180
  y = (Log(Tan((90.0 + (lat)) * Pi / 360.0)) / (Pi / 180.0)) * 111319.490778

  Return [x, y]

End

laddove "lon" e "lat" sono le coordinate geografiche (Longitudine e Latitudine) nel sistema EPSG:4326 WGS 84 in formato decimale (esempio: 12.935740 e 40.916274), mentre x e y sono le coordinate in metri del sistema EPSG:3857.


Convertire una coordinata geografica (Longitudine e Latitudine) dal sistema EPSG:3857 al sistema EPSG:4326 WGS 84

 Dim lon, lat, x, y As Float

 lon = (x / 20037508.34) * 180
 lat = ATan(Exp(y * Pi / 20037508.34)) * 360.0 / Pi - 90.0

laddove "lon" e "lat" sono le coordinate geografiche (Longitudine e Latitudine) nel sistema EPSG:4326 WGS 84 in formato decimale, mentre x e y sono le coordinate in metri del sistema EPSG:3857.