【问题标题】:geopandas: how to "normalize" geoseriesgeopandas:如何“标准化”geoseries
【发布时间】:2016-02-04 21:40:42
【问题描述】:

我有一个带有一些多边形的 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。

【问题讨论】:

    标签: python gis shapely geopandas


    【解决方案1】:

    您需要将其中一个几何图形重新投影或转换为公共坐标参考系。

    请参阅documentation for GeoSeries.to_crs(...) 以执行此操作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-25
      • 2020-09-27
      • 1970-01-01
      • 2015-05-02
      • 2018-10-20
      • 2019-08-07
      • 2011-05-31
      • 2022-01-24
      相关资源
      最近更新 更多