我正在使用的数据如下:
mapa
>Simple feature collection with 19 features and 11 fields
>geometry type: MULTIPOLYGON
>dimension: XY
>bbox: xmin: -1004502 ymin: 3132137 xmax: 1126932 ymax: 4859240
>epsg (SRID): 25830
>proj4string: +proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m
>+no_defs
>First 10 features:
> Codigo Texto Texto_Alt CCAA Muertes Ciudad
>1 01 Andalucía Andalucía Andalucía 491 Sevilla
>2 02 Aragón Aragón Aragón 284 Zaragoza
>3 03 Asturias Asturias Asturias 86 Oviedo
>...
> Autonomía Superficie Habitantes Latitud Longitud geometry
>1 Andalucía 14035.73 703206 37.38 -6.00 MULTIPOLYGON (((280486.8 39...
>2 Aragón 17274.89 674317 41.66 -0.88 MULTIPOLYGON (((683851.1 47...
>3 Asturias 10602.40 224005 43.36 -5.84 MULTIPOLYGON (((271018.9 48...
>...
我很难理解为什么geom_point
中的轴变小并且没有在地图上绘制该点。
mapa %>% ggplot() +
geom_sf(aes(fill = Superficie)) +
geom_point(aes(x = Longitud, y = Latitud ,size = Muertes),
color= "red", alpha = 1/2)
这将绘制以下内容:
实际上红点是以下内容:
我是sf
的新手,但我知道这与数据代码中指定的bbox
项有关。
[我已经用coord_sf()
证明减小了绘图窗口,但问题仍然存在。如果我将Latitud
和Longitud
乘以100000,则可以使点更近,但点会扩大。
如何解决?
谢谢。
好吧,正如我在第一条评论中所说,您的sf对象位于utm投影中,而您的点位于lonlat中。您可以使用功能st_transform
完成工作。
mapa <- st_transform(mapa, crs = "+proj=longlat +datum=WGS84")