2015-10-26 51 views
1

我嘗試使用Rstudio上的傳單包製作地圖。 我嘗試了很多例子和自我選擇,他們都正常工作。有關形狀文件R問題的小冊子

但我想使用我在工作中的形狀文件。 它可以與所有軟件(QGIS,R spplot等)一起使用,但是當我在小冊子中使用形狀文件時,它不起作用,地圖頂部會出現一條藍線。

這裏是我使用的代碼:

dat<-readOGR(dsn="shape/Shape ER 2015", layer=filename,encoding='UTF-8') 
leaflet(dat)%>%addTiles()%>% 
addPolgons(data=dat, weight=2) 

這裏是與代碼結果:

bad map

並在這裏與spplot獲得的地圖:

spplot(dat, zcol=1, col.regions="gray", col="blue") 

enter image description here

我使用了與http://leaflet.calvinmetcalf.com/相同的文件來查看問題是否來自我的數據。但它似乎它來自readOGR

我把這裏的SpatialPolygonDataframe

str([email protected][[1]],2) 
Formal class 'Polygons' [package "sp"] with 5 slots 
    [email protected] Polygons :List of 1 
    [email protected] plotOrder: int 1 
    [email protected] labpt : num [1:2] 953652 6808716 
    [email protected] ID  : chr "0" 
    [email protected] area  : num 4.32e+10 
str([email protected][[1]]@Polygons[[1]],2) 
Formal class 'Polygon' [package "sp"] with 5 slots 
    [email protected] labpt : num [1:2] 953652 6808716 
    [email protected] area : num 4.32e+10 
    [email protected] hole : logi FALSE 
    [email protected] ringDir: int 1 
    [email protected] coords : num [1:1063, 1:2] 940343 939824 936328 933274 933649 ... 
head([email protected][[1]]@Polygons[[1]]@coords) 
一些信息
 [,1] [,2] 
[1,] 940343 6611180 
[2,] 939824 6610705 
[3,] 936328 6613788 
[4,] 933274 6616467 
[5,] 933649 6617058 
[6,] 934305 6617147 

希望這是明確的,預先感謝您。

回答

3

你很可能需要改變你的投影。 嘗試:

PRO <- sp::CRS('+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0') 
DAT <- sp::spTransform(dat,PRO) 
+0

Your're my hero! 你能解釋我的想法嗎?怎麼運行的 ? –

+0

Leaflet的默認投影是EPSG:3857,也被稱爲「Google墨卡託」或「Web墨卡託」 – einar