@ziggy berusaha melakukan hal itu tetapi dokumentasi tidak terlalu jelas dan tidak ada contoh dengan geometri dari tabel yang berbeda
Luffydude
ive tidak pernah menggunakan fungsi ini tapi saya akan membayangkan itu akan menjadi seperti ini: pilih t1.columns dll, t2.columns dll .. st_makeline (t1.geom, t2.geom) dari t1, t2
ziggy
@ziggy mendapatkan kesalahan sintaksis pada kurung ketika saya mencoba pilih id, geom as st_makeline (a.geom, b.geom),
Luffydude
posting seluruh permintaan Anda
ziggy
Jawaban:
4
Di QGIS, Anda dapat menggunakan plugin Connect Points yang dapat Anda unduh dari:
Plugins > Manage and Install Plugins...
Contoh:
Berikut adalah beberapa lapisan, layer_Amemiliki banyak titik; layer_BPunya satu. Pastikan kedua layer berisi bidang bilangan bulat di mana nilainya persis sama (mis. Kedua layer saya memiliki idbidang di mana semua nilai berada 1). Plugin menggunakan ini untuk menghubungkan poin Anda. Saat plugin Anda diaktifkan, buka pengaturannya:
Pilih opsi:
Hasil:
Perhatikan bahwa plugin ini eksperimental sehingga Anda harus mengaktifkan Show also experimental pluginsopsi (terima kasih ke @blue_chip ):
Tidak yakin mengapa hasil edit saya dihapus tetapi jika Anda belum membacanya: wow guys, ada beberapa jawaban yang cukup beragam di sini. Satu Python, satu plugin, dan satu Postgis. Memberikan centang pada plugin karena ini adalah noob paling ramah GIS dan juga karena wajah yang tersenyum. Terima kasih semuanya!
Luffydude
@Luffydude - Suntingan Anda mungkin dihapus karena tidak menambah banyak pertanyaan Anda secara keseluruhan, tetapi Anda benar, jawaban yang sangat berbeda! :)
Joseph
1
Anda perlu mengaktifkan plugin eksperimental untuk menemukannya. Saya harus melihat sedikit lebih lama sampai saya sadar. Plugins> Pengaturan> Periksa Tampilkan juga plugins eksperimental
blue_chip
@blue_chip - Permintaan maaf, saya seharusnya menyebutkan itu. Akan mengeditnya di :)
Joseph
3
jika kedua layer Anda adalah poin, kueri di bawah ini seharusnya berfungsi cukup colokkan data Anda sendiri. Saya melakukan tes dengan membuat garis dari 1 layer dengan 150+ point rows dan layer dengan 1 point
droptableifexists line;createtable line asselect layer1.id ,st_makeline(layer1.geom,point.geom)as geom from layer1,point
Jawaban:
Di QGIS, Anda dapat menggunakan plugin Connect Points yang dapat Anda unduh dari:
Contoh:
Berikut adalah beberapa lapisan,
layer_A
memiliki banyak titik;layer_B
Punya satu. Pastikan kedua layer berisi bidang bilangan bulat di mana nilainya persis sama (mis. Kedua layer saya memilikiid
bidang di mana semua nilai berada1
). Plugin menggunakan ini untuk menghubungkan poin Anda. Saat plugin Anda diaktifkan, buka pengaturannya:Pilih opsi:
Hasil:
Perhatikan bahwa plugin ini eksperimental sehingga Anda harus mengaktifkan
Show also experimental plugins
opsi (terima kasih ke @blue_chip ):sumber
jika kedua layer Anda adalah poin, kueri di bawah ini seharusnya berfungsi cukup colokkan data Anda sendiri. Saya melakukan tes dengan membuat garis dari 1 layer dengan 150+ point rows dan layer dengan 1 point
sumber
Dengan asumsi mulai dari situasi ini (lapisan satu titik dengan satu fitur dan satu lapisan titik dengan 300 fitur):
Anda dapat menjalankan kode ini dari Konsol Python (setelah memuat dua lapisan minat pada QGIS):
untuk mendapatkan hasil ini:
Anda hanya perlu menyesuaikan nama untuk layer (
'1point'
dan'300points'
) dengan nama yang memuatnya di Panel Layers .Pendekatan saya akan bekerja secara independen dari jumlah fitur di kedua lapisan.
sumber