簡體   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