1. 程式人生 > >使用R讀取shapefile並畫地圖的過程

使用R讀取shapefile並畫地圖的過程

下面是一個使用R語言繪製地圖的例子。

# 首先需要載入需要使用的兩個package:
library(maptools)
library(rgdal)
# 讀取資料並繪圖,下面讀取的是中國行政區域的shapefile到變數x中:
x=readShapePoly('bou2_4p.shp')
# 現在我們可以直接畫出地圖:
plot(x)

 

但是上面的繪圖並未使用投影而是直接使用經緯度作為平面座標進行繪圖,所以是不合適的。下面的程式碼首先進行mercator投影然後繪圖。

# 首先,我們需要指定x本身的投影資訊,下面一行程式碼指定x對應的投影為原始的地理座標(經緯度):
proj4string(x) <- CRS("+proj=longlat +ellps=WGS84")
# 然後我們指定新的投影方式,並將x投影到其上:
projNew <- CRS("+proj=merc +lat_0=45n +lon_0=100e")
xProj <- spTransform(x, projNew)
# 現在我們可以畫出它了:
dev.new()
plot(xProj)