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