Menemukan jarak antar titik di sepanjang sungai (Linear referencing)


10

Saya baru mengenal gis dan terkesan. Saya memiliki jaringan sungai yang terdiri dari linestrings kecil (polyline). Dalam shapefile yang berbeda, saya memiliki lokasi beberapa stasiun di sungai. Saya perlu mencari jarak di sepanjang sungai dari setiap stasiun sampai ujung sungai.

Masalahnya adalah bahwa saya tidak memiliki satu linestring sungai yang lengkap. Dan tidak ada atribut umum yang dapat saya gunakan untuk menyatukan atau menggabungkan linestrings. Juga, beberapa stasiun berada di anak sungai.

masukkan deskripsi gambar di sini

Jadi intinya adalah saya perlu membuat jaringan besar sungai termasuk anak sungai dan melakukan referensi liner. Tetapi saya tidak tahu bagaimana melakukan ini. Setiap bantuan sangat dihargai. Tolong jelaskan sejelas mungkin.

Berikan komentar jika Anda membutuhkan informasi lebih lanjut.


3
Platform perangkat lunak apa yang Anda gunakan?
TheSteve0

saya mencoba arccmo arcmap. Tapi itu informasi overhleming tentang referensi linear. Kemudian saya pindah ke pgRouting dan QGIS. Masih berjuang.
Naresh

Apakah Anda memiliki akses ke ekstensi Analis Jaringan ArcGIS? Saya pikir itu mungkin untuk membangun dataset jaringan menggunakan sungai Anda, dan kemudian menemukan jarak terpendek seharusnya mudah.
radek

Jawaban:


2

Saya setuju dengan BWill. Masalah utama Anda adalah menentukan asal dari setiap polyline. Apa yang dimaksud dengan 'sungai'? Ι akan membuat asumsi bahwa anak sungai adalah "rute" mandiri mulai dari 0-> panjang anak sungai. Kemudian saya akan melakukan hal yang sama untuk sungai-sungai utama, tetapi dalam kasus ini saya akan membuat polyline gabungan dari semua polyline penyusunnya. Saya pikir begitu Anda memiliki Anda 'hampir' di sana. Lalu: Konversikan semua polyline gabungan Anda menjadi Measine polyline (PolylineM) -termasuk anak-anak sungainya. Anda kemudian memiliki 'jaringan rute' Anda. Sejak saat itu tinggal mencari jarak di sepanjang rute Anda untuk setiap stasiun. Saya kira lokasi stasiun didefinisikan dalam XY? Juga - tebakan lain - mereka tidak jatuh tepat di atas sungai, Apakah mereka? Bagaimanapun Anda akan membutuhkan cara untuk menemukan jarak stasiun dari awal setiap sungai atau triburary. Secara teori, jika sebuah stasiun berada di persimpangan sungai dan anak sungai itu mungkin memiliki 2 lokasi (satu untuk masing-masing).

Untuk menemukan lokasi ini, Anda dapat menggunakan alat ArcMap tetapi belum menggunakannya untuk sementara waktu jadi jangan ingat bagian atas kepala saya. Di sisi lain, jika Anda mengimpor shapefile Anda (?) Ke PostGIS Anda bisa menggunakan ST_Line_Locate_Point . Fungsi ini:

Mengembalikan float antara 0 dan 1 yang mewakili lokasi titik terdekat pada LineString ke Point yang diberikan, sebagai bagian dari total panjang garis 2d.

Yang berarti Anda kemudian dapat menemukan lokasi di sepanjang sungai mengalikan apa yang Anda temukan dengan panjang sungai (digabung). Catatan akhir - Jika Anda menggunakan PostGIS, Anda tidak harus melalui langkah membuat PolyGame-ArcGIS hanya membutuhkan ini untuk referensi linear.

Semoga ini masuk akal!


stasiun saya persis di anak sungai atau sungai. Yang bodoh adalah, tidak ada sungai besar, hanya sebagian kecil dari garis. Saya dapat melihat sungai besar tetapi data itu sendiri tidak memiliki atribut umum untuk membuat sungai penuh. Juga, saya memiliki koordinat dalam derajat, jadi ketika saya membuat rute di arcmap, saya mendapatkan panjang dalam derajat? Saya pikir itu tidak masuk akal. Saya harus mengubah koordinat dari wgs84 ke beberapa proyeksi lain. Dan ya, saya mengimpor shapefile di PostGIS.
Naresh

1

Dari pertanyaan saya yang sifatnya sama,

Cara membuat titik di sepanjang garis yang diberikan jarak

tautan bermanfaat berikut muncul.
grass.osgeo.org/gdp/html_grass63/lrs.html
wiki.faunalia.it/dokuwiki/doku.php/qgis/lrs

Saya tidak menyelesaikan tugas saya karena kurang usaha. Saya percaya kebosanan yang akan Anda alami adalah mencalonkan asal dari setiap polyline.


2
saya membuat beberapa kemajuan. Saya dapat menemukan jalur terpendek menggunakan pGrouting tetapi saya perlu memperbarui "node". Sekarang saya membuat tabel simpul di postgresql dan menggunakannya untuk membuat jaringan yang saya makan ke pgrouting. Tapi saya perlu menambahkan custom node dalam tabel yang tidak ada pada end node. Cara bodoh adalah dengan membagi polylines saya di stasiun sehingga mereka menjadi node secara otomatis. Masih bekerja. Perbarui segera.
Naresh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.