亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

geopandas:索引 contains() 方法的歧義

geopandas:索引 contains() 方法的歧義

冉冉說 2023-09-12 17:44:20
我有一個簡單的點地理數據框架,如下所示:        name        geometry0       Location1   POINT (9.71852 50.56186)1       Location2   POINT (9.72912 50.55847)另一方面,我有一個更復雜的 GeoDataFrame,它由多邊形組成。我的目標是如果某個點位于多邊形區域中,則使用其他 GDF 的一些信息更新我的點 GDF。所以我想使用 contains() 方法來檢查哪些多邊形包含一個點。我用一個簡單的布爾掩碼進行了測試:mask = polygons.contains(points.loc[0,'geometry'])selection = polygons.loc[mask]顯然,選擇返回一個與第一行 GDF 點匹配的多邊形。我想考慮 GDF 的所有行,例如:mask = polygons.contains(points['geometry'])這個面具不起作用,我猜這是一個索引問題,但我不知道如何修復它......
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

現在這實際上是預期的行為。GeoSeries.contains是按行操作,這意味著如果您這樣做polygons.contains(point),它將首先對齊兩個 GeoSeries,然后檢查第 0 行上的多邊形是否包含第 0 行上的點等。

在你的情況下,這可能看起來類似于:

points_with_data = geopandas.sjoin(points, polygons, how='left')


查看完整回答
反對 回復 2023-09-12
  • 1 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號