Kami biasanya memiliki data mengenai di mana tanah itu berada, jadi kami harus menggunakannya. Tanah menentukan angka solid dalam 3D. Anda memproyeksikan angka ini secara radial ke bola unit yang berpusat di penonton: ini memetakan tanah ke wilayah di bola. Hitung area wilayah yang tersisa : itulah sudut solid yang digantikan oleh langit (dalam steradians ). Membaginya dengan luas total bola (sama dengan 4 pi) dan kalikan dengan 100 untuk mendapatkan persentase langit.
Jika Anda lebih suka penjelasan yang lebih jelas, letakkan pemirsa di tengah-tengah gelembung kecil bola dan minta dia melukis di atas langit. Bagilah jumlah cat yang dia gunakan dengan jumlah yang dibutuhkan untuk mengecat seluruh gelembung dan kalikan dengan 100.
Pada kenyataannya ada beberapa detail teknis yang tidak terlalu sederhana.
Proyeksi ke bola cukup mudah ketika tanah diberikan sebagai jaringan triangulasi (TIN), karena Anda hanya perlu menulis kode untuk memproyeksikan segitiga ke bola. Saat ground diberikan sebagai model elevasi grid (DEM), Anda dapat membayangkan setiap sel grid sebagai segi empat 3D. Anda bisa memecahnya menjadi dua segitiga di sepanjang diagonal dan memetakan setiap segitiga ke bola. Dalam kedua kasus, Anda memiliki koleksi segitiga yang diproyeksikan di bola. Dengan memproyeksikan bola ke peta (misalnya, dengan proyeksi stereografik), agregasi segitiga-segitiga ini menjadi wilayah poligon dapat direduksi menjadi masalah standar geometri komputasi bidang (misalnya, menggunakan metode sapuan bidang). Sisanya mudah (untuk GIS).
Gambar ini menunjukkan kota kecil pencakar langit yang disimulasikan dalam proyeksi gnomonik yang berpusat di pusat kota penampil yang menatap lurus ke atas. SIG dapat "menggabungkan" (membentuk penyatuan) poligon yang mewakili sisi dan atap bangunan ini dan kemudian menghitung luas ruang (putih) yang tersisa. Proyeksi gnomonik dipilih karena garis arsitektur lurus diberikan sebagai segmen garis daripada kurva.
SIG dapat ditempatkan dalam layanan untuk melakukan perhitungan ini ketika Anda hanya memiliki tanah dan bangunan. Bangunan-bangunan tersebut kemungkinan besar tersedia sebagai koleksi persegi panjang. Sebuah simpul dari sebuah persegi panjang memiliki koordinat Euclidean (x, y, z) relatif terhadap pemirsa. Konversikan mereka menjadi koordinat bola: yaitu, lintang dan bujur. Buat poligon untuk persegi panjang yang dikonversi. Lakukan ini untuk semua persegi panjang untuk semua bagian dari semua bangunan, menghasilkan "lapisan fitur poligon". Kemudian, dalam SIG, (1) menghitung penyatuan set-teoritik dari fitur-fitur, (2) menghitung luas yang dihasilkan, (3) kurangi ini dari setengah luas permukaan bumi (setengah lainnya untuk tanah), dan (4) bagi dengan seluruh area bumi (dikalikan dengan 100 untuk mendapatkan persentase). Upaya komputasi sebanding dengan N * log (N) di mana N adalah jumlah simpul. Akurasi tergantung pada seberapa baik SIG mewakili persegi panjang (Anda mungkin perlu memecah sisi persegi panjang ke dalam urutan simpul yang berjarak lebih dekat). Tergantung pada persyaratan akurasi Anda, Anda dapat mempertimbangkan pendekatan berbasis Monte-Carlo (misal, penelusuran ray menganjurkan dalam balasan lain) setelah Anda memiliki lebih dari beberapa ratus ribu simpul - yaitu, begitu pemirsa benar-benar dikelilingi oleh (dan dapat melihat bagian-bagian dari) puluhan ribu bangunan :-).
Inilah jawaban yang berasal dari dunia grafis komputer dan bukan SIG - karenanya, ini adalah deskripsi algoritma dan bukan instruksi untuk alat mana yang digunakan.
Definisi: sinar adalah asal + arah; itu adalah garis yang dimulai pada titik asal dan berlanjut hingga tak terbatas di sepanjang arah itu.
Anda membutuhkan bahan-bahan dasar berikut:
Kemampuan untuk menguji untuk melihat apakah sinar yang diberikan menyentuh tanah.
Kemampuan untuk menguji untuk melihat apakah sinar yang diberikan mengenai bangunan.
Semua data Anda (bangunan, informasi yang mewakili tanah) dalam ruang koordinat kartesius 3D.
Rumus yang tepat untuk menerapkan tes ray tergantung pada bagaimana Anda mewakili "tanah" (bola sempurna? Medan?) Dan "bangunan" (persegi panjang yang diekstrusi? Model 3D lengkap?). Untuk geometri sederhana, mereka mudah ditemukan dan mudah diterapkan. (mis. cari "ray cube intersection").
Dalam kasus apa pun, dari sana jawaban untuk% visibilitas langit dari suatu titik sepele: Tembakan banyak sinar dengan arah acak dari titik kueri Anda. Proporsi langit yang terlihat dari titik uji Anda sama dengan jumlah sinar yang tidak mengenai bangunan atau tanah.
Jawabannya tidak tepat, tetapi Anda dapat menghitungnya ke tingkat presisi yang diinginkan hanya dengan menambahkan lebih banyak sinar.
Seperti dijelaskan di atas, itu tidak selalu sangat cepat; tetapi ada sejumlah besar optimisasi yang terdokumentasi dengan baik yang dapat Anda terapkan.
(Saya berharap bahwa, untuk menghitung visibilitas langit di sejumlah titik dan set data bangunan yang sama, pendekatan ini akan membuat pendekatan berbasis proyeksi ulang keluar dari air setelah penambahan indeks spasial sederhana.)
sumber
Sky-view factor (SVF) didefinisikan oleh bagian langit yang terlihat (Ω) di atas titik pengamatan tertentu seperti yang terlihat dari representasi dua dimensi (lihat gambar a). Algoritma menghitung sudut elevasi vertikal horizon γi dalam n (delapan disajikan di sini) arah ke jari-jari yang ditentukan R (b).
Sky-view factor telah diusulkan untuk mengatasi kelemahan dari teknik visualisasi yang ada, misalnya, masalah penerangan terarah dalam bayangan bukit analitis.
Ukuran paling nyaman untuk mengekspresikan bagian dari langit yang terlihat adalah sudut padat Ω. Ini adalah ukuran seberapa besar suatu benda tampak bagi pengamat. Sudut yang solid dari suatu objek sebanding dengan area A dari proyeksi objek ke bola kesatuan yang berpusat di titik pengamatan.
SVF berkisar antara 0 dan 1. Nilai yang mendekati 1 berarti bahwa hampir seluruh belahan bumi terlihat, yang merupakan kasus dalam fitur yang terbuka (bidang dan puncak), sedangkan nilai yang mendekati 0 hadir dalam sink yang dalam dan bagian bawah lembah yang dalam dari di mana hampir tidak ada langit yang terlihat. SVF adalah kuantitas fisik (jika kita tidak memanipulasi data ketinggian dengan pembesaran vertikal).
Seperti yang ditunjukkan @mic_cord ada makalah yang diterbitkan tentang visualisasi data dengan SVF di Remote Sens. 2011, 3 (2), 398-415; doi: 10.3390 / rs3020398.
Alat gratis untuk menghitung SVF (dan banyak lagi) tersedia di http://iaps.zrc-sazu.si/en/rvt#v
sumber
Ecotect (sekarang alat AutoDesk ) memungkinkan Anda untuk melakukan ini. Secara umum, ini sering diperiksa di area penerangan alami dan alat dari bidang ini mungkin lebih mudah digunakan, daripada GIS. (Meskipun saya pernah mendengar tentang plugin GIS yang dapat melakukan ini dan menghitung paparan matahari, tapi saya tidak pernah berhasil menemukannya).
sumber
Dalam GRASS GIS versi 7 (sebenarnya tidak stabil) ada perintah r.skyview (berdasarkan perintah r.horizon , tersedia juga di GRASS v.6 yang stabil).
Bunyinya gambar raster yang mewakili model terrain, dengan nilai piksel yang sesuai dengan ketinggian fitur terrain (mis. Ketinggian bangunan) dan menghitung, untuk setiap piksel, "faktor skyview".
Pertama-tama Anda perlu mengubah data Anda (format tidak dikenal) ke dataset raster.
Lihat:
http://grass.osgeo.org/grass70/manuals/addons/r.skyview.html
http://www.mdpi.com/2072-4292/3/2/398
sumber