Total du champ d'attribut de la couche de points par couche de polygones

8

J'ai un fichier de formes polygonales de nombreux lacs, j'ai aussi un fichier de formes ponctuelles d'emplacements sur ces lacs où des poissons ont été pêchés.

Le fichier de formes ponctuel contient les attributs: Fisherman_iD, Fish_Caught, Lat, Long.

Le fichier de formes du polygone contient les attributs Lake_name, Points_per_polygon (PNTCNT)

Chaque point a évidemment des entrées différentes sous le champ fish_caught.

Ce que je veux obtenir, c'est le poisson moyen pêché par lac (polygone).

J'ai donc besoin d'avoir un nombre total de poissons capturés, par polygone individuel, puis je peux le diviser par le fichier PNTCNT que je crée à l'aide des outils Points dans un polygone.

Des idées? Je suis relativement nouveau sur QGIS.

Chewy
la source
Tous les lacs sont-ils ensemble dans le fichier de formes ou chaque lac a son propre attribut?
Gus Velasco
Tous les lacs sont dans un seul fichier de forme
Chewy
Je ne comprends pas la première partie de votre explication. Pourquoi avez-vous besoin d'un fichier de points de points d'emplacements? Si vous faites un point dans un polygone avec le fichier de forme de point (pêcheur, etc.), vous obtenez le nombre de pêcheurs dans un lac, multipliez par le nombre de poissons capturés et vous avez le nombre de poissons dans chaque lac.
Gus Velasco
3
Avez-vous essayé "Rejoindre par emplacement"? Vous pouvez sélectionner pour «additionner» les valeurs d'attribut.
underdark
Merci! Rejoignez par emplacement travaillé à la fin! J'adore ce forum =)
Chewy

Réponses:

8

Si la configuration de PostGIS en ce moment est plus que ce que vous souhaitez vous impliquer, vous pouvez vous en tirer avec probablement beaucoup moins d'efforts dans le programme que vous avez choisi.

Vous voudrez attribuer à chacun de vos points le nom du lac afin que vous puissiez additionner les prises par la variable du lac. C'est ce que les gens d'ArcGIS appellent une jointure spatiale. Dans le langage qgis, vous pouvez faire quelques choses:

  • Points dans le polygone, attribuant le nombre de points au polygone (mais cela ne conserverait pas les catégories de la couche de points, vous préférerez probablement
  • rejoindre en fonction de l'emplacement. Vous le trouverez dans Vector -> Data Management Tools -> Join Attributes by Location.

entrez la description de l'image ici

entrez la description de l'image ici

ako
la source
+1 pour cette réponse. Ce que vous pourriez alors faire est d'exporter et d'ouvrir le tableau résultant dans Excel (ou similaire) et de créer un tableau croisé dynamique. Étiquettes de ligne: nom_lac; valeurs: moyenne de Fish_Caught.
dez93_2000
1

Si vous importez vos données dans une base de données PostGIS ou Spatialite, il s'agit d'une tâche assez simple pour une requête SQL spatiale. Ce serait quelque chose comme:

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
la source