проблема с преобразованием координат с pyproj, правильные значения - PullRequest
0 голосов
/ 10 января 2019

я нашел другую тему, где я нашел этот код:

utm15_wgs84 = pp.Proj(init='epsg:3575')

df[['wgs_x', 'wgs_y']] = df.apply(lambda row:utm15_wgs84(row['Lat'],
    row['Long'], inverse=True), axis=1).apply(pd.Series)

my df (INPUT):

Lat, Long
415634,-0625511.4

в реальности эти координаты: 41 56 34 N and 062 55 11.4 W Мне нужно преобразовать их в десятичный формат степени

ожидаемый результат должен быть: используя расчеты:

41+56/60+34/3600 ,-( 62+55/60+11.4/3600 )

Lat, Long
41.9427777777778,-62.9198333333333

Используя код выше, я получаю

результат:

Lat, Long
44.622697, 82.973245 

Это неправильно; / Я пытался изменить init='epsg:4326' и init='epsg:3575', и все еще плохие результаты. Какой будет лучший способ конвертировать координаты, как в INPUT, чтобы получить ожидаемый результат?

1 Ответ

0 голосов
/ 10 января 2019

Вы не сказали нам, что такое pp или df, поэтому технически мы понятия не имеем, что делает ваш код.

Однако, предполагая, что pp - это pyproj, я считаю, что он не может делать то, что вы от него хотите (хотя я могу ошибаться). Вам просто нужно сделать половозрелое преобразование самостоятельно. Не зная, как выглядит остальная часть вашей программы, трудно сказать, как именно, но моя ставка была бы на чтение координат в виде текстовых строк, вырезание различных частей с помощью обычных операторов нарезки текста, преобразование их в числа и выполнение d + m / 60 + s / 3600 расчетов по тем.

...