2

我无法将我拥有的经纬度坐标数据框转换为州平面投影。我尝试使用在另一篇文章中找到的代码,但它一直在抛出“AttributeError:'float' object has no attribute 'set_value'”。这是原始代码的链接,因此我可以正确地将其归功于:https ://stackoverflow.com/a/36871668/8754430

这是我的代码

    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                            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'

这是我在 github 上上传的文件https://github.com/amkaris/SB-Code/blob/master/subways_loc.csv的链接。

任何和所有的帮助表示赞赏!谢谢!

4

0 回答 0