Python 使用pyproj将状态平面中的lat,long转换为x,y
我无法将纬度和经度坐标的数据帧转换为状态平面投影。我试图使用在另一篇文章中找到的代码,但它一直抛出“AttributeError:‘float’对象没有属性‘set_value’”。以下是原始代码的链接,因此我可以正确地将其记入贷方: 这是我的密码Python 使用pyproj将状态平面中的lat,long转换为x,y,python,pandas,pyproj,Python,Pandas,Pyproj,我无法将纬度和经度坐标的数据帧转换为状态平面投影。我试图使用在另一篇文章中找到的代码,但它一直抛出“AttributeError:‘float’对象没有属性‘set_value’”。以下是原始代码的链接,因此我可以正确地将其记入贷方: 这是我的密码 import pyproj import numpy as np subways_loc = pd.read_csv('subways_loc.csv') NAD83_LI = pyproj.Proj(init =
import pyproj
import numpy as np
subways_loc = pd.read_csv('subways_loc.csv')
NAD83_LI = pyproj.Proj(init = "EPSG:32118")
NYS_LIZ = pyproj.Proj(init = "ESRI:102718")
def coord_transform(df):
x = pd.Series()
y = pd.Series()
for idx, val in enumerate(df['Latitude']):
x, y = pyproj.transform(NAD83_LI, NYS_LIZ, df['Longitude'][idx], df['Latitude'][idx])
x.set_value(idx, x)
y.set_value(idx, y)
df['x'] = x
df['y'] = y
return df
subways_loc_trans = coord_transform(subways_loc)
print(subways_loc_trans.head(1))
下面是具体的错误:
AttributeError回溯(最近一次调用)
在()
11打印(x,y)
12
--->13条地铁线路=坐标变换(地铁线路)
14
15印刷品(地铁线路交叉头(1))
坐标变换(df)
4对于idx,枚举中的val(df['Latitude']):
5 x,y=pyproj.transform(NAD83_-LI,NYS_-LIZ,df[‘经度’][idx],df[‘纬度’][idx])
---->6 x.设定值(idx,x)
7 y.设定值(idx,y)
8 df['x']=x
AttributeError:“float”对象没有属性“set\u value”
这里是我的github上传文件的链接
感谢您的任何帮助!谢谢 重命名for循环中的
x,y
变量,它们与您尝试编写它们的系列同名,并且被设置为浮点坐标值。太棒了,谢谢!现在我必须弄清楚为什么它输出相同的坐标,而不是将它们转换为脚。
AttributeError Traceback (most recent call last)
<ipython-input-103-a13e9199a9d5> in <module>()
11 print(x, y)
12
---> 13 subways_loc_trans = coord_transform(subways_loc)
14
15 print(subways_loc_trans.head(1))
<ipython-input-103-a13e9199a9d5> in coord_transform(df)
4 for idx, val in enumerate(df['Latitude']):
5 x, y = pyproj.transform(NAD83_LI, NYS_LIZ, df['Longitude'][idx], df['Latitude'][idx])
----> 6 x.set_value(idx, x)
7 y.set_value(idx, y)
8 df['x'] = x
AttributeError: 'float' object has no attribute 'set_value'