Como criar cartogramas de área contígua no QGIS ou R?

21

Aqui está o que eu quero alcançar (à direita):

http://junkcharts.typepad.com/.a/6a00d8341e992c53ef0162fd6913e8970d-pi

Estou procurando uma ferramenta ou um método para transformar um shapefile (com QGIS ou R) neste formulário. E lembre-se: não é apenas cortar uma grade hexagonal ou uma grade de hexágonos! Cada hexágono deve representar um número igual de medida (por exemplo, cada hexágono representa 5.000 árvores).

Talvez você conheça o scapetoad! http://scapetoad.choros.ch/ Então, basicamente, eu quero produzir uma saída semelhante à do scapetoad - mas com uma grade mais restrita (?).

editar: A menção de QGis e R não é uma restrição - é exatamente onde eu estava procurando uma solução. Claro que estou feliz com qualquer ferramenta, método ou conselho!

Chrugel
fonte
4
O título na imagem que você menciona o nomeia para você (pelo menos genericamente); o mesmo acontece com o título dessa página de carregamento de scapet: é um "cartograma". Mais especificamente, é um cartograma de área (contíguo) que emprega elementos hexagonais.
whuber
Essa referência foi muito útil para eu fazer isso em [r]!
jsta

Respostas:

7

Um procedimento um pouco mais satisfatório:

  1. Produza um cartograma em um método 'baseado em difusão' (como carregamento de scapet).

    No QGis:

  2. Crie uma camada hexagonal [Plugins> Qmarxan> Criar grade de planejamento] (use o número apropriado / desejado de hexágonos). editar: Dependendo da finalidade do mapa, a grade Qmarxans pode ter qualidade duvidosa. O plug- in mmqgis produz resultados muito melhores (os polígonos se alinham perfeitamente).

  3. Una a camada hexagonal ao cartograma [Vetor> Ferramentas de gerenciamento de dados> Unir atributos por local]

  4. Agora, a nova camada hexagonal possui todas as propriedades / atributos do cartograma, e é possível acessar cada subunidade individualmente.

  5. Para melhor preservação da forma das subunidades, é possível usar alguns ajustes manuais: Selecione o (s) hexágono (s) e altere o (s) atributo (s) diretamente na tabela de atributos. Esta etapa funciona melhor se a camada for semi-transparente e o cartograma original baseado em difusão for mostrado abaixo.

  6. Mesclando os hexágonos de uma subunidade em uma unidade: 1. Selecione todos os hexágonos de uma subunidade (se houver muitos: use a tabela de atributos para seleção). 2. 'alternar edição'> 'mesclar recursos selecionados'.

Principalmente falta b) permanece - mas a) está resolvido e também até certo ponto c) não é mais um grande problema, b / c esse método não leva tanto tempo.

Edit: O passo 4. (e colorido depois) leva a este resultado (camada hexagonal transparente na parte superior, cartograma 'baseado em difusão' abaixo): Ilustração do "problema de fronteira"

Os hexágonos verde-claro levam claramente uma linha a muito ...

Alguma idéia de como é possível obter um ajuste melhor / personalizado dos "atributos de junção"? - Estou procurando um método para fornecer ao algoritmo algum tipo de limite (como:> 50% da área).

Chrugel
fonte
Posso garantir essa abordagem, já a fiz com sucesso. Não funcionou de maneira satisfatória para unir espacialmente os hexágonos ao polígono que apresenta maior sobreposição; Eu suspeito que seria necessário PostgreSQL / PostGIS (Junte-se a atributos de localização, apenas corresponde ao primeiro que encontrar, o que pode não ser o ideal)
Steven Kay
2

Enquanto isso, apresentarei qual é a minha ideia até agora:

  1. Produza um cartograma em um método 'baseado em difusão' (como carregamento de scapet).

    No QGis:

  2. Crie uma camada de pontos [Vetor> Ferramentas de pesquisa> Pontos regulares].

  3. Clipe de camada pontual com cartograma.

  4. Crie uma camada hexagonal [Plugins> Qmarxan> Criar grade de planejamento] (use o número apropriado / desejado de hexágonos).

  5. Contar pontos por polígono [Vetor> Ferramentas de análise> Pontos no polígono].

  6. Nas propriedades da camada da camada hexagonal: Aplique rótulos baseados em regras (ou recorte) [Filtro: "PKTCNT"> = 1].

É tudo o que tenho até agora.

As deficiências são:

a) Essa é apenas a forma geral (as subunidades precisam ser trabalhadas novamente ...)

b) O número de hexágonos é um tanto arbitrário vinculado à medida real, e pior

c) se eu quiser alterar a unidade da medida (por exemplo, em vez de 5.000 árvores por hexágono, agora eu quero 100.000 árvores por hexágono = reduzir ainda mais a complexidade / detalhes), preciso executar todo o procedimento novamente.

Chrugel
fonte