geopandas:如何 "normalize" geoseries

geopandas: how to "normalize" geoseries

我有一个带有一些多边形的 GeoDataFrame(来自一些 County 形状文件)。

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 的新手,但想想如果我可以 "normalize" 这些多边形(将 x 维度中的所有点除以它们的最小值,对于 y 维度相同),那么两个 DataFrame 中的多边形应该是可比较的.

我试过:

df.scale(origin=(1,1))

还有

df.scale(xfact=1.0/df.total_bounds[0], yfact=1.0/df.total_bounds[1])

运气不好。他们只是 return 他们的原始值(或接近,值应该在 1 和 2 之间)。我可以遍历这些多边形并解压缩它们的点并划分它们,但我希望有更优雅的解决方案。

运行 geopandas 0.1.0 的最新开发版本,python 2.7(我知道......是时候继续了),OSX。

您需要将其中一个几何图形重新投影或变换到通用坐标参考系。

参见 documentation for GeoSeries.to_crs(...) 执行此操作。

第一个GeoDataFrame看起来像EPSG:4326(这是一个猜测,还有其他地理坐标参考系统)。第二个可能是 UTM 或国家平面投影。