我是 R 新手,對使用 sf 和 ggplot2 包在 R 上繪圖的 GIS 非常陌生。我有一個資料集“comuni”,其中包含意大利的所有公社(類似于縣)和意大利所有高速公路之一,稱為“only_motorway”。我知道我可以將某些區域用作千篇一律,并使用 st_intersection() 函式僅保留包含在這些區域內的高速公路。但是,我想做相反的事情,因為我有 A3 高速公路的 shapefile,我只想保留那些特定高速公路穿過的公社。
我嘗試通過以下方式使用 st_intersection 函式:
only_motorway_A3 <- only_motorway %>%
filter(ref == "A3")
comuni_A3 <- st_intersection(only_motorway_A3,comuni)
ggplot()
geom_sf(data = comuni_A3,
color = "black", size = 0.1, fill = "black")
geom_sf(data = only_motorway_A3, size = 0.15, color = "green")
coord_sf(crs = 32632)
theme_void()
但結果如下圖:
繪圖
即 only_motorway_A3 和 comuni_A3 具有相同的幾何列并且它們都繪制高速公路線。我想要繪制的是來自 only_motoway_A3 的高速公路線(綠色)及其周圍的公社(黑色)來自 comuni_A3。我希望它很清楚,并提前感謝您的幫助!
uj5u.com熱心網友回復:
考慮一個sf::st_join()呼叫,首先使用多邊形,其次使用線串物件,引數left設定為 false。
它將執行兩個物件的內部(過濾)空間連接。只有那些包含高速公路的多邊形(第一個引數)會被保留。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/358888.html
