Sou novato, peço desculpas se isso for óbvio / já foi solicitado e respondido, mas não consegui encontrar nada.
Eu tenho dois arquivos de forma: 1. uma camada de limite administrativo para um condado do Reino Unido conhecido como limite de LSOA que possui 500 pequenas zonas 2. uma zona de inundação.
Idealmente, quero descobrir quais das pequenas zonas LSOA estão ≥50% dentro da zona de inundação e terminam com sim / não ou 1/0 para cada uma das 500 zonas LSOA.
Mas eu não sei como fazer isso. Imaginei que poderia juntar os dois shapefiles, mas não há atributo comum entre eles. Então pensei que poderia usar a função Join Attribute by Location, que funcionou e me mostrou quais LSOA estão na zona de inundação, mas são quase todas elas (veja a imagem 2).
Eu acho que isso é um problema de SQL, mas não sei. Eu sou novo no QGIS e nunca usei o PostgreSQL.
Qualquer ajuda seria muito apreciada. Posso fornecer qualquer informação que vocês, pessoas adoráveis, precisem para me ajudar.
fonte
Vector > Research Tools > Vector Grid... Output grid as polygons
) e intercepte a grade com a camada de inundação. Em seguida, use a saída em vez da camada de inundação na etapa 3. Acho que a razão pela qual a camada estava vazia é porque ela travou.Você pode usar spatialite e algumas funções SQL espaciais.
fonte
Parece algo que poderia ser feito muito mais fácil do que as respostas enviadas. Eu usaria um script python simples pessoalmente:
isso avalia apenas os polígonos de inundação que se cruzam com a caixa delimitadora de cada camada de delimitação, para que seja bastante rápido de executar e atualiza apenas um campo na camada existente (em vez de uma operação complexa de criar uma camada totalmente nova e copiar valores antigos excluindo)
fonte
Eu tive o mesmo problema que KJ, seguindo as instruções de Snorfalorpagus, usando o método "Intersect" na Etapa 3. Demorou um pouco para calcular e o que me restou ficou em branco.
Tentei seguir as mesmas etapas, exceto usando o método "Clip" no QGIS em vez de Intersect - portanto, no seu exemplo, o que restaria seriam as partes das áreas que NÃO são cobertas pela zona de inundação. Isso pareceu funcionar por algum motivo e eu pude usar o cálculo do campo "Área" da etapa anterior, além de um novo cálculo de "Área" nas partes restantes de cada polígono, para descobrir a% de cada área que NÃO era coberto pela outra camada de polígono.
Isso é tecnicamente o contrário do que você pediu. Mas a partir daí é apenas uma questão de subtrair cada valor de 1 para obter o que é coberto pela zona de inundação.
fonte