如何在python3中为几何体指定单位并为多边形指定投影?

如何在python3中为几何体指定单位并为多边形指定投影?,python,projection,geopandas,Python,Projection,Geopandas,我从PNG图像创建了一个多多边形(shapefile)。PNG图像最初是一个GeoTIFF。 我的多重多边形的几何图形是法线x、y轴的值(原点为0,0)。换句话说,几何图形不是lat,long。 见示例: geometry 0 POLYGON ((0.000 0.000, 0.000 310.000, 5.000 31... 1 POLYGON ((160.000 0.000, 160.000 3.000, 159.00... 2 POLYGON ((794.000 219.0

我从PNG图像创建了一个多多边形(shapefile)。PNG图像最初是一个GeoTIFF。 我的多重多边形的几何图形是法线x、y轴的值(原点为0,0)。换句话说,几何图形不是lat,long。 见示例:

geometry  
0  POLYGON ((0.000 0.000, 0.000 310.000, 5.000 31...  
1  POLYGON ((160.000 0.000, 160.000 3.000, 159.00...  
2  POLYGON ((794.000 219.000, 794.000 0.000, 443....  
3  POLYGON ((555.000 451.000, 793.000 451.000, 79...  
4  POLYGON ((417.000 451.000, 555.000 451.000, 55...  
5  POLYGON ((237.000 196.000, 237.000 205.000, 23...
我想将我的多边形投影到地球上特定的CRS和位置。该多边形应与原始GeoTIFF的bbox和CRS匹配。我的多多边形没有定义CRS

如何投影我的多多边形?我尝试了以下操作,但出现了错误: AttributeError:“GeoDataFrame”对象没有属性“set\u crs”

import geopandas as gpd

fp = r"C:\foo\intersection_all2.shp" 

data = gpd.read_file(fp)
data['geometry'].head()


# Let's make a copy of our data
orig = data.copy()

# Reproject the data
data = data.set_crs(epsg=32618)


我正在搜索Python 3.7、Windows 10的解决方案。

它说没有属性,所以在对象属性处设置
crs
,如下所示

gdf.crs = {"init":"epsg:4326"}
然后,您可以将其投影到另一个,例如通过
到\u crs()

gdf.to_crs(epsg=3857)

我想您需要更新geopandas以使用
set\u crs
谢谢,我试过了,但没有帮助