Wie schätze ich die Kerneldichte mit einer physischen Barriere / Grenze in QGIS?


18

Kennt jemand ein Programm, das Kernel erlaubt, der eine Grenze in seiner Berechnung berücksichtigt, anstatt einfach Bereiche zu maskieren, die unmöglich sind?

Bisher habe ich folgendes gefunden: GME-Add-On für Arc10 (Hawthorne Beyer) - Ich erhalte jedes Mal eine Fehlermeldung, wenn ich ein Boundary-Shapefile spezifiziere. Ich habe viele verschiedene Shapefile-Typen und Randkomplexitäten usw. ausprobiert. Es funktioniert gut, wenn ich keinen Rand spezifiziere.

AdehabitatHR-Paket in R (Calange 2011) - dies funktioniert gut, aber die von Ihnen angegebene Grenze muss sehr einfach sein - Liniensegmente 3x Kernelbandbreite in der Länge und nicht zu gewunden. Für meine Daten ist dies eine große Vereinfachung.

Also frage ich mich, ob es eine andere Software kann, GRASS oder QGIS zum Beispiel.

Vielen Dank


3
Aktuelle Arbeit mit R-Code von potenziellem Interesse, Border Bias und gewichteten Kerneln . Der gesamte Code ist nur ein Weg, die Beobachtungen zu gewichten , um die Border Bias zu korrigieren (wenn Sie die Gewichte herausfinden können, können Sie jedes Programm verwenden, um die KDE zu schätzen, solange es die Gewichte ausschließt).
Andy W

1
Genau wie soll es eine Grenze "erklären"? Es gibt viele Möglichkeiten, von der Maskierung über das Blockieren der Ausbreitung bis zur Korrektur von Randeffekten.
whuber

1
Vielen Dank an @AndyW und whuber für die Antworten. Ich möchte die Grenze berücksichtigen, indem ich verhindere, dass sich der Kernel darüber ausbreitet. Bei den Daten handelt es sich um Meeresschildkrötenstandorte. Ich weiß also, dass sich die Nutzungsverteilung nicht auf das Land ausbreiten sollte, aber viele der Standorte befinden sich sehr nahe an der Küste, sodass ich mich nicht gegen diese Standorte voreingenommen fühlen möchte, indem ich einfach die Kernelteile maskiere sich ins Land ausbreiten. Vielen Dank für den Link zum Artikel - das sieht gut aus. Ich werde versuchen, ähnlichen Code für meine Daten zu verwenden.
KimS

Antworten:


2

Der Kern der Kerndichteschätzung ist der Begriff der Entfernung. Die beste mir bekannte Lösung ist die Verwendung einer besseren Entfernungsmetrik, die Grenzen und unterschiedliche Reisekosten berücksichtigt. Wählen Sie am besten eine Abstandsmetrik, die zu dem Problem passt, das Sie lösen möchten. Die Reibung im Gelände eignet sich hervorragend zum Wandern, nicht jedoch zum Verteilen von Aerosolen. Windströmungen sind für die Verfolgung von Segelbooten unerlässlich, für die Fahrtrichtung jedoch unerheblich.
Jetzt, da der Begriff der geeigneten Entfernungsmetrik hoffentlich ausreichend motiviert ist, kann ich Kostenoberflächen als gute allgemeine Entfernungsmetrik empfehlen. Sie sind in allen Bereichen von ArcGIS über R bis hin zu JavaScript verfügbar und lassen sich relativ einfach erstellen. In qGIS können Sie beispielsweise eine Rasterreibfläche konstruieren und damit Routen berechnen. Passen Sie die Reibfläche an Ihre Grenzen an, und Sie werden sehen, wie sich die Masse der Körner um Ihre Punkte herum sauber über die Hindernisse verteilt.


+1 Dies ist möglicherweise ein großartiger Ansatz. Nachdem ich es in vielen Problemen angewendet habe, habe ich festgestellt, dass die Hauptschwierigkeit eine ist, die hier nicht erwähnt wird: Wie genau schlagen Sie vor, die Kernel gemäß dieser Metrik zu verbreiten? Out-of-the-Box-Lösungen können dies nicht.
Whuber

@whuber Richtig, die Out-of-the-Box-Systeme sind normalerweise nicht in der Lage, gleichzeitig Kostenoberflächen und Kerneldichte zu berücksichtigen. Mein Vorschlag wäre, die Reibfläche zu verwenden, um den Punkt-zu-Punkt-Abstand zu berechnen, und dann direkt eine Kernfunktion für das Gewicht anzuwenden. In qGIS oder ArcGIS können Sie die normale Verteilungsfunktion in Python verwenden, und in R gibt es die dnorm()Funktion.
JasonRDalton

In einigen Fällen habe ich genau das getan, aber wenn ich über den Prozess nachdenke und die Ergebnisse inspiziere, werden einige inhärente Probleme sichtbar. Am schwierigsten scheint es zu sein, die Erhaltung der Masse zu gewährleisten: Sie können Werte nicht einfach nach einer festen Gauß-Funktion streuen, da die sich insgesamt ergebende Masse eines Streupunkts nicht der ursprünglichen Masse entspricht. Es gibt keine effiziente Möglichkeit, diese Berechnung durchzuführen.
Whuber


0

Ich helfe tatsächlich mit dem AniMove-Plugin für QGIS, das darauf abzielt, die R-Abhängigkeit für die Schätzung der Kerneldichte zu beseitigen. Schauen Sie sich hier um .

BEARBEITEN: Das Plugin ist tatsächlich als experimentelles Plugin im offiziellen QGIS-Plugin-Repository verfügbar

Und zögern Sie nicht, in der Liste nachzufragen , wenn Sie Vorschläge haben


-2

Ich habe dies erfolgreich mit Geostatistical Analyst durchgeführt, einer Erweiterung von ESRI ArcGIS. Sie können einen Datensatz mit Linien-Features als Barrieren laden, und die Ergebnisse sind ziemlich anständig. Ich führe Testläufe durch, während ich die Parameter der Funktionen ändere, um eine klare Vorstellung davon zu bekommen, wie das Werkzeug kalibriert wird. Um die Ergebnisse zu validieren, empfehle ich, wenn Sie einen ausreichend großen Datensatz haben, eine Stichprobe von Punkten zu entfernen, die Dichtefläche ohne diese Punkte zu generieren und dann die Differenz zwischen den Werten der entfernten Punkte mit den Werten der Fläche am zu vergleichen Ort der entfernten Punkte.


2
Könnten Sie diese Antwort etwas näher erläutern, wie GA - das Interpolationsmethoden implementiert - eine Schätzung der Kerneldichte berechnen kann ? Haben Sie zur Überprüfung der Richtigkeit Ihrer Lösung überprüft, ob das Integral des GA-Gitters ungefähr der Summe aller Eingabedaten entspricht?
Whuber

1
In 10.1 ist es möglich, eine Kernel-Interpolation mit Barrieren durchzuführen, dies führt jedoch nicht zu einer Dichteschätzung. Angesichts der Methoden, auf die sich der ursprüngliche Beitrag bezieht, frage ich mich jedoch, ob sie nicht an einer Gaußschen Kernschätzung und nicht an einer Dichteschätzung interessiert sind.
Jeffrey Evans
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.