0

我发现了另一个主题,我找到了这段代码:

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)

我的df(输入):

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'and init='epsg:3575',但结果仍然很糟糕。什么是转换 INPUT 中的坐标以获得预期结果的最佳方法?

4

1 回答 1

0

你还没有告诉我们什么pp或是什么df,所以从技术上讲,我们不知道你的代码做了什么。

但是,假设pp是 pyproj,我相信它不能做你想做的事情(尽管我可能错了)。您只需要自己进行六十进制转换。在不知道程序的其余部分是什么样子的情况下,很难确切地说出如何,但我敢打赌,将坐标读取为文本字符串,用通常的文本切片运算符剪切各个部分,将它们转换为数字并执行d + m/60 + s/3600 的计算。

于 2019-01-10T14:59:03.937 回答