Решить конфликты дорог (Resolve Road Conflicts) (Картография)
Резюме
Разрешает конфликты графики среди обозначений объектов дорог, регулируя части сегментов линий.
Более подробно о том, как работает инструмент Решить конфликты дорог
Этот инструмент не создает новых выходных слоев, а изменяет исходные классы пространственных объектов входных слоев. Если входные слои отображаются с помощью представлений (их поведение при редактировании настроено на сохранение замещений объектов), модифицированные объекты сохраняются как объекты замещения в представлениях. Если слой не использует представления, будет изменена геометрия входных объектов. При работе с инструментами разрешения конфликтов (conflict resolution tools) рекомендуется использовать представления. В случае, если результаты оказались неудовлетворительными или если вы хотите заново запустить инструмент с другими параметрами, просто удалите замещения с помощью инструмента Удалить замещения (Remove Override). В случае, если вы не используете представления с поведением при редактировании, настроенном на сохранение замещений объектов, настоятельно рекомендуется сделать копию ваших исходных данных.
Программа выдаст предупреждение, если входные объекты не спроецированы. Этот инструмент использует линейные единицы измерения расстояний, поэтому его работа с не спроецированной системой координат может привести к некорректным результатам. Настоятельно рекомендуем вам использовать для этого инструмента спроецированные данные для получения корректных результатов. Если координатная система отсутствует или неизвестна, инструмент выдаст ошибку и прекратит работу.
Рисунок
Использование
-
Этот инструмент обычно используется для создания крупномасштабных продуктов, поскольку в крупных масштабах предпочтительным является раздельное отображение проезжих частей многополосных дорог. Для более мелких масштабов используйте инструмент Слияние фрагментов дорог (Merge Divided Roads), чтобы показать подобные объекты одной линией. Если ваш рабочий процесс включает использования обоих инструментов для одного и того же набора дорог, настоятельно рекомендуется вначале разрешить конфликты дорог.
-
Параметр Поле иерархии (Hierarchy Field) используется для указания важности каждого класса дорог. Маленькие целые значения в поле иерархии соответствуют более значимым дорогам; значение иерархии, равное 1, имеют наиболее важные дороги. Передвижение важнейших дорог будет минимизировано; дороги меньшего значения будут перемещены для обеспечения правильного положения дорог высокой иерархии. Поле иерархии должно иметь одинаковое название во всех входных классах пространственных объектов.
-
Этот инструмент работает на основе оценки графических конфликтов символов объектов. Экстент символогии и базовый масштаб рассматриваются во взаимосвязи друг с другом. Запускайте этот инструмент только после того, как закончите настройку отображения символов и убедитесь, что базовый масштаб соответствует запланированному конечному выходному масштабу.
-
Можно заблокировать объекты от их возможного сдвига, задав нулевое значение (0) параметра Поле иерархии (Hierarchy Field). Это может оказаться полезным в том случае, когда дороги не должны менять своего положения из-за их взаимоотношений с другими объектами карты; особенно это касается непрерывных данных, таких как рельеф.
Одновременная обработка большого объема данных или нескольких наборов данных может вызвать превышение ограничений использования памяти. В таком случае попытайтесь разделить входные данные на части, определив соответствующий полигональный класс пространственных объектов с помощью параметра среды +++Картографические части (Cartographic Partitions. Части данных, разделенные между собой границами, будут последовательно обрабатываться отдельно друг от друга. Полученные классы объектов будут бесшовными и единообразными между границами частей. Более подробные сведения об использовании этого инструмента в сочетании с разделением на части см. в разделе Как работает инструмент Разрешить конфликты дорог (Resolve Road Conflicts).
-
Дополнительный параметр Выходной класс сдвинутых пространственных объектов (Output Displacement Feature Class) создает класс полигональных объектов, которые показывают величину и направление имеющегося сдвига. Этот класс пространственных объектов может быть использован только для визуальной проверки, пространственных запросов или в качестве входных данных для инструмента Передать сдвиг (Propagate Displacement).
Синтаксис
Параметр | Объяснение | Тип данных |
in_layers [in_layers,...] |
Входные слои, содержащие объекты дорог, которые могут находиться в конфликте. | Layer |
hierarchy_field |
Поле содержит ранжирование объектов в зависимости от их важности, причем значение, равное 1, соответствует наиболее важным объектам; с дальнейшим увеличением числа важность объектов снижается. Значение, равное нулю, блокирует объект от возможных перемещений. Поле иерархии должно иметь одинаковое название во всех входных классах пространственных объектов. | String |
out_displacement_features (дополнительно) |
Выходные полигональные объекты, содержащие угол и направление сдвига дорог, которые могут быть использованы инструментом Распространить сдвиг для сохранения пространственных отношений. | Feature Class |
Пример кода
Приведенный ниже скрипт окна Python демонстрирует порядок непосредственного использования инструмента ResolveRoadConflicts.
import arcpy
from arcpy import env
env.workspace = "C:/data"
env.referenceScale = "50000"
arcpy.ResolveRoadConflicts_cartography("C:/data/roads.lyr;C:/data/streets.lyr;C:/data/highways.lyr",
"hierarchy", "C:/data/cartography.gdb/transportation/displace")
Этот автономный скрипт демонстрирует пример использования инструмента ResolveRoadConflicts.
# Name: ResolveRoadConflicts_standalone_script.py
# Description: Resolves symbology conflicts between roads by separating them apart from each other
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"
# Set local variables
in_layers = "C:/data/roads.lyr;C:/data/streets.lyr;C:/data/highways.lyr"
hierarchy_field = "hierarchy"
out_displacement_features = "C:/data/cartography.gdb/transportation/displace"
# Execute Resolve Road Conflicts
arcpy.ResolveRoadConflicts_cartography(in_layers, level_field, out_displacement_features)