形状文件

时间:2015-10-26 10:48:11

标签: r leaflet shape

我尝试使用Rstudio上的传单包制作地图。 我尝试了很多例子和自我选择,它们都能正常运作。

但我想使用我工作的形状文件。 它适用于所有软件(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(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

希望很清楚,谢谢你。

1 个答案:

答案 0 :(得分:3)

您很可能需要转换投影。 尝试:

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