Equi-Distanz Untergebiete generieren

Hi,

für ein Gebiet (z.B. nationale Ackerfläche eines Landes) möchte ich eine bestimmte Anzahl (z.B. 1,5,10, oder 20) von Untergebieten generieren, so dass die durchschnittliche Entfernung des geographischen Zentrums innerhalb jedes Untergebiets zu allen anderen Punkten des Untergebiets gleich klein für alle generierten Untergebiete ist.

Geht das? Wenn ja, wie?

Vielen Dank und Grüße Uwe

Wenn ich die Aufgabe richtig verstanden habe, sollen also alle Untergebiete gleich weit voneinander entfernt sein? Und nicht "alle Untergebiete sollen die gleiche Distanz zum geographischen Mittelpunkt des jeweiligen Quellpolygons haben"?

Also mir fällt spontan kein Tool ein, das genau so etwas in einem Schritt herstellen kann. Per Hand würde ich in QGIS ansonsten folgendes versuchen (Das funktioniert aber nur, wenn nicht viel zu viele Puffer-Polygone erzeugt wurden, da ansonsten nicht zufällig verteilte Polygon-Cluster entstehen!):

1. Gitter erzeugen (Gittertyp Polygon, Horizontaler und vertikaler Abstand wie gewünschte Polygongröße; Überlagerungen 0)

2. Gitter puffern (mit negativer Entfernung, sodass die neuen Polygone kleiner werden; Endstil Quadratisch, Verbindungsstil eckig)

3. Gepufferte Polygone aussortieren, die nicht innerhalb des gewünschten Raums liegen (Nach Position extrahieren durch Vergleich mit Objekten aus dem gewünschten Gebiet)

4. Wenn dann noch gepufferte Polygone auf der Kante zwischen zwei Quellpolygonen (z.B. nationale Ackerflächen) liegen, diese bei Bedarf zusätzlich entfernen (Quellpolygonlayer in Linien umwandeln, dann gepufferte Polygone nach Position selektieren (nur die, die die Linien schneiden) und diese entfernen).

Jetzt liegen alle neu erzeugten Polygone innerhalb des gewünschten Raumes, allerdings dürfte die jeweilige Anzahl an erzeugten Polygonen innerhalb der einzelnen Quellpolygone unterschiedlich sein.

5. Voraussetzung für den nächsten Schritt: die Quellpolygone haben ein eindeutig zuzuordnendes Attribut (z.B. ID).  Erzeugte Polygone mit neuem Attribut einem Quellpolygon zuordnen: Attribute nach Position verknüpfen (erzeugte Pufferpolygone sind innerhalb ... durch Vergleich mit Quellpolygonlayer, Verknüpfungstyp: separates Objekt für jedes passende Objekt erzeugen). In der Attributtabelle des neu erzeugten Layers sollten nun alle Pufferpolygone innerhalb eines Quellpolygons dessen ID haben.

6. Vektortabelle: autoinkrementierendes Feld hinzufügen (Startwert bei 1, Werte gruppieren nach ID-Feld), sodass die Puffer-Polygone für jedes Quellpolygon durchgezählt werden

7. Alle Polygone auswählen, deren Nummer größer ist als die gewünschte Anzahl Polygone, und diese entfernen.

 

Je nachdem wie unterschiedlich die Größe und Form der Polygone des Quelllayers sind, funktioniert diese Methode mal besser, mal weniger gut. Alternativ könnte ich mir auch vorstellen, dass man zuerst ein relativ grobes Gitter erstellt und dann mit einem großen negativen Puffer eher weit voneinander entfernte Gitterpolygone herstellt. Darin könnte man jeweils einen zufälligen Punkt legen lassen, um den man wiederum einen Puffer erstellt. Damit gäbe es zumindest eine minimale, steuerbare Grunddistanz der Punkte voneinander, aber gleichzeitig sind die Unterpolygone etwas besser verteilt?

Gruß Dorothee