Menghitung jarak rata-rata antara dua garis non-parallet?

8

Saat ini saya sedang berupaya membuat model data yang akan memungkinkan analis untuk mendigitalkan dua garis non-paralel dengan panjang yang kira-kira sama. Saat ini metodologi tersebut adalah untuk membagi garis menjadi 11 titik dan rata-rata jarak antara dua garis.

Ada saran tentang cara menyederhanakan metode ini dan atau mengotomatiskan proses, ingat saya membuat skema jadi saya memiliki jangkauan penuh untuk mengubah apa yang ada dan bagaimana itu direkam?

Terlampir adalah contoh dari masalah. masukkan deskripsi gambar di sini

Mark McCallister
sumber
Apa keajaiban di balik angka 11? Apakah akan melakukan 10 atau 8 atau 5 baris? Sebenarnya jumlah garis harus tergantung pada panjang kedua garis?
ulrich
Adakah asumsi bahwa jarak harus kira-kira ortogonal ke arah dua garis? Misalnya, titik 7b mungkin lebih dekat ke 8a dari 8b. Apakah Anda ingin mendapatkan jarak ke titik terdekat, atau mendapatkan jarak ke titik yang sesuai (7a hingga 7b, 8a hingga 8b, dll.)?
user55937

Jawaban:

5

Jika Anda memiliki kendali penuh atas algoritma dan implementasi, untuk perkiraan kasar Anda mungkin bisa

  1. Dapatkan koordinat beberapa titik pada polyline Anda dalam jarak yang sama dari titik awal masing-masing
  2. Perkirakan garis lurus melalui poin Anda dari setiap polyline ( https://en.wikipedia.org/wiki/Simple_linear_regress )
  3. Dapatkan jarak antara titik-titik pada baris baru, yang sesuai dengan 1a dan 1b serta 11a dan 11b dari grafik Anda dan hitung rata-rata

masukkan deskripsi gambar di sini

Catatan: ini tentang algoritma, bukan tentang implementasi spesifik.

Ulrich
sumber
1
Saya berpikir bahwa jarak rata-rata antara dua garis biru (karena mereka lurus) sebenarnya hanya panjang rata-rata dari dua garis kuning. Jika itu masalahnya, maka tidak perlu untuk mendiskritkan garis menjadi poin.
user55937
Ya, ini masalahnya. Tapi tetap saja Anda membutuhkan regresi linier garis hitam. Pertimbangkan dua garis hitam cembung, mulai berdekatan satu sama lain kemudian bergerak menjauh satu sama lain dan semakin dekat lagi. Jika Anda hanya memperhitungkan jarak antara simpul awal dan akhir dari garis asli, Anda akan memperkirakan jarak rata-rata.
ulrich
Kebaikan! Saya tidak membaca jawaban Anda dengan cukup baik. Saya baru saja menyatakan langkah ketiga Anda.
user55937
2

1) buat poligon dengan dua garis Anda, garis antara 1a dan 1B, dan garis antara 11a dan 11b

2) buat garis tengah

3) bagi area poligon dengan panjang pada garis tengah. Perhatikan bahwa Anda dapat menggunakan rata-rata dari panjang dua garis sebagai perkiraan jika Anda tidak ingin menghitung garis tengah.

radouxju
sumber
Apa sebenarnya yang Anda maksud dengan garis tengah? Bagaimana Anda mendapatkannya, kira-kira?
ulrich
lihat di sini untuk maksud saya gis.stackexchange.com/questions/29863/... Untuk algoritme, Anda dapat menggabungkan poligon Thiessen yang berasal dari simpul setiap baris.
radouxju
Tidak yakin itu yang saya minta, saya perlu tahu jarak rata-rata keseluruhan antara garis a & b, atau mungkin saya tidak mengerti apa yang Anda katakan.
Mark McCallister
lebar rata-rata poligon Anda adalah jarak rata-rata antar garis. Bayangkan saja Anda mengambil poin tak terhingga ...
radouxju
+1. Ini jawaban yang benar. Bagilah dengan rata-rata 2 baris
FelixIP
0

Jadi saya telah bereksperimen dengan "Hitung pita jarak dari tetangga menghitung" alat statistik spasial dan tampaknya berfungsi. Lakukan beberapa tes lagi untuk dijalankan dan mudah-mudahan ini akan menjawab tagihan. Terima kasih atas semua umpan balik sejauh ini.

Mark McCallister
sumber