Question

Je réalise que ce n’est pas potentiellement une question de programmation, mais c’est un problème que je ne cesse de toucher en tant que programmeur. Par conséquent, j’imagine que les autres utilisateurs pourraient avoir des connaissances utiles à partager.

J'ai une carte d'une région de la Terre (ce pourrait être n'importe laquelle, mais voici un exemple ) comment devrais-je déterminer la projection utilisée sur la carte, puis comment transformer par programme les coordonnées de latitude et de longitude en positions de pixel sur l'image.

Pour le moment, j'ai le code matlab pour ouvrir l'image et tracer la coord résultante (x, y), mais je ne vois pas comment convertir lat / longs en x, y!

Toute aide serait grandement appréciée.

Était-ce utile?

La solution 2

Il s'avère que le calcul par programme de la projection d'une carte est une tâche complexe du traitement de l'image. Pour résoudre ce problème, j'ai simplement utilisé des cartes comportant des projections bien définies. Par exemple, les cartes Google utilisent la projection de Mercator, tout comme la plupart des cartes du Royaume-Uni (notre grille de référence britannique étant basée sur l'Universal Transverse Mercator).

J'espère que cela aide quelqu'un d'autre à sortir!

Autres conseils

Les coordonnées géographiques sont une variation des coordonnées sphériques. Vous pouvez les transformer en coordonnées normales:

x = r * sin(90 - lat) * cos(lon)
y = r * sin(90 - lat) * sin(lon)
z = r * cos(90 - lat)

Cela n’est pas vraiment précis car la Terre n’est pas exactement une sphère. Selon le type de carte, il existe plusieurs façons d’obtenir des coordonnées 2D à partir de celles-ci. L'image peut être projetée de la sphère vers un cylindre ou deux plans.

Ces liens pourraient vous aider:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top