özet
Güneşin konumu göz önüne alındığında, lat-lon koordinatlarında yüzey ışık yoğunluğunun (atmosferik ve topografik etkileri göz ardı edilerek) kolayca bir ızgarası oluşturabilirsiniz. Bu ızgarayı istediğiniz gibi yeniden projeksiyon yapın ve haritanın üzerine yerleştirin.
ayrıntılar
Formüller, küresel koordinatlar için standarttır: küresel bir koordinata (lon, lat) karşılık gelen birim vektör
(cos(lon)cos(lat), sin(lon)cos(lat), sin(lat)).
Yoğunluk, ünitenin dışa doğru normal ("yukarı") yönü ile güneşin yönü arasındaki kosinüse bağlıdır. Bu kosinüs, bu iki birim vektörün sadece nokta ürünüdür. Yani, (x, y, z) güneşe doğru (jeosantrik koordinatlarda) işaret eden birim vektör olsun, her ızgara hücresinin merkez noktasının jeodezik (lat, lon) birim vektörüne (xi, eta, zeta) dönüştürelim ve hesapla
(x,y,z) . (xi, eta, zeta) = x*xi + y*eta + z*zeta.
0'dan küçük sonuçlar görünmez bir güneşe karşılık gelir, bu yüzden bunları sıfıra ayarlayın.
Uygulama notları
Bu hesaplamalar, harita cebiriyle, (lat, lon) değerlerden oluşan bir ızgarayla (işte böyle yaptım) başlayarak veya biri enlem için diğeri boylam için (bu şekilde örneğin ESRI yazılımı ile).
(Bir enlem veya boylam ızgarası oluşturmak için, coğrafi koordinatlarda sırasıyla y koordinatı veya x koordinat ızgarasını oluşturun, sonra yansıtın.) Bu ilk bilgilerden, üç ızgara [xi], [eta ] ve [zeta] (veya ızgara hücrelerindeki yukarı yönleri temsil etmek için tek bir vektör değerli ızgara [xi, eta, zeta]). Belirli bir güneş pozisyonu için hesaplama, yukarıda verilen [xi], e ve [zeta] 'nın basit doğrusal kombinasyonu haline gelir; güneş x, y ve z katsayılarını belirler (elbette sadece sayılardır).
Misal
İşte böyle bir yoğunluk ızgarasının (216 x 432 hücre) Plate Carree projeksiyonunda bir dünya haritası.
Asal meridyen merkezde ve kuzey her zamanki gibi zirvede. Bu hesaplama için, güneş vektörünü (0.6, -0.8, 0.5) ile orantılı olarak ayarladım, Atlantik Okyanusu'nun ortasında bir yaz gününü yaklaşık olarak. (Geçmişe bakıldığında, 0,4'lük bir z değeri daha gerçekçi olurdu; güneş asla bu kadar kuzeyde olmaz.)
Aster renklendirilmiş bir haritadaki alfa yer paylaşımı (daha parlak alanları da biraz daha saydam hale getirir) bu görüntüyü üretir.
Zaman değiştikçe, güneşin vektörü (x, y, z) yeniden hesaplanır ve yoğunluk ızgarasının yeniden hesaplanmasını gerektirir. Bu hızlı bir hesaplamadır. Yüksek çözünürlüğe de ihtiyacınız yok: Bu örnek için orijinal ızgaranın onda birini kullandım (2160 x 4320 hücre). Kaba yoğunluk ızgarasını görüntülemek için kullanılan enterpolasyon, boşlukları doldurmak için iyi çalışır. Bu, pürüzsüz bir animasyon oluşturarak, ekranı neredeyse anında değiştirmenize olanak tanır.