Краткая информация
Этот сервис ArcGIS Online определяет области обслуживания сети вокруг пунктов обслуживания. Область обслуживания сети – это регион, охватывающий все улицы, которые могут быть доступны в пределах заданного расстояния или времени пути от одного или более пункта обслуживания. Например, область обслуживания 10-минутной доступности для пункта обслуживания, включает все улицы, которые находятся в пределах 10-минутной досягаемости от этого пункта.
Области обслуживания обычно используются для визуализации и измерения доступности. Например, полигон вокруг продуктового магазина для трехминутной поездки может определить жителей, которые смогут добраться до магазина в течение трех минут и, скорее всего, будут совершать в нем покупки.
Иллюстрация
Использование
Инструмент создает области времени пути, если значение параметра Break Units (Единицы граничных значений) задано в единицах времени. Соответственно, инструмент создает области на основе расстояния, если значение параметра Break Units задано в единицах расстояния. Инструмент создает области обслуживания размером до 300 минут пути или до 300 миль (482,80 км). При создании детализированных полигонов максимальный размер области обслуживания ограничен 15 минутами или 15 милями (24,14 км).
Необходимо указать как минимум один пункт обслуживания. Можно загрузить до 1,000 пунктов обслуживания.
Вы можете добавить до 250 точечных барьеров. Вы можете добавить любое количество линейных или полигональных барьеров, но линейные барьеры не могут пересекать более 500 объектов-улиц, а полигональные – более 2,000 объектов.
Вы можете использовать иерархию дорог, что позволит получить результаты быстрее, но полученное решение может быть менее точным.
Независимо от того, включен ли параметр Использовать иерархию (True), иерархия всегда используется, если максимальное граничное значение превышает 240 минут или 240 миль (386,24 км). Если выходные области обслуживания не перекрываются и генерализованы, это ограничение сокращается до 15 минут или 15 миль (24,14 км).
Если расстояние между входной точкой и ближайшей проезжей улицей больше 12,42 миль (20 км), точка исключается из анализа.
Данный инструмент предназначен для работы в ArcGIS Pro, ArcMap, ArcGlobe и ArcScene, но не в ArcCatalog.
Синтаксис
GenerateServiceAreas_naagol (Facilities, Break_Values, Break_Units, {Analysis_Region}, Travel_Direction, Time_of_Day, Use_Hierarchy, UTurn_at_Junctions, Polygons_for_Multiple_Facilities, Polygon_Overlap_Type, {Detailed_Polygons}, Polygon_Trim_Distance, Polygon_Simplification_Tolerance, Point_Barriers, {Line_Barriers}, Polygon_Barriers, Restrictions, {Attribute_Parameter_Values}, {Time_Zone_for_Time_of_Day}, {Travel_Mode}, {Impedance}, {Service_Areas})
Параметр | Объяснение | Тип данных |
Facilities | Пункты обслуживания, вокруг которых создаются области обслуживания. Можно загрузить до 1,000 пунктов обслуживания. Набор объектов-пунктов обслуживания имеет связанную таблицу атрибутов. Ниже приведены поля в таблице атрибутов с описанием. ObjectID: управляемое системой поле ID. Name: имя пункта обслуживания. Если имя не задано, оно будет автоматически создано во время расчета. Все поля из входных пунктов обслуживания включаются в выходные полигоны, когда для параметра Полигоны для нескольких пунктов обслуживания задано значение Перекрытие или Нет перекрытий. Поле ObjectID из входных пунктов обслуживания переносится в поле FacilityOID выходных полигонов. | Feature Set |
Break_Values | Определяет размер и число полигонов области обслуживания, которые нужно создать для каждого пункта обслуживания. Единицы определяются Единицами граничных значений. Для создания концентрических областей обслуживания для каждого пункта обслуживания можно использовать несколько границ полигонов. Например, чтобы определить области обслуживания для одного пункта обслуживания с расстоянием 2, 3 и 5 миль, введите 2 3 5, используя пробел в качестве разделителя, и установите для Единицы граничных значений значение Мили. На количество указываемых граничных значений ограничений нет. Размер максимального граничного значения не может превышать эквивалент 300 минут или 300 миль (482,80 км). При создании детализированных полигонов максимальный размер области обслуживания ограничен 15 минутами или 15 милями (24,14 км). | String |
Break_Units | Единицы для параметра Граничные значения. Единицы, выбранные для этого параметра, определяют, будет ли инструмент создавать области обслуживания на основе расстояния или времени пути. Выберите единицу времени для измерения продолжительности пути. Для измерения протяженности пути выберите единицу расстояния. Выбранные вами единицы инструмент будет использовать также для указания общей продолжительности или протяженности пути в результатах. Вы можете выбрать:
| String |
Analysis_Region (Дополнительный) | Укажите регион, в котором выполняется анализ. Если значение этого параметра не указано, инструмент автоматически вычислит имя региона на основе местоположения входных точек. Задание имени региона рекомендуется для увеличения скорости работы инструмента. Чтобы задать регион используйте одно из следующих значений:
| String |
Travel_Direction | Задает направление перемещения, используемое для создания полигонов области обслуживания, по направлению к пунктам обслуживания или от них.
Направление перемещения может изменять форму полигонов, так как импедансы противоположных сторон улиц могут отличаться, или могут применяться другие ограничения, например, улицы могут быть с односторонним движением. Выбираемое направление зависит от характера анализа областей обслуживания в конкретном случае. Область обслуживания для службы доставки пиццы, например, может быть создана с учетом пути от пункта обслуживания, а область обслуживания больницы должна быть создана с учетом пути к пункту обслуживания. | String |
Time_of_Day | Время отправления или прибытия для пункта обслуживания. Интерпретация этого значения зависит от того, какое направление движения задано – от пункта обслуживания или к нему.
Вы можете задать с помощью параметра Часовой пояс для времени суток (Time Zone for Time of Day), как будут указываться время и дата, в UTC или в часовом поясе, в котором находятся пункт обслуживания. Повторяя один и тот же анализ, но с разными значениями Времени суток (Time of Day), можно увидеть, как изменяется доступность пункта обслуживания с течением времени. Например, пятиминутная область обслуживания вокруг пожарной части может быть большой рано утром, затем уменьшаться в утренний час пик, снова увеличиваться и т.д. | Date |
Use_Hierarchy | Укажите, должна ли использоваться иерархия при нахождении лучшего маршрута между пунктом обслуживания и инцидентом.
Независимо от того, включен ли параметр Use Hierarchy (True), иерархия всегда используется, если максимальное граничное значение превышает 240 минут или 240 миль (386,24 км). | Boolean |
UTurn_at_Junctions |
Используйте этот параметр для запрещения или разрешения разворота на соединениях. Чтобы лучше разобраться в значениях параметров, рассмотрим следующую терминологию: соединение – это точка, где один участок улицы заканчивается и потенциально может соединяться с одним или несколькими другими сегментами; псевдо-соединение – это точка, в которой две улицы точно соединяются друг с другом; пересечение – это точка соединения трех или более улиц; а тупик – точка, в которой заканчивается один сегмент улицы, не соединяясь с другими. С учетом этой информации, параметр может иметь следующие значения:
| String |
Polygons_for_Multiple_Facilities | Выберите способ создания полигонов областей обслуживания в случае наличия в анализе нескольких пунктов обслуживания.
При использовании значений Перекрытие и Нет перекрытий, все поля из входных пунктов обслуживания включаются в выходные полигоны, с тем исключением, что значения из входного поля ObjectID переносятся в поле FacilityOID выходных полигонов. При объединении по граничным значениям поле FacilityOID имеет значение null, а входные поля не переносятся в выходные. | String |
Polygon_Overlap_Type | Указывает опцию создания концентрических полигонов обслуживания в виде кругов или колец. Этот параметр применяется только при задании нескольких граничных значений для пунктов обслуживания.
| String |
Detailed_Polygons (Дополнительный) | Определяет параметр создания генерализованных или детализированных полигонов.
Если пункты обслуживания находятся в городе с прямоугольной сетью дорог, разница между генерализованными и детализированными областями будет минимальной. Однако для пунктов обслуживания в регионах с горными и сельскими дорогами детализированные области обслуживания могут представлять существенно более точные результаты, чем генерализованные. Инструмент поддерживает генерацию подробных полигонов, только если максимальное указанное значение параметра Граничные значения меньше или равно 15 минутам или 15 милям (24,14 км). | Boolean |
Polygon_Trim_Distance | Используется для указания расстояния, в пределах которого полигон обрезается. Это удобно при поиске областей обслуживания в местах с редкой сетью дорог, когда вы не хотите, чтобы область охватывала район, в котором нет дорог. По умолчанию задано значение 100 метров. Отсутствие значения или нулевое значение для данного параметра означает, что полигоны области обслуживания не следует обрезать. При использовании иерархии значение этого параметра игнорируется. | Linear unit |
Polygon_Simplification_Tolerance | Определяет степень упрощения геометрии полигона. Упрощение не затрагивает важнейшие вершины полигона, для сохранения исходной формы, и удаляет все остальные вершины. Указываемое расстояние упрощения является максимальным допустимым смещением упрощенных границ по отношению к исходным. Упрощение полигона уменьшает количество вершин и приводит к сокращению времени отработки. | Linear unit |
Point_Barriers | Укажите одну или несколько точек, действующих в качестве временных ограничений или представляющих дополнительное время или расстояние, которые могут потребоваться для передвижения по улицам. Например, точечный барьер может быть использован для обозначения упавшего дерева или для ввода времени ожидания на железнодорожном переезде. Инструмент может накладывать до 250 ограничений, точек, добавленных в качестве барьеров. При указании точечных барьеров вы можете задать с помощью атрибутов свойства каждого из них, такие как тип барьера. Для задания свойств точечных барьеров можно использовать следующие атрибуты: Name: имя барьера. BarrierType: указывает, ограничивает ли точечный барьер перемещение полностью или добавляет время или расстояние при его пересечении. Значение этого атрибута указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Additional_Time: указывает, какое время пути добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если в качестве единиц граничных значений используются единицы измерения времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы граничных значений. Additional_Distance: указывает, какое расстояние добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если в качестве единиц граничных значений используются единицы измерения расстояния. Значение поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Единицы граничных значений. | Feature Set |
Line_Barriers (Дополнительный) | Укажите одну или несколько линий, которые запрещают передвижение там, где они пересекают улицы. Например, при помощи линейного барьера можно смоделировать маршрут парада или марша протеста, которые препятствуют движению по нескольким участкам улиц. Линейный барьер может также быстро запретить пересечение нескольких дорог, отделяя, таким образом, возможный маршрут от нежелательных участков уличной сети. Инструмент имеет ограничение числа улиц, которые можно запретить с помощью параметра Line Barriers. Хотя лимита на число линий, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми линиями, не должно превышать 500. При указании линейных барьеров вы можете задать с помощью атрибута свойство имени для каждого из них. Name: имя барьера. | Feature Set |
Polygon_Barriers | Укажите полигоны, которые либо полностью запрещают передвижение, либо пропорционально масштабируют время или расстояние, необходимое для передвижения по улицам, пересекаемым полигоном. Сервис имеет ограничение числа улиц, которые можно запретить с помощью параметра Polygon Barriers. Хотя лимита на число полигонов, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми полигонами, не должно превышать 2,000. При указании полигональных барьеров вы можете задать с помощью атрибутов свойства каждого из них, такие как тип барьера. Для задания свойств полигональных барьеров можно использовать следующие атрибуты: Name: имя барьера. BarrierType: указывает, ограничивает ли барьер перемещение полностью или масштабирует время или расстояние при прохождении по нему. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
ScaledTimeFactor: это коэффициент, на который умножается время поездки по улицам, пересекающимся с барьером. Это поле действительно только для барьеров с масштабируемой стоимостью, и только если в качестве единиц граничных значений используются единицы измерения времени. Значение поля должно быть больше нуля, а его единицы измерения должны соответствовать заданным в параметре Единицы граничных значений. ScaledDistanceFactor: это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Этот атрибут применим только для барьеров с масштабируемой стоимостью, и только если в качестве единиц граничных значений используются единицы измерения расстояния. Значение атрибута должно быть больше нуля. | Feature Set |
Restrictions | Укажите, какие ограничения на перемещение должны учитываться инструментом при определении областей обслуживания. Ограничение представляет собой предпочтение или требование во время поездки. В большинстве случаев ограничения запрещают использование тех или иных дорог. Например, использование ограничения Избегать платных дорог приведет к тому, что платные дороги будут использоваться, только если это абсолютно необходимо для подъезда к инциденту или пункту обслуживания. Ограничение по высоте позволяет прокладывать маршрут в обход всех объектов с пролетами, меньшими, чем высота транспортного средства. Если транспортное средство перевозит коррозионные вещества, применение ограничения Any Hazmat Prohibited (Вредные вещества запрещены) предотвратит перевозку таких материалов по тем дорогам, по которым это запрещено. При создании подробных полигонов, запрещенные дороги не попадают в полигоны областей обслуживания, что может привести к появлению полигонов с пробелами, по которым невозможно передвижение; однако при построении общих или иерархических областей обслуживания, запрещенные дороги, полностью окруженные разрешенными, будут перекрыты упрощенным полигоном областей обслуживания. Ниже приводится список доступных ограничений и их краткое описание. Инструмент поддерживает следующие ограничения:
| String |
Attribute_Parameter_Values (Дополнительный) | Укажите дополнительные значения, требуемые для некоторых ограничений, такие как вес транспортного средства для ограничения по весу. Вы можете использовать этот параметр, чтобы указать, является ли движение по дорогам, для которых установлено это ограничение, запрещенным, нежелательным или предпочтительным. Если ограничение означает нежелательность или предпочтительность использования дороги, вы можете дополнительно указать с помощью этого параметра степень нежелательности или предпочтительности. Например, вы можете установить для платных дорог правило никогда их не использовать, по возможности избегать или наоборот, отдавать им предпочтение. Если вы задаете параметр Значения атрибутивного параметра (Attribute Parameter Values) из класса пространственных объектов, имена полей класса пространственных объектов должны соответствовать следующим: AttributeName: указывает имя ограничения. ParameterName: указывает имя параметра, связанного с ограничением. В зависимости от целей ограничения, оно может иметь одно или несколько значений поля ParameterName. ParameterValue: значение для ParameterName, используемое инструментом при оценке ограничения. Параметр Значения атрибутивного параметра (Attribute Parameter Values) зависит от параметра Ограничения (Restrictions). Поле ParameterValue применяется, только если значением параметра Ограничения (Restrictions) является имя ограничения. В параметре Значения атрибутивного параметра (Attribute Parameter Values) каждое ограничение (AttributeName) содержит значение поля ParameterName, Использование ограничения (Restriction Usage), определяющее запрет, нежелательность или предпочтительность использования дорог, для которых установлено ограничение, а также степень нежелательности или предпочтительности использования дорог. Поле Использование ограничения (Restriction Usage) ParameterName может иметь одно из следующих строковых значений или эквивалентных числовых значений, указанных в скобках:
Как правило для поля Использование ограничения (Restriction Usage) используется значение по умолчанию, PROHIBITED, если ограничение связано с характеристиками транспортного средства, например его высотой. Однако в некоторых случаях значение поля Использование ограничения (Restriction Usage) будет зависеть от ваших предпочтений при выборе маршрута. Например, для ограничения Избегать платных дорог (Avoid Toll Roads) параметр Использование ограничения (Restriction Usage) имеет по умолчанию значение AVOID_MEDIUM. Это означает, что, при наличии данного ограничения инструмент будет по возможности избегать использования платных дорог при построении маршрута. Значение AVOID_MEDIUM также указывает, насколько важно избегать использования платных дорог при поиске лучшего маршрута: это ограничение имеет средний приоритет. При выборе AVOID_LOW исключение платных дорог из маршрута будет иметь меньшее значение, а при выборе AVOID_HIGH – большее, поэтому сервис будет создавать более длинные маршруты, чтобы по возможности избежать использования платных дорог. При выборе PROHIBITED использование платных дорог будет полностью запрещено, и сервис не сможет включать их в маршрут. Следует помнить, что в некоторых случаях целью анализа является прокладка маршрута в обход платных дорог, а в других случаях проезд по платным дорогам может быть предпочтителен, поскольку время, потраченное на движение, более ценно, чем деньги, уплаченные за проезд. В последнем случае для параметра Использование ограничения (Restriction Usage) следует выбрать значения PREFER_LOW, PREFER_MEDIUM или PREFER_HIGH. Чем выше предпочтительность, тем в большей степени маршрут будет проходить по дорогам с этим ограничением. | Record Set |
Time_Zone_for_Time_of_Day (Дополнительный) | Указывает часовой пояс или пояса параметра Время суток (Time of Day).
Вне зависимости от значения параметра Часовой пояс для времени суток (Time Zone for Time of Day) все пункты обслуживания должны быть в одном часовом поясе, когда параметр Время суток (Time of Day) имеет ненулевое значение, и параметром Полигоны для нескольких пунктов обслуживания (Polygons for Multiple Facilities) задано создание объединенных или неперекрывающихся полигонов. | String |
Travel_Mode (Дополнительный) | Выберите режим передвижения для модели анализа.
Для моделирования пользовательского режима передвижения на грузовике необходимо следовать шагам, перечисленным ниже.
Для моделирования передвижения пешком с определенными требованиями к маршруту следуйте процедуре, аналогичной моделированию передвижения на грузовике, но со следующими различиями:
| String |
Impedance (Дополнительный) | Задайте импеданс - значение, представляющее затраты или стоимость перемещения вдоль сегментов дорог или других частей транспортной сети. Расстояние перемещения – это импеданс, длина дороги в километрах рассматривается как импеданс. В этом смысле расстояние аналогично для всех режимов – километр останется километром и для пешехода, и для машины. (Что может измениться, так это пути, по которым разрешено перемещаться в различных режимах, что влияет на расстояние между точками и моделируется настройками режима передвижения.) Время передвижения также может быть импедансом. Для того, чтобы проехать милю по пустой дороге, машине может понадобиться минута. Время передвижения может зависеть от режима перемещения: ту же милю пешеход пройдет за 20 минут, – поэтому важно выбрать правильный импеданс для моделируемого режима. Выберите из следующих значений импеданса:
Значение, указанное вами для данного параметра, игнорируется, за исключением случаев, когда Режим передвижения задан как Пользовательский, который является значением по умолчанию. Если вы выбираете Время в пути на машине (Drive Time), Время в пути на грузовике (Truck Time) или Время в пути пешком (Walk Time), параметр Единицы измерения (Measurement Units) должны быть заданы, как связанные со временем; если выбираете Расстояние пути для Импеданса, Единицы измерения должны основываться на расстоянии. | String |
Service_Areas (Дополнительный) | Игнорируйте этот параметр – он предназначен только для внутреннего использования. | Feature Class |
Пример кода
Пример GenerateServiceAreas
В следующем скрипте Python показано, как использовать инструмент GenerateServiceAreas в скрипте.
import arcpy
import time
import sys
username = "<your user name>"
password = "<your password>"
sa_service = "http://logistics.arcgis.com/arcgis/services;World/ServiceAreas;{0};{1}".format(username, password)
#Add the geoprocessing service as a toolbox. Use an alias when importing
arcpy.ImportToolbox(sa_service, "agol")
#Set the variables to call the tool
facilities = r"C:/data/Inputs.gdb/Stores"
output_service_areas = "C:/data/Results.gdb/StoreServiceAreas"
#Call the tool
result = arcpy.agol.GenerateServiceAreas(facilities, "5 10 15", "Minutes")
#Check the status of the result object every 0.5 seconds
#until it has a value of 4(succeeded) or greater
while result.status < 4:
time.sleep(0.5)
#print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
print "An error occured when running the tool"
print result.getMessages(2)
sys.exit(2)
elif result_severity == 1:
print "Warnings were returned when running the tool"
print result.getMessages(1)
#Get the output routes and save to a local geodatabase
result.getOutput(0).save(output_service_areas)
Параметры среды
Этот инструмент не использует параметры среды геообработки