Я новичок в использовании R геопространственно.
Рабочая .kmz: https://www.cnrfc.noaa.gov/ - из второго выпадающего меню под областью карт под названием «Загрузка файлов наложения», я скачал и использую кмл «Дренажные бассейны», которыйдолжен загружаться как "basins.kml"
library(rgdal)
library(tidyverse)
При просмотре .kml в текстовом редакторе выглядит, что имя слоя KML - "cnrfc_09122018_basins_thin", поэтому читайте его с помощью:
cnrfc_basins <- readOGR("basins.kml", "cnrfc_09122018_basins_thin")
дает мне "Large SpatialPolygonsDataFrame".
Чтобы иметь возможность строить, похоже, мне нужно «укрепить его» (?) И сделать более обычный data.frame
, поэтому из некоторых других постов я наткнулся:
cnrfc_basins_fortify <- merge(broom::tidy(cnrfc_basins),
as.data.frame(cnrfc_basins), by.x="id", by.y=0)
строит график с этим:
ggplot() + geom_path(data = cnrfc_basins_fortify, aes(x=long, y=lat, group = group)) +
coord_quickmap()
дает мне данные, которые я ожидаю:
Но,для этих примерно ста полигонов у меня есть сотни тысяч строк data.frame.Как мне уменьшить их, чтобы у меня была только одна строка для каждого многоугольника? (Каждый многоугольник, представляющий конкретный бассейн, уже имеет уникальный пятизначный идентификатор в столбце «Имя»).Меньше строк, кажется, облегчит работу с файлом и ускорит объединение, когда я присоединю данные к этим уникальным полигонам.
Любой совет с благодарностью.