Maison >Java >javaDidacticiel >Comment convertir la latitude et la longitude en coordonnées de pixels à l'aide de la projection Mercator ?
Conversion de pixels de la projection Mercator
La projection Mercator est largement utilisée en cartographie, notamment pour les cartes de navigation. Il transforme les coordonnées de latitude et de longitude en une grille rectangulaire, ce qui la rend idéale pour afficher des cartes du monde sur une surface plane.
Dérivation de formule
La projection Mercator est dérivée à partir de projections cylindriques. Les formules pour convertir la latitude et la longitude en coordonnées rectangulaires sont :
E = FE + R (λ – λ0) N = FN + R ln[tan(π/4 + φ/2)]
où :
Dans la projection sphérique de Mercator, FE et FN ne sont pas utilisés, donc la formule se simplifie en :
x = (λ + 180) * (mapWidth / 360) y = (mapHeight / 2) - (mapWidth * ln(tan((PI / 4) + (latRad / 2))) / (2 * PI))
où :
Implémentation
En Java, vous pouvez implémenter la conversion de projection Mercator comme suit :
public static void main(String[] args) { double latitude = 41.145556; double longitude = -73.995; double mapWidth = 200; double mapHeight = 100; // Convert latitude from degrees to radians double latRad = latitude * Math.PI / 180; // Calculate Easting and Northing coordinates double x = (longitude + 180) * (mapWidth / 360); double y = (mapHeight / 2) - (mapWidth * Math.log(Math.tan((Math.PI / 4) + (latRad / 2))) / (2 * Math.PI)); System.out.println("Easting: " + x); System.out.println("Northing: " + y); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!