Ось уменьшается при использовании geom_sf и geom_point в R - PullRequest
2 голосов
/ 07 апреля 2020

Я использую следующие данные:

 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() я докажу уменьшение окна графика, но проблема сохраняется. Если я умножу на 100000 Latitud и Longitud, я смогу получить точки ближе, но точки расширяются.

Как это можно исправить?

Заранее спасибо.

1 Ответ

1 голос
/ 07 апреля 2020

Ну, как я уже сказал в своем первом комментарии, ваш sf-объект находится в проекции utm, а ваши точки в lonlat. Вы можете использовать функцию st_transform, чтобы выполнить работу.

mapa <- st_transform(mapa, crs = "+proj=longlat +datum=WGS84")
...