Esri telah memberikan instruksi tentang cara membuat peta aliran radial tapi saya pikir garis melengkung hanya akan diproduksi dalam jarak yang jauh, seperti setengah bola dunia.
Untuk jarak pendek (20 km), garis geodetik mungkin akan tetap terlihat cukup lurus. Untuk terus menggunakan proses ini untuk peta aliran radial jarak pendek, maka, saya pikir kita bisa mengedit pengaturan datum sehingga bumi lebih kecil, maka Anda akan mendapatkan garis lengkung yang bagus untuk jarak yang kecil. Adakah yang tahu bagaimana melakukan ini?
Atau, apakah ada alat lain di ArcGIS Desktop 10.0 yang digunakan untuk membuat garis melengkung? Saya memiliki 90 poin yang harus saya hubungkan hingga 54 poin, akan lebih baik untuk mengotomatiskannya daripada harus menggambar garis secara manual.
Jawaban:
Berikut ini adalah ilustrasi dari alur kerja yang saya sebutkan di komentar di atas, dan meskipun saya tidak tahu ada rutinitas pra-kaleng sederhana untuk melakukan ini, saya telah melampirkan spreadsheet excel bahwa orang dapat mengimpor satu set koordinat tujuan-asal dan lembar kemudian membuat satu set atau koordinat garis melingkar (spreadsheet di sini ). Ini memiliki formula yang diatur sehingga cukup mudah untuk mengimpor koordinat OD baru dan memperluas formula untuk mengisi hasil, tetapi saya akan pergi melalui logika proses secara lebih eksplisit, dan yang lain dapat memberikan saran bagaimana menulis skrip sepenuhnya dalam ArcMap (atau apa pun).
Secara singkat, saya pikir ini masuk akal untuk memvisualisasikan data OD terutama karena alasan yang sama garis lingkaran besar yang populer, mereka memberikan perbedaan visual yang lebih antara garis. Pendekatan yang saya sarankan juga memiliki satu keunggulan dibandingkan garis lingkaran besar, yaitu bahwa arah aliran dikodekan dalam setengah lingkaran. Dalam jawaban lain di situs ini saya memberikan pandangan yang lebih umum tentang teknik visualisasi untuk pemetaan aliran, dan banyak dari teknik yang sama dapat diterapkan selain membuat busur seperti ini.
Jadi, untuk merinci bagaimana seseorang menggambar garis seperti saya saran, pada dasarnya saya hanya memiliki 3 langkah untuk proses, 1) menemukan orientasi aliran, 2) menemukan titik tengah dan jarak aliran, 3) memperlakukan titik tengah sebagai pusat lingkaran, dan kemudian gambar busur (setengah lingkaran dari asal ke tujuan). Agar lebih jelas, saya mulai dengan sepasang koordinat asal yang diproyeksikan
(x1,y1)
dan koordinat tujuan(x2,y2)
.Jadi 1) temukan orientasi aliran. Yang pertama menggunakan rumus
ATAN((y2 - y1)/(x2 - x1))
dan kemudian tergantung pada arah memberikan orientasi tergantung pada apakah arah itu ke timur atau ke barat. Contoh pseudocode di bawah ini (saya menetapkan poin OD yang keduanya pada koordinat yang sama dengan orientasi nol). Di sini varaibleor_rad
dimaksudkan sebagai singkatan untuk "orientasi dalam radian" danpi
mengacu pada nilai pi.2) Temukan titik tengah dan jarak aliran. Ini sangat sederhana, untuk hanya satu set pasangan berpasangan, titik tengah dalam (x, y) akan berupa koordinat
(x1+x2/2,y1+y2/2)
. Jadi mari kita tentukanmid_x = (x1 + x2)/2
danmid_y = (y1 + y2)/2
untuk bagian selanjutnya. Jarak menggunakan teorema pythagoreum sederhanadistance = SQRT((x1 - x2)^2 + (y1 - y2)^2)
.3) Kemudian diberi informasi itu, gambar lingkaran yang diberikan atas jumlah derajat dan jari-jari yang telah ditentukan sebelumnya (yang merupakan setengah jarak antara dua titik). Sebagai contoh, katakanlah kita mulai dengan satu set pasangan koordinat OD di
(1,3):(3,2)
. Orientasi dalam derajat akan ~ 116 (dan dalam radian ~ 2), titik tengah x, y akan berada(2,2.5)
dan jarak antara dua titik adalah sekitar 2.2.Jadi katakanlah kita ingin menggambar setengah lingkaran sekitar 180 derajat. Dalam pseduo-code (menggunakan variabel yang sudah saya tentukan) iterasi akan terlihat seperti;
Dimasukkan di bawah ini adalah diagram dari koordinat asli yang saya tentukan di atas. Mulai dari nol dan berakhir di 180 memastikan keberadaan dan titik akhir berada di lokasi yang sama. Menyesuaikan loop untuk memiliki lebih banyak langkah (busur lebih rinci) atau lebih sedikit (busur kurang rinci) harus cukup jelas.
Untuk diketahui, utas lain di situs membahas pembuatan garis dari data titik (lihat tag kreasi polyline ). Saya punya contoh di spreadsheet xls terlampir, dan saya menggunakan alat arcmap ET Geo-wizards untuk mengkonversi koordinat spreadsheet ke garis shapefile. Busur dalam contoh data dalam spreadsheet terlampir kemudian terlihat seperti ini;
Satu pembaruan sederhana namun berpotensi bermanfaat untuk pengaturan saat ini adalah memperbarui rumus untuk memungkinkan jumlah eksentrisitas dalam busur yang ditentukan sebelumnya, meskipun saya belum yakin bagaimana melakukannya dalam beberapa upaya saya sejauh ini. Saya menantikan saran dan umpan balik dari komunitas di sini atas saran saya.
sumber