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!