Créer des points aléatoires (Gestion des données)

Récapitulatif

Crée un nombre spécifié d'entités ponctuelles aléatoires. Des points aléatoires peuvent être créés dans une fenêtre d'étendue, à l'intérieur d'entités surfaciques, sur des entités ponctuelles ou le long d'entités linéaires.

Pour plus d'informations sur le fonctionnement de l'outil Créer des points aléatoires

Utilisation

Syntaxe

CreateRandomPoints_management (out_path, out_name, {constraining_feature_class}, {constraining_extent}, {number_of_points_or_field}, {minimum_allowed_distance}, {create_multipoint_output}, {multipoint_size})
ParamètreExplicationType de données
out_path

Emplacement ou espace de travail dans lequel la classe d'entités des points aléatoires sera créée. Cet emplacement ou espace de travail doit déjà exister.

Feature Dataset;Workspace
out_name

Nom de la classe d'entités des points aléatoires à créer.

String
constraining_feature_class
(Facultatif)

Les points aléatoires seront générés à l'intérieur ou le long des entités de cette classe. La classe d'entités de contrainte peut être de type point, multipoint, ligne ou polygone. Les points seront placés de façon aléatoire à l'intérieur d'entités surfaciques, le long d'entités linéaires ou aux emplacements d'entités ponctuelles. Chaque entité de cette classe d'entités contiendra le nombre de points spécifié (par exemple, si vous spécifiez 100 points alors que la classe d'entités de contrainte contient 5 entités, 100 points aléatoires seront générés à l'intérieur de chaque entité, à savoir 500 points au total).

Feature Layer
constraining_extent
(Facultatif)

Les points aléatoires seront générés à l'intérieur de l'étendue. L'étendue de contrainte sera uniquement utilisée si aucune classe d'entités de contrainte n'est spécifiée.

Extent;Feature Layer;Raster Layer
number_of_points_or_field
(Facultatif)

Nombre de points à générer de façon aléatoire.

Le nombre de points peut être spécifié sous la forme d'un nombre entier long ou d'un champ à partir d'entités de contrainte contenant des valeurs numériques relatives au nombre de points aléatoires à placer dans chaque entité. L'option de champ est valide uniquement pour les entités de contrainte surfaciques ou linéaires. Si le nombre de points est indiqué sous la forme d'un nombre entier long, cette valeur sera générée à l'intérieur ou le long de chaque entité de la classe d'entités de contrainte.

Field;Long
minimum_allowed_distance
(Facultatif)

Distance la plus courte autorisée entre deux points placés de façon aléatoire. Si une valeur de "1 mètre" est indiquée, tous les points aléatoires seront éloignés de plus de 1 mètre du point le plus proche.

Field;Linear unit
create_multipoint_output
(Facultatif)

Détermine si la classe d'entités en sortie sera une entité en une seule partie ou multi-parties.

  • POINTLa sortie sera un point de type géométrie (chaque point est une entité distincte). Il s'agit de l'option par défaut.
  • MULTIPOINTLa sortie sera un multipoint de type géométrie (tous les points constituent une entité unique).
Boolean
multipoint_size
(Facultatif)

Si l'option Créer une sortie multipoint est utilisée (cochée/MULTIPOINT), ce paramètre indique le nombre de points aléatoires à placer dans chaque catégorie multipoint.

Long

Exemple de code

Exemple d'utilisation de l'outil Créer des points aléatoires (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil Créer des points aléatoires en mode immédiat :

import arcpy
arcpy.CreateRandomPoints_management("c:/data/project", "samplepoints", "c:/data/studyarea.shp", "", 500, "", "POINT", "")
Exemple d'utilisation de l'outil Créer des points aléatoires avec des valeurs aléatoires (script Python autonome)

Le script Python autonome ci-dessous illustre la création de points aléatoires avec des valeurs aléatoires :

#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")
Exemple d'utilisation de l'outil Créer des points aléatoires (script Python autonome)

Le script Python autonome ci-dessous illustre plusieurs méthodes d'utilisation de l'outil Créer des points aléatoires :

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

Environnements

Rubriques connexes

Informations de licence

ArcView : Obligatoire Spatial Analyst ou 3D Analyst
ArcEditor : Obligatoire Spatial Analyst ou 3D Analyst
ArcInfo : Oui

7/10/2012