Базовая картограмма с R

У нас есть пространственный объект и числовое значение Изучение

Картограмма — это карта, на которой геометрия регионов искажена, чтобы передать информацию об альтернативной переменной. В этом посте мы собираемся нарисовать карту Африки, где размер каждой страны искажен пропорционально ее населению. Картограмма часто представляет собой картограмму, на которой области окрашены в соответствии с числовым значением (не обязательно тем, которое использовалось для построения картограммы). Чтобы легче понять картограмму, можно обратиться к тому, что такое геопространственный объект.

Подготовка данных карты и создание базовой картограммы

Чтобы создать карту картограммы, мы создадим данные карты, используя wrld_simpl.

р

# library for the map data
library(maptools)
data(wrld_simpl)
# extracting the African map data
# this data contains the latitude and longitude of
# region boundaries and regions
afr = wrld_simpl[wrld_simpl$REGION==2,]
# plotting outline map
plot(afr)

Выход:

У нас есть пространственный объект и числовое значение

Пространственные полигональные объекты в Cartogram

У нас есть пространственный объект и числовое значение, связанное с каждым регионом, можно раскрасить каждый регион в соответствии с его значением.

р

library(sf) # library to get the SpatialPolygon
afr_sf = st_as_sf(afr)
plot(afr_sf)

Выход:

и числовое значение, связанное с каждым регионом

 

Картограмма и ее настройка

Здесь мы создадим картограмму, а затем настроим для этого использование wrld_simpl, а затем извлечем информацию, такую ​​как форма, координаты, а затем преобразуем геометрические полигональные объекты в новые геопространственные объекты.

р

library(tidyverse)
# Get the shape file of Africa
library(maptools)
# retrieve the data for the countries
data(wrld_simpl)
# extract the data for Africa
# afr_data holds the data about the African polygon shape
# and information like cordinates, latitude and longitude
afr_data = wrld_simpl[wrld_simpl$REGION == 2,]
cat ("Type of afr_data: ", typeof(afr_data), "\n\n")
# We work with the cartogram library
library(cartogram)
# s4 is an system for object oriented programming
# convert this foreign object to sf object
sfno = st_as_sf(afr)
# transform geometry polygon objects to a new coordinate reference system
sfnoproj = st_transform(sfno, crs = 23038)
# construct a cartogram using the population in 2005
afr_cartogram <- cartogram_cont(sfnoproj, "POP2005", itermax = 7)
# This is a new geospatial object, we can visualise it!
ggplot() +
  geom_sf(data = afr_cartogram, aes(fill = POP2005))

Выход:

Type of afr_data:  S4
Mean size error for iteration 1: 6.65362274402649 
Mean size error for iteration 2: 5.77932593731838 
Mean size error for iteration 3: 5.11349284302375 
Mean size error for iteration 4: 4.56333360251358 
Mean size error for iteration 5: 4.09786807153034 
Mean size error for iteration 6: 3.69769020137334 
Mean size error for iteration 7: 3.3519304681889


ean size error for iteration 7

Читайте также:  Как свести к минимуму отвлекающие факторы при работе из дома на удалёнке
Оцените статью
bestprogrammer.ru
Добавить комментарий