Преобразовать столбец Geo JSON -подобных строк в геометрические объекты в GeoPandas - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть столбец в кадре данных Geo Pandas со строками вроде этой '{type=Point, coordinates=[37.55, 55.71]}' или этой '{type=MultiPoint, coordinates=[[37.6, 55.4]]}'. Это может быть многоугольник или любая другая геометрия. Тогда есть несколько точек в виде вложенного списка. Как я могу преобразовать его в обычные объекты геометрии Geo Pandas?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Я реализовал это следующим образом. Благодаря @ martinfleis

# Add necessary shapes and keys
coordinates = 'coordinates'
type = 'type'
Point = 'Point'
MultiPoint = 'MultiPoint'
Polygon = 'Polygon'
MultiPolygon = 'MultiPolygon'
center='center'

df['geometry'] = df.geoData.apply(lambda x: shape(eval(x.replace('=',':'))))
0 голосов
/ 04 февраля 2020

Используйте shapely.geometry.shape для преобразования гео json строк в стройную геометрию.

from shapely.geometry import shape

df['geometry'] = df.apply(lambda: row: shape(row['jsoncolumn']), axis=1)
...