用geom_sf()繪制地圖
使用geom_polygon()繪制地圖,每次都會提示該功能已經deprecated,而sf包配合ggplot2的geom_sf()函數則能快速地繪制地圖,且無須設定long,lat,group=id這些參數。代碼如下:
ws <- ggplot() +
geom_sf(data = fortify(wsdiv1),
colour = "black",
fill=NA)+
coord_sf(ylim=c(1800000,5921396))+
theme_set(theme_bw())
ws
結果:
繪圖中遇到了一個問題是原始資料y範圍很大,空出了一些空白很不美觀。查閱很多資料,有一篇文章是通過設定bbox範圍,通過地理坐标與平面坐标轉化,再設定到繪圖函數參數裡實作,順便撈到了proj4等參數的網站,小本本記下:
ArcGIS地理坐标編碼
查找空間參考各種參數
繪圖範圍設定,投影轉換
正當我采用連結3的方法進行嘗試,打開arcgis後發現直接可以通過光标大緻确定y範圍及數字,是以直接在coord_sf()中設定ylim=c(,)即可…于是立馬得到了上圖。但是後續畫點的時候似乎又遇到了一點問題…接下一篇吧…
PS:因為研究區是mainland China,且上圖是中國1級流域分區,是以南海諸島就沒有畫。