PyProj: отображение широты / долготы на прямоугольник с использованием координат x,y

У меня есть ряд координат широты / долготы, которые я пытаюсь спроецировать на карту как координаты x,y.

Я использую https://code.google.com/p/pyproj/ библиотеку для преобразования координат. Кажется, я нигде не могу найти нигде, который объясняет, что означают выходные данные функций?

import PyProj

def ConvertToMapProjection(Coordinates):
    ''' Projects a mapped pair of coordinates onto a map '''

    # Define the projection
    RobinsonProjection = pyproj.Proj("+proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs")

    East, North = RobinsonProjection(Coordinates[0],Coordinates[1])

    return [East,North]

ConvertToMapProjection ([51.5072,0.1275])

возвращает:

[4866232.474090106, 13636.369990048854]

Не понятно, что это за единицы? Какой лучший способ отобразить это на прямоугольнике 900 x 1100?

1 ответ

Решение

Единицами измерения по умолчанию являются метры (вы даже указываете это в команде).

Используемый вами ссылочный эллипсоид WGS84 со средним радиусом 6356752,3142 метра (см. proj -le)

Вы можете уменьшить его на этот коэффициент, чтобы получить "единичный эллипсоид":

$ proj +proj=robin +ellps=WGS84 -m 1:6356752.3142

Еще проще, но не так точно, будет проецирование с использованием сферы юнитов:

$ proj +proj=robin +a=1

Ответ на вторую часть вашего вопроса изложен в этом посте.

Другие вопросы по тегам