Ini adalah sesuatu yang saya hampir malu untuk bertanya tetapi sepertinya saya tidak bisa membuatnya bekerja untuk kehidupan saya.
Saya memiliki lapisan jalan dengan segmen, setiap segmen memiliki Road ID
dan segmen type
.
Saya ingin menggabungkan semua segmen bersama, untuk masing-masing Road ID
menjadi satu linestring tetapi hanya ketika mereka sama type
dan saling bersentuhan (semua garis digabungkan menjadi satu).
Road ID - Type
1 L
1 L
1 T
1 L
Sepertinya ini berhasil
sumber
Hanya meludah, tetapi saya bisa memikirkan beberapa solusi lain. Saya tidak tahu apakah mereka lebih baik atau lebih buruk, hanya saja mereka yang lain.
Pertama, jika hanya ada beberapa jenis jalan, Anda bisa mengetik jenis demi jenis dengan sesuatu seperti:
Anda juga bisa menggunakan sebagian besar di atas dengan Road_Type sebagai variabel dalam loop FOR jika ada banyak jenis.
Pikiran terakhir saya melibatkan menggabungkan semua geometri, lalu memanggil tipe jalan dengan fungsi ST_Line_Substring ( Tautan-Tautan ) tetapi itu tidak akan berhasil sama sekali.
Semoga berhasil, Rob
sumber