Я новичок в г, а также на этом сайте. У меня возникли некоторые проблемы с моим текущим проектом распространения. Моя цель - создать карту с шестиугольниками, у которых есть цветовой градиент, основанный на различных атрибутах. Например, количество записей, количество видов, разрежение и т. Д. c. в шестиугольнике. Я начал с двух шейп-файлов.
Один для шестиугольников:
Простой набор объектов с 10242 объектами и 4 полями
тип геометрии: МНОГОПОЛИГОН
размерность: XY
bbox: xmin: -180 ymin: -90 xmax: 180 ymax: 90
CRS: 4326
Первые 10 функций:
ID CENTRELAT CENTRELON AREA geometry
1 -43.06618 41.95708 41583.14 MULTIPOLYGON (((43.50039 -4...
2 -73.41802 -144.73583 41836.20 MULTIPOLYGON (((-147.695 -7...
4862 -82.71189 -73.45815 50247.96 MULTIPOLYGON (((-78.89901 -...
7162 88.01938 53.07438 50258.17 MULTIPOLYGON (((36.63494 87...
3 -75.32015 -145.44626 50215.61 MULTIPOLYGON (((-148.815 -7...
4 -77.21239 -146.36437 50225.85 MULTIPOLYGON (((-150.2982 -...
5 -79.11698 -147.60550 50234.84 MULTIPOLYGON (((-152.3518 -...
6 -81.03039 -149.37750 50242.49 MULTIPOLYGON (((-155.3729 -...
7 -82.94618 -152.11105 50248.70 MULTIPOLYGON (((-160.2168 -...
8 -84.84996 -156.85274 50253.03 MULTIPOLYGON (((-169.0374 -...
И один для карты : тип геометрии: ПОЛИГОН; размерность: XY; bbox: xmin: -180 ymin: -90 xmax: 180 ymax: 83,64513; CRS: 4326
Это файл формы земли по этой ссылке: данные о естественной земле
Я загрузил их с помощью функции st_read. И создал карту с этим кодом:
ggplot() +
geom_sf(data = hex5) +
geom_sf(data = land) +
coord_sf(1, xlim = c(100, 180), ylim = c(0, 90))
Карта
У меня есть фрейм данных, который содержит названия видов, долготу и широту. Примерно 6300 записей.
scientific lat lon
1 Acoetes melanonota 11.75690 124.8010
2 Acoetes melanonota 11.97500 102.7350
3 Acoetes melanonota 13.33000 100.9200
4 Acrocirrus muroranensis 42.31400 140.9670
5 Acrocirrus uchidai 43.04800 144.8560
6 Acrocirrus validus 35.30000 139.4830
7 Acutomunna minuta 29.84047 130.9178
8 Admetella longipedata 13.35830 120.5090
9 Admetella longipedata 13.60310 120.7570
10 Aega acuticauda 11.95750 124.1780
Как я могу поместить эти данные в шестиугольники карты и раскрасить их градиентом?
Большое спасибо!