Saya mencoba membuat gambar yang menunjukkan data azimut dengan rentang ketidakpastian yang berbeda di setiap titik. Figur sekolah tua dari makalah tahun 1991 ini menangkap ide "plot bowtie" yang saya tuju:
Ada saran tentang bagaimana saya bisa membuat angka yang sama? Saya seorang pemula di bidang GIS, tetapi saya memiliki akses ke ArcGIS melalui universitas saya. Pengalaman Arc saya terbatas pada membuat peta geologis, jadi saya tidak perlu melakukan sesuatu yang terlalu eksotis.
Saya sudah mencari-cari di opsi simbologi di Arc dan QGIS tetapi belum melihat pengaturan yang saya pikir akan melakukan pekerjaan. Perhatikan bahwa ini bukan hanya masalah memutar simbol berbentuk bowtie oleh azimuth; kisaran sudut setiap "bowtie" harus berbeda.
Saya akan menilai keterampilan Python saya sebagai 'perantara kuat' dan keterampilan R saya sebagai 'perantara menengah', jadi saya tidak segan untuk meretas sesuatu bersama-sama dengan matplotlib
dan mpl_toolkits.basemap
atau perpustakaan serupa jika perlu. Tapi saya pikir saya akan meminta saran di sini sebelum turun jalan kalau-kalau ada solusi yang lebih mudah dari GIS-tanah yang saya belum pernah dengar.
sumber
100->120
bersama dengan kisaran setara 180 derajat di180->200
Jawaban:
Ini membutuhkan semacam "perhitungan lapangan" di mana nilai dihitung (berdasarkan pada lintang, bujur, azimuth pusat, ketidakpastian, dan jarak) adalah bentuk bowtie daripada angka. Karena kemampuan perhitungan lapangan seperti itu dibuat jauh lebih sulit dalam transisi dari ArcView 3.x ke ArcGIS 8.x dan belum pernah sepenuhnya pulih, saat ini kami menggunakan scripting dengan Python, R, atau apa pun sebagai gantinya: tetapi proses pemikiran masih merupakan sama.
Saya akan mengilustrasikannya dengan
R
kode kerja . Pada intinya adalah perhitungan bentuk bowtie, yang oleh karena itu kami merangkum sebagai fungsi. Fungsi ini benar-benar sangat sederhana: untuk menghasilkan dua busur di ujung haluan, perlu melacak urutan secara berkala (dari azimuth). Ini membutuhkan kemampuan untuk menemukan koordinat (lon, lat) dari suatu titik berdasarkan pada permulaan (lon, lat) dan jarak yang dilalui. Itu dilakukan dengan subrutingoto
, di mana semua pengangkatan aritmetika berat terjadi. Sisanya hanya menyiapkan segala sesuatu untuk diterapkangoto
dan kemudian menerapkannya.Ini dimaksudkan untuk diterapkan pada tabel yang catatannya harus sudah Anda miliki dalam beberapa bentuk: masing-masing memberikan lokasi, azimuth, ketidakpastian (sebagai sudut ke setiap sisi), dan (opsional) indikasi seberapa besar untuk membuat dasi kupu-kupu. Mari kita simulasikan tabel seperti itu dengan menempatkan 1.000 dasi di seluruh belahan bumi utara:
Pada titik ini, semuanya hampir sesederhana perhitungan bidang apa pun. Ini dia:
(Tes waktu menunjukkan bahwa
R
dapat menghasilkan sekitar 25.000 simpul per detik. Secara default, ada satu simpul untuk setiap derajat azimuth, yang dapat diatur pengguna melaluieps
argumen kebowtie
.)Anda dapat membuat plot sederhana dari hasil
R
itu sendiri sebagai cek:Untuk membuat keluaran shapefile untuk diimpor ke GIS, gunakan
shapefiles
paket:Sekarang Anda dapat memproyeksikan hasilnya, dll. Contoh ini menggunakan proyeksi stereografi belahan bumi utara dan dasi kupu-kupu diwarnai oleh kuantil ketidakpastian. (Jika Anda melihat dengan sangat hati-hati pada 180 / -180 derajat bujur Anda akan melihat di mana GIS ini telah memotong dasi kupu-kupu yang melintasi garis ini. Itu adalah kesalahan umum dengan GIS; itu tidak mencerminkan bug dalam
R
kode itu sendiri.)sumber