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

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

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

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

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

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

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

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

  • Система координат выходного класса пространственных объектов будет системой координат

    • Ограничивающий класс пространственных объектов, если указан
    • Фрейм данных карты, если на карте задан ограничивающий экстент, использующий слой карты или путь к классу пространственных объектов
    • Класс пространственных объектов, если в Python задан ограничивающий экстент использующий путь к классу пространственных объектов
    • Выходная система координат среды геообработки, если задана (и если замещает все остальные поведения описанные выше)
    • Неизвестен, если не применяется ничего из вышеперечисленного

  • Чтобы присвоить случайные значения произвольно расположенным точкам, сначала создайте произвольно расположенные точки с помощью этого инструмента. Во-вторых, используйте инструмент Добавить поле для создания нового числового поля в классе произвольно расположенных точек. Предлагаемый тип полей – длинное целое или с плавающей точкой. В-третьих, используйте инструмент Вычислить поле, чтобы добавить случайные значения в пустое поле класса произвольно расположенных точек. Для получения случайного целого числа между a и b (включительно), используйте выражение Python random.randint(a,b). Для получения случайного числа с плавающей точкой между a и b (не включая пограничные значения), воспользуйтесь выражением Python random.uniform(a,b). В блоке кода, импортируйте модуль случайных чисел, используя выражение import random.

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

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

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

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

  • Использование точечных объектов как ограничивающего класса пространственных объектов создаст случайный поднабор ограничивающих точечных объектов. Новые точечные местоположения не создаются.

  • Нецелочисленные (целые) положительные значения параметров Число точек и Минимально допустимое расстояние будут округлены до ближайшего целого числа. Нечисловые и отрицательные значения будут установлены на 0.

Параметры

ПодписьОписаниеТип данных
Выходное местоположение

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

Feature Dataset;Workspace
Выходной класс точечных объектов

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

String
Ограничивающий класс пространственных объектов
(Дополнительный)

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

Feature Layer
Ограничивающий экстент
(Дополнительный)

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

Extent;Feature Layer;Raster Layer
Число точек [значение или поле]
(Дополнительный)

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

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

Field; Long
Минимально допустимое расстояние
(Дополнительный)

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

Field; Linear Unit
Построить выходные данные Мультиточки
(Дополнительный)

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

  • Не отмечено: результатом будет геометрия точечного типа (каждая точка – отдельный объект). Используется по умолчанию.
  • Отмечено: результатом будет геометрия мультиточечного типа (все точки: единый объект).
Boolean
Максимальное количество точек на один объект-мультиточку
(Дополнительный)

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

Long

Производные выходные данные

ПодписьОписаниеТип данных
Выходной класс пространственных объектов

Выходной класс объектов случайных точек.

Класс пространственных объектов

arcpy.management.CreateRandomPoints(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, укажите число произвольно расположенных точек, которые должны быть размещены в каждом мультиточечном объекте. Значение по умолчанию равно 10.

Long

Производные выходные данные

ИмяОписаниеТип данных
out_feature_class

Выходной класс объектов случайных точек.

Класс пространственных объектов

Пример кода

CreateRandomPoints, пример 1 (окно Python)

Пример скрипта Python для использования инструмента CreateRandomPoints в режиме прямого запуска.

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

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

# Name: RandomPointsRandomValues.py
# Purpose: create random points with random values
# Import system modules
import arcpy
# 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
arcpy.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 демонстрируются различные методы использования инструмента CreateRandomPoints.

# Name: RandomPoints.py
# Purpose: create several types of random points feature classes
# Import system modules
import arcpy
# set environment settings
arcpy.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"
arcpy.env.outputCoordinateSystem = "Coordinate Systems/Projected Coordinate Systems/World/Miller Cylindrical (world).prj"
arcpy.CreateRandomPoints_management(outFolder, outName, "", numExtent, numPoints)
arcpy.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)

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

  • Basic: Обязательно 3D Analyst или Spatial Analyst
  • Standard: Обязательно 3D Analyst или Spatial Analyst
  • Advanced: Да

Связанные разделы