2017-03-08 3 views
0

Ich benutze adehabitatHR, um Home Range für Pinguine zu schätzen. Natürlich können sie nicht an Land schwimmen, und ich habe versucht, eine Grenze um die Küste herum hinzuzufügen, um zu verhindern, dass das KUD mehr Fläche hinzufügt, als es machbar ist.Create Grenze zur Home Range Estimation (KUD)

Die Gegend, die ich versuche, die Grenze für das zu schaffen, ist das Nordende von Port Phillip Bay, Australien. Die aktuellen (sehr grob) Randpunkte ich habe, in der Reihenfolge, sind:

-37,9967038 145,0346375

-37,8607599 144,9783325

-37,8341917 144,9131012

-37,8580493 144,8375702

-37,9988682 144.6487427

Während es als Barriere akzeptiert wird, und kann auf der Karte geplottet werden, bekomme ich weiter ein Fehler, wenn ich versuche, es als eine Grenze in der KUD zu implementieren:

‚Fehlern in 3 * h: nicht-numerisches Argument Binäroperators‘

Wer weiß, was das bedeutet und wie könnte ich es beheben ?

Danke!

Antwort

0

Stellen Sie sicher, dass Sie alle diese Schritte vor der Eingabe als Grenze im KUD ausführen.

bnd <- structure(list(x = c(-37.9967038, -37.8607599, -37.8341917, 
          -37.8580493, -37.9988682), 
         y = c(145.0346375, 144.9783325, 144.9131012, 
          144.8375702, 144.6487427)), 
       .Names = c("x", "y")) 

bnd <- do.call("cbind", bnd) 
Slo <- Line(bnd) 
Sli <- Lines(list(Slo), ID = "Frontiers") 
barrier <- SpatialLines(list(Sli)) 

So, das Objekt barrier ist Ihre Grenze so müssen Sie es in der KUD Funktion spezifizieren:

kernelUD("your spatial data", h = "your bandwidth", grid = "your grid", 
      boundary = barrier) 

das beste,

Alle