Я использую шейп-файлы истории Государственные границы США от NHGIS для создания карт в R. Эти шейп-файлы имеют гораздо более высокое разрешение, чем мне нужно при создании карт в масштабе страны: более 2 миллионов наблюдений для одного файла. Есть ли способ уменьшить разрешение этих шейп-файлов в R? При необходимости я могу сделать это в QGIS.
qgis
shapefile
r
resolution
Линкольн Маллен
источник
источник
Ответы:
Вы можете использовать
gSimplify
изrgeos
пакета, и если вы добавитеtopologyPreserve=TRUE
флаг, он сохранит топологию.Обратите внимание, что вы все равно можете получить перекрывающиеся линии - нам нужна реализация этого надежного алгоритма DP в R:
http://www.sciencedirect.com/science/article/pii/S0098300413002380
[эта ссылка, возможно, за платным экраном]
источник
rgeos
документах находятся на cran.r-project.org/web/packages/rgeos/rgeos.pdf .Стандартным методом «прореживания» линейных форм (включая границы многоугольников) является алгоритм Дугласа-Пекера . По крайней мере два
R
пакета реализуют это:dp
в пакете shapefiles иthinnedSpatialPoly
в пакете Guerry .Обратите внимание, что прореживание смежных полигонов обычно создает небольшие разрывы и перекрытия на их границах: оно не учитывает топологические отношения между ними. Я не знаю ни одного
R
пакета, который бы поддерживал топологию при прореживании. Для небольших картографических целей, подобных этим, это не должно быть серьезной проблемой.Кстати, поскольку никто больше не знает, как произносить немецкий язык :-), Том Пойкер изменил написание своего имени некоторое время назад.
источник