Как построить координаты широты / долготы на экране? - PullRequest
5 голосов
/ 18 сентября 2010

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

спасибо

Colin

Ответы [ 4 ]

5 голосов
/ 18 сентября 2010

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

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

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

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

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

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

3 голосов
/ 18 сентября 2010

Вы можете взглянуть на демонстрацию Mercator Projection с исходным кодом Delphi:

http://delphiforfun.org/programs/MercatorDemo.htm

0 голосов
/ 20 сентября 2010

Вы пробовали конвертер мировых координат: http://twcc.free.fr?

0 голосов
/ 18 сентября 2010

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

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

...