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

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

如何使用 GeoPandas 將點的 GeoSeries 轉換為元組列表(緯度、經度)

如何使用 GeoPandas 將點的 GeoSeries 轉換為元組列表(緯度、經度)

holdtom 2023-06-27 10:35:07
我有一個名為 GeoPandas 數據框barrios,我使用barrios.geometry.centroid它并將其分配給center.索引和值center也是如此-geopandas.geoseries.GeoSeriesPOINT (-58.42266 -34.57393)我需要獲取這些坐標并將它們保存為列表:[(point_1_lat, point_1_lon), (point_2_lat, point_2_lon), ...]我試過:[center.values.y , center.values.x]但它返回一個包含 2 個數組的列表 - [array(lat), array(lng)]。我怎樣才能得到想要的結果?
查看完整描述

1 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

您可以使用zip來循環多個變量。這應該將坐標提取到列表中。


coord_list = [(x,y) for x,y in zip(gdf['geometry'].x , gdf['geometry'].y)]

GeoDataFrame或者,您可以使用 x 和 y 坐標創建。首先,提取 x 和 y 坐標并將它們放入新列中。


import geopandas as gpd

url = r"link\to\file"

gdf = gpd.read_file(url)


gdf['x'] = None

gdf['y'] = None


gdf['x'] = gdf.geometry.apply(lambda x: x.x)

gdf['y'] = gdf.geometry.apply(lambda x: x.y)

這將返回GeoDataFrame帶有 x 和 y 坐標列的 a?,F在將坐標提取到列表中。


coordinate_list = [(x,y) for x,y in zip(gdf.x , gdf.y)]

這返回坐標元組列表


[(105.27, -5.391),

 (107.615, -6.945264),

 (107.629, -6.941126700000001),

 (107.391, -6.9168726),

 (107.6569, -6.9087003),

 (107.638, -6.9999),

 (107.67, -6.553),

 (107.656, -6.8),

 ...

您將有一個列表和一個包含 x 和 y 列的 GeoDataFrame。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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