Выявить конфликты графики (Картография)
Резюме
Создает полигоны, в пределах которых существует два и более графического конфликта отображения объектов.
Рисунок
Использование
-
Инструмент оценивает именно конфликты между символами, а не геометрию. Входной слой и конфликтный слой могут совпадать.
Входные слои могут отображаться стандартными символами или с помощью представлений. Входные слои могут включать класс объектов-аннотаций, в том числе замену символов. Шейп-файлы, покрытия и слои САПР также являются допустимыми входными данными.
Недопустимыми для данного инструмента являются следующие входные данные: аннотации САПР, покрытия и VPF, размеры, графики, плотности точек или градуированные символы, растровые слои, слои сетевого анализа и трехмерные символы.
Выходной класс объектов хранит полигоны, которые представляют области графических конфликтов между входными и конфликтующими представлениями. Идентификаторы ID объектов, связанные с двумя конфликтными представлениями, хранятся вместе с полигонами конфликтов в полях FID_<имя_входного_слоя> и FID_<имя_конфликтующего_слоя>. Если конфликтующий слой совпадает с входным слоем, второе поле получает имя FID_<имя_входного_слоя>_1. Если конфликты графики не обнаружены, выходной класс объектов будет пустым.
-
Используйте параметр Допуск конфликта (Conflict Distance) для определения территорий, в пределах которых входные и конфликтующие с ними представления находятся друг к другу ближе, чем это имеет место в действительности. Вокруг символов создаются временные буферные зоны, размеры которых составляют половину значения допуска конфликта. Полигоны конфликтных зон будут созданы во всех местах пересечения буферов. Если значение допуска конфликта равно нулю, конфликты выявляются во всех местах пересечения символов отображения объектов; это значение по умолчанию. Вычисление конфликтов основывается на базовом масштабе. Если вы откроете этот инструмент из ArcMap, будет использован базовый масштаб фрейма данных, который содержит входные слои, если только базовый масштаб не был установлен в Параметрах среды. Эта настройка параметров среды должна быть указана в случае запуска инструмента из ArcCatalog.
-
Используйте параметр Допуск при соединении линий (Line Connection Allowance) для пропуска перекрывающихся символов на сходящихся концах линий. Это полезно в случаях, когда вы используете концевые штрихи, чтобы соединения линий были визуально представлены, но вы не хотите, чтобы каждый из этих случаев был определен как конфликт. Допуск при соединении линий выставляется в единицах страницы с учетом базового масштаба. Допуск при соединении линий равен радиусу окружности, центр которой находится в точке соединения линий и в пределах которой не будут выявлены графические пересечения. Используйте значение, равное, как минимум, половине ширины линии символа вашего линейного представления, чтобы эти конфликты были пропущены. Значение, равное 0, обозначает отсутствие допуска конфликта, поэтому конфликт будет выявлен на каждой линии, соединенной таким образом. Этот параметр учитывается только в случае, когда входной слой и слой конфликтов идентичны.
Этот инструмент работает на основе оценки графических конфликтов символов объектов. Экстент символогии и базовый масштаб рассматриваются во взаимосвязи друг с другом. Запускайте этот инструмент только после того, как закончите настройку отображения символов и убедитесь, что базовый масштаб соответствует запланированному конечному выходному масштабу.
- Обработка больших наборов входных данных может вызвать превышение ограничений использования оперативной памяти. В этом случае следует обработать входные данные (разделенные), определив соответствующий класс полигональных объектов в параметре среды Картографические разделы (Cartographic Partitions). Части данных, разделенные между собой границами, будут последовательно обрабатываться отдельно друг от друга. Выходной класс объектов конфликтующих полигонов будет обрезан по краям полигонов.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входной слой объектов, содержащий объекты, отображающиеся с помощью символов. Аннотации CAD, покрытия и VPF, размеры, графики, плотности точек или градуированные символы, растровые слои, слои сетевого анализа и трехмерные символы не являются допустимыми входными данными. | Layer |
conflict_features |
Входной векторный слой, содержащий объекты, отображаемые с помощью символов. | Layer |
out_feature_class |
Выходной класс пространственных объектов, который будет создан для хранения полигонов конфликтов. Выходной слой не может быть одним из классов пространственных объектов, связанных с входными слоями. | Feature Class |
conflict_distance (дополнительно) |
Устанавливает допуск конфликта. Вокруг символов, используемых для отображения объектов, во входных слоях и слоях с конфликтами создаются временные буферы, размер которых равен половине значения допуска конфликта. Полигоны конфликтов будут созданы в местах пересечения этих буферов. Допуск конфликта измеряется в единицах страницы (точки, дюймы, миллиметры, сантиметры). Если вы введете допуск конфликта в единицах карты, они будут переведены в единицы страницы с учетом базового масштаба. Значение допуска конфликта по умолчанию равно 0; в этом случае буферы не строятся, а конфликты фиксируются только в местах непосредственного пересечения символов. | Linear unit |
line_connection_allowance (дополнительно) |
Радиус окружности, центр которой находится в точке соединения линий и в пределах которой не будут выявлены графические пересечения. Этот параметр учитывается только в случае, когда входной слой и слой конфликтов идентичны. Нулевой допуск приведет к обнаружению конфликта во всех местах соединения линий (в случае перекрытия символов на концах линий). Допуск при соединении линий вычисляется в единицах страницы (точки, дюймы, миллиметры, сантиметры). Если вы введете допуск конфликта в единицах карты, они будут переведены в единицы страницы с учетом базового масштаба. Значение не может быть отрицательным числом; значение по умолчанию - 1 точка. | Linear unit |
Пример кода
Представленный скрипт окна Python демонстрирует порядок непосредственного использования инструмента DetectGraphicConflict.
import arcpy
from arcpy import env
env.workspace = "C:/data/cartography.gdb/buildings"
env.referenceScale = "50000"
arcpy.DetectGraphicConflict_cartography("footprints.lyr", "roads.lyr",
"C:/data/cartography.gdb/buildings/dgc_polys",
"25 meters", "0 meters")
Этот автономный скрипт демонстрирует пример использования инструмента DetectGraphicConflict.
# Name: DetectGraphicConflict_standalone_script.py
# Description: Detects graphic conflicts between
# feature representations and stores
# the overlaps as polygons in
# the output feature class.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/cartography.gdb/buildings"
env.referenceScale = "50000"
# Set local variables
in_features = "footprints.lyr"
conflict_features = "roads.lyr"
out_feature_class = "C:/data/carto.gdb/buildings/dgc_polys"
conflict_distance = "25 meters"
line_connection_allowance = "0 meters"
# Execute Detect Graphic Conflict
arcpy.DetectGraphicConflict(in_features,
conflict_features,
out_feature_class,
conflict_distance,
line_connection_allowance)