Crear puntos aleatorios (Administración de datos)

Nivel de licencia:BasicStandardAdvanced

Resumen

Crea un determinado número de entidades de puntos aleatorios. Los puntos aleatorios se pueden generar en una ventana de extensión, dentro de entidades poligonales, en entidades de puntos o a lo largo de entidades de línea.

Más información sobre el funcionamiento de Crear puntos aleatorios

Uso

Sintaxis

CreateRandomPoints_management (out_path, out_name, {constraining_feature_class}, {constraining_extent}, {number_of_points_or_field}, {minimum_allowed_distance}, {create_multipoint_output}, {multipoint_size})
ParámetroExplicaciónTipo de datos
out_path

Ubicación o espacio de trabajo en el que se crea la clase de entidad de puntos aleatorios. Esta ubicación o este espacio de trabajo ya debe existir.

Feature Dataset;Workspace
out_name

Nombre de la clase de entidad de puntos aleatorios que se va a crear.

String
constraining_feature_class
(Opcional)

Los puntos aleatorios se generan dentro o a lo largo de las entidades en esta clase de entidad. La clase de entidad obligada puede ser punto, multipunto, línea o polígono. Los puntos se ubican de manera aleatoria dentro de las entidades poligonales, a lo largo de las entidades de línea o en ubicaciones de entidades de puntos. Cada entidad en esta clase de entidad tendrá el número especificado de puntos generados dentro de ella (por ejemplo, si especifica 100 puntos y la clase de entidad obligada tiene 5 entidades, se generarán 100 puntos aleatorios en cada entidad, que suman un total de 500 puntos).

Feature Layer
constraining_extent
(Opcional)

Los puntos aleatorios se generan dentro de la extensión. La extensión obligada se utiliza solamente si no se especifica una clase de entidad obligada.

Extent;Feature Layer;Raster Layer
number_of_points_or_field
(Opcional)

Cantidad de puntos que se generarán de manera aleatoria.

La cantidad de puntos se puede especificar como un número entero largo o como un campo de las entidades obligadas que contiene valores numéricos que indican la cantidad de puntos aleatorios que se ubicarán en cada entidad. La opción de campo solamente es válida para entidades obligadas de polígono o de línea. Si la cantidad de puntos se proporciona como un número entero largo, esa cantidad de puntos aleatorios se generará dentro o a lo largo de cada entidad en la clase de entidad obligada.

Field;Long
minimum_allowed_distance
(Opcional)

Distancia más corta permitida entre dos puntos ubicados de manera aleatoria. Si se especifica un valor de 1 metro, todos los puntos aleatorios se ubicarán a más de 1 metro del punto más cercano.

Field;Linear unit
create_multipoint_output
(Opcional)

Determina si la clase de entidad de salida será una entidad multiparte o una entidad de una parte.

  • POINTLa salida tiene el tipo de geometría punto (cada punto es una entidad separada). Esta es la opción predeterminada.
  • MULTIPOINTLa salida tiene el tipo de geometría multipunto (todos los puntos forman una sola entidad).
Boolean
multipoint_size
(Opcional)

Si se utiliza la opción Crear salida multipunto (marcada/MULTIPOINT), este parámetro especifica la cantidad de puntos aleatorios que se ubicarán en cada geometría multipunto.

Long

Ejemplo de código

Ejemplo 1 de CreateRandomPoints (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta CreateRandomPoints en el modo inmediato:

import arcpy
arcpy.CreateRandomPoints_management("c:/data/project", "samplepoints", "c:/data/studyarea.shp", "", 500, "", "POINT", "")
Ejemplo 2 de CreateRandomPoints con valores aleatorios (secuencia de comandos de Python independiente)

La siguiente secuencia de comandos de Python independiente muestra cómo crear puntos aleatorios con valores aleatorios:

#Name: RandomPointsRandomValues.py
#Purpose: create random points with random values

# 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")
Ejemplo 3 de CreateRandomPoints (secuencia de comandos de Python independiente)

La siguiente secuencia de comandos de Python independiente muestra varios métodos para utilizar la herramienta CreateRandomPoints:

#Name: RandomPoints.py
#Purpose: create several types of random points feature classes

# 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) 

#Create 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)

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Requiere 3D Analyst o Spatial Analyst
ArcGIS for Desktop Standard: Requiere 3D Analyst o Spatial Analyst
ArcGIS for Desktop Advanced: Sí
5/12/2014