Zufällige Punkte erstellen (Data Management)
Zusammenfassung
Erstellt eine bestimmte Anzahl von zufälligen Punkt-Features. Zufällige Punkte können in einem Ausdehnungsfenster, in Polygon-Features, auf Punkt-Features oder entlang von Linien-Features erstellt werden.
Weitere Informationen zur Funktionsweise von "Zufällige Punkte erstellen"
Verwendung
-
Die Fläche, auf der die zufälligen Punkte erstellt werden, kann durch einschränkende Polygon-, Punkt- oder Linien-Features oder durch ein einschränkendes Ausdehnungsfenster definiert werden.
-
Der Parameter Anzahl von Punkten kann als Zahl oder als Zahlenfeld in der Feature-Class-Beschränkung mit Werten angegeben werden, die definieren, wie viele zufällige Punkte in jedem Feature zu platzieren sind. Ein Feld ist nur zulässig, wenn die einschränkenden Features (auch: Beschränkungs-Features) Polygon- oder Linien-Features sind. Wenn Sie die Anzahl von Punkten als Zahl angeben, wird in bzw. auf jedem Feature in der Feature-Class-Beschränkung die angegebene Anzahl von Punkten erstellt.
-
Um zufällig platzierten Punkten Zufallswerte zuzuweisen, erstellen Sie zunächst zufällige Punkte mit diesem Werkzeug. Erstellen Sie dann mit dem Werkzeug Feld hinzufügen in der Feature-Class mit den zufälligen Punkten ein neues Zahlenfeld. Empfohlene Feldtypen sind "Long Integer" oder "Float". Anschließend weisen Sie dem leeren Feld in der Feature-Class mit den zufälligen Punkten mit dem Werkzeug Feld berechnen Zufallswerte zu. Zum Erstellen einer zufälligen Ganzzahl zwischen a und b (einschließlich) verwenden Sie den Python-Ausdruck random.randint(a,b). Zum Erstellen einer zufälligen Gleitkommazahl zwischen a und b (ausschließlich) verwenden Sie den Python-Ausdruck random.uniform(a,b). Denken Sie daran, als Ausdruckstyp PYTHON festzulegen, die Werte a und b zu ersetzen und das Modul "random" mit dem Ausdruck import random in den Codeblock-Abschnitt zu importieren.
-
Der Parameter Ausdehnungsbeschränkung kann mit minimalen und maximalen X- und Y-Koordinaten oder mit der Ausdehnung eines Feature-Layers bzw. einer Feature-Class angegeben werden.
-
Wenn sowohl für Feature-Class-Beschränkung als auch für Ausdehnungsbeschränkung Werte angegeben werden, wird der Wert für Feature-Class-Beschränkung verwendet und der Wert für Ausdehnungsbeschränkung ignoriert.
-
Sie können die Werte für Ausdehnungsbeschränkung im Werkzeugdialogfeld mit der Schaltfläche Löschen zurücksetzen.
Wenn Sie eine Feature-Class-Beschränkung verwenden, die mehr als ein Feature enthält, und Sie die Gesamtanzahl der zu erstellenden zufälligen Punkte angeben möchten (im Gegensatz zur Anzahl von zufälligen Punkten, die in jedem Feature zu platzieren sind), müssen Sie zuerst die einschränkende Feature-Class mit dem Werkzeug Zusammenführen (Dissolve) zusammenführen, sodass sie nur ein einziges Feature enthält, und dann diese zusammengeführte Feature-Class als Feature-Class-Beschränkung verwenden.
-
Wenn innerhalb einer Beschränkungsfläche keine zufälligen Punkte unter Einhaltung der Mindestentfernung mehr platziert werden können, wird die Anzahl der zufälligen Punkte innerhalb der Beschränkungsfläche auf die maximal mögliche Anzahl unter Einhaltung der Mindestentfernung reduziert.
-
Der Parameter Mindestens zulässige Entfernung kann als lineare Einheit oder als Feld aus den einschränkenden Features mit numerischen Werten angegeben werden. Mit diesem Wert wird die kürzeste zulässige Entfernung zwischen zufälligen Punkten innerhalb der einzelnen Eingabe-Features festgelegt. Ein Feld ist nur zulässig, wenn die einschränkenden Features (auch: Beschränkungs-Features) Polygon- oder Linien-Features sind. Zufällige Punkte können innerhalb der kürzesten zulässigen Entfernung liegen, wenn sie innerhalb bzw. auf unterschiedlichen einschränkenden Features erstellt wurden.
-
Bei Verwendung von Punkt-Features als Feature-Class-Beschränkung wird eine zufällige Teilmenge der einschränkenden Punkt-Features erstellt. Es werden keine neuen Punktpositionen erstellt.
-
Positive Nicht-Ganzzahl-Werte für die Parameter Anzahl an Punkten und Mindestens zulässige Entfernung werden auf die nächste ganze Zahl gerundet. Nicht numerische und negative Werte werden auf Null (0) gesetzt.
Syntax
Parameter | Erläuterung | Datentyp |
out_path |
Der Speicherort bzw. Workspace, in dem die Feature-Class mit den zufälligen Punkten erstellt wird. Dieser Speicherort bzw. Workspace muss bereits vorhanden sein. | Feature Dataset;Workspace |
out_name |
Der Name der zu erstellenden Feature-Class mit den zufälligen Punkten. | String |
constraining_feature_class (optional) |
Zufällige Punkte werden innerhalb bzw. auf den Features in dieser Feature-Class erstellt. Die einschränkende Feature-Class kann Punkt, Multipoint, Linie oder Polygon sein. Die Punkte werden per Zufallsprinzip innerhalb von Polygon-Features, entlang von Linien-Features oder auf Punkt-Features platziert. Für jedes Feature in dieser Feature-Class wird die angegebene Anzahl von Punkten erstellt (wenn Sie beispielsweise 100 Punkte angeben und die einschränkende Feature-Class 5 Features enthält, werden 100 zufällige Punkte in jedem Feature erstellt, also insgesamt 500 Punkte). | Feature Layer |
constraining_extent (optional) |
Zufällige Punkte werden innerhalb der Ausdehnung erstellt. Die Ausdehnungsbeschränkung wird nur verwendet, wenn keine Feature-Class-Beschränkung angegeben wurde. | Extent;Feature Layer;Raster Layer |
number_of_points_or_field (optional) |
Die Anzahl der zu erstellenden zufälligen Punkte. Die Anzahl von Punkten kann als Zahl vom Typ "Long Integer" oder als Feld aus den einschränkenden Features mit numerischen Werten angegeben werden, die definieren, wie viele zufällige Punkte in jedem Feature zu platzieren sind. Ein Feld ist nur zulässig, wenn die einschränkenden Features (auch: Beschränkungs-Features) Polygon- oder Linien-Features sind. Wenn Sie die Anzahl von Punkten als Zahl vom Typ "Long Integer" angeben, wird in bzw. auf jedem Feature in der Feature-Class-Beschränkung die angegebene Anzahl von Punkten erstellt. | Field;Long |
minimum_allowed_distance (optional) |
Die kürzeste Entfernung, die zwischen zwei zufällig platzierten Punkten zulässig ist. Bei Angabe von "1 Meter" muss die Entfernung zwischen den zufälligen Punkten mindestens einen Meter betragen. | Field;Linear unit |
create_multipoint_output (optional) |
Gibt an, ob die Ausgabe-Feature-Class ein Multipart- oder ein Singlepart-Feature ist.
| Boolean |
multipoint_size (optional) |
Bei Verwendung der Option "Multipoint-Ausgabe erstellen" (aktiviert/MULTIPOINT) gibt dieser Parameter die Anzahl von zufälligen Punkten an, die in jeder Multipoint-Geometrie zu platzieren sind. | Long |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "Zufällige Punkte erstellen" im unmittelbaren Modus verwenden:
import arcpy arcpy.CreateRandomPoints_management("c:/data/project", "samplepoints", "c:/data/studyarea.shp", "", 500, "", "POINT", "")
Das folgende eigenständige Python-Skript veranschaulicht, wie Sie zufällige Punkte mit Zufallswerten erstellen.
#Name: RandomPointsRandomValues.py #Purpose: create random points with random values #Author: ESRI # Import system modules import arcpy, os, random from arcpy import env # Create random points in the features of a constraining feature class # Number of points for each feature determined by the value in the field specified outGDB = "C:/data/county.gdb" outName = "randpeople" conFC = "C:/data/county.gdb/blocks" numField = "POP2000" arcpy.CreateRandomPoints_management(outGDB, outName, conFC, "", numField) # set workspace env.workspace = "C:/data/county.gdb" # Create fields for random values fieldInt = "fieldInt" fieldFlt = "fieldFlt" arcpy.AddField_management(outName, fieldInt, "LONG") # add long integer field arcpy.AddField_management(outName, fieldFlt, "FLOAT") # add float field # Calculate random values between 1-100 in the new fields arcpy.CalculateField_management(outName, fieldInt, "random.randint(1,100)","PYTHON","import random") arcpy.CalculateField_management(outName, fieldFlt, "random.uniform(1,100)","PYTHON","import random")
Das folgende eigenständige Python-Skript veranschaulicht mehrere Methoden zur Verwendung des Werkzeugs "Zufällige Punkte erstellen":
#Name: RandomPoints.py #Purpose: create several types of random points feature classes #Author: ESRI # Import system modules import arcpy, os from arcpy import env #set environment settings env.overWriteOutput = True # Create random points in an extent defined simply by numbers outFolder = "C:/data" numExtent = "0 0 1000 1000" numPoints = 100 outName = "myRandPnts.shp" env.outputCoordinateSystem = "Coordinate Systems/Projected Coordinate Systems/World/Miller Cylindrical (world).prj" arcpy.CreateRandomPoints_management(outFolder, outName, "", numExtent, numPoints) env.outputCoordinateSystem = "" # Create random points in an extent defined by another feature class outName = "testpoints.shp" fcExtent = "C:/data/studyarea.shp" arcpy.CreateRandomPoints_management(outFolder, outName, "", fcExtent, numPoints) # Create random points in the features of a constraining feature class # Number of points for each feature determined by the value in the field specified outGDB = "C:/data/county.gdb" outName = "randpeople" conFC = "C:/data/county.gdb/blocks" numField = "POP2000" arcpy.CreateRandomPoints_management(outGDB, outName, conFC, "", numField) #create random points in the features of a constraining #feature class with a minimum allowed distance outName = "constparcelpnts" conFC = "C:/data/county.gdb/parcels" numPoints = 10 minDistance = "5 Feet" arcpy.CreateRandomPoints_management(outGDB, outName, conFC, "", numPoints, minDistance) #Creat random points with a multipoint output outName = "randomMPs" fcExtent = "C:/data/county.gdb/county" numPoints = 100 numMP = 10 arcpy.CreateRandomPoints_management(outGDB, outName, "", fcExtent, numPoints, "", "MULTIPOINT", numMP)