如何在python3中为几何体指定单位并为多边形指定投影?
我从PNG图像创建了一个多多边形(shapefile)。PNG图像最初是一个GeoTIFF。 我的多重多边形的几何图形是法线x、y轴的值(原点为0,0)。换句话说,几何图形不是lat,long。 见示例:如何在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
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
谢谢,我试过了,但没有帮助