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

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

生成緩沖區半徑多邊形 - 可能的投影問題

生成緩沖區半徑多邊形 - 可能的投影問題

ibeautiful 2023-10-06 11:02:50
我創建了一個帶有 Pointsgeometry列的 GeoDataFrame:1. 創建dfdf = pd.DataFrame([[51.502687, -3.538329, 2242, 1, 47],                   [52.699185, -0.050122, 870, 2, 35],                   [51.574387, 0.397882, 651, 3, 47],                   [51.43874, 0.395791, 625, 4, 35],                   [51.23965, 0.561919, 614, 5, 36]],                   columns = ["lat","long","num_of_trucks","performance","num_of_routes"]                 )df 2. 創建gdf自dfgdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df["lat"],df["long"]),                                                                 crs={"init": "epsg:4326"})gdf3. 重新投影到使用米的 CRS 并計算buffer_radius每個點周圍10KMgdf.to_crs(epsg=3395,inplace=True)#gdf.to_crs(epsg=3857,inplace=True)#gdf.to_crs(epsg=27700,inplace=True)gdf["buffer_radius"] = gdf.geometry.buffer(10000)4. 將幾何列更改為新buffer_radius列gdf = gdf.set_geometry('buffer_radius')gdf.geometry.nameOut: 'buffer_radius'上述過程似乎產生了我想要的 GeoDataFrame和一個名為包含多邊形的gdf新“幾何”列。buffer_radius然后我想繪制這些新創建的多邊形,所以首先我轉換了列的 CRS buffer_radius:5. 重新投影到 CRS,讓我可以生成繪圖:gdf.to_crs(epsg=4326,inplace=True)6. 生成最終情節:然后我嘗試繪制多邊形,但它返回一個空圖:gv.Polygons(gdf)我的繪圖返回空這一事實讓我想知道這是否可能是投影問題?有誰知道我在這里做錯了什么?任何想法或指示將不勝感激。謝謝
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

這顯然是一個問題geoviews,它不使用活動幾何列,而是使用名為 的默認列geometry。如果您只是使用緩沖區 ( gdf["geometry"] = gdf.geometry.buffer(10000)) 覆蓋幾何列,或者確保要繪制的數據幀在幾何列中具有您想要的幾何圖形,那么它應該可以工作。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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