Bonjour,
Voila comme dis dans le titre je veux convertir des latitudes longitudes donnees par google maps en coordonnees x,y en metres.
Voici mon petit bout de code :
Ne vous tracassez pas a propos de techInterface, c'est juste pour recuperer les lat long de google maps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #!/usr/local/bin/perl -w use strict; use VSATM::LocationTracker::Point; use VSATM::TechnologyInterface; use Polygon qw(:DEFAULT); use Math::Trig; use Geo::Mercator; my $techInterface = new VSATM::TechnologyInterface; my $sites = $techInterface->getSiteConfig(0); my $lat1=$sites->{12849}->{latitude}; my $long1=$sites->{12849}->{longitude}; my ($x1,$y1)=mercate($lat1,$long1); print"lat/long : $lat1,$long1 \n"; print"x/y : $x1,$y1 \n";
Voila ce que j'obtiens a la sortie :
Ce qui me pose probleme : en effet ce point est situe en Angleterre a cote d'Edinburgh (comme vous pouvez le tester sur google maps en reprenant les lat/long). Mais Edinburgh est situe a environ 500 km de Greenwich en "hauteur" pas 7000 ! Et pareil pour l'axe des y : si je ne me trompe pas, je devrais avoir un y qui vaudrait environ -200 000 pas -300 000
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 lat/long : 56.01,-3.37 x/y : -375146.683973332,7524950.03004611
Voyez-vous ou je me trompe ?
Merci
Partager