2017-05-08 33 views
1

我正在绘制整个美国每个县的ACS数据(低收入儿童数)。我没有任何标记,只有一个县的shapefile和每个县在不同层次的6个值。使用包含大量数据的传单 - 美国所有县的ACS数据

不出所料,这对浏览器来说太大了。我在这里看到了一些与聚类有关的类似问题,但由于我没有任何关于聚类的问题,所以我开始提出一个新问题。

我试过把它分解成6个区域地图,但是即使那些太多了。

有没有办法降低占地面积,但仍然有所有县的具体数据?

我已经看过tilemill和其他选项仅用于加载用户当前正在查看的数据并基于缩放级别,但我找不到任何有关如何从R生成的小册子地图到某些东西的信息像那样。使用此路线的替代方案也很有用。

+1

我假设'县shapefile'你的意思是多边形数据?如何阅读这些图层并将它们合并为一个(假设几何图形在整个图层中是恒定的)。如果这还不够,可以尝试使用[rmapshaper包](https://github.com/ateucher/rmapshaper)来简化多边形,然后尝试用[mapview](https://github.com/)对其进行可视化R-空间/ MapView类)。前者将帮助摆脱“不必要的”多边形顶点,而后者具有专用的功能以使大量数据的小叶渲染(根据复杂性,大约有100k个特征)。 – TimSalabim

+0

当我向地图添加6层时,您是否建议传单制作6个多边形副本?你是正确的,每个图层中的几何图形都是一样的。唯一的区别取决于正在查看的图层是popup和fillColor。如果是这样的话,我感到惊讶的是传单效率太低。看着'addPolgygons'函数,我没有看到一种明显的方法来从几何中分离数据。任何人都可以建议如何改变传单中的这种行为? – jzadra

+0

传单不会执行任何操作,但会在地图上呈现您的数据。决定处理多少层的步骤是'rgdal :: readOGR'或'sf :: st_read'部分。当你说6层时,我假设6层(每层都有自己的几何图形)。如果您指的是具有6个属性表列的图层,则只需要一次几何图形。 – TimSalabim

回答

2

您可以尝试使用rmapshaper package来简化多边形,然后尝试用mapview将其可视化。前者将帮助摆脱“不必要的”多边形顶点,而后者具有专用的功能以使大量数据的小叶渲染(根据复杂性,大约有100k个特征)。

+0

rmapshaper做到了!我不需要使用mapview。我使用了rmapshaper :: ms_simplify(mydata),其中mydata是从Geo_join()生成的Large SpatialPolygonsDataFrame() – jzadra

1

您也可以考虑底格里斯河包,它可以让你R内部直接访问低分辨率县shape文件:

library(tigris) 
library(leaflet) 

cty <- counties(cb = TRUE, resolution = "20m") 

leaflet(cty) %>% addTiles() %>% addPolygons() 

这应该让你的单张地图,浏览器内的多边形表现良好是预先简化的,如果你选择去这条路线。

+0

如果shapefile来自底格里斯(或者可以通过这种方式获得),这绝对是更好的解决方案,因为它提供了相同的结果,不需要经过大数据帧的中间步骤和大量的处理时间来减少它们(即使用rmapshaper :: ms_simplify的方法),就可以更好地控制分辨率。 – jzadra

相关问题