Verwenden der Hillshade-Option in ArcMap?

15

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!

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

Wenn Sie dies jedoch tun, sieht es enttäuschend aus:

Bildbeschreibung hier eingeben

Besonders wenn Sie in das Raster hineinzoomen, sehen Sie alle Arten von gerasterten Artefakten - was überhaupt nicht gut aussieht!

Bildbeschreibung hier eingeben

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 !:

Bildbeschreibung hier eingeben

  1. 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.
  2. 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?

Vidar
quelle
1
Ich habe das noch nie gemacht, aber ich glaube, Sie können IRasterRenderer verwenden, um das Rendern eines bestimmten Rasters anzupassen. Wenn Sie über die beiden Datensätze (Hügel + Normal) verfügen, können Sie jeden Pixel mit einem IRasterCursor mischen und zusammenzeichnen.
George Silva
5
Für das, was es wert ist, habe ich gestern in ArcMap das Gleiche ausprobiert und es sieht auch schrecklich aus.
Chad Cooper
@ George, ich denke, ein RasterCursor ändert den CELL-Wert - während ich denke, dass ich den Farbwert ändern möchte - dh effektiv seine Farbintensität basierend auf einem Hillshade-Wert - wissen Sie, wie man bestimmte RGB-Werte pixelweise ändert?
Vidar
1
Es sieht so aus, als würde der "Hillshading-Effekt" berechnet, indem zuerst die Höhenwerte gerundet werden, wodurch Ihr DEM effektiv in viele winzige abrupte Terrassen verwandelt wird. Wenn dies korrekt ist, ist es unwahrscheinlich, dass Sie eine Lösung finden: Senden Sie einen Fehlerbericht. Sie können das Zweischichtenproblem umgehen, indem Sie das Raster und die Schattierungsebene gruppieren. Übrigens glaube ich, dass diese Option in Version 10 neu ist; Es ist hilfreich, die Tags zu aktualisieren, indem angegeben wird, welche Version von ArcMap Sie verwenden.
Whuber
@Vidar Die Dokumentation gibt an, dass Raster-Cursor für den "optimierten Rasterzugriff" vorhanden sind. Sie müssen auch lesen können.
George Silva

Antworten:

20

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:

Bildbeschreibung hier eingeben

Aktiviere "Hillshade-Effekt verwenden" für: Bildbeschreibung hier eingeben

Rendert wie folgt auf dem Bildschirm: Bildbeschreibung hier eingeben

Ändern Sie das Resampling während der Anzeige auf Bilineare Interpolation: Bildbeschreibung hier eingeben

Rendert wie folgt auf dem Bildschirm: Bildbeschreibung hier eingeben

Jakub Sisak GeoGraphics
quelle
Sie haben Recht damit, was Sie sagen - dies beseitigt zwar die Gitterartefakte -, aber die Schattierung sieht immer noch schrecklich aus. In gewisser Weise waren die Artefakte ein sekundäres Problem - denn es ist der Hügel, den ich wirklich festnageln möchte. Aber danke für die Mühe in deiner Antwort!
Vidar
10

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 :

gdaldem hillshade dem.tif shade.tif

Das TileMill Terrain Data Tutorial bietet einen schönen Überblick darüber, wie mit gdaldem ein zusammengesetzter Schatten mit hypsometrischer Tönung erstellt wird.
Detail des Hügelschattens und des hypsometrischen zusammengesetzten Reliefs

Wenn das Dienstprogramm nicht direkt genug für Ihre Anwendung ist, finden Sie hier den C ++ - Quellcode für gdaldem .

Matt Wilkie
quelle
1
Gutes Zeug! Besonders gefällt mir die Idee, die Ergebnisse zu kombinieren und sowohl den Hillshade als auch die Piste zu nutzen. Hätte nie daran gedacht, diese miteinander zu kombinieren. Muss es versuchen.
Jakub Sisak GeoGraphics
gdaldem ist definitiv der richtige Weg, um einige GIS-Operationen über ArcGIS durchzuführen. Hillshading ist definitiv eine solche Operation.
GIStack
1
@jakub, wenn Sie die Idee von Hillshade in Kombination mit Hangneigung und Hypsometrie mögen, werfen Sie einen Blick auf Tom Pattersons Arbeiten zu überkreuzten hypsometrischen Farbtönen und zur Erstellung von Karten in natürlichen Farben mit Satelliten-Landbedeckungsdaten . Die besprochenen Techniken zielen darauf ab, die Begrenzung der oft unangemessenen Assoziation von Grüns mit niedrigem Höhenunterschied und Vegetation sowie von Braun / Rot mit hohen Höhenunterschieden und Wüsten oder Ödland durch hypsometrische Standardtönung zu überwinden. Es lohnt sich zu lesen und zu studieren.
Matt Wilkie
7

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

Nicksan
quelle
Ich habe dies vor kurzem ein paar Mal verwendet. Sehr schön. Zu meiner Trickkiste hinzugefügt. Danke für das Teilen.
Kstoney
Kein Problem - ich bin froh, dass Sie es nützlich fanden. Es macht definitiv einen schöneren Schatten, und ich mag es, dass ich meine Schichten herum behalten und einfach die Färbung auf dem ändern kann, um alles ein wenig anders
hervorzuheben
1
Danke dafür. In Version 10.1 bietet der Raster-Shader ( blogs.esri.com/esri/apl/2013/05/02/… ) eine deutlich verbesserte Kontrolle über die Rasteranzeige und ermöglicht das Erstellen netter Schattierungen.
SoilSciGuy
4

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.

RyanKDalton-OffTheGridMaps
quelle
Nicht wirklich - ich möchte nur meine eigenen Hillshading-Techniken anwenden, ohne ESRIs zu verwenden. Ich habe in meinem Eröffnungsbeitrag zusätzliche Kommentare hinzugefügt.
Vidar,
4

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

Brad Nesom
quelle