简体   繁体   中英

GeoPandas .to_crs() method not converting

I am trying to convert some datasets into the same coordinate system (NC2264)

NC2264 = 'EPSG:2264'

sfd_subs = pd.read_csv(r'FILE_LOCATION.csv')
wake_shapes = gpd.GeoDataFrame.from_file(r'FILE_LOCATION.shp').to_crs(NC2264)

sfd_subs = gpd.GeoDataFrame(sfd_subs, geometry=gpd.points_from_xy(sfd_subs.Longitude, sfd_subs.Latitude),crs='EPSG:4326')
sfd_subs.to_crs(NC2264)

print(sfd_subs.crs)

The shapefile conversion works perfectly but the 'sfd_subs' remains unchanged. I'm getting no errors.

I've included 5 of the correct conversions on top vs the unchanged conversion on the bottom.

EPSG:4326
0       POINT (2641914.208 1398556.771)
1       POINT (2642559.277 1398183.388)
2       POINT (2641705.300 1398352.924)
3       POINT (2641716.844 1397826.942)
4       POINT (2674989.747 1419749.281)
                     ...               
3332             POINT (-78.135 35.506)
3333             POINT (-78.130 35.504)
3334             POINT (-78.123 35.530)
3335             POINT (-78.104 35.537)
3336             POINT (-78.087 35.562)

Since I'm getting no errors I'm not sure what the best course of action is.

You have to assign a converted GeoDataFrame to a variable, as the function doesn't modify it inplace.

# instead of only writing: sdf_subs.to_crs(NC2264), assign it back to variable
sdf_subs = sfd_subs.to_crs(NC2264)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM