Summe des Attributfelds der Punktebene pro Polygonebene

8

Ich habe ein Polygon-Shapefile von vielen Seen, ich habe auch ein Punkt-Shapefile von Orten auf den Seen, an denen Fische gefangen wurden.

Das Punkt-Shapefile enthält die Attribute: Fisherman_iD, Fish_Caught, Lat, Long.

Das Polygon-Shapefile enthält die Attribute Lake_name, Points_per_polygon (PNTCNT).

Jeder Punkt hat offensichtlich unterschiedliche Einträge im Feld fish_caught.

Was ich bekommen möchte, ist der durchschnittliche Fisch, der pro See gefangen wird (Polygon).

Ich muss also eine Gesamtzahl von Fischen pro einzelnem Polygon fangen lassen, und dann kann ich diese durch die PNTCNT-Datei teilen, die ich mit den Punkten in einem Polygon-Werkzeug erstellt habe.

Ideen? Ich bin relativ neu in QGIS.

Zäh
quelle
Sind alle Seen im Shapefile zusammen oder hat jeder See seine eigenen Eigenschaften?
Gus Velasco
Alle Seen sind in einem Shapefile
Chewy
Ich verstehe den ersten Teil Ihrer Erklärung nicht. Warum benötigen Sie ein Punkt-Shapefile von Standorten? Wenn Sie mit dem Punkt-Shapefile (Fischer usw.) einen Punkt im Polygon machen, erhalten Sie, wie viele Fischer sich in einem See befinden, multiplizieren mit der Anzahl der gefangenen Fische und Sie haben die Anzahl der Fische in jedem See.
Gus Velasco
3
Haben Sie versucht, "Nach Standort beitreten"? Sie können auswählen, ob Attributwerte "summiert" werden sollen.
underdark
Vielen Dank! Join by Location hat am Ende gearbeitet!
Ich

Antworten:

8

Wenn die Einrichtung von PostGIS im Moment mehr ist, als Sie möchten, können Sie mit dem von Ihnen ausgewählten Programm wahrscheinlich mit viel weniger Aufwand auskommen.

Sie möchten jedem Ihrer Punkte den Namen des Sees zuweisen, damit Sie den Fang anhand der Seevariablen summieren können. Dies wird von ArcGIS-Mitarbeitern als räumliche Verknüpfung bezeichnet. Im qgis-Sprachgebrauch können Sie einige Dinge tun:

  • Punkte im Polygon, wobei dem Polygon die Anzahl der Punkte zugewiesen wird (dies würde jedoch keine Kategorien der Punktebene beibehalten, sodass Sie dies wahrscheinlich eher tun werden
  • Beitritt basierend auf dem Standort. Dies finden Sie unter Vektor -> Datenverwaltungstools -> Attribute nach Standort verbinden.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

ako
quelle
+1 für diese Antwort. Sie können dann die resultierende Tabelle in Excel (oder ähnlichem) exportieren und öffnen und eine Pivot-Tabelle erstellen. Zeilenbeschriftungen: Seename; Werte: Durchschnitt von Fish_Caught.
dez93_2000
1

Wenn Sie Ihre Daten in eine PostGIS- oder Spatialite-Datenbank importieren, ist dies eine ziemlich einfache Aufgabe für eine räumliche SQL-Abfrage. Es wäre so etwas wie:

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
quelle