Hallo,
ich nutze ArcInfo und habe ein Raster mit Höhenwerten.
Dieses Raster ist eine Höhenkarte für eine geologische Schicht und daher habe ich teilweise keine Tiefeninformation.
Hat jemand eine Idee, wie ich diese Daten auffüllen kann? Ich würde ungern die Daten in points umwandeln und interpolieren. Das geht zwar, ändert jedoch insgesamt meine Werte (ich hab´s schon ausprobiert).
Hat jemand eine bessere Idee als das Raster zu interpolieren und die interpolierten Werte in die Lücken zu setzen?
Bisher ist das die einzige Möglichkeit, die ich gefunden habe und die Software, die ich bisher gefunden habe konnte nicht runtergeladen werden oder sonstiges...
Im Voraus vielen Dank!
Stephie
ich nutze ArcInfo und habe ein Raster mit Höhenwerten.
Dieses Raster ist eine Höhenkarte für eine geologische Schicht und daher habe ich teilweise keine Tiefeninformation.
Hat jemand eine Idee, wie ich diese Daten auffüllen kann? Ich würde ungern die Daten in points umwandeln und interpolieren. Das geht zwar, ändert jedoch insgesamt meine Werte (ich hab´s schon ausprobiert).
Hat jemand eine bessere Idee als das Raster zu interpolieren und die interpolierten Werte in die Lücken zu setzen?
Bisher ist das die einzige Möglichkeit, die ich gefunden habe und die Software, die ich bisher gefunden habe konnte nicht runtergeladen werden oder sonstiges...
Im Voraus vielen Dank!
Stephie
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Mo., 15.11.2010 - 11:00
PermalinkNormaleweise macht man das mit 'FocalStatistics' aus dem Neighborhood-Toolset (ArcToolbox - Spatial Analyst Tools) oder mit 'Neighborhood Statistics' aus dem SA-Menü. Dummerweise verändern diese Tools alle Werte und nicht nur die gewünschten Lücken.
Diesen Effekt kann man aber umgehen, indem man die Statistik nicht über die Tools sondern über MapAlgebra ausführt. Hier kann man die Werte, die tatsächlich verändert werden sollen, klar definieren. In deinem Fall hieße das: Den Raster-Calculator öffnen und folgendes eintippen:
Con(IsNull([Grid]), Focalmean([Grid], rectangle, 5, 5), [Grid])
Das heißt: Wenn Grid = NULL dann interpoliere aus einer rechteckigen, fünfundzwanzigzelligen Nachbarschaft, ansonsten belasse den Wert wie er ist. Die Nachbarschaft kannst du je nach Bedarf anpassen.
Gespeichert von GrimST am Di., 16.11.2010 - 13:24
PermalinkIch hab´s das leider vorher noch nie gemacht. Das war die richtige Lösung für das Problem!
Gespeichert von J_Frenzel am Mi., 28.03.2012 - 15:58
Permalinkhab diese Anleitung eben gefunden, und sie funktioniert wunderbar und tut genau das was ich möchte (in 9.3). Vielen Dank.
Kann mir jemand sagen, wie diese Anweisung bei ArcGIS 10.0 aussehen muss? Dort bekomme ich immer ein Fehlermeldung....
Vielen Dank,
Hannes
Gespeichert von GrimST am Mi., 28.03.2012 - 17:23
Permalinktatsächlich kann ich das jetzt beantworten, obwohl ich ja die erste Frage gestellt hab...
Mit der Einführung von ArcGIS10 änderten sich einige Syntaxen, da die Map Algebra wesentlich mehr python™-gestützte Programmierung (Python Programming Language) bevorzugt als noch die Rasterkalkulationen der 9er Version. Statt des gap-fill-tools musste eine neue Konditionalabfrage gewählt werden:
arcpy.sa.Con(arcpy.sa.IsNull("GRID"), arcpy.sa.FocalStatistics("GRID", arcpy.sa.NbrRectangle(5,5,"CELL"), "MEAN"), "GRID")
Das ganze funktioniert über die MApAlgebra.
Viel Erfolg!
Gespeichert von J_Frenzel am Do., 29.03.2012 - 10:17
Permalinkdas funktioniert hervorragend, toll!!!
Beste Grüße