Ini adalah perintah v.net.timetablegrass yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
v.net.jadwal - Menemukan jalur terpendek menggunakan jadwal.
KEYWORDS
vektor, jaringan, jalur terpendek
RINGKASAN
v.net.jadwal
v.net.jadwal --membantu
v.net.jadwal memasukkan=nama [lapisan=string] keluaran=nama [lapisan_busur=string]
[simpul_lapisan=string] [kolom_busur=string] [arc_backward_column=string]
[simpul_kolom=string] [walk_layer=string] rute_id=nama Hentikan waktu=nama ke_berhenti=nama
berjalan_panjang=nama [--menimpa] [--membantu] [--bertele-tele] [--tenang] [--ui]
Bendera:
--timpa
Izinkan file keluaran untuk menimpa file yang ada
--membantu
Cetak ringkasan penggunaan
--bertele-tele
Keluaran modul verbose
--diam
Keluaran modul yang tenang
--ui
Paksa meluncurkan dialog GUI
Parameter:
memasukkan=nama [yg dibutuhkan]
Nama peta vektor masukan
Atau sumber data untuk akses OGR langsung
lapisan=string
Nomor lapisan atau nama
Fitur vektor dapat memiliki nilai kategori di lapisan yang berbeda. Angka ini menentukan
lapisan mana yang akan digunakan. Saat digunakan dengan akses OGR langsung, ini adalah nama layer.
Default: 1
keluaran=nama [yg dibutuhkan]
Nama untuk peta vektor keluaran
lapisan_busur=string
Lapisan busur
Fitur vektor dapat memiliki nilai kategori di lapisan yang berbeda. Angka ini menentukan
lapisan mana yang akan digunakan. Saat digunakan dengan akses OGR langsung, ini adalah nama layer.
Default: 1
simpul_lapisan=string
Lapisan simpul
Fitur vektor dapat memiliki nilai kategori di lapisan yang berbeda. Angka ini menentukan
lapisan mana yang akan digunakan. Saat digunakan dengan akses OGR langsung, ini adalah nama layer.
Default: 2
kolom_busur=string
Busur maju/kedua arah kolom biaya (angka)
arc_backward_column=string
Kolom biaya arah mundur busur (angka)
simpul_kolom=string
Kolom biaya simpul (angka)
walk_layer=string
Nomor lapisan atau nama dengan koneksi jalan kaki atau -1
Sebuah peta vektor tunggal dapat dihubungkan ke beberapa tabel database. Nomor ini
menentukan tabel mana yang akan digunakan. Saat digunakan dengan akses OGR langsung, inilah lapisannya
Nama.
Default: -1
rute_id=nama [yg dibutuhkan]
Nama kolom dengan id rute
Default: rute_id
Hentikan waktu=nama [yg dibutuhkan]
Nama kolom dengan cap waktu berhenti
Default: Hentikan waktu
ke_berhenti=nama [yg dibutuhkan]
Nama kolom dengan id perhentian
Default: ke_berhenti
berjalan_panjang=nama [yg dibutuhkan]
Nama kolom dengan panjang jalan
Default: panjangnya
DESKRIPSI
v.net.jadwal menemukan jalur terpendek antara dua titik menggunakan jadwal.
v.net.jadwal membaca input, satu kueri per baris, dari input standar dan menulis output
ke output standar serta ke keluaran peta dan ke tabel yang ditautkan ke lapisan 1 dan
2. Setiap baris input harus mengikuti salah satu format berikut:
PATH_ID FROM_X FROM_Y TO_X TO_Y START_TIME MIN_CHANGE MAX_CHANGES WALK_CHANGE
PATH_ID DARI_STOP TO_STOP START_TIME MIN_CHANGE MAX_CHANGES WALK_CHANGE
di mana PATH_ID adalah pengidentifikasi kueri yang digunakan dalam peta keluaran untuk
membedakan antara pertanyaan. Penelusuran dimulai pada START_TIME. MIN_CHANGE memberikan minimum
jumlah waktu (termasuk) untuk perubahan dari satu rute ke rute lainnya. MAX_CHANGES menunjukkan
jumlah maksimum perubahan yang diizinkan atau -1 jika tak terhingga. WALK_CHANGE adalah 1 atau 0 tergantung
apakah berjalan dari perhentian ke perhentian lain dianggap sebagai perubahan atau tidak. Akhirnya,
jalur ditemukan dari FROM_STOP ke TO_STOP dalam kasus terakhir dan dari perhentian terdekat ke
(FROM_X, FROM_Y) koordinat ke perhentian terdekat dengan (TO_X, TO_Y) koordinat di bekas
kasus.
Untuk setiap permintaan input, modul mengeluarkan deskripsi jalur terpendek ke standar
keluaran. Misalnya, menggunakan tabel yang diberikan di bawah ini, untuk input berikut:
47 130 300 0 1 5 0
output berikut dihasilkan:
Rute 15, dari 130 berangkat jam 15 tiba ke 250 jam 22
Berjalan dari 250 berangkat pada 22 tiba ke 300 pada 24
Selain itu, modul menulis jalur ke keluaran memetakan dan menyimpan semua informasi
diperlukan untuk merekonstruksi jalur ke tabel. Tabel yang sesuai dengan pemberhentian/titik adalah
ditautkan ke layer 1 dan terlihat, setelah kueri, sebagai berikut:
cat|path_id|stop_id|indeks|arr_time|dep_time
1|47|130|1|0|15
2|47|250|2|22|22
3|47|300|3|24|24
di mana CAT adalah kategori titik di peta, PATH_ID adalah pengidentifikasi jalur,
STOP_ID adalah pengidentifikasi perhentian seperti yang digunakan pada peta input, INDEX adalah indeks dari
perhentian di jalan (yaitu, indeks=1 adalah perhentian pertama yang dikunjungi, ...) dan ARR_TIME dan
DEP_TIME menunjukkan waktu kedatangan dan waktu keberangkatan masing-masing. Waktu kedatangan untuk
perhentian pertama di jalur selalu sama dengan START_TIME dan waktu keberangkatan untuk perhentian terakhir
selalu sama dengan waktu kedatangan.
Tabel yang ditautkan ke lapisan kedua sesuai dengan sub-rute yang diambil di antara pemberhentian. NS
tabel berikut diperoleh untuk kueri di atas:
kucing|path_id|dari_id|ke_id|route_id|indeks|dari_waktu|ke_waktu
1|47|130|250|15|1|15|22
2|47|250|300|-1|2|22|24
di mana CAT adalah kategori baris subroute antara perhentian FROM_ID ke TO_ID, ROUTE_ID adalah
pengenal rute yang diambil atau -1 jika berjalan, INDEX dan PATH_ID seperti di atas dan
FROM_TIME dan TO_TIME menunjukkan waktu antara rute yang diambil.
The keluaran peta berisi titik-titik pada posisi pemberhentian yang digunakan. Jika sebuah sub-rute diambil
antara dua perhentian maka ruas garis ditambahkan di antara dua titik yang bersesuaian. Akhirnya,
alih-alih segmen garis lurus, jalur rute yang sebenarnya dapat diberikan dalam jalan lapisan.
Jika parameter ini digunakan maka setiap baris di peta input harus berisi pengenal sebagai
nomor kategori dari semua rute yang melewati jalur tersebut. Modul kemudian menemukan jalannya
antara dua perhentian dan menulis jalur ini sebagai gantinya. Dalam hal berjalan dari satu pemberhentian ke
lain, garis lurus antara berhenti digunakan.
CATATAN
Jadwal disimpan dalam tabel yang ditautkan ke yang diberikan lapisan dari memasukkan peta. Jadwal
terdiri dari rute dan setiap rute hanyalah urutan pemberhentian dengan kedatangan yang ditentukan
waktu. Jika dua urutan perhentian hanya berbeda dalam waktu maka mereka masih sesuai dengan dua
rute. Misalnya, jika ada jalur bus yang berangkat setiap 20 menit dan mengikuti
jalur yang sama persis setiap kali maka masih perlu ada rute terpisah untuk setiap
waktu. Untuk setiap pemberhentian (diberikan oleh nomor kategori poin) meja penyimpanan
informasi tentang rute harus berisi daftar semua rute yang berhenti di
berhenti (diberikan oleh pengidentifikasi rute) bersama dengan waktu kedatangan. Artinya, meja harus
berisi tiga kolom: stop - yang merupakan kunci tabel, rute_id dan Hentikan waktu dimana
masing-masing rangkap tiga sesuai dengan rute yang tiba di perhentian dan waktu tertentu. Misalnya,
tabel yang valid mungkin terlihat sebagai berikut:
kucing|rute_id|stop_time
100 | 5 | 0
130 | 5 | 10
150 | 5 | 20
250 | 5 | 30
300 | 5 | 40
260 | 15 | 5
130 | 15 | 15
250 | 15 | 22
150 | 35 | 17
250 | 35 | 27
300 | 35 | 37
100 | 35 | 50
Perhatikan bahwa Hentikan waktu adalah bilangan bulat sehingga Anda dapat menggunakan unit dan penawaran apa pun untuk menentukan
waktu kedatangan.
Juga, koneksi jalan kaki antar perhentian dapat diberikan oleh tabel yang terhubung ke berjalan lapisan
itu memasukkan peta. Jika parameter ini -1 maka berjalan di antara perhentian tidak diperbolehkan. NS
tabel harus berisi tiga kolom: stop - yang merupakan kunci tabel, ke_berhenti dan
panjangnya. Sebuah catatan dalam tabel mengatakan bahwa dibutuhkan panjangnya
satuan waktu untuk berjalan dari halte ke ke_berhenti. Berikut ini adalah tabel yang valid:
kucing|panjang|sampai_berhenti
250 | 2 | 300
Berhati-hatilah karena ini hanya berarti Anda dapat berjalan dari pemberhentian 250 ke pemberhentian 300 tetapi tidak
sebaliknya.
CONTOH
Untuk menemukan jalur dari perhentian dengan pengidentifikasi 130 hingga perhentian dengan kategori 300, mulai dari
waktu 0, dengan satu unit waktu untuk perubahan, maksimal 5 perubahan dan dengan tidak berjalan kaki
dianggap sebagai perubahan rute, kami menggunakan perintah berikut:
gema "47 130 300 0 1 5 0" | v.net.jadwal \
input=bus output=lapisan jalur=5 jalan=6 jalur=7
Jika, di sisi lain, kita mengetahui koordinat tempat maka perintah berikut:
mungkin digunakan:
echo "47 10.31 54.31 90.21 28.21 0 1 5 0" | v.net.jadwal \
input=bus output=lapisan jalur=5 jalan=6 jalur=7
Gunakan v.net.timetablegrass online menggunakan layanan onworks.net