1

我已经使用 Shiny 和 Leaflet 构建了一个 Web 应用程序,但它的渲染速度非常慢,因为添加到地图中的空间多边形数据框 (merge.proj) 是 20,000 个多边形。我可能会尝试允许用户一次只查看某些社区作为修复,但首先我想我会简化多边形以查看加速过程的速度。

我的理解是,简化多边形会减少顶点数等,并为您提供一个空间多边形,它会丢失属性表。我希望然后重新附加属性表并重新创建一个希望减小大小的空间多边形数据框。

但是,代码出错了,我可以在网上找到的所有帮助都显示了在从头开始制作空间多边形和数据框时如何执行此操作,并且我无法将他们所做的事情应用于我的数据(请参阅此处)。该错误表明我的多边形 ID 和 row.names 不匹配,但它们最初都来自同一个空间多边形数据框,所以我很困惑。而且我不确定如何手动操作以使它们匹配。

我粘贴在错误和我目前拥有的代码下方。任何建议将不胜感激!

# For faster plotting, simplify polygons
merge.simplify <- gSimplify(merge.proj,0.1,topologyPreserve = T)

# Create a dataframe
merge.df <- data.frame(merge.proj@data)

# Do coercion to SPDF
merge.spdf <- SpatialPolygonsDataFrame(merge.simplify, merge.df)

错误:SpatialPolygonsDataFrame 中的错误(merge.simplify,merge.df):数据的 row.names 和多边形 ID 不匹配

4

0 回答 0