2016-09-15 69 views
1

我在繪製多邊形時遇到了問題,我無法理解爲什麼。 這裏是我的代碼:geom_polygon和geom_path不會刪除連接線

#Load coordinates 
ices <- read.csv("FILE PATH/ices_coord.csv", sep = ",") 
#Reproject to European projection 
coordinates(ices)<-c("long","lat") 
proj4string(ices) <- CRS("+proj=longlat") 
ices_laea<-spTransform(ices, CRS("+proj=laea")) 
#Create dataframe 
ices_laea_df<-data.frame(ices_laea) 

library(ggplot2) 
ggplot()+ 
    geom_polygon(data=ices_laea_df, aes(long,lat,group=group), fill="white", color = "gray70") 

我得到的地圖 enter image description here

但我如何擺脫連接線(我已經有色兩個紅色的,但也有更多)。我確定使用「group = group」或「group = ICES_area」可以工作,但事實並非如此。我已經失去了一半我的頭髮:)

使用geom_path代替geom_polygon給出了相同的結果...

你是否已經運行到這個問題?你知道修復它的竅門嗎?

非常感謝您的幫助,

弗雷德

PS: you can download the ICES coordinates here

+0

您是否有關於該點需要呈現的訂單的任何數據?你的CSV似乎並沒有這樣做,繪製任何的聚合物似乎都會讓東西變得雜亂。例如ices_laea_df < - ices_laea_df%>%filter(group == 14) – pluke

回答

3

這不是一個答案,但代碼來說明:

ices <- readr::read_csv("ices_coord.csv") 

purrr::map_lgl(unique(ices$ICES_area), function(area) { 
    poly <- dplyr::filter(ices, ICES_area==area) 
    identical(poly[1,], poly[nrow(poly),]) 
}) 

## [1] FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE FALSE 
## [11] TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE 
## [21] FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE 
## [31] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 

這些都需要是TRUE爲你要得到你要求的很好連接的多邊形(多邊形和路徑是有多邊形的有序點列表條件是開始&末是相同的),它的將是幾乎不可能告訴大家,自從:

dplyr::count(ices, ICES_area, long, lat) %>% 
    dplyr::filter(n>1) %>% 
    dplyr::ungroup() %>% 
    dplyr::count(ICES_area) %>% 
    dplyr::select(area=1, duplcated_pts=2) %>% 
    print(n=39) 
## # A tibble: 39 × 2 
##  area duplcated_pts 
## <chr>   <int> 
## 1  Ia    1 
## 2  Ib    2 
## 3 IIa   311 
## 4 IIb   322 
## 5 IIIa    9 
## 6 IIIb    1 
## 7 IIIc    1 
## 8 IIId   76 
## 9 IVa    1 
## 10 IVb    1 
## 11 IVc    1 
## 12 IXa    1 
## 13 IXb   10 
## 14 Va    6 
## 15 Vb   29 
## 16 VIa    1 
## 17 VIb   21 
## 18 VIIa    1 
## 19 VIIb    1 
## 20 VIIc   21 
## 21 VIId    1 
## 22 VIIe    1 
## 23 VIIf    1 
## 24 VIIg    1 
## 25 VIIh    1 
## 26 VIIIa    1 
## 27 VIIIb    1 
## 28 VIIIc    1 
## 29 VIIId   10 
## 30 VIIIe    8 
## 31 VIIj   14 
## 32 VIIk   66 
## 33 Xa   95 
## 34 Xb    1 
## 35 XIIa   106 
## 36 XIIb    1 
## 37 XIIc    1 
## 38 XIVa    1 
## 39 XIVb   65 

有每組重複多點一些組。

+1

嗯......看起來很討厭。所以最簡單的解決方案實際上可能是清理QGIS(或類似的)中的多邊形,以確保我得到所有多邊形的TRUE ... 感謝您的插圖! :) –