Ich habe x, y-Koordinaten in lat / long und ich muss quadratische Zellen von 5x5 Grad um sie herum erstellen, wobei die lat / long-Koordinaten die Schwerpunkte sind.
Meine erste Option besteht darin, einen Puffer um die Zentroide mit 1 Segment und einem Abstand von 1/2 (5 °) * sqrt (2) zu erstellen (muss mit sqrt (2) multipliziert werden, da das Werkzeug den Schwerpunkt an der Ecke des Quadrats als verwendet Der Pufferabstand (im Gegensatz zum Schwerpunkt zur Kante), der zu seitlichen Quadraten um meine Punkte führt, dreht dann jedes Feature um 45 Grad. Ich würde es vorziehen, dies nicht zu tun, da der Abstand nicht so genau ist und ich nicht weiß, wie ich jedes einzelne Puffermerkmal schnell drehen kann.
Meine zweite Option, die viel einfacher zu sein scheint, besteht darin, einen Puffer um die Zentroide mit dem von mir benötigten Abstand ((1/2) * 5 °) zu erstellen und dann so etwas wie das Feature-to-Envelope-Tool von ArcMap zu verwenden.
Ich sehe, dass hier jemand die gleiche Frage hat und eine Antwort gegeben wurde, aber ich habe keine Ahnung, wie ich das programmgesteuert machen soll.
QgsMapLayerRegistry
in der letzten Zeile durchQgsProject
. Weitere Informationen finden Sie hierQGIS 3 bietet eine schnelle und schmutzige Alternative: - Vektor -> Geoverarbeitungswerkzeuge -> Puffer
Wählen Sie Ihre Punktebene als Eingabeebene aus. Stellen Sie sicher, dass der Endkappenstil auf Quadrat eingestellt ist und der Abstand die Hälfte der beabsichtigten Quadratlänge beträgt (ein Quadrat mit 1 km pro Seite sollte also einen Abstand von 500 m haben).
quelle
Um Punkte in Quadrate umzuwandeln, können Sie versuchen, einen
native:buffer
Verarbeitungsalgorithmus mit demEND_CAP_STYLE
Parameter2
(Quadrat) zu verarbeiten.Warnung! Die Ergebnisse können variieren und hängen vom Koordinatensystem der Eingabeebene ab. Wenn Sie beispielsweise WGS 84 verwenden und den Abstand
5000
dazu einstellen, ergibt sich eine quadratische Linie von 5000 Grad (nicht Meter).Getestet mit pyQGIS 3.6.1:
Anwendungsbeispiel:
quelle