![](/img/trans.png)
[英]How to convert linestring to multiple longitude latitude column in geopandas
[英]How to extract latitude and longitude pairs as a list from a LineString geopandas dataframe
我有一個看起來像這樣的 geopandas 數據框:
shape_id geometry
1000252 LINESTRING (4.91790 52.34725, 4.91797 52.34715...
1000254 LINESTRING (4.80382 52.34495, 4.80413 52.34500...
1000255 LINESTRING (4.89922 52.37811, 4.89923 52.37807...
使用 Python,我想將每個shape_id
行的幾何列中的坐標單獨提取為列表。 例如, shape_id
= 1000252
的輸出應如下所示:
[[52.34725, 4.91790],
[52.34715, 4.91797],
[52.34742, 4.91723],
[52.34752, 4.91713]]
實現這一目標的最有效方法是什么?
每個 shapelyLineString
對象都有一個coords
屬性,它給出定義線串的點,您可以訪問xy
attr 以將 MultiPoint 轉換為 numpy 數組的元組。 一點額外的 numpy 將使您獲得列表的堆疊列表:
# e.g. for position 40...
In [3]: np.vstack(gdf.iloc[40].geometry.coords.xy).T.tolist()
Out[3]:
[[0.7741171421283728, 1.715569328873729],
[0.5852143769680165, 1.4516089839272017],
[0.378452363108969, 1.2226445706965148],
[0.43147551026039477, 0.7940308770193946],
[0.3105453476502247, 0.770655256832471],
[0.13440130471131118, 0.2957373776736154],
[0.6793980801823408, 1.4291149753156192],
[0.25803877234174954, 0.5296081932347322],
[0.12773596566152468, 0.6238335508304359],
[0.1575172393070674, 0.44929138014961945],
[0.2222528104586241, 0.8623618596533595],
[0.8185687868071416, 1.5897595726257494]]
有關更多信息,請參閱坐標序列上的勻稱文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.