Страница 1 из 1
Карта Московской области
Добавлено: 28 апр 2020, 17:27
VistaSV30
Добрый день!
Изучаю пример работы с картами по книге Мастицкого. Загрузил карту Белоруссии:
Код: Выделить всё
gadm <- readRDS(gzcon(url(
"http://biogeo.ucdavis.edu/data/gadm2.8/rds/BLR_adm2.rds"
)))
Подскажите адрес, где на этом сайте Московская область?
Спасибо!
Re: Карта Московской области
Добавлено: 28 апр 2020, 17:49
Игорь Белов
Данные GADM находятся на
сайте GADM.
Московская область входит в состав России.
Re: Карта Московской области
Добавлено: 29 апр 2020, 09:15
VistaSV30
Карту России я скачал и попытался скопировать Московскую область, но пока не получается
Код: Выделить всё
madm <- readRDS(gzcon(url(
"http://biogeo.ucdavis.edu/data/gadm2.8/rds/RUS_adm2.rds"
)))
mos <- madm[madm@data$NAME_1 == "Moskva"]
Получаю сообщение:
Error in `[.data.frame`(x@data, i, j, ..., drop = FALSE) :
undefined columns selected
Подскажите, что не так?
Re: Карта Московской области
Добавлено: 29 апр 2020, 09:18
gamm
так сделайте table(madm@data$NAME_1), и узнаете

Re: Карта Московской области
Добавлено: 29 апр 2020, 09:22
VistaSV30
Названия регионов, я смог прочитать
unique(madm@data$NAME_1)
А вот как теперь скопировать одну область сообразить не могу
Re: Карта Московской области
Добавлено: 29 апр 2020, 09:43
gamm
запятую поставьте, без нее индексируются столбцы, а не строки. Только там что-то странное, похоже и Московскую область прихватили , там 81 объект
Код: Выделить всё
foo<- madm[madm@data$NAME_1 == "Moskva",]
head(foo@data)
OBJECTID ID_0 ISO NAME_0 ID_1 NAME_1 ID_2 NAME_2 HASC_2 CCN_2 CCA_2 TYPE_2 ENGTYPE_2 NL_NAME_2 VARNAME_2
1125 1125 188 RUS Russia 44 Moskva 1125 Balashikhinskiy rayon RU.MS.BR NA Raion Балашихинский район
1126 1126 188 RUS Russia 44 Moskva 1126 Chekhovskiy rayon RU.MS.CR NA Raion Чеховский район
1127 1127 188 RUS Russia 44 Moskva 1127 Chernogolovka NA
1128 1128 188 RUS Russia 44 Moskva 1128 Dmitrovskiy rayon RU.MS.DR NA Raion Дмитровский район
1129 1129 188 RUS Russia 44 Moskva 1129 Dolgoprudny NA
1130 1130 188 RUS Russia 44 Moskva 1130 Domodedovskiy rayon RU.MS.DD NA Raion Домодедовский район
Re: Карта Московской области
Добавлено: 29 апр 2020, 09:48
VistaSV30
Спасибо мне это и надо. Москва там есть отдельно "Moscow City".
Постоянно забываю эту запятую ставить.
Спасибо еще раз!
Re: Карта Московской области
Добавлено: 29 апр 2020, 10:17
nickleb
Код: Выделить всё
madm <- readRDS(gzcon(url(
"http://biogeo.ucdavis.edu/data/gadm2.8/rds/RUS_adm2.rds"
)))
# mos <- madm[madm@data$NAME_1 == "Moskva"]
# Вы забыли поставить запятую перед закрывающейся квадратной скобкой:
# вот так правильно надо:
mos <- madm[madm@data$NAME_1 == "Moskva", ]
# проверяем простейшей визуализацией:
plot(mos)
Re: Карта Московской области
Добавлено: 29 апр 2020, 11:07
VistaSV30
Оказалось, что Крым и Севастополь на этом сайте относятся к Украине.
Подскажите еще, как теперь сохранить карту на своем компьютере, чтоб каждый раз не обращаться на сайт.
В каком формате сохранять переменную madm с картой?
Re: Карта Московской области
Добавлено: 29 апр 2020, 11:58
nickleb
VistaSV30 писал(а): ↑29 апр 2020, 11:07
В каком формате сохранять переменную madm с картой?
в RDS-формате (компактен) и сохраните:
а читать так:
Re: Карта Московской области
Добавлено: 29 апр 2020, 13:38
VistaSV30
Карту построил, спасибо добрым людям - помогли!
Теперь проблема с раскраской
Код: Выделить всё
rg <- radm[radm@data$NAME_1 == "Moskva",]
counties <- tidy(rg, region = "NL_NAME_2")
m <- rep(2, 33614)
m[1] <- 3
m[669] <- 4
m[1502] <- 5
ggplot() + geom_map(data = counties, aes(map_id = id),
map = counties, color = "gray70", fill = m) +
expand_limits(x = counties$long, y = counties$lat) +
coord_map("polyconic")
Залить всю карту одним цветом получается.
Теперь не могу сообразить как выбирать цвет заливки в зависимости от какого-нибудь показателя (численность населения и т.п.).
В принципе один вариант уже есть - подставлять в вектор m нужные значения, но уж как-то муторно получается. Может быть есть более удобный способ?
Решение проблемы:
https://gis-lab.info/forum/viewtopic.php?f=31&t=25972
Re: Карта Московской области
Добавлено: 30 апр 2020, 11:21
VistaSV30
Посмотрите, пожалуйста предыдущее моё сообщение!
Re: Карта Московской области
Добавлено: 30 апр 2020, 15:47
gamm
Re: Карта Московской области
Добавлено: 01 май 2020, 15:32
nickleb
... специально-то, пожалуй,
sf и
plotly для "рендеринга-раскраски" полигонов в К можно ещё посмотреть:
https://www.r-bloggers.com/visualizing- ... nd-plotly/
Re: Карта Московской области
Добавлено: 02 май 2020, 10:04
nickleb
,,, иль просто
plot:
Код: Выделить всё
n <- length(mos@data$NAME_2)
plot(mos, col=rainbow(n),
main = 'Москва... как много в этом звуке для сердца русского слилось!',
sub= '[А.С. Пушкин]')