Zusammenfassung
Konvertiert Ereignisdaten, z. B. Daten zu Verbrechen oder Krankheiten, in gewichtete Punktdaten.
Abbildung
Verwendung
Mit Ereignisse erfassen werden zwei lagegleiche Punkte kombiniert: Es wird eine neue Ausgabe-Feature-Class erstellt, die alle eindeutigen, in der Eingabe-Feature-Class gefundenen Positionen enthält. Dann wird das Feld ICOUNT hinzugefügt, das für jede eindeutige Position die Summe aller Ereignisse enthält.
Dieses Werkzeug kann nur Features kombinieren, die über exakt die gleichen X- und Y-Schwerpunktkoordinaten verfügen. Sie haben daher die Möglichkeit, vor der Ausführung des Werkzeugs Ereignisse erfassen nahegelegene Features mit dem Werkzeug Integrieren aneinander zu fangen.
Die Werkzeuge Hot-Spot-Analyse (Getis-Ord Gi*), Cluster- und Ausreißeranalyse (Anselin Local Morans I) und Räumliche Autokorrelation (Morans I) erfordern beispielsweise gewichtete Punkte anstatt einzelne Ereignisse. Mit Ereignisse erfassen können Gewichtungen erstellt werden, wenn die Eingabe-Feature-Class lagegleiche Features enthält.
Dieses Werkzeug wurde eigentlich speziell für Ereignisdaten oder andere Feature-Daten mit festen Punkten konzipiert; es kann jedoch auch für Polygon- oder Liniendaten eingesetzt werden. Bei Linien- und Polygon-Features basiert die Feature-Übereinstimmung auf den echten geometrischen Schwerpunkten der Features. Bei Multipoints, Polylinien oder mehrteiligen Polygonen wird der Schwerpunkt mithilfe des gewichteten arithmetischen Mittelpunktes aller Feature-Teile berechnet. Die Gewichtung für Punkt-Features ist 1, für Linien-Features "Länge" und für Polygon-Features "Fläche".
Wenn die Eingabe-Feature-Class nicht projiziert ist (d. h., wenn Koordinaten in Grad, Minuten und Sekunden angegeben werden) oder als Ausgabe-Koordinatensystem ein geographisches Koordinatensystem festgelegt wurde, werden Entfernungen mit Sehnenmesswerten berechnet. Sehnenentfernungsmesswerte werden verwendet, weil sie schnell berechnet werden können und ausgezeichnete Schätzung von echten geodätischen Entfernungen zulassen, zumindest für Punkte innerhalb von 30 Grad voneinander. Sehnenentfernungen basieren auf einem abgeplatteten Sphäroid. Im Fall von zwei beliebigen Punkten auf der Erdoberfläche ist die Sehnenentfernung zwischen diesen die Länge einer Linie, die durch die dreidimensionale Erde führt, um diese beiden Punkte zu verbinden. Sehnenentfernungen werden in Metern angegeben.
Wenn jeder einzelne Punkt/jedes einzelne Teil von Multipoint-/Multipart-Daten als Singlepart-Feature behandelt werden soll, führen Sie das Werkzeug Multipart in Singlepart aus und dann für die Singlepart-Feature-Class das Werkzeug Ereignisse erfassen. Unter Verarbeiten von Multipoint-Daten erhalten Sie weitere Informationen.
Zusätzlich zur Ausgabe-Feature-Class übergibt diese Funktion für jede Position den Namen des Zählfeldes und den maximalen Zählwert als abgeleitete Ausgabewerte. Diese abgeleiteten Ausgabewerte sind hilfreich, wenn Sie dieses Werkzeug in Modellen oder Skripten einsetzen.
Wenn dieses Werkzeug in ArcMap ausgeführt wird, wird dem Inhaltsverzeichnis die Ausgabe-Feature-Class automatisch hinzugefügt, wobei das Standard-Rendering auf das Feld ICOUNT angewendet wird. Das Schema für das abgestufte Kreis-Rendering wird durch eine Layer-Datei in <ArcGIS>/ArcToolbox/Templates/Layers definiert. Sie können das Standard-Rendering nach Bedarf erneut anwenden, indem Sie die Vorlagen-Layer-Symbolisierung importieren.
Syntax
arcpy.stats.CollectEvents(Input_Incident_Features, Output_Weighted_Point_Feature_Class)
Parameter | Erklärung | Datentyp |
Input_Incident_Features | Die Features, die Ereignisdaten darstellen. | Feature Layer |
Output_Weighted_Point_Feature_Class | Die Ausgabe-Feature-Class, die die gewichteten Punktdaten enthalten soll. | Feature Class |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
Results_Field | Der Name des Zählfeldes | Feld |
Z_Max_Value | Der Wert der maximalen Anzahl für eine beliebige Position. | Double |
Codebeispiel
CollectEvents – Beispiel 1 (Python-Fenster)
Das folgende Skript veranschaulicht die Verwendung des Werkzeugs CollectEvents im Python-Fenster.
import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
CollectEvents – Beispiel 2 (eigenständiges Skript)
Das folgende eigenständige Python-Skript veranschaulicht, wie Sie das Werkzeug CollectEvents verwenden.
# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot-Spot Analysis Tool (Local Gi*)
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = "C:/Data"
try:
# Set the current workspace (to avoid having to specify the full path to the feature classes each time)
arcpy.env.workspace = workspace
# Copy the input feature class and integrate the points to snap
# together at 500 feet
# Process: Copy Features and Integrate
cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp")
integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")
# Use Collect Events to count the number of calls at each location
# Process: Collect Events
ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
# Add a unique ID field to the count feature class
# Process: Add Field and Calculate Field
af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
"NON_NULLABLE", "NON_REQUIRED", "#",
"911Count.shp")
cf = arcpy.CalculateField_management("911Count.shp", "MyID", "!FID!", "PYTHON")
# Create Spatial Weights Matrix for Calculations
# Process: Generate Spatial Weights Matrix...
swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
"euclidean6Neighs.swm",
"K_NEAREST_NEIGHBORS",
"#", "#", "#", 6,
"NO_STANDARDIZATION")
# Hot Spot Analysis of 911 Calls
# Process: Hot Spot Analysis (Getis-Ord Gi*)
hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp",
"GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE",
"#", "#", "euclidean6Neighs.swm")
except arcpy.ExecuteError:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja