2010-09-17 2 views
5

Я пытаюсь выяснить, как построить точки широты/долготы WGS84 на растровом изображении, но не может вычислить математику, необходимую для включения точек lat/lon в координаты, которые были бы пригодными для построения. Может ли кто-нибудь дать мне несколько указателей или примеры того, как это сделать?Как настроить координаты широты/долготы на экране?

благодарит

Колин

+8

Какая [проекция] (http://en.wikipedia.org/wiki/Map_projection) вы используете? Если вы не знаете, что этот вопрос означает, тогда рассмотрите «узнать о проекциях карты» как ваш первый указатель. –

+0

Кроме того, когда вы говорите, что не можете «вычислить» математику, означает ли это, что вы нашли формулы преобразования и не знаете, как применять их в своей программе, или это означает, что вы не знаете, что формулы? –

+0

Я говорю о том, как преобразовать lat/lon в XY для построения на растровых изображениях – colin

ответ

5

Переходя широту и долготу в х, у, для построения на плоской поверхности 2d, как растровое изображение является большой и сложной темы.

Для получения общей информации об этом см. map Projections о википедии.

В целом, такие сайты, как карты и биг-карты Google, решают эту проблему, используя проекцию меркатора на идеальную сферу, которая может легко покрыть большую часть земли (кроме полюса север/юг) и быть «достаточно хороша» для большинства целей. Тем не менее, это некоторые большие ifs, и это действительно зависит от того, насколько точны ваши фотографии и что им нужно сохранить.

К сожалению, я не знаю delpi достаточно хорошо, чтобы предоставить исходный код, но математика для проекций меркатора хорошо документирована here.

Если точность не является проблемой, а ваши точки «близко друг к другу», самым простым методом было бы просто использовать постоянный коэффициент и смещение, чтобы сдвинуть широту/долготу в значения x и y, которые соответствуют вашему растровому изображению.

Это может сделать слегка скрипучие ваши снимки в направлении север-юг, но в целом создаст изображения, подобные меркатору, без естественных логарифмов и звонков sin/tangent.

0

Как уже упомянуто MerickOWA, нет правильного ответа на этот вопрос, поскольку это зависит от масштаба вас работающие и требуемая точность. Это будет во многом определяться тем, что находится на .bmp, который вы обсуждаете. Если это глобальная карта в проекции Меркатора, то ответ Грега даст вам несколько указателей. Если это локальная карта, то она будет зависеть от базы данных, используемой картой, и используемой проекции (и данные будут в основном определяться национальным органом соответствующей страны). Сказав все это, если вы хотите сделать проект GPS, предоставляемый Lat Lon (GS84 datum) на локальную карту, покрывающую область < 6 ° широты, тогда вы можете сделать хуже, чем проецировать WGS84 Lat Lon на WGS84 UTM, затем масштабирование (и, возможно) поворот карты в соответствии с двумя известными координатами.

Ссылка здесь должна дать некоторую помощь http://www.uwgb.edu/dutchs/usefuldata/utmformulas.htm

+0

Когда я говорю растровое изображение, я действительно повторяю Timage с пустым растровым изображением. Я не хочу накладывать координаты на карту или изображение просто чтобы они отображались на экране в относительных положениях. Его больше, как взять lat lon и преобразовать в XY, а не накладывать на изображение – colin

Смежные вопросы