Hier ist ein hübsches Bild des Rasters, das ich verwende - ohne angewendete Effekte - nur die Farbrampe und das Histogramm, die angepasst wurden, um das gesamte Relief hervorzuheben - wenn auch auf sehr 2D-Weise!
Ich habe eine Rasterebene, die ich standardmäßig mit Schatten anzeigen möchte. Ich kann dies im Code tun und im Grunde ist es dasselbe wie das Auswählen der Hillshade-Option in ArcMap (siehe unten):
Wenn Sie dies jedoch tun, sieht es enttäuschend aus:
Besonders wenn Sie in das Raster hineinzoomen, sehen Sie alle Arten von gerasterten Artefakten - was überhaupt nicht gut aussieht!
Wenn ich jedoch mithilfe des Rasters mit Spatial Analyst eine richtige Hillshade-Ebene erstelle und diese mit einer Transparenz von 85% überlagere, sieht sie ziemlich gut und sehr unterschiedlich aus !:
- Wie kann ich diesen Effekt in ArcMap erzielen und die Standardfunktionalität der Hillshade-Option überschreiben (ich nehme an, dass dies nicht möglich ist, oder habe ich eine Einstellung verpasst, die dazu geführt hat, dass das Raster schlecht angezeigt wird)? Wenn die richtigen Einstellungen überschrieben oder ausgewählt werden können, ist dies in ArcObjects möglich.
- Wenn Option 1 nicht möglich ist, kann ich meinen Effekt mit der Erstellung eines Hillshade-Layers (ohne Verwendung von Spatial Analyst) erstellen und ihn effektiv mit dem ursprünglichen Raster verschmelzen. Das heißt, Benutzer sollen im Inhaltsverzeichnis von ArcMap keine zwei Layer sehen . Ich möchte nur eine Ebene, aber mit einem Standard-Hillshade-Rendering meiner Wahl / Konfiguration. Ich muss dies auch programmgesteuert tun, dh ArcObjects.
Eine Sache, die ich gelernt habe, ist, dass Sie Ihr DEM in der richtigen Raumbezugs- und Maßeinheit haben müssen, oder dass der resultierende Schatten zu schwarz und übertrieben aussieht. Schauen Sie sich dieses Video an, um mehr zu erfahren. Es ist eine sehr gute Erklärung.
Ich glaube, ich weiß jetzt, was ich tun muss, um qualitativ hochwertiges Hillshading zu erzeugen, aber ich denke, es wird einige geringfügige Optimierungen von ArcObjects-Code erfordern. Ich denke, ich muss mir ein eigenes Grafik-Rendering einfallen lassen und dieses in ArcMap einbinden (ich habe eine DLL, die Bitmaps von Gittern auf coole Weise rendert). Ich denke, ein guter Ort, um dies zu zeigen, wäre, das Draw () -Ereignis auf etwas wie dem IRasterRenderer zu überschreiben und mein eigenes Bild-Rendering einzufügen. Natürlich kann es bei Reprojektionen usw. etwas kompliziert werden.
Hat jemand in ArcMap irgendeine Art von Grafik-Rendering auf niedriger Ebene durchgeführt? Wenn ja, können Sie Anleitungen oder Dinge anbieten, die mir bekannt sein sollten?
quelle
Antworten:
Verwenden Sie während der Anzeige das Resampling der bilinearen Interpolation
Sie können die Anzeige etwas verbessern, indem Sie die verwendete Resampling-Methode von "Nächster Nachbar" auf "Bilineare Interpolation" ändern. Layereigenschaften -> Registerkarte Anzeige -> Während der Anzeige neu abtasten mit: Bilineare Interpolation.
Dieser Effekt funktioniert am besten mit DEM und der standardmäßigen Schwarzweiß-Farbrampe.
Sie erhalten ein viel besseres Ergebnis und viel mehr Kontrolle über die Anzeige, wenn Sie 2 Raster verwenden, wie Sie es bereits getan haben. Stellen Sie sicher, dass Sie während der Anzeige auch die Resampling-Methode Bilinear Interpolation verwenden.
DEM hinzufügen:
Aktiviere "Hillshade-Effekt verwenden" für:
Rendert wie folgt auf dem Bildschirm:
Ändern Sie das Resampling während der Anzeige auf Bilineare Interpolation:
Rendert wie folgt auf dem Bildschirm:
quelle
Die beschriebene Methode von Arcmap on the fly hillshade ist schnell und schmutzig und sollte niemals das Hillshade-Ergebnis von Spatial Analyst und / oder 3D Analyst ersetzen. Obwohl der gleiche Begriff verwendet wird, um beide zu beschreiben, sind sie überhaupt nicht gleich.
Um einen echten Schatten ohne Spatial Analyst zu schaffen, können Sie GDALs gdaldem ausprobieren :
Das TileMill Terrain Data Tutorial bietet einen schönen Überblick darüber, wie mit gdaldem ein zusammengesetzter Schatten mit hypsometrischer Tönung erstellt wird.
Wenn das Dienstprogramm nicht direkt genug für Ihre Anwendung ist, finden Sie hier den C ++ - Quellcode für gdaldem .
quelle
Wenn Sie nach einem gut aussehenden Hillshade suchen, dessen Erstellung einige Zeit in Anspruch nimmt, bei größeren Projekten jedoch eine hohe Belichtung erzielt , können Sie die Swiss Hillshade-Methode ausprobieren. Sie erfordert drei Ebenen, die Sie dann exportieren können zu einem georeferenzierten tiff, um platz und portabilität zu sparen. Diese Methode erfordert meiner Meinung nach Spatial Analyst, ist also keine direkte Antwort auf die Frage von OP, kann aber für andere hilfreich sein, die sich mit Hillshade-Methoden in ArcGIS befassen. Die Methode funktioniert auch in anderen GIS-Systemen, die verknüpfte Toolbox ist jedoch für ArcGIS.
Edit 11/2014: Esri hat kürzlich ein neues Tool zum Erstellen von Hillshades veröffentlicht. Es sieht wirklich schick aus und sollte mit den Arbeitsabläufen der Fragestellerin verschmelzen. Sie stellen es hier vor und Sie können den Code und die Installationsanweisungen hier herunterladen
quelle
Wenn Sie unter Punkt 2 "Kann ich meinen Effekt mit einer Hillshade-Ebene erstellen (ohne Spatial Analyst zu verwenden)" sagen, meinen Sie damit alternative Anwendungen zum Erstellen einer Hillshade?
Wenn Sie eine Anwendung außerhalb von Spatial Analyst verwenden möchten, ich habe gerade vor kurzem gelernt , über (aber nie benutzt haben) , um die „ SEXTANTE für ArcGIS - Erweiterung “ ( kostenlos ), die Benutzer SEXTANTE Werkzeuge in ArcMap konsumieren können. Wenn Sie diesen Videoclip ansehen , können Sie sehen, dass sie Möglichkeiten zum Erstellen eines Hügelschattens demonstrieren.
quelle
Ich wurde immer angewiesen, die Z-Übertreibung beim Schattieren zu erhöhen.
Ich habe gerade versucht 100 auf meinem und es scheint ein bisschen extrem.
Auch das Ändern des Streckentyps macht einen großen Unterschied im Aussehen des Hillshades.
Da Sie darüber sprechen, wie es aussieht, können Sie sich auch dieses Hilfethema ansehen. esir help Womit gemeint ist
, dass Hillshading bei der Auflösung der Anzeigepixel angewendet wird.
Und um den Beleuchtungswinkel
Esri zu ändern, helfen Sie
auch, die Richtung und den Kontrast zu ändern
quelle