Ini adalah perintah v.distancegrass yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa stasiun kerja online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
v.jarak - Menemukan elemen terdekat di peta vektor 'ke' untuk elemen dalam peta vektor
'dari'.
KEYWORDS
vektor, jarak, database, tabel atribut
RINGKASAN
v.jarak
v.jarak --membantu
v.jarak [-pa] dari=nama [dari_lapisan=string] [dari_type=string[,string,...]] untuk=nama
[ke_lapisan=string] [mengetik=string[,string,...]] [keluaran=nama] [d maks=mengapung]
[min=mengapung] mengunggah=string[,string,...] [kolom=nama[,nama,...]] [ke_kolom=nama]
[tabel=nama] [alat pemisah=karakter] [--menimpa] [--membantu] [--bertele-tele] [--tenang]
[--ui]
Bendera:
-p
Cetak output ke stdout, jangan perbarui tabel atribut
Kolom pertama selalu merupakan kategori fitur 'dari' yang disebut from_cat
-a
Hitung jarak ke semua fitur dalam ambang batas
Output ditulis ke stdout tetapi dapat diunggah ke tabel baru yang dibuat oleh modul ini;
beberapa opsi 'upload' dapat digunakan.
--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:
dari=nama [yg dibutuhkan]
Nama peta vektor yang ada (dari)
Atau sumber data untuk akses OGR langsung
dari_lapisan=string
Nomor lapisan atau nama (dari)
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
dari_type=string[, string,...]
Jenis fitur (dari)
Jenis fitur masukan
Pilihan: titik, baris, batas, pusat, daerah
Default: titik, garis, luas
untuk=nama [yg dibutuhkan]
Nama peta vektor yang ada (ke)
Atau sumber data untuk akses OGR langsung
ke_lapisan=string
Nomor lapisan atau nama (ke)
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
mengetik=string[, string,...]
Jenis fitur (ke)
Jenis fitur masukan
Pilihan: titik, baris, batas, pusat, daerah
Default: titik, garis, luas
keluaran=nama
Nama untuk peta vektor keluaran yang berisi garis-garis yang menghubungkan elemen-elemen terdekat
d maks=mengapung
Jarak maksimum atau -1 tanpa batas
Default: -1
min=mengapung
Jarak minimum atau -1 tanpa batas
Default: -1
mengunggah=string[, string,...] [yg dibutuhkan]
Nilai yang menggambarkan hubungan antara dua fitur terdekat
Pilihan: kucing, distrik, ke_x, mainan, untuk_sepanjang, ke_sudut, ke_attr
kucing: kategori fitur terdekat
dist: jarak minimum ke fitur terdekat
ke_x: x koordinat titik terdekat pada fitur 'ke'
mainan: y koordinat titik terdekat pada fitur 'ke'
ke_bersama: jarak ke titik terdekat pada fitur 'ke' di sepanjang fitur linier tersebut
ke_sudut: sudut sepanjang fitur linier terdekat di peta 'ke', diukur CCW dari
sumbu +x, dalam radian, antara -Pi dan Pi inklusif
ke_attr: atribut fitur terdekat yang diberikan oleh opsi to_column
kolom=nama[,nama,...]
Nama kolom tempat nilai yang ditentukan oleh opsi 'unggah' akan diunggah
ke_kolom=nama
Nama kolom fitur terdekat (digunakan dengan upload=to_attr)
tabel=nama
Nama tabel yang dibuat saat flag 'jarak ke semua' digunakan
alat pemisah=karakter
Pemisah bidang untuk mencetak output ke stdout
Karakter khusus: pipa, koma, spasi, tab, baris baru
Default: pipa
DESKRIPSI
v.jarak menemukan elemen terdekat dalam peta vektor (untuk) untuk elemen dalam peta vektor (dari).
Berbagai informasi tentang hubungan vektor (jarak, kategori, dll.) mungkin:
diunggah ke tabel atribut yang dilampirkan ke peta vektor pertama, atau dicetak ke 'stdout'.
Peta vektor baru dapat dibuat di mana garis yang menghubungkan titik-titik terdekat pada fitur berada
tertulis. min dan / atau d maks dapat digunakan untuk membatasi radius pencarian.
Untuk garis ke garis, katakanlah garis A ke garis B, v.jarak menghitung jarak terpendek dari
setiap simpul di A dengan setiap segmen (bukan simpul) di B. Modul kemudian menghitung
jarak terpendek setiap simpul di B ke setiap segmen di A. Jarak terpendek keseluruhan
dari A menunjuk ke segmen B dan B menunjuk ke segmen A digunakan. Selain itu, v.jarak
pemeriksaan persimpangan. Dalam kasus persimpangan, persimpangan pertama yang ditemukan digunakan
dan jarak diatur ke nol.
Untuk garis ke daerah, jarak diatur ke nol jika garis (sebagian) di dalam suatu daerah.
Titik pertama dari garis yang berada di dalam area digunakan sebagai titik persekutuan. Jarak
juga disetel ke nol jika garis berpotongan dengan lingkar luar atau salah satu lingkar dalam
(pulau), dalam hal ini persimpangan tinju digunakan sebagai titik bersama.
Untuk area ke area, modul memeriksa terlebih dahulu untuk tumpang tindih atau jika satu area (sebagian)
di dalam daerah lain. Ini secara komputasi cukup intensif. Jika cincin luar dari
dua area tidak tumpang tindih, jarak dihitung seperti di atas untuk garis ke garis, memperlakukan
cincin luar sebagai dua garis. Sekali lagi, titik pertama yang ditemui jatuh ke suatu area adalah
digunakan sebagai titik bersama, atau titik perpotongan pertama.
Untuk hal lain selain titik ke garis, mungkin ada beberapa lokasi umum dengan nol
jarak, dan lokasi umum kemudian akan menjadi hasil dari overlay yang terdiri dari:
beberapa titik, garis, atau area. v.jarak memilih dalam kasus ini satu titik, dan
tidak membuat overlay seperti v.hamparan. Dalam implementasi ini, setiap poin yang dibagikan adalah sebagai
baik seperti yang lain. Menghitung persimpangan lebih mahal daripada memeriksa apakah sebuah simpul adalah
di dalam poligon. Misalnya, jika sebuah titik dari batas area 'ke' berada di dalam
'dari' daerah, itu adalah lokasi umum. Untuk alasan kecepatan, jarak kemudian disetel ke nol
dan tidak ada tes lebih lanjut yang dilakukan.
CATATAN
Jika fitur terdekat tidak memiliki kategori, kolom atribut diperbarui ke NULL.
unggahan kolom(s) harus sudah ada. Buat satu dengan v.db.tambahkan kolom.
Di lokasi lat-long v.jarak memberikan jarak (dist, dari_sepanjang, dan ke_bersama) tidak masuk
derajat tetapi dalam meter dihitung sebagai jarak geodesik pada bola.
Jika salah satu atau kedua peta vektor input adalah 3D, pengguna akan diberi tahu.
CONTOH
Menemukan Terdekat baris
Menemukan Terdekat baris di peta vektor "ln" untuk titik-titik dari peta vektor "pnt" di dalam yang diberikan
ambang batas dan tulis kategori baris terkait ke kolom "linecat" di tabel atribut
dilampirkan ke peta vektor "pnt":
v.jarak dari=pnt ke=ln unggah=kolom kucing=linecat
Menemukan Terdekat daerah
Untuk setiap titik dari peta vektor "pnt", temukan Terdekat daerah dari peta "ar" di dalam yang diberikan
ambang batas dan tulis kategori area terkait ke kolom "areacat" di tabel atribut
dilampirkan pada peta vektor "pnt" (dalam hal sebuah titik jatuh ke suatu area, jaraknya adalah
nol):
v.jarak dari=pnt ke=ar unggah=kolom kucing=areacat
membuat a yang baru vektor peta
Buat peta vektor baru yang berisi baris menghubungkan Terdekat fitur dari peta "pnt" dan
peta "ln". Peta vektor yang dihasilkan dapat digunakan misalnya untuk menghubungkan titik ke jaringan
sesuai kebutuhan untuk analisis jaringan:
v.distance -p from=pnt to=ln out=koneksi upload=dist column=dist
Pertanyaan informasi
Kueri informasi dari titik yang dipilih. v.jarak mengambil poin dari peta vektor sebagai
masukan alih-alih stdin. Peta vektor baru dengan titik kueri harus dibuat sebelum
peta dapat dianalisis.
Buat peta kueri (jika tidak ada):
gema "123456|654321|1" | v.in.ascii output=pnt
Temukan fitur terdekat:
v.jarak dari=pnt ke=map_to_query upload=cat col=somecol -p
Titik-dalam-poligon
Pilihan dmaks=0 di sini penting karena jika tidak untuk poin tidak jatuh ke dalam
daerah, kategori daerah terdekat dicatat.
Untuk setiap titik dari peta vektor "pnt", temukan daerah dari peta vektor "ar" di mana
titik individu jatuh, dan tulis kategori area terkait ke kolom "areacat" ke dalam
tabel atribut yang dilampirkan ke peta vektor "pnt":
v.jarak dari=pnt ke=ar dmax=0 unggah=kolom kucing=areacat
Univariat statistika on hasil
Buat peta vektor yang berisi garis penghubung dan selidiki jarak rata-rata ke target.
Solusi alternatif adalah dengan menggunakan opsi v.distance upload=dist untuk mengunggah jarak
ke dalam bug vektor secara langsung, lalu jalankan v.univar pada itu. Perhatikan juga Anda dapat mengunggah dua
kolom pada satu waktu, egvdistance upload=cat,dist column=nearest_id,dist_to_nr.
# buat copy pekerjaan
g.copy vect=situs bug, bug
# tambahkan kolom atribut baru untuk menampung nomor kategori archsite terdekat
v.db.addcolumn map=kolom bug="nrst_arch INTEGER"
v.jarak dari=bug ke=situs web to_type=titik unggah=ke_attr
to_column=kolom kucing=nrst_arch out=vdistance_vectors_raw
# kita perlu memberikan nomor kategori garis, membuat tabel, dan membuat
# kolom di tabel itu untuk menampung data jarak.
v.category vdistance_vectors_raw out=vdistance_vectors type=baris op=tambah
g.remove -f type=nama vektor=vdistance_vectors_raw
v.db.addtable map=vdistance_vectors column="length DOUBLE"
v.to.db map=vdistance_vectors option=panjang kolom=panjang
# menghitung statistik. Gunakan v.univar.sh untuk statistik yang diperluas.
v.univar kolom vdistance_vectors=panjang
Mencetak jarak antara poin
Contoh untuk lokasi Lintang-bujur (EPSG 4326):
# titik di sepanjang khatulistiwa
gema "0|-61|1" | v.in.ascii keluaran=pnt1 masukan=-
gema "0|-58|1" | v.in.ascii keluaran=pnt2 masukan=-
# di sini, jarak dalam satuan derajat
v.jarak dari=pnt1 ke=pnt2 upload=dist col=jarak -p --q
from_cat|jarak
1 | 3
Mencetak jarak matriks
Catatan: Output gaya matriks diaktifkan hanya untuk flag -a dan satu opsi unggah yang diberikan.
Lokasi data sampel ikan tombak:
v.distance -pa dari=situs web ke=situs web upload=dist col=dist
Lokasi data sampel Carolina Utara:
v.jarak -pa dari=rumah sakit ke=rumah sakit upload=dist
col=pemisah dist=koma
from_cat ke_cat dist
1 2 3 4 5 ...
1 0 7489.10 339112.17 70900.39 70406.23 ...
2 7489.10 0 345749.12 76025.46 75538.87 ...
3 339112.17 345749.12 0 274153.19 274558.98 ...
4 70900.39 76025.46 274153.19 0 501.11 ...
5 70406.23 75538.87 274558.98 501.11 0 ...
...
Gunakan v.distancegrass online menggunakan layanan onworks.net