Und noch einen Fragenkomplex hinterher....
Mein Problemchen ist eigentlich etwas kompizierter:
Grundsätzlich möchte ich meine Pixelhäufen (Pixelwert 254 vor einem Hintergrund, Pixelwert 0) zählen, jedoch nahe beieinander liegende bzw. in einem bestimmten Bildbereich liegende nur als einen einzelnen Haufen.
Wie in dem Thread "Polygone in *.shp-Datensatz zählen - wie?" geschildert, habe ich mal spaßeshalber einen '.shp-Datensatz aus einem Rasterfile mit dem Werkzeug "Raster to Polygon"erzeugt. Nun liegen mir meine "Pixelhäufen" als Polygone vor mit "GRIDCODE 254" und der "Bildhintergrund" mit "GRIDWERT 0".
Mein Frage hier:
Lassen sich Polygone zusammenfassen?
Lassen sich Polygone in bestimmten Bildbereichen zu einem einzelnen Polygon zusammengfassen?
Oder lassen sich nahe beieinander liegende Polygone zusammenfassen?
Mit soetwas hatte ich noch nie zu tun. keine Ahnung, wie ich da ansetzen könnte
Ciao
Andi
Mein Problemchen ist eigentlich etwas kompizierter:
Grundsätzlich möchte ich meine Pixelhäufen (Pixelwert 254 vor einem Hintergrund, Pixelwert 0) zählen, jedoch nahe beieinander liegende bzw. in einem bestimmten Bildbereich liegende nur als einen einzelnen Haufen.
Wie in dem Thread "Polygone in *.shp-Datensatz zählen - wie?" geschildert, habe ich mal spaßeshalber einen '.shp-Datensatz aus einem Rasterfile mit dem Werkzeug "Raster to Polygon"erzeugt. Nun liegen mir meine "Pixelhäufen" als Polygone vor mit "GRIDCODE 254" und der "Bildhintergrund" mit "GRIDWERT 0".
Mein Frage hier:
Lassen sich Polygone zusammenfassen?
Lassen sich Polygone in bestimmten Bildbereichen zu einem einzelnen Polygon zusammengfassen?
Oder lassen sich nahe beieinander liegende Polygone zusammenfassen?
Mit soetwas hatte ich noch nie zu tun. keine Ahnung, wie ich da ansetzen könnte
Ciao
Andi
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Rena am Mo., 24.08.2009 - 10:56
Permalinkdu kannst Polygone mit dem Werkzeug "Zusammenführen (Dissolve)" (unter Data Management Tools) nach einem Attribut wie z.B. Gridcode zusammenfassen. Wenn du die Option "Multipart Features erstellen" deaktivierst, werden lediglich die unmittelbar zusammenhängenden Flächen (also Flächen mit einer gemeinsamen Grenze und gleichem Attributwert) zusammengefügt, räumlich getrennte Flächen bleiben getrennt.
Schwieriger wirds mit "nahe beieinander liegenden Polygonen" Was genau heisst das? Das müsste genauer definiert werden.
Da du anscheinend nur zwei mögliche Attributwerte hast, kannst du einfach über eine Auswahl auszählen lassen: Flächen mit "Gridcode 254" per Attribut auswählen, dann wird die Anzahl der ausgewählten Fläche angezeigt.
Wenn du mehrere Attributwerte hast, ist Zählen über eine Feldstatistik wesentlich einfacher: Attributtabelle öffnen, das gewünschte Attributfeld markieren, Rechtsklick und "Feldstatistik" auswählen.
Es wird eine dbf-Tabelle "Sum_output" erzeugt, die jeweils die Anzahl der Einzelflächen für jeden vorkommenden Attributwert angibt.
Grüße
Rena
Gespeichert von Andreas Haug am Mo., 24.08.2009 - 11:35
PermalinkHört sich gut an.
Da muß ich mich jetzt aber erst mal beschäftigen.
Melde mich diesbezüglich vermutlich morgen wieder.
"Nahe beieinander liegend" ist in dem speziellen Fall:
Meine Objekte haben ähnlich einer nur " bröselig erfassten Flugplatz-Landebahn" eine Lage, die relativ zueinander gesehen in horizontaler Richtung nur geringe Lücken aufweist. Es bildet sich eine Art "Bereich" oder "Streifen" mit recht vielen Polygonen. Außerhalb dieses Bereichs liegen nur wenige Polygone, und die sind auch noch recht weit auseinander.
Als Laie würde ich sagen, ich brauche in dem Fall sowas wie eine Filtermaske, die über das Bild wandert und alle Polygone, die z.B. weniger als 5 Pixel voneinander entfernt liegen, zu einem vereint.
Ciao
Andi
Gespeichert von Rena am Mo., 24.08.2009 - 11:54
Permalinkversuchs mal so:
Zunächst musst du festlegen, was "nah beieinander" in Maßeinheiten (nicht in Pixeln, dass musst du umrechnen da du ja in Polygon arbeitest und nicht im Raster) genau bedeutet. Angenommen deine Pixel wären je 10x10m groß, würde das heissen: alle Polygone gleichen Attributwertes die weniger als 50m voneinander entfernt sind, sollen zusammengefasst werden.
Dann musst du erst mal den Polygon-Layer mit dem halben Entfernungswert, also 25m puffern, und dann weiter so verfahren wie oben beschrieben.
Beim Puffern musst du noch das Attributfeld angeben, als Dissolve-Typ würde ich "None" eingeben (oder - "List" mit Angabe des Attributfeldes geht auch... damit sparst du das "Dissolve")
Grüße
Rena
Gespeichert von Andreas Haug am Mo., 24.08.2009 - 12:30
PermalinkUff, das gibt Arbeit.
Auch wenn ich es noch nicht so ganz begriffen habe...
Mal sehen, wie weit ich da bis morgen durchgestiegen bin ;)
Immerhin soll das dann auch nach als VBA-Skript (ArcObjects, ArcMap 9.3) laufen.
Ciao
Andi