我有一个 geoJSON
geo = {'type': 'Polygon',
'coordinates': [[[23.08437310100004, 53.15448536100007],
[23.08459767900007, 53.15448536100007],
[23.08594514600003, 53.153587050000056],
(...)
[23.08437310100004, 53.15448536100007]]]}
我想将这些坐标用作shapely.geometry.Polygon
. 问题是 Polygon 只接受tuple
值,这意味着我必须将此 geojson 转换为多边形。当我尝试将此类数据输入 Polygon 时,出现错误ValueError: A LinearRing must have at least 3 coordinate tuples
我试过这个:
[tuple(l) for l in geo['coordinates']]
但这并不完全有效,因为它只返回这个
[([23.08437310100004, 53.15448536100007],
[23.08459767900007, 53.15448536100007],
(...)
[23.08437310100004, 53.15448536100007])]
我需要的是这个(我认为这是一个元组)
([(23.08437310100004, 53.15448536100007),
(23.08459767900007, 53.15448536100007),
(...)
(23.08437310100004, 53.15448536100007)])
有这个功能吗?
from shapely.geometry import Polygon
geo = {'type': 'Polygon',
'coordinates': [[[23.08437310100004, 53.15448536100007],
[23.08459767900007, 53.15448536100007],
[23.08594514600003, 53.153587050000056],
[23.08437310100004, 53.15448536100007]]]}
Polygon([tuple(l) for l in geo['coordinates'][0]])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句