2010-08-12 7 views
3

J'ai une carte (Mercator) et les coordonnées des 4 coins de la carte. J'ai besoin de trouver quelque chose pour que je puisse convertir les coordonnées données en points correspondants sur la carte. Je ne peux pas utiliser Google ou quoi que ce soit de ce genre, c'est pourquoi je dois le faire en premier lieu.Convertir lat/lon en pixels

Les langues que je peux utiliser sont PHP ou Javascript. J'ai essayé certaines choses que j'ai trouvées dans d'autres publications comme celle-ci: Mercator longitude and latitude calculations to x and y on a cropped map (of the UK), mais je n'ai pas eu de chance avec eux.

Si quelqu'un peut offrir de l'aide, je serais vraiment reconnaissant. Je suis terrible avec les maths et en regardant certaines de ces équations, ça commence à se sentir hors de ma ligue, mais je dois y arriver.

Encore une fois, merci d'avance.

+0

pas de chance avec eux signifie que vous avez essayé quelque chose. montrez-nous ce que vous avez fait. et vous devez ressasser vos maths. ce genre de situation va sûrement devenir plus compliqué. – stillstanding

Répondre

1
function convert_coords($lat, $lon) 
    { 
    $width = 1281; 
    $height = 1529; 
// X and Y boundaries 
$westLong = -75.196438; 
$eastLong = -74.674072; 
$northLat = 41.377581; 
$southLat = 40.909232; 

$lat = $lat; 
$lon = $lon; 

$x = $width * (($westLong-$lon)/($westLong-$eastLong)); 
$y = ($height * (($northLat-$lat)/($northLat-$southLat))); 

    echo $x."<br />"; 
    echo $y; 

} 

C'est ce que j'ai essayé de mettre au travail. C'est une variation de quelque chose que je suis parti ici, je pense, mais ça ne me donne pas les résultats dont j'ai besoin. J'ai vraiment couru dans un mur de briques avec celui-ci. Et il n'y a aucun moyen sur terre que je sois capable de comprendre les maths ici, j'ai essayé et c'est loin de ma ligue.

0

il semble que vous travaillez en JavaScript, auquel cas, la bibliothèque open source proj4js vaut le détour. En outre, en supposant que votre bitmap est orthogonal avec le système de coordonnées, alors vous pourriez prendre le forum de Mercator (regardez dans Wikipedia ou n'importe quel livre de objection de carte décent) appliquez une transformation linéaire simple pour obtenir la transformation dont vous avez besoin. Puis résolvez pour les quatre coins. pour la transformée linéaire, vous trouverez certaines des variables simplement dupliquer les paramètres dans la projection Mercator (c'est-à-dire les facteurs d'échelle)

Questions connexes