我有以下数据框,纬度和经度是地理坐标系中的纬度和经度。我正在尝试将这些坐标系转换为原始(x,y)投影。
我已经尝试过pyproj来处理单点问题,但是如何处理具有数千行的整个数据框。
time lat lon
0 2011-01-31 02:41:00 18.504273 -66.009332
1 2011-01-31 02:42:00 18.504673 -66.006225
我试图得到这样的东西:
time lat lon x_Projn y_Projn
0 2011-01-31 02:41:00 18.504273 -66.009332 resp_x_val resp_y_val
1 2011-01-31 02:42:00 18.504673 -66.006225 resp_x_val resp_y_val
and so on...
以下是我尝试将经纬度转换为x,y系统的代码:
from pyproj import Proj, transform
inProj = Proj(init='epsg:4326')
outProj = Proj(init='epsg:3857')
x1,y1 = -105.150271116, 39.7278572773
x2,y2 = transform(inProj,outProj,x1,y1)
print (x2,y2)
输出:
-11705274.637407782 4826473.692203013
感谢您的任何帮助。
最佳答案
不幸的是,pyproj
仅逐点转换。我想这样的事情应该起作用:
import pandas as pd
from pyproj import Proj, transform
inProj = Proj(init='epsg:4326')
outProj = Proj(init='epsg:3857')
def towgs84(row):
return pd.Series(transform(inProj, outProj, row["lat"], row["lon"]))
wsg84_df = df.apply(towgs84, axis=1) # new coord dataframe with two columns
关于python - 如何将地理空间坐标dataFrame转换为原始x,y投影?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42777086/