Перевод географических координат в прямоугольные

Системы координат, проекции, преобразования, привязка
Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2240
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1513
Откуда: Казань

Re: Перевод географических координат в прямоугольные

Сообщение Игорь Белов » 08 июн 2012, 19:45

Лезть в формулы не так уж и страшно.
Прилагаемая карта из векторной сохранена в растр basemap.png с файлом привязки basemap.pgw:

Код: Выделить всё

10000
0
0
-10000
-4395000
3795000
Она создана в известной равнопромежуточной конической проекции для Российской Федерации (ϕ₀=54°, λ₀=100°, ϕ₁=49°, ϕ₂=68.5°, FN=0, FE=0), только не на эллипсоиде Красовского, а на сфере Google. Как видно в первом вложении, формулы этой проекции весьма просты. Больше места занимает определение параметров. Кстати о них:
R — радиус сферы Google (задан);
λ₀ = 100°— долгота осевого меридиана (задана) (этот и другие угловые параметры используются в радианах);
Φ — «широта» точки, где на плоскости пересекаются меридианы (вычислен);
β — коэффициент сближения меридианов (вычислен);
ρ₀ — радиус кривизны параллели на начальной широте ϕ₀ (которая задана) (вычислен);
X₀, Y₀, k — плоские координаты верхнего левого угла растра и его разрешение в метрах на пиксел (взяты из basemap.pgw).
Входные данные — широта пункта ϕ и долгота λ; X и Y — координаты в проекции в метрах; x и y — координаты на растре в пикселах, причём начало координат в верхнем левом углу картинки.

Для Москвы (ϕ = 55°45′, λ = 37°37′) у меня получились координаты на растре x = 106, y = 194.
Вложения
formulae.png
Формулы и параметры
formulae.png (9.03 КБ) 6921 просмотр
basemap.png
basemap.png (20.49 КБ) 6921 просмотр
The purpose of computing is insight, not numbers

Ответить

Вернуться в «Координаты и привязка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей