@ziggy essayait de faire exactement cela, mais la documentation n'est pas très claire et il n'y a pas d'exemple avec des géométries de différentes tables
Luffydude
Je n'ai jamais utilisé cette fonction mais j'imagine que ce serait quelque chose comme ceci: sélectionnez t1.columns etc, etc .. t2.columns st_makeline (t1.geom, t2.geom) de t1, t2
ziggy
@ziggy a obtenu une erreur de syntaxe sur les crochets lorsque j'ai essayé de sélectionner id, geom comme st_makeline (a.geom, b.geom),
Luffydude
poster toute votre requête
ziggy
Réponses:
4
Dans QGIS, vous pouvez utiliser le plug-in Connect Points que vous pouvez télécharger à partir de:
Plugins > Manage and Install Plugins...
Exemple:
Voici quelques couches, layer_Aa un tas de points; layer_Ben a un. Assurez-vous que les deux couches contiennent un champ entier où les valeurs sont exactement les mêmes (par exemple, mes deux couches ont un idchamp où toutes les valeurs sont 1). Le plugin l'utilise pour connecter vos points. Lorsque votre plugin est activé, accédez à ses paramètres:
Sélectionnez les options:
Résultat:
Notez que ce plugin est expérimental, vous devrez donc activer l' Show also experimental pluginsoption (grâce à @blue_chip ):
Je ne sais pas pourquoi ma modification a été supprimée mais de toute façon au cas où vous ne l'auriez pas lu: wow les gars quelques réponses assez variées ici. Un Python, un plugin et un Postgis. Donner la tique au plugin car il est le plus convivial des noos SIG et aussi à cause du visage souriant. Merci a tous!
Luffydude
@Luffydude - Votre modification a probablement été supprimée car elle n'ajoutait pas grand-chose à votre question globale, mais vous avez raison, des réponses très différentes! :)
Joseph
1
Vous devez activer les plugins expérimentaux pour trouver celui-ci. Je devais regarder un peu plus longtemps jusqu'à ce qu'il me vienne à l'esprit. Plugins> Setting> Check Afficher également les plugins expérimentaux
blue_chip
@blue_chip - Excuses, j'aurais dû le mentionner. Le modifiera dans :)
Joseph
3
si vos deux couches sont des points, cette requête ci-dessous devrait fonctionner, il suffit de brancher vos propres données. J'ai fait un test avec la création de lignes à partir d'une couche avec plus de 150 lignes de points et une couche avec 1 point
droptableifexists line;createtable line asselect layer1.id ,st_makeline(layer1.geom,point.geom)as geom from layer1,point
Réponses:
Dans QGIS, vous pouvez utiliser le plug-in Connect Points que vous pouvez télécharger à partir de:
Exemple:
Voici quelques couches,
layer_A
a un tas de points;layer_B
en a un. Assurez-vous que les deux couches contiennent un champ entier où les valeurs sont exactement les mêmes (par exemple, mes deux couches ont unid
champ où toutes les valeurs sont1
). Le plugin l'utilise pour connecter vos points. Lorsque votre plugin est activé, accédez à ses paramètres:Sélectionnez les options:
Résultat:
Notez que ce plugin est expérimental, vous devrez donc activer l'
Show also experimental plugins
option (grâce à @blue_chip ):la source
si vos deux couches sont des points, cette requête ci-dessous devrait fonctionner, il suffit de brancher vos propres données. J'ai fait un test avec la création de lignes à partir d'une couche avec plus de 150 lignes de points et une couche avec 1 point
la source
En supposant de partir de cette situation (une couche de points avec une entité et une couche de points avec 300 entités):
vous pouvez exécuter ce code à partir de la console Python (après avoir chargé les deux couches d'intérêt dans QGIS):
pour obtenir ce résultat:
Il vous suffit d'adapter les noms des calques (
'1point'
et'300points'
) aux noms avec lesquels ils sont chargés dans le panneau Calques .Mon approche fonctionnera indépendamment du nombre d'entités dans les deux couches.
la source