繁体   English   中英

在地理数据框中分配新几何时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM