[英]error while assigning new geometry in geodataframe
我在尝试在地理数据框中分配新几何体时遇到了一些问题。
我的原始地理数据框几何是 LINESTRING Z,我确实将其转换为 LINESTRING,但我无法评估新几何。
我的代码:
for i in range(len(SHP)):
l = SHP.at[i, "geometry"]
a = shapely.ops.transform(lambda x, y, z=None: (x, y), l).wkt
SHP.at[i, "geometry"] = a
我得到:Value should be either a BaseGeometry or None, got LINESTRING
我也试过:
for i in range(len(SHP)):
l = SHP.at[i, "geometry"]
a = shapely.ops.transform(lambda x, y, z=None: (x, y), l).wkt
SHP.at[i, "newgeometry"] = a
SHP = SHP.set_geometry(SHP["newgeometry"])
然后我得到:输入必须是有效的几何对象:LINESTRING
我不知道我做错了什么..
我已经通过以下方式解决了这个问题:
df = SHP.set_geometry(
SHP.geometry.map(
lambda linestring: shapely.ops.transform(lambda x, y, *_: (x, y), linestring)
))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.