我尝试使用Rstudio上的传单包制作地图。 我尝试了很多例子和自我选择,它们都能正常运作。
但我想使用我工作的形状文件。 它适用于所有软件(QGIS,R spplot 等)但是当我在传单中使用形状文件时它不起作用,地图顶部会出现一条蓝线。
以下是我使用的代码:
dat<-readOGR(dsn="shape/Shape ER 2015", layer=filename,encoding='UTF-8') leaflet(dat)%>%addTiles()%>% addPolgons(data=dat, weight=2)
以下是代码的结果:
这是用spplot获得的地图:
spplot(dat, zcol=1, col.regions="gray", col="blue")
我在http://leaflet.calvinmetcalf.com/使用了相同的文件来查看问题是否来自我的数据。但似乎它来自readOGR
我在这里放了一些SpatialPolygonDataframe
str(dat@polygons[[1]],2)
Formal class 'Polygons' [package "sp"] with 5 slots ..@ Polygons :List of 1 ..@ plotOrder: int 1 ..@ labpt : num [1:2] 953652 6808716 ..@ ID : chr "0" ..@ area : num 4.32e+10
str(dat@polygons[[1]]@Polygons[[1]],2)
Formal class 'Polygon' [package "sp"] with 5 slots ..@ labpt : num [1:2] 953652 6808716 ..@ area : num 4.32e+10 ..@ hole : logi FALSE ..@ ringDir: int 1 ..@ coords : num [1:1063, 1:2] 940343 939824 936328 933274 933649 ...
head(dat@polygons[[1]]@Polygons[[1]]@coords)
[,1] [,2] [1,] 940343 6611180 [2,] 939824 6610705 [3,] 936328 6613788 [4,] 933274 6616467 [5,] 933649 6617058 [6,] 934305 6617147
希望很清楚,谢谢你。
答案 0 :(得分:3)
您很可能需要转换投影。 尝试:
PRO <- sp::CRS('+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0')
DAT <- sp::spTransform(dat,PRO)