2016-04-11 3 views
0

ich folgendes Transition-Objekt aus einem Rasterwerten Höhe einer Landschaft in R erstellt habe:Erhalten Steigung zwischen zwei Zellen in gdistance

wd <- "C:/Users/LG/Dropbox/Random Walk"           
setwd(wd)                  

    library(gdistance) 
    library(raster) 


    r <- raster("altitude.tif") 
    altDiff <- function(x){x[2] - x[1]} 
    hd <- transition(r, altDiff, 8, symm=FALSE) 

    slope <- geoCorrection(hd) 

Wie Sie die Funktion, die ich erstellen verwenden sehen können an dem objecs das ist Höhenunterschied zwischen zwei Zellen, der dann über die Funktion "Geocorrection" in die Steigung zwischen den Zellen korrigiert wird. Wie kann ich jetzt auf die Steigung zwischen zwei Zellen meiner Wahl zugreifen? Um mein Skript zu vervollständigen, muss ich die Steigungswerte zwischen einer Zelle meiner Wahl und allen acht benachbarten Zellen erhalten. Also im Grunde möchte ich wissen, wie ich auf die Übergangswerte für zwei Zellen meiner Wahl zugreifen kann? Wenn mir jemand damit helfen könnte, würde ich es sehr schätzen. Vielen Dank im Voraus.

Antwort

1

Ich schlage vor, Sie lesen die Vignette des Gdistance-Pakets, die dies vollständig erklärt.

Um die Steigung zwischen den Zellen 1 und 2, erhalten Sie tun können:

slope[1,2] 

Werfen Sie einen Blick auf die adjacent Funktion im Raster Paket eine vollständige Liste der 8 benachbarten Zellen zu erhalten.

+0

Danke für die Hilfe. Ich habe die Vignette gelesen, aber das war eine Weile her und jetzt, wo ich mit dem Programmieren anfing, habe ich es einfach überflogen und nichts hilfreiches gefunden. Darüber hinaus habe ich mich nicht daran erinnert, etwas über mein Problem gelesen zu haben, also habe ich mich entschieden, meine Frage hier schnell zu stellen. – snoops

+0

Wie auch immer, danke, dass Sie mir dabei geholfen haben, es wird sehr geschätzt! – snoops