降低R中shapefile的分辨率(或在必要时使用QGIS)


12

我正在使用来自NHGIS的美国历史边界的shapefile在R中制作地图。这些shapefile的分辨率比在全国范围内制作地图时需要的分辨率高得多:一个文件的观测值超过200万。有没有办法可以降低R中这些shapefile的分辨率?如有必要,我可以在QGIS中代替。


你能解释更多吗?分辨率与图像有关。您是说多边形中的节点太多,提供了太多的细节吗?还是点shapefile中有太多点?
瑞安·加内特

2
@Ryan尽管分辨率确实与图像有关,但它对于矢量数据也很有意义。对于折线和多边形要素,可以根据每单位弧长使用的顶点数进行估算。通常无法通过检查矢量数据来准确确定分辨率(例如,考虑一组高分辨率但间隔较大的点特征),通常通常通过查询适当的元数据来找到分辨率。
ub

我的意思是,shapefile中的点比制作一个国家的地图所需的点多。我想要制作一张城市地图的详细程度。这对我而言很重要,原因是它使生成图的速度变慢,因此要花很多时间进行迭代。
林肯·马伦

Answers:



1

Douglas-Peucker算法是“细化”线性形状(包括多边形边界)的标准方法。至少有两个R包实现这一点:dpshape文件包,并thinnedSpatialPolyGuerry包

请注意,对相邻多边形进行细化通常会在其边界中产生微小的间隙和重叠:它不考虑它们之间的拓扑关系。我不知道任何R在精简时保持拓扑的软件包。对于此类小规模制图而言,这不是一个严重的问题。


顺便说一句,由于没有人知道德语的发音:-),汤姆·波克Tom Poiker)不久前更改了名字的拼写。


当您“细化”几何图形时,您要非常小心。如果您有多个共享边界的图层,则变薄会产生间隙,从而导致视觉和准确性错误。过度细化会使边界呈锯齿状并且过于简化。您将需要使用简化中的公差进行测试。
瑞安·加内特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.