Reduza a resolução de um shapefile em R (ou QGIS, se necessário)

12

Estou usando arquivos de forma da história Limites estaduais dos EUA do NHGIS para fazer mapas em R. Esses arquivos de forma têm uma resolução muito maior do que eu preciso ao fazer mapas na escala do país: mais de 2 milhões de observações para um arquivo. Existe uma maneira de reduzir a resolução desses shapefiles no R? Se necessário, posso fazê-lo no QGIS.

Lincoln Mullen
fonte
Você pode explicar mais. A resolução está associada às imagens. Você quer dizer que há muitos nós em um polígono, fornecendo muitos detalhes? Ou é que existem muitos pontos em um shapefile de ponto?
Ryan Garnett
2
@ Ryan Embora a resolução esteja realmente associada às imagens, também é um conceito que faz sentido para os dados vetoriais. Para recursos de polilinha e polígono, pode ser estimado em termos do número de vértices usados ​​por unidade de comprimento do arco. A resolução nem sempre pode ser determinada com precisão pela inspeção de dados vetoriais (considere um conjunto de recursos de pontos de alta resolução, mas com espaçamento amplo, por exemplo), onde a resolução é normalmente encontrada consultando os metadados apropriados.
whuber
Quero dizer que há muito mais pontos no shapefile do que o necessário para fazer um mapa de uma nação. Eu gostaria desse nível de detalhe para fazer, digamos, um mapa de uma cidade. A razão pela qual isso é importante para mim é que torna a geração de plotagens lenta e, portanto, demorada para iterar.
Lincoln Mullen

Respostas:

1

Um método padrão para "afinar" formas lineares (incluindo limites de polígonos) é o algoritmo Douglas-Peucker . Pelo menos dois Rpacotes implementam isso: dpno pacote shapefiles e thinnedSpatialPolyno pacote Guerry .

Observe que o desbaste de polígonos adjacentes normalmente cria pequenas lacunas e sobreposições em seus limites: não respeita as relações topológicas entre eles. Não conheço nenhum Rpacote que mantenha a topologia durante o desbaste. Para fins de mapeamento em pequena escala como esses, isso não deve ser um problema sério.


Aliás, como ninguém sabe mais pronunciar alemão :-), Tom Poiker mudou a ortografia de seu nome há um tempo.

whuber
fonte
Você quer ter muito cuidado quando estiver "afinando" a geometria. Se você possui várias camadas que compartilham limites, o desbaste pode criar lacunas, causando erros visuais e de precisão. O desbaste excessivo pode tornar os limites irregulares e simplificados. Você vai querer jogar e testar com as tolerâncias dentro do simplify.
22813 Ryan Garnett