Ich habe einen Prozess namens "Create Polygon Graticule" verwendet, um ein Raster innerhalb eines Polygons mit zugewiesenen Zeilen- und Spaltenattributen zu erstellen. Es ist ein SAGA-Tool, das ich in QGIS ausgeführt habe. Es wird ein Gitter basierend auf der Ausdehnung des Eingabepolygons mit den Zellen N bis S und E bis W generiert. Für meine Analyse wäre es besser, wenn die Richtung des Gitters parallel zur längsten Kante des Polygons wäre. Als Referenz habe ich Bilder der aktuellen automatisierten Ausgabe und einer Ausgabe angehängt, die ich manuell geändert habe, um das Raster an dem Polygon auszurichten. Die Gitter umfassten ursprünglich die gesamte Ausdehnung des Polygons, wurden jedoch abgeschnitten, um nur die Zellteile anzuzeigen, die sich im Inneren befinden.
Das obige Bild ist das, was das Tool standardmäßig ausgibt.
Dies ist ein Bild eines Rasters, das manuell bearbeitet wurde, um den erforderlichen Parametern zu entsprechen.
Meine Frage ist, gibt es eine Möglichkeit, Raster wie das im zweiten Bild automatisch auszurichten? Ich muss Gitter für ein paar tausend Polygone erzeugen.
quelle
Antworten:
Wenn Sie ein Vektorraster aus erstellen
Vector -> Research Tools -> Vector Grid
, können Sie den Drehwinkel angeben.quelle
C:\Program Files\QGIS Essen\apps\qgis-ltr\python\plugins\fTools\tools\doVectorGrid.py
. Seltsamerweise war dies in QGIS 2.8 nicht enthalten.QGIS 2.18
Wie @jbgramm auf die Antwort von @neogeomat kommentiert hat, sehen wir in QGIS 2.18 keine
Rotation angle
Option im Vector Grid- Tool (2.18.15-17 von @jbgramm geprüft, und das Gleiche mit 2.18.18).Das lässt uns mit der Funktion GRASS v.mkgrid .
Der Winkel wird von Norden gegen den Uhrzeigersinn gemessen. Das
-30
im Bild gezeigte Gitter erzeugt also ein Raster, das sich an N30E orientiert.quelle
Ich bin auch in QGIS 3 auf dieses Problem gestoßen und habe diese Lösung im Stapelüberlauf gefunden
Grundsätzlich besteht die Idee darin, den Winkel auf das Polygon anzuwenden, auf dem die Ausdehnung definiert ist, bevor das Raster erstellt wird. Wenn Ihr Polygon kein Rechteck ist, müssen Sie zunächst eine Ebene aus der Ausdehnung Ihres Polygons erstellen und dann drehen. Dann können Sie das Raster entsprechend dieser neuen Ausdehnung erstellen und dann Ihr Polygon und das Raster wieder auf die ursprüngliche Ausdehnung des Polygons drehen. Dies alles, während sichergestellt wird, dass in beiden Ebenen dieselbe x, y-Koordinate als Ankerpunkt verwendet wird.
quelle