2010-10-18 12 views
1

Je travaille actuellement sur une application C#. Ce que je voudrais faire est d'afficher une carte du Royaume-Uni, juste une image JPEG (si possible), qui, une fois cliquée, génère des coordonnées géographiques du point cliqué.Génération de coordonnées géographiques à partir d'une carte dans une application C#

Idéalement ce que je voudrais passer sur est d'afficher un marqueur à deux points cliqué avec une ligne tracée entre eux, mais ce qui précède est mon objectif principal.

Mon problème est que je ne suis pas vraiment sûr de la façon dont j'irais faire cela; J'ai fait pas mal de recherches sur ce sujet et j'ai depuis utilisé XAML pour afficher le JPEG, mais je ne sais pas très bien de quelle route je devrais descendre.

J'apprécierais grandement tous les conseils que vous pourriez donner.

Merci,

M

+0

Quelle est l'échelle de la carte de l'image? Faire les choses et les lignes OnClick est relativement simple, la tâche principale ici est d'obtenir des coordonnées précises. – kyndigs

+0

Ah, excuses pour avoir manqué ça; l'échelle est 1: 1,000,000. L'image elle-même est 500x600px. – Myn

Répondre

0

Le Royaume-Uni est assez simple car à peu près toutes les cartes utilisent le National Grid (défini par l'Ordnance Survey). Ceci est rectangulaire, donc vous n'avez pas à vous soucier de la courbure. Si vous connaissez la grille nationale et les emplacements de pixels de deux points sur la carte, vous pouvez dériver n'importe où à l'aide d'une interpolation linéaire.

1

Outre l'échelle, etc., vous aurez aussi besoin de savoir ce que Geographic coordinate system les images ont été créées en sorte que vous puissiez correctement interpoler l'emplacement de la position de la souris sur l'image et connue points de référence sur l'image.

Le système de coordonnées aplatit la carte en une image 2D, mais cela entraîne des distorsions qui doivent être prises en compte. Cela pourrait être une lecture intéressante pour vous: A guide to coordinate systems in Great Britain