Wie würden Sie Gebäudeschatten aus Gebäudefußabdrücken erzeugen?
Ich habe Attributwerte für die Gebäudehöhen.
Möchte also am liebsten, dass die Schattengrößen darauf basierend variieren.
Der beste Vorschlag für die Verwendung von ArcGIS sind Schlagschatten: http://blogs.esri.com/Support/blogs/mappingcenter/archive/2008/10/21/3d-effect-for-a-building-footprints.aspx
arcgis-desktop
arcmap
polygon-creation
shadow
Achtzigundzwanzig
quelle
quelle
Antworten:
Eine schnelle und schmutzige Methode besteht darin, nur die Schatten der Gebäudedächer zu zeichnen, sie in Dunkelgrau zu rendern (vorzugsweise halbtransparent, wenn darunter liegende Grundschichten vorhanden sind) und die Gebäudepolygone darüber zu zeichnen. Die Dachschatten werden erhalten, indem die Gebäudepolygone um die durch die Gebäudehöhen bestimmten Abstände in die Richtung verschoben werden, die durch den Azimut und die Höhe der Lichtquelle (die als unendlich weit entfernt angesehen wird) festgelegt wird. (Eine Formel für den Übersetzungsbetrag wird unten angezeigt.)
Dies funktioniert in der Regel einwandfrei, außer bei niedrigen Höhen oder hohen Gebäuden (z. B. Wolkenkratzern): Sehen Sie, wie die Schatten der höheren, isolierten Gebäude auf der rechten Seite von den Gebäuden selbst getrennt sind.
Um die Schatten ordnungsgemäß mit den Gebäuden zu verbinden, müssen Sie die Schatten der Gebäudewände einbeziehen. Das ist nicht schwer zu tun. Der Schatten der Wand, der sich zwischen einem Punkt bei P und einem anderen Punkt bei Q erstreckt, ist das durch {P, Q, Q ', P'} umrissene Viereck, wobei Q 'der Schatten von Q und P' der Schatten von ist P. Ein polygonales Gebäude ist eine Ansammlung zusammenhängender Polygone, die durch geschlossene Folgen von Punkten (P (1), P (2), ..., P (n)) dargestellt werden. Bilden Sie für jedes dieser Polygone die Vereinigung der Schatten der Kanten (P (1), P (2)), (P (2), P (3)), ..., (P (n), P ( 1)). Dies ist mit einer Schlaufe über den Kanten einfach zu bewerkstelligen.
Für ein Licht mit einem Azimut von einem Grad (östlich von Norden) und eine Höhe von s Graden (vom Horizont), der Schatten eines Punkt P mit projizierten Koordinaten (x, y) und Höhe h (alle in den gleichen Einheiten ausgedrückt , wie Meter) liegt bei P '= (x - h sin (a) / tan (s), y - h cos (a) / tan (s)). Sie müssen sin (a) / tan (s) und cos (a) / tan (s) nur einmal für die gesamte Ebene berechnen, und für jedes Polygon müssen Sie diese Faktoren nur einmal mit der Höhe multiplizieren, um die Offsets für zu erhalten jeder Punktschatten im Polygon. (Der tatsächliche Rechenaufwand wird vom GIS getragen, nicht von Ihrem Code, da er die Gewerkschaften aller dieser Vierecke bildet.)
Hier ist ein Beispiel für den Effekt. (Der Azimut und die Höhe haben sich im Vergleich zur ersten Figur geringfügig geändert, aber die Baupolygone und -höhen - die variieren - sind dieselben wie zuvor.)
Blinddarm
Als Antwort auf eine Anfrage sehen Sie hier den Code, der zum Erstellen des zweiten Beispiels verwendet wurde. Obwohl fast niemand mehr diese Sprache (Avenue) verwendet, könnte sie als Pseudocode für die Erstellung einer Lösung in Ihrem Lieblings-GIS dienen. (Im Gegensatz zu den meisten anderen Pseudocodes wurde es jedoch getestet, indem es tatsächlich ausgeführt wurde. :-) Es ist so einfach, dass keine Erklärung erforderlich ist. Beachten Sie jedoch, dass die Indizierung mit 0 und nicht mit 1 beginnt und dass Polygonringe explizit geschlossen werden (der letzte Punkt in der Liste stimmt mit dem ersten Punkt überein).
quelle
Ich glaube nicht, dass das, worüber Sie sprechen (auf der Suche nach), eine Fähigkeit in arcmap (Version?) Sein wird.
Siehe diese Frage für die Einschränkung, die Sie wahrscheinlich nicht wollen.
Mit der Erweiterung "3d Analyst" und " Arcscene" können Sie Licht hinzufügen, aber es gibt immer noch einige Einschränkungen.
Es gibt eine gewisse Esri-Bewegung in Sachen Stadtmotor .
Scrollen Sie nach unten zum Bereich für die Schattengenauigkeit.
Ich war zuvor mit Lightscape in Verbindung gebracht worden (das in den Ruhestand getreten ist und ich bin mir sicher, dass ich innerhalb von 3dsmax weitermache).
Jetzt würde der Weg wahrscheinlich durch die Produktlinie Engineering Visualization führen ...
3ds Max
quelle
Die 3D Analyst-Erweiterung verfügt über einige Tools ( Skyline und Skyline Barrier ) zum Erstellen von Silhouetten und Schattenvolumen. Sie wird jedoch wie in einer Skyline auf eine vertikale Ebene projiziert, sodass ich nicht sicher bin, wie oder ob sie leicht angepasst werden kann in diesem Fall (gegen eine horizontale Ebene, den Boden).
quelle