2011-09-29 3 views
0

J'ai quelques cartes calibrées (en utilisant MapCalibrator), pour lesquelles j'ai besoin de trouver les carreaux de style OSM correspondants. Alors que j'ai trouvé quelques algorithmes pour calculer les carreaux à partir des coordonnées géographiques (lat/lon), je suis bloqué à trouver l'emplacement des pixels (en latitude/longitude), basé sur les quelques points calibrés que j'ai.Calculer les pixels coordonnées géographiques d'une carte callibrée

Ex I ont une image 3758/5751 pixels, et les points suivants: étalonnés

- x  y  lon  lat 
- 1897 2224 26.3256 46.2311 
- 3303 2708 26.43678 46.20419 
- 2297 306  26.3577 46.3365 
- 2135 4648 26.3423 46.0967 
- 1885 1764 26.3236 46.2561 
- 2091 2806 26.3386 46.1995 
- 3613 2922 26.4604 46.1921 

Comment puis-je calculer le Loat/pour un pixel lon arbitraire?

PS1. La carte est une carte touristique, d'une région assez petite (aucune idée du type de projection utilisé).

PS2. Je code en Java .. mais n'importe quel indice serait apprécié. Ce que j'ai essayé est une transformation linéaire entre les points calibrés et chaque pixel, mais les carreaux sortent en quelque sorte un peu décalés vers le NW (de quelques Km à en juger par l'échelle de la carte), et en fonction des 2 calibrés les points que j'utilise, le décalage est plus grand ou plus petit.

Répondre

0

Je l'ai compris. La transformation linéaire était assez bonne.

Le problème était que les coordonnées géographiques ont l'origine dans le coin inférieur gauche, tandis que les pixels dans le coin supérieur gauche. (J'avais brouillé les coordonnées Y, et après un inversion de signe dans un autre point, le résultat semblait presque bon ... mais en quelque sorte décalé: D)

Questions connexes