Mehr

Methode/Werkzeug zum automatischen Generieren von Polygonen auf der Karte mit Kenntnis der Polygonbreite, -höhe und -abstände


Ich muss eine große Anzahl von Polygonen (z. B. 1000) auf einem georeferenzierten Mosaik (aus Luftaufnahmen) erstellen. Ich kenne die Höhe und Breite von Polygonen und ich kenne den Abstand zwischen ihnen. Ich kann auch die Kanten des enthaltenden Polygons angeben.

Nehmen wir an, ich möchte Polygone von 1 m x 3 m mit 0,5 m (sowohl vertikaler als auch horizontaler Abstand) in dem Bereich erstellen, der durch das durch Punkte definierte Rechteck (p1, p2, p3, p4) begrenzt wird.

Kennt jemand ein Tool, um dies automatisch zu tun? Oder eine Empfehlung zur Umsetzung?


Wenn Sie mit der Python-Programmierung nicht vertraut sind, aber wissen, wie man Excel verwendet, können Sie eine Kalkulationstabelle mit den Polygonecken im WKT-Format erstellen, die Kalkulationstabelle als .csv-Datei speichern und in QGIS öffnen. Die Verwendung des WKT-Formats in einer CSV-Datei ist ein praktischer Trick, den ich hier aus anderen Antworten übernommen habe. Es ermöglicht Ihnen, alle Arten von Daten in etwas umzuwandeln, das QGIS verarbeiten kann, ohne dass Sie etwas über die grundlegenden Excel-Funktionen hinaus wissen müssen.

Angenommen, Sie möchten 4 Reihen, 5 Spalten mit Rechtecken, 0,25 Grad hoch und 0,1 Grad zwischen den Reihen. Cols sind 0,3 Grad breit, mit 0,05 Grad dazwischen. Der Ursprung des Gitters liegt bei 10° Breitengrad, -106° Längengrad. Erstellen Sie eine Tabelle mit den folgenden ersten beiden Zeilen:

Die letzte Spalte sollte WKT in der Kopfzelle haben und erstellt die WKT und sieht so aus (sehr hässlich)

=VERKETTEN("polygon((", F2," ", D2, ", ", F2," ", E2, ",", G2," ", E2," ,", G2, " ", D2," ,, F2, " ", D2, "))")

Da wir 20 Polygone wollen, füllen Sie Spalte A mit 1 bis 20 und kopieren Sie die Spalten B bis H neben diese Einträge.

Speichern Sie diese Tabelle als CSV-Datei.

Öffnen Sie nun QGIS und wählen Sie Layer->Add Delimited Text Layer und navigieren Sie zu der soeben erstellten CSV-Datei. Setzen Sie Geometriedefinition auf WKT, Geometrietyp = Erkennen, Geometriefeld auf WKT (oder was auch immer Sie in Zelle H1 haben).

Klicken Sie dann auf OK

Ersetzen Sie zur Verallgemeinerung "5" in den verschiedenen Formeln durch beliebig viele Spalten. Ersetzen Sie ".25" durch die Zeilenhöhe in entsprechenden Einheiten, "-0.3) durch Spaltenbreite, "0.1" durch Zeilenabstand, "-0.05" durch Spaltenabstand, "10" durch Y (Breitengrad) Ursprung, "-106" mit X (Längengrad) Ursprung.

Wenn Sie nicht in Grad arbeiten, müssen Sie das CRS für Ihre neue Ebene so einstellen, dass es dem von Ihnen verwendeten CRS entspricht. Abhängig von Ihren Präferenzen werden Sie möglicherweise zur Eingabe des CRS aufgefordert, wenn Sie auf OK klicken, um den Layer zu erstellen.


Sie können auf die Programmierung verzichten, indem Sie das Werkzeug "Fischnetz erstellen" in der Bogen-Toolbox und das Werkzeug "Puffer" in der Editor-Symbolleiste verwenden. Nachdem Sie Netzpolygone erstellt haben, müssen Sie die Polygone mit dem Abstand als negativer Wert im Fenster Puffer erstellen puffern. Dadurch wird ein Polygon mit Abstand erstellt und Sie können die alten Polygone löschen. Probier diese. Für mich geht das.