J'ai besoin de convertir les valeurs de longitude en latitude en positions de pixels et de faire le contraire. J'ai trouvé beaucoup de solutions pour aller de lat/lng-> pixel, mais je ne trouve rien à l'inverse.Convertir l'emplacement des pixels en latitude/longitude et vice versa
Quelques notes:
- La carte est une taille fixe, pas de zoom, pas de tuiles.
- Je n'ai besoin de rien de très précis, ce n'est pas important.
- De préférence projection de mercator, mais non requise. Je ne suis pas en train d'afficher le résultat. (Toute projection 2D)
- Je ne peux pas compter sur les API basées sur le Web de, à savoir: pas Google Maps
Une solution dans presque toutes les langues de programmation serait bien, aussi longtemps qu'il ne repose pas sur les API spécifiques à une plate-forme.
Voici un exemple d'aller de lat/LNG> pixel:
var y = Math.round(((-1 * lat) + 90) * (this.MAP_HEIGHT/180));
var x = Math.round((lng + 180) * (this.MAP_WIDTH/360));
Vous devez savoir sur quelle projection cartographique le calcul doit fonctionner. L'exemple de calcul dans votre question ne fonctionnera pas pour une carte Mercator; il suppose une [projection équirectangulaire] (http://en.wikipedia.org/wiki/Equirectangular_projection). –
Je suis ouvert à toute projection 2D, equirectangular répondra parfaitement à mes besoins. Je ne visualise pas le résultat, donc je ne suis pas lié à une projection spécifique. –
Si vous n'affichez rien, alors que diable (!) Utilisez-vous les pixels en premier lieu? –