@ziggy hat versucht, genau das zu tun, aber die Dokumentation ist nicht sehr klar und es gibt kein Beispiel mit Geometrien aus verschiedenen Tabellen
Luffydude
Ich habe diese Funktion nie benutzt, aber ich würde mir vorstellen, dass es so etwas sein würde: Wählen Sie t1.columns usw., t2.columns usw. aus. st_makeline (t1.geom, t2.geom) von t1, t2
ziggy
@ziggy bekommen Syntaxfehler in den Klammern, als ich versuchte, id, geom als st_makeline (a.geom, b.geom) auszuwählen,
Luffydude
poste
Antworten:
4
In QGIS können Sie das Connect Points- Plugin verwenden, das Sie herunterladen können von:
Plugins > Manage and Install Plugins...
Beispiel:
Hier sind ein paar Schichten, layer_Ahat eine Reihe von Punkten; layer_Bhat einen. Stellen Sie sicher, dass beide Ebenen ein ganzzahliges Feld enthalten, in dem die Werte genau gleich sind (z. B. haben beide Ebenen ein idFeld, in dem alle Werte vorhanden sind 1). Das Plugin verwendet dies, um Ihre Punkte zu verbinden. Wenn Ihr Plugin aktiviert ist, gehen Sie zu seinen Einstellungen:
Wählen Sie die Optionen:
Ergebnis:
Beachten Sie, dass dieses Plugin experimentell ist und Sie die Show also experimental pluginsOption aktivieren müssen (dank @blue_chip ):
Ich bin mir nicht sicher, warum meine Bearbeitung gelöscht wurde, aber falls Sie sie nicht gelesen haben: Wow, Leute, hier gibt es einige ziemlich unterschiedliche Antworten. Ein Python, ein Plugin und ein Postgis. Geben Sie dem Plugin das Häkchen, da es das GIS-Noob-freundlichste ist und auch wegen des Smileys. Vielen Dank an alle!
Ruffydude
@Luffydude - Ihre Bearbeitung wurde wahrscheinlich gelöscht, weil sie nicht viel zu Ihrer Gesamtfrage beigetragen hat, aber Sie haben Recht, sehr unterschiedliche Antworten! :)
Joseph
1
Sie müssen experimentelle Plugins aktivieren, um dieses zu finden. Ich musste etwas länger schauen, bis es mir dämmerte. Plugins> Setting> Check Zeige auch experimentelle Plugins
blue_chip
@blue_chip - Entschuldigung, das hätte ich erwähnen sollen. Wird das in bearbeiten :)
Joseph
3
Wenn beide Ebenen Punkte sind, sollte die folgende Abfrage funktionieren. Fügen Sie einfach Ihre eigenen Daten ein. Ich habe einen Test mit dem Erstellen von Linien aus 1 Ebene mit mehr als 150 Punktzeilen und einer Ebene mit 1 Punkt durchgeführt
droptableifexists line;createtable line asselect layer1.id ,st_makeline(layer1.geom,point.geom)as geom from layer1,point
Antworten:
In QGIS können Sie das Connect Points- Plugin verwenden, das Sie herunterladen können von:
Beispiel:
Hier sind ein paar Schichten,
layer_A
hat eine Reihe von Punkten;layer_B
hat einen. Stellen Sie sicher, dass beide Ebenen ein ganzzahliges Feld enthalten, in dem die Werte genau gleich sind (z. B. haben beide Ebenen einid
Feld, in dem alle Werte vorhanden sind1
). Das Plugin verwendet dies, um Ihre Punkte zu verbinden. Wenn Ihr Plugin aktiviert ist, gehen Sie zu seinen Einstellungen:Wählen Sie die Optionen:
Ergebnis:
Beachten Sie, dass dieses Plugin experimentell ist und Sie die
Show also experimental plugins
Option aktivieren müssen (dank @blue_chip ):quelle
Wenn beide Ebenen Punkte sind, sollte die folgende Abfrage funktionieren. Fügen Sie einfach Ihre eigenen Daten ein. Ich habe einen Test mit dem Erstellen von Linien aus 1 Ebene mit mehr als 150 Punktzeilen und einer Ebene mit 1 Punkt durchgeführt
quelle
Angenommen, Sie gehen von dieser Situation aus (eine Punktebene mit einem Merkmal und eine Punktebene mit 300 Merkmalen):
Sie können diesen Code über die Python-Konsole ausführen (nachdem Sie die beiden interessierenden Ebenen in QGIS geladen haben):
um dieses Ergebnis zu erhalten:
Sie müssen nur die Namen für die Ebenen (
'1point'
und'300points'
) an die Namen anpassen, mit denen sie im Ebenenbedienfeld geladen werden .Mein Ansatz funktioniert unabhängig von der Anzahl der Features in beiden Ebenen.
quelle