Convertir Lat / Longs en coordonnées X / Y
J'ai la Lat/Long en valeur de la Ville de New York, NY; 40.7560540,-73.9869510 et une image plane de la terre, 1000px × 446px.
Je voudrais être en mesure de convertir, à l'aide de Javascript, le Lat/Long d'une coordonnée X,Y du point de refléter l'emplacement.
Si la coordonnée X,Y forme le coin Supérieur Gauche de l'image; 289, 111
Choses à noter:
- ne vous inquiétez pas au sujet de questions de ce de projection à utiliser, faites vos propres
hypothèse ou aller avec ce que vous savez
peut-travail - X,Y peuvent être la forme de n'importe quel coin de l'image
- Points de Bonus pour
la même solution en PHP (mais je
vraiment besoin de la JS)
source d'informationauteur donohoe
Vous devez vous connecter pour publier un commentaire.
Une conversion de base de la fonction en js serait:
Ce sera de retour le nombre de pixels à partir du haut à gauche.
Cette fonction repose sur les hypothèses suivantes:
avec le coin supérieur gauche (0,0)
l'alignement avec 90* au Nord par 180*
À l'ouest.
La projection que vous utilisez va tout changer, mais ce sera un travail en supposant une projection de Mercator:
Il y a une bonne bibliothèque Javascript, PROJ4JSqui vous permet de faire des conversions entre les différentes projections.
Si vous avez une photo de l'ensemble de la terre, la projection ne fait toujours de la matière. Mais peut-être que je ne comprends pas votre question.
J'ai écrit une fonction qui fonctionne pour les cartes de Mercator. Surtout si votre image ne couvre pas l'ensemble du monde, signifie qu'il fonctionne aussi avec recadrée cartes: https://stackoverflow.com/a/10401734/730823