У меня есть GeoDataFrame с несколькими полигонами (из некоторых файлов формы графства).geandas: как «нормализовать» геодезии
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,...
Это одно и то же состояние, и участки выглядят одинаково. Я новичок в шейп-файлах, но думаю, если бы я мог «нормализовать» эти полигоны (делить все точки в измерении x на их наименьшее значение, то же самое для измерения y), то многоугольники в двух DataFrames должны быть сопоставимы.
Я пробовал:
df.scale(origin=(1,1))
, а также
df.scale(xfact=1.0/df.total_bounds[0], yfact=1.0/df.total_bounds[1])
без каких-либо удачи. Они просто возвращают свои исходные значения (или близки к значениям, которые должны быть от 1 до 2). Я мог бы перебирать эти полигоны и распаковывать их точки и делить их, но я надеюсь, что есть более элегантный способ решения.
Запуск последней версии geandas 0.1.0, python 2.7 (я знаю ... время для перехода) OSX.