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 :-).