Wir haben normalerweise Daten darüber, wo sich der Boden befindet, also müssen wir diese verwenden. Der Boden bestimmt eine feste Figur in 3D. Sie projizieren diese Figur radial auf die Einheitskugel, die auf den Betrachter zentriert ist. Dadurch wird der Boden auf eine Region in der Kugel abgebildet. Berechnen Sie die Fläche der verbleibenden Region: Dies ist der Raumwinkel, der vom Himmel begrenzt wird (in Steradians ). Teilen Sie es durch die Gesamtfläche der Kugel (gleich 4 pi) und multiplizieren Sie es mit 100, um den Himmelsprozentsatz zu erhalten.
Wenn Sie eine anschaulichere Erklärung bevorzugen, stellen Sie den Betrachter in die Mitte einer kleinen Kugelblase und bitten Sie ihn, über den Himmel zu malen. Teilen Sie die Menge an Farbe, die sie verbraucht, durch die Menge, die zum Malen der gesamten Blase erforderlich ist, und multiplizieren Sie sie mit 100.
In Wirklichkeit gibt es einige nicht so einfache technische Details.
Die Projektion auf die Kugel ist ziemlich einfach, wenn der Boden als trianguliertes Netzwerk (TIN) angegeben wird, da Sie nur Code schreiben müssen, um ein Dreieck auf eine Kugel zu projizieren. Wenn der Boden als Rasterhöhenmodell (DEM) angegeben wird, können Sie sich jede Rasterzelle als 3D-Viereck vorstellen. Sie können das in zwei Dreiecke entlang einer Diagonale aufteilen und jedes Dreieck auf die Kugel abbilden. In beiden Fällen verbleibt eine Sammlung von projizierten Dreiecken auf der Kugel. Durch Projizieren der Kugel auf eine Karte (z. B. mit einer stereografischen Projektion) kann die Aggregation dieser Dreiecke in einen polygonalen Bereich auf ein Standardproblem der Ebenenberechnungsgeometrie reduziert werden (z. B. unter Verwendung eines Ebenen-Sweep-Verfahrens). Der Rest ist einfach (für ein GIS).
Dieses Bild zeigt eine kleine Stadt von simulierten Wolkenkratzern in einer gnomonischen Projektion, die auf einen Betrachter im Stadtzentrum zentriert ist, der gerade nach oben schaut. Das GIS kann die Polygone, die die Seiten und Dächer dieser Gebäude darstellen, "zusammenführen" (die Vereinigung bilden) und dann die Fläche des verbleibenden (weißen) Raums berechnen. Eine gnomonische Projektion wurde gewählt, da die geraden architektonischen Linien eher als Liniensegmente als als Kurven gerendert werden.
Ein GIS kann in Betrieb genommen werden, um diese Berechnung durchzuführen, wenn Sie nur ein Grundstück und Gebäude haben. Die Gebäude sind höchstwahrscheinlich als Rechtecksammlungen erhältlich. Ein Eckpunkt eines Rechtecks hat euklidische Koordinaten (x, y, z) relativ zu einem Betrachter. Konvertieren Sie diese in sphärische Koordinaten: das heißt Breite und Länge. Erstellen Sie ein Polygon für das konvertierte Rechteck. Führen Sie dies für alle Rechtecke für alle Teile aller Gebäude aus, was zu einem "Polygon-Feature-Layer" führt. Dann wird im GIS (1) die satztheoretische Vereinigung der Merkmale berechnet, (2) die resultierende Fläche berechnet, (3) diese von der Hälfte der Erdoberfläche subtrahiert (die andere Hälfte ist für den Boden). und (4) durch die gesamte Fläche der Erde dividieren (mit 100 multiplizieren, um einen Prozentsatz zu erhalten). Der Rechenaufwand ist proportional zu N * log (N), wobei N die Anzahl der Eckpunkte ist. Die Genauigkeit hängt davon ab, wie gut das GIS die Rechtecke darstellt (möglicherweise müssen Sie die Rechteckseiten in Sequenzen mit engeren Scheitelpunkten aufteilen). Abhängig von Ihren Genauigkeitsanforderungen können Sie Monte-Carlo-basierte Ansätze in Betracht ziehen (zB die in einer anderen Antwort empfohlene Strahlverfolgung), wenn Sie mehr als mehrere hunderttausend Scheitelpunkte haben - das heißt, wenn der Betrachter vollständig von Zehntausenden von Gebäuden umgeben ist (und Teile davon sehen kann) :-).
Hier ist eine Antwort, die eher aus der Computergrafik als aus GIS stammt. Daher ist es eine Beschreibung eines Algorithmus und keine Anweisung, für welches Tool bzw. welche Tools verwendet werden sollen.
Definition: Ein Strahl ist ein Ursprung + eine Richtung; Es ist die Linie, die am Ursprung beginnt und sich in dieser Richtung bis ins Unendliche fortsetzt.
Sie benötigen folgende Grundzutaten:
Fähigkeit zu testen, ob ein bestimmter Strahl auf den Boden trifft.
Möglichkeit zu testen, ob ein bestimmter Strahl auf ein Gebäude trifft.
Alle Ihre Daten (die Gebäude, Informationen, die den Boden darstellen) in einem kartesischen 3D-Koordinatenraum.
Die genauen Formeln, die für Strahlentests implementiert werden müssen, hängen davon ab, wie Sie "den Boden" (eine perfekte Kugel? Gelände?) Und "ein Gebäude" (ein extrudiertes Rechteck? Ein vollständiges 3D-Modell?) Darstellen. Für einfache Geometrie sind sie leicht zu finden und leicht zu implementieren. (zB Suche nach "Strahlwürfelschnitt").
In jedem Fall ist die Antwort in% der Sichtbarkeit des Himmels von einem Punkt aus trivial: Feuern Sie viele Strahlen mit zufälligen Richtungen von Ihrem Abfragepunkt ab. Der Anteil des Himmels, der von Ihrem Testpunkt aus sichtbar ist, entspricht der Anzahl der Strahlen, die kein Gebäude oder den Boden getroffen haben.
Die Antwort ist nicht genau, aber Sie können sie mit jeder gewünschten Genauigkeit berechnen, indem Sie einfach weitere Strahlen hinzufügen.
Wie oben beschrieben, ist es nicht unbedingt sehr schnell; Aber es gibt eine Vielzahl gut dokumentierter Optimierungen, die Sie anwenden können.
(Ich würde erwarten, dass zur Berechnung der Sichtbarkeit des Himmels über mehrere Punkte und denselben Gebäudedatensatz dieser Ansatz reprojektionsbasierte Ansätze aus dem Wasser bläst, nachdem ein einfacher räumlicher Index hinzugefügt wurde.)
quelle
Der Sky-View-Faktor (SVF) wird definiert durch den Teil des sichtbaren Himmels (Ω) über einem bestimmten Beobachtungspunkt, gesehen aus einer zweidimensionalen Darstellung (siehe Abbildung a). Der Algorithmus berechnet den vertikalen Höhenwinkel des Horizonts γi in n (hier sind acht dargestellt) Richtungen zu dem angegebenen Radius R (b).
Der Sky-View-Faktor wurde vorgeschlagen, um die Nachteile der vorhandenen Visualisierungstechniken zu überwinden, z. B. Richtungsbeleuchtungsprobleme bei der analytischen Verschattung von Hügeln.
Das bequemste Maß, um den Teil des sichtbaren Himmels auszudrücken, ist der Raumwinkel Ω. Dies ist ein Maß dafür, wie groß ein Objekt für einen Betrachter erscheint. Der Raumwinkel eines Objekts ist proportional zur Fläche A der Projektion des Objekts auf die am Beobachtungspunkt zentrierte Einheitskugel.
SVF-Werte liegen zwischen 0 und 1. Werte nahe 1 bedeuten, dass fast die gesamte Hemisphäre sichtbar ist, was bei exponierten Merkmalen (Ebenen und Spitzen) der Fall ist, während Werte nahe 0 in tiefen Senken und unteren Teilen tiefer Täler von vorhanden sind wo fast kein Himmel sichtbar ist. SVF ist eine physikalische Größe (wenn wir die Höhendaten nicht durch vertikale Übertreibung manipulieren).
Wie @mic_cord ausführte, wurde in Remote Sens. 2011, 3 (2), 398-415 ein Artikel zur Datenvisualisierung mit SVF veröffentlicht. doi: 10.3390 / rs3020398.
Ein kostenloses Tool zur Berechnung von SVF (und mehr) ist unter http://iaps.zrc-sazu.si/en/rvt#v verfügbar
quelle
Mit Ecotect (jetzt ein AutoDesk-Tool ) können Sie dies tun. Im Allgemeinen wird dies häufig im Bereich Tageslicht untersucht, und ein Tool aus diesem Bereich ist möglicherweise einfacher zu verwenden als GIS. (Obwohl ich von einem GIS-Plugin gehört habe, das dies kann und die Sonneneinstrahlung berechnet, habe ich es nie geschafft, es zu finden).
quelle
In GRASS GIS Version 7 ( derzeit nicht stabil) gibt es den Befehl r.skyview (basierend auf dem Befehl r.horizon , der auch in der stabilen GRASS-Version 6 verfügbar ist).
Es liest ein Rasterbild, das ein Geländemodell darstellt, wobei der Pixelwert den Geländemerkmalhöhen (z. B. Gebäudehöhen) entspricht, und berechnet für jedes Pixel den "Skyview-Faktor".
Sie müssen zuerst Ihre Daten (unbekanntes Format) in ein Raster-Dataset konvertieren.
Sehen:
http://grass.osgeo.org/grass70/manuals/addons/r.skyview.html
http://www.mdpi.com/2072-4292/3/2/398
quelle