使用sf(使用R)的多多边形几何分组]]

问题描述 投票:0回答:1

我有一个自定义的shapefile,我将它们放在一起。当我一次绘制所有图形时,它工作正常。但我想按某些变量分组以绘制特定形状的区域。例如:

+-------------+--------+-------+
|   county    | region | sales |
+-------------+--------+-------+
| washoe      |      1 |     5 |
| carson city |      1 |    10 |
| clark       |      2 |    15 |
| harmon      |      2 |    20 |
+-------------+--------+-------+

如果我跑步:

leaflet() %>% addTiles %>% addPolygons(data=df)

将根据这四个多边形的位置绘制四个单独的多边形。

但是假设我想基于区域创建多边形。因此,从理论上讲,输出将仅包含两个多边形。一种是蒙哥马利和史蒂文斯的组合形状,另一种是摩西和和谐县的形状,我也想总结一下总销售额。

x <- df %>% group_by(region) %>% summarise(totals=sum(ones))

它将给我这个错误:

Error in CPL_geos_union(st_geometry(x), by_feature) : 
  Evaluation error: TopologyException: Input geom 0 is invalid: Ring Self-intersection at or near point -119.97497995771261 39.521600907266631 at -119.97497995771261 39.521600907266631

关于几何变量的信息:

df$geometry

Geometry set for 2106 features 
geometry type:  GEOMETRY
dimension:      XY
bbox:           xmin: -115.8968 ymin: 35.00184 xmax: -114.0428 ymax: 36.85366
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs

我需要将其转换为其他内容吗?

我有一个自定义的shapefile,我将它们放在一起。当我一次绘制所有图形时,它工作正常。但我想按某些变量分组以绘制特定形状的区域。例如:+ ------------- + -------- + ---...

r sf
1个回答
1
投票

使用OP的data编辑:

© www.soinside.com 2019 - 2024. All rights reserved.