Создать произвольно расположенные точки (Управление данными (Data Management))

Уровень лицензии:BasicStandardAdvanced

Краткая информация

Создает указанное количество случайно расположенных точечных объектов. Произвольно расположенные точки могут быть созданы в окне экстента, внутри полигональных объектов, на точечных объектах или вдоль линейных объектов.

Более подробно о том, как работает инструмент Создать произвольно расположенные точки (Create Random Points)

Использование

Синтаксис

CreateRandomPoints_management (out_path, out_name, {constraining_feature_class}, {constraining_extent}, {number_of_points_or_field}, {minimum_allowed_distance}, {create_multipoint_output}, {multipoint_size})
ПараметрОбъяснениеТип данных
out_path

Местоположение или рабочая область, в которой будет создан класс пространственных объектов со случайными точками. Местоположение или рабочая область должны уже существовать.

Feature Dataset;Workspace
out_name

Имя класса пространственных объектов со случайными точками, который будет создан.

String
constraining_feature_class
(дополнительно)

Случайные точки будут созданы внутри или на границах пространственных объектов в этом классе пространственных объектов. Ограничивающий класс объектов может представлять собой точку, мультиточку, линию или полигон. Точки будут размещены в случайном порядке внутри полигональных объектов вместе с линейными объектами или в местах расположения точечных объектов. В каждом объекте этого класса пространственных объектов будет создано определенное количество точек (например, если вы указываете 100 точек, а в ограничивающем классе объектов содержится 5 объектов, то в каждом объекте будет создано по 100 случайных точек – в общей сумме 500 точек).

Feature Layer
constraining_extent
(дополнительно)

Произвольно расположенные точки будут созданы внутри экстента. Ограничивающий экстент будет использоваться, только если не задан ограничивающий класс пространственных объектов.

Extent;Feature Layer;Raster Layer
number_of_points_or_field
(дополнительно)

Количество произвольно расположенных точек, которые будут созданы.

Количество точек может быть задано как длинное целое число или как поле из ограничивающих пространственных объектов, содержащих числовые значения для того, как много случайных точек будут размещены в пределах каждого объекта. Опция поля является корректной только для полигональных и линейных ограничивающих объектов. Если количество точек задано числом, для каждого пространственного объекта в ограничивающем классе пространственных объектов будет создано это количество произвольных точек, расположенных внутри его или на границах.

Field;Long
minimum_allowed_distance
(дополнительно)

Наикратчайшее допустимое расстояние между любыми двумя произвольно размещенными точками. Если задано значение «1 метр», все случайные точки будут дальше, чем на 1 метр, отстоять от ближайшей точки.

Field;Linear unit
create_multipoint_output
(дополнительно)

Определяет, будет ли выходной класс объектов составным или состоящим из одной части объектом.

  • ТОЧКА (POINT)Результатом будет геометрия точечного типа (каждая точка – отдельный объект). Это значение используется по умолчанию.
  • MULTIPOINTРезультатом будет геометрия мультиточечного типа (все точки – единый объект).
Boolean
multipoint_size
(дополнительно)

Если используется опция Создать мультиточечные выходные данные (Create Multipoint Output) (отмечено/MULTIPOINT), этот параметр задает количество случайных точек, которые будут помещены в каждую мультиточечную геометрию.

Long

Пример кода

CreateRandomPoints. Пример 1 (окно Python)

В следующем скрипте окна Python демонстрируется, как использовать инструмент Создать произвольно расположенные точки (CreateRandomPoints) с запуском из окна Python в ArcGIS:

import arcpy
arcpy.CreateRandomPoints_management("c:/data/project", "samplepoints", "c:/data/studyarea.shp", "", 500, "", "POINT", "")
CreateRandomPoints with Random Values. Пример 2 (автономный скрипт Python)

На следующем автономном скрипте Python демонстрируется, как создавать произвольно расположенные точки со случайными значениями:

#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")
CreateRandomPoints. Пример 3 (автономный скрипт Python)

В следующем автономном скрипте Python демонстрируются различные методы использования инструмента Создать произвольно расположенные точки (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)

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует Дополнительный модуль 3D Analyst или Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль 3D Analyst или Spatial Analyst
ArcGIS for Desktop Advanced: Да
5/10/2014