I converted a dataset with lat/lon to a geopandas dataframe (let's call it gpd). The gpd has no CRS, I was trying to project this gpd to "EPSG:3857" using:
gpd = gpd.to_crs("EPSG:3857")
I got an error saying that "Cannot transform naive geometries. Please set a CRS on the object first". Does this mean that for any gpd without CRS, I have to assign a CRS to it first, then reproject it to CRS I am interested in, for example, from 4326 to 3857:
gpd.crs = "EPSG:4326"
gpd = gpd.to_crs("EPSG:3857")
My confusions are the differences between CRS and projection, and why can not I use 3857 directly in this case. Also, the pyproj project has mentioned that there are some changes in reprojecting geodata and gave suggestions about how to project geodata, I do not clearly understand the details, can somebody give some advice on how to project/reproject geodata appropriately given the changes they made? Thanks.