Определение сетки в карте / шейп-файле - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть несколько вопросов о картах / шейп-файлах.Я не специалист по R, поэтому, чтобы было проще понять, к чему я стремлюсь, я перечислю:

1- Определите каждую сетку на карте и, возможно, пропустите некоторые из них.сетки.2- Раскрасьте каждую сетку значениями из фрейма данных

Я только что сделал то, что пытаюсь сделать, используя Photoshop, чтобы проиллюстрировать мою цель здесь

Я сделал эта карта с использованием функции 'intersect' с шейп-файлом, который я получил из Интернета, и сеткой, которую я сделал с помощью функции 'rastertoPolygons', но я не уверен, что использование .shp - лучший способ получить то, чтоЯ хочу, хотя это был единственный способ сделать это, так как я заблудился, пытаясь использовать опции ggplot2 (и я очень хорошо знаком с пакетом)

Любая помощь или предложение будут потрясающими.

Извините, если я задал глупый вопрос, и извините за мой плохой английский.

1 Ответ

0 голосов
/ 25 апреля 2018

Если вы спросите, как вы можете сделать это в ggplot, вы можете довольно легко. Если нет, можете ли вы уточнить, что вы спрашиваете?

Вы можете легко нарисовать карту Бразилии и использовать свой шейп-файл напрямую или с некоторыми изменениями. Так как у меня нет твоего шейп-файла, я использую один свой, и ты можешь подстроиться под себя. Я только что сделал две произвольные коробки и пометил их полем с именем id. Название вашей группы может отличаться.

library(ggplot2)
library(maps)
library(rgdal)

brasilia <- borders("world", regions = "Brazil")
brazil <- ggplot() + brasilia + theme_bw() + xlab("Longitude (decimals)") + ylab("Latitude (decimals)") + 
  theme(panel.border = element_blank(), panel.grid.major = element_line(colour = "grey80"), panel.grid.minor = element_blank()) +
  coord_fixed(1.0)
brazil # You can see just the map of Brazil

Затем импортируйте ваш шейп-файл, используя rgdal, который должен прочитать все метаданные, чтобы вам не приходилось указывать, что такое проекция и т. Д. Просто скажите, где он находится и как называется имя файла формы. См. ?readOGR для получения помощи.

shapes <- readOGR(dsn = "C:/foo/GIS/Brazil", layer = "brazil_grid")
brazil_shapes <- brazil + geom_path(data = shapes, aes(x = long, y = lat, group = id), color = "red")
brazil_shapes

Map of Brazil with polygons

Заполнение их нужными цветами может занять больше всего времени, создав таблицу для сопоставления уровней заполнения с сетками. Похоже, этот ответ может указать вам правильное направление. R ggplot2 объединить с данными шейп-файла и csv для заполнения полигонов

Вот хороший обзор картографирования в R. http://eriqande.github.io/rep-res-web/lectures/making-maps-with-R.html

...