Kerndichte (Spatial Analyst)
Zusammenfassung
Berechnet mit einer Kernel-Funktion einen Betrag pro Flächeneinheit aus Punkt- oder Polylinien-Features, um für jeden Punkt bzw. jede Polylinie eine sanft abgeschrägten Oberfläche anzupassen.
Bild
![]() |
OutRas = KernelDensity(InPts, None, 30) |
Verwendung
-
Größere Werte des Suchradiusparameters führen zu einem glatteren, stärker generalisierten Dichte-Raster. Kleinere Werte erzeugen ein Raster, in dem weitere Details angezeigt werden.
-
Nur die Punkte oder die Teile einer Linie, die innerhalb der Nachbarschaft liegen, werden bei der Berechnung der Dichte berücksichtigt. Wenn keine Punkte oder Linienabschnitte in der Nachbarschaft einer bestimmten Zelle liegen, wird dieser Zelle der Wert "NoData" zugewiesen.
-
Wenn die Maßstabsfaktoreinheiten für Flächeneinheiten im Verhältnis zu den Features (Entfernung zwischen Punkten oder Länge der Linienabschnitte, je nach Feature-Typ) klein sind, sind die Ausgabewerte möglicherweise klein. Um größere Werte zu erhalten, wählen Sie als Maßstabsfaktor für Flächeneinheiten eine größere Einheit (z. B. Quadratkilometer statt Quadratmeter) aus.
In ArcGIS 10.2.1 wird der Standardsuchradius (Bandbreite) anhand der räumlichen Konfiguration und der Anzahl der Eingabepunkte berechnet. Bei diesem Ansatz werden räumliche Ausreißer (d. h. Eingabepunkte, die sich weit von den anderen Punkten entfernt befinden) korrigiert, sodass der Suchradius nicht unverhältnismäßig groß wird.
Sehr große oder sehr kleine Werte im Feld mit der Grundgesamtheit können zu zweifelhaften Ergebnissen führen. Wenn der Mittelwert des Feldes mit der Grundgesamtheit sehr viel größer als 1 ist (z. B. bei der Bevölkerung von Städten), ist der Standardsuchradius möglicherweise sehr klein, sodass die um die Eingabepunkt angeordneten Ringe sehr klein sind. Ist der Mittelwert des Feldes mit der Grundgesamtheit dagegen wesentlich kleiner als 1, kann die berechnete Bandbreite unverhältnismäßig groß scheinen. In diesen Fällen empfiehlt es sich, selbst einen Suchradius einzugeben.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Eingabe-Features (Punkt oder Linie), für die die Dichte berechnet werden soll. | Feature Layer |
population_field |
Feld, das die Gesamtheitswerte für die einzelnen Features angibt. Das "Feld mit Grundgesamtheit" ist die Anzahl oder Menge, die über die Landschaft verteilt werden soll, um eine kontinuierliche Oberfläche zu erstellen. Das Bevölkerungsfeld kann sowohl Ganzzahl- als auch Gleitkommawerte enthalten. Die Optionen und das Standardverhalten des Feldes werden weiter unten aufgeführt.
| Field |
cell_size (optional) | Die Zellengröße für das Ausgabe-Raster-Dataset. Dies ist der Wert in der Umgebung, wenn dieser ausdrücklich festgelegt wurde. Wenn die Umgebung nicht festgelegt wurde, wird als Zellengröße die Breite oder Höhe der Ausgabeausdehnung im Ausgabe-Raumbezug dividiert durch 250 verwendet (je nachdem, welcher Wert kleiner ist. | Analysis Cell Size |
search_radius (optional) | Der Suchradius, innerhalb dessen die Dichte berechnet wird. Die Einheit basiert auf der linearen Einheit der Projektion des Ausgaberaumbezugs. Wenn beispielsweise als Einheit Meter verwendet wird und Sie alle Features innerhalb eines Umkreises von einer Meile einschließen möchten, legen Sie einen Suchradius von 1609,344 (1 Meile = 1609,344 Meter) fest. Der Standardsuchradius (Bandbreite) wird speziell für das Eingabe-Dataset berechnet. Dabei kommt eine räumliche Varianz der Faustregel von Silverman zum Einsatz, die räumliche Ausreißer (d. h. Punkte, die sich weit von den restlichen Punkten entfernt befinden) korrigiert. Eine Beschreibung des Algorithmus finden Sie in den obenstehenden Verwendungshinweisen. | Double |
area_unit_scale_factor (optional) |
Die gewünschten Flächeneinheiten für die Ausgabedichtewerte. Die Standardeinheit basiert auf der linearen Einheit der Projektion des Ausgaberaumbezugs. Sie können dieses Einstellung in die gewünschte Einheit ändern, wenn Sie die Dichteausgabe konvertieren möchten. Bei Werten für die Liniendichte werden die Einheiten von Länge und Fläche gleichermaßen konvertiert. Beispiel: Wenn die Eingabeeinheit Meter ist, wird als standardmäßige Ausgabeflächendichteinheit für Punkt-Features Quadratkilometer oder für Polylinien-Features Kilometer pro Quadratkilometer verwendet. Die Standarddichteeinheit basiert auf der Einheit des Eingabe-Features:
| String |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster |
Das Ausgabe-Raster für "Kerndichte". Es handelt sich stets um ein Gleitkomma-Raster. | Raster |
Codebeispiel
In diesem Beispiel wird ein geglättetes Dichte-Raster aus einem Punkt-Shapefile berechnet.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outKDens = KernelDensity("rec_sites.shp", "NONE", 45, 1200, "SQUARE_KILOMETERS")
outKDens.save("C:/sapyexamples/output/kdensout")
In diesem Beispiel wird ein geglättetes Dichte-Raster aus einem Punkt-Shapefile berechnet.
# Name: KernelDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from point or polyline
# features using a kernel function to fit a smoothly tapered
# surface to each point or polyline.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inFeatures = "rec_sites.shp"
populationField = "NONE"
cellSize = 60
searchRadius = 2500
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute KernelDensity
outKernelDensity = KernelDensity(inFeatures, populationField, cellSize,
searchRadius, "SQUARE_KILOMETERS")
# Save the output
outKernelDensity.save("C:/sapyexamples/output/kerneldout")