Использую для расчета формулы меркатора и равнопромежуточную, есть также соответствующие карты размером 2048х1024 pixels. Подставляя значения (ширину, долготу). я получаю координаты (x, y) в пикселях, которые не совпадают с реальной позицией. По оси X, расчет, вроде бы, правильный, а по оси Y - гуляет. Например столица США - Вашингтон хорошо себя чувствует в океане, точка сместилась вниз.
Как правильно найти координаты точек измеряющие в пикселях?
Map of Mercator or Equirectangular
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 25 фев 2013, 13:39
- Репутация: 0
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 25 фев 2013, 13:39
- Репутация: 0
Re: Map of Mercator or Equirectangular
Формулы.
Равнопромежуточная:
x = radius_x * degrees_lng * PI / 180
y = radius_y * degrees_lat * PI / 180, где
Меркатора:
x = radius_x * degrees_lng * PI / 180
y = radius_y * log(tag((degrees_lat * PI / 180) / 2 + PI / 4)), где
radius_x - радиус по оси x = ширина карты в пикслях (2048) деленная на (PI * 2)
radius_x - радиус по оси y = высота карты в пикслях (1024) деленная на (PI * 2)
degrees_lng и degrees_lat - широта, долгота в градусах
log - натуральный логарифм
tag - тангенс
PI - константа 3.14...
Равнопромежуточная:
x = radius_x * degrees_lng * PI / 180
y = radius_y * degrees_lat * PI / 180, где
Меркатора:
x = radius_x * degrees_lng * PI / 180
y = radius_y * log(tag((degrees_lat * PI / 180) / 2 + PI / 4)), где
radius_x - радиус по оси x = ширина карты в пикслях (2048) деленная на (PI * 2)
radius_x - радиус по оси y = высота карты в пикслях (1024) деленная на (PI * 2)
degrees_lng и degrees_lat - широта, долгота в градусах
log - натуральный логарифм
tag - тангенс
PI - константа 3.14...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей