我有一些带有一些多边形的GeoDataFrame(来自一些县形状文件)。
0 POLYGON ((-118.71455 46.822508, -118.67662 46....
1 POLYGON ((-118.663169 47.043673, -118.66334 47...
2 POLYGON ((-118.484262 46.73667, -118.495995 46...
3 POLYGON ((-118.483051 46.839378, -118.482689 4...
4 POLYGON ((-118.82874 46.77891, -118.822177 46....
5 POLYGON ((-118.606476 46.96391999999999, -118....
我试图将这些多边形的某些交叉点与另一个GeoDataFrame(相同状态)中的一些多边形交叉。然而,多边形的坐标完全不同。
0 POLYGON ((552346.2856999999 380222.8998000007,...
1 POLYGON ((529754.7249999996 409135.9135999996,...
2 POLYGON ((552333.0957000004 371726.9315000009,...
3 POLYGON ((542734.0181999998 376530.5831000004,...
4 POLYGON ((552291.6204000004 362052.4251000006,...
他们是同一个州,情节看起来一样。我是shapefile的新手,但想想我是否可以"规范化"这些多边形(将x维度中的所有点除以其最小值,y维度相同),然后两个DataFrame中的多边形应具有可比性。
我试过了:
df.scale(origin=(1,1))
以及
df.scale(xfact=1.0/df.total_bounds[0], yfact=1.0/df.total_bounds[1])
没有任何运气。他们只返回原始值(或接近,值应介于1和2之间)。我可以循环遍历这些多边形并解开它们并将它们分开,但我希望它有一种更优雅的解决方法。
运行最新开发版本的geopandas 0.1.0,python 2.7(我知道......时间继续前进),OSX。
答案 0 :(得分:2)
您需要将其中一个几何图形重新投影或转换为公共坐标参照系。
请参阅documentation for GeoSeries.to_crs(crs=None, epsg=None)
来执行此操作。
第一个GeoDataFrame看起来像EPSG:4326(这是猜测,还有其他地理坐标参考系统)。第二种可能是UTM或州平面投影。