Total del campo de atributos de la capa de puntos por capa de polígono

8

Tengo un archivo de formas poligonales de muchos lagos, también tengo un archivo de formas puntuales de ubicaciones en esos lagos donde se pescaron peces.

El archivo de forma de puntos contiene los atributos: Fisherman_iD, Fish_Caught, Lat, Long.

El archivo de forma poligonal contiene los atributos Lake_name, Points_per_polygon (PNTCNT)

Cada punto obviamente tiene diferentes entradas bajo el campo fish_caught.

Lo que quiero obtener es el promedio de peces capturados por lago (polígono).

Entonces, necesito tener un número total de peces capturados, por polígono individual, y luego puedo dividir eso por el archivo PNTCNT que creo usando la herramienta Puntos en un polígono.

Ideas? Soy relativamente nuevo en QGIS.

Correoso
fuente
¿Están todos los lagos juntos en el shapefile o cada lago tiene su propio atributo?
Gus Velasco
Todos los lagos están en un archivo de forma
Chewy
No entiendo la primera parte de tu explicación. ¿Por qué necesitas un punto shapefile de ubicaciones? Si hace un punto en el polígono con el archivo de forma de punto (Pescador, etc.) obtendrá cuántos pescadores hay en un lago, multiplíquelo por el número de peces capturados y tendrá el número de peces en cada lago.
Gus Velasco
3
¿Has probado "Unirse por ubicación"? Puede seleccionar para "sumar" valores de atributo.
oscuro
¡Gracias! Únete por ubicación trabajado al final! Me encanta este foro =)
Chewy

Respuestas:

8

Si configurar PostGIS en este momento es más de lo que desea involucrarse, puede sobrevivir con mucho menos esfuerzo en el programa que ha elegido.

Deberá asignar a cada uno de sus puntos el nombre del lago para poder sumar la captura por la variable del lago. Esto es lo que la gente de ArcGIS llama una unión espacial. En el lenguaje qgis, puedes hacer un par de cosas:

  • Puntos en el polígono, asignando el recuento de puntos al polígono (pero esto no retendría las categorías de la capa de puntos, por lo que probablemente prefiera
  • unirse según la ubicación. Esto se encuentra en Vector -> Herramientas de gestión de datos -> Atributos de unión por ubicación.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ako
fuente
+1 por esta respuesta. Lo que podría hacer es exportar y abrir la tabla resultante en Excel (o similar) y crear una tabla dinámica. Etiquetas de fila: nombre_ lago; valores: promedio de Fish_Caught.
dez93_2000
1

Si importa sus datos a una base de datos PostGIS o Spatialite, esta es una tarea bastante simple para una consulta espacial de SQL. Sería algo así 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
fuente