[R中使用geom_sf和geom_point时轴减少

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

我正在使用的数据如下:

 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) 

这将绘制以下内容:

enter image description here

实际上红点是以下内容:

enter image description here

我是sf的新手,但我知道这与数据代码中指定的bbox项有关。

[我已经用coord_sf()证明减小了绘图窗口,但问题仍然存在。如果我将LatitudLongitud乘以100000,则可以使点更近,但点会扩大。

如何解决?

谢谢。

r maps sf
1个回答
1
投票

好吧,正如我在第一条评论中所说,您的sf对象位于utm投影中,而您的点位于lonlat中。您可以使用功能st_transform完成工作。

mapa <- st_transform(mapa, crs = "+proj=longlat +datum=WGS84")
© www.soinside.com 2019 - 2024. All rights reserved.