Total do campo de atributo da camada de pontos por camada de polígono

8

Eu tenho um shapefile de polígono de muitos lagos, também tenho um shapefile de pontos nos locais onde os peixes foram capturados.

O shapefile de ponto contém os atributos: Fisherman_iD, Fish_Caught, Lat, Long.

O shapefile do polígono contém os atributos Lake_name, Points_per_polygon (PNTCNT)

Cada ponto obviamente possui entradas diferentes no campo fish_caught.

O que eu quero é a média de peixes capturados por lago (polígono).

Por isso, preciso capturar um número total de peixes, por polígono individual, e depois dividi-lo pelo arquivo PNTCNT criado usando os pontos em uma ferramenta Polígono.

Ideias? Eu sou relativamente novo no QGIS.

Chewy
fonte
Todos os lagos estão juntos no shapefile ou cada lago tem seu próprio atributo?
Gus Velasco
Todos os lagos estão em um shapefile
Chewy
Não entendo a primeira parte da sua explicação. Por que você precisa de um arquivo shapefile de locais? Se você faz um ponto em polígono com o arquivo shapefile de ponto (Pescador, etc), obtém quantos pescadores existem em qualquer lago, multiplique pelo número de peixes capturados e o número de peixes em cada lago.
Gus Velasco
3
Você já tentou "Participar por local"? Você pode selecionar "somar" os valores do atributo.
Underdark
Obrigado! Junte-se por local trabalhado no final! Adoro este fórum =) #
31313 Chewy

Respostas:

8

Se a configuração do PostGIS agora é mais do que você deseja se envolver, é possível que você se convenha com muito menos esforço no programa que escolheu.

Você deseja atribuir a cada um dos seus pontos o nome do lago para poder somar a captura pela variável do lago. Isso é o que as pessoas do ArcGIS chamam de junção espacial. Na linguagem qgis, você pode fazer algumas coisas:

  • Pontos no polígono, atribuindo contagem de pontos ao polígono (mas isso não reteria categorias da camada de pontos, portanto, você provavelmente preferirá
  • ingresse com base na localização. Você encontra em Vetor -> Ferramentas de gerenciamento de dados -> Associar atributos por local.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

ako
fonte
+1 para esta resposta. O que você pode fazer é exportar e abrir a tabela resultante no excel (ou similar) e criar uma tabela dinâmica. Rótulos de linha: lake_name; valores: média de Fish_Caught.
Dez93_2000
1

Se você importar seus dados para um banco de dados PostGIS ou Spatialite, esta é uma tarefa bastante simples para uma consulta SQL espacial. Seria algo como:

SELECT l.lake_name, avg(f.fish_caught)
FROM lakes l, fish f
WHERE ST_Intersects(l.geom, f.geom)
GROUP BY l.lake_name
HeyOverThere
fonte