Как работает инструмент Решить конфликты зданий (Resolve Building Conflicts)
Инструмент Решить конфликты зданий (Resolve Building Conflicts) разрешает конфликты символов, с помощью которых отображаются здания с учетом линейных объектов барьеров с помощью удаления или неотображения зданий таким образом, что они графически не перекрываются и не нарушают требований к интервалам между объектами, которые определены в картографических спецификациях.
Вопросы подготовки данных
Инструмент Решить конфликты зданий (Resolve Building Conflicts) оптимизирует отображение наборов зданий, корректируя положение, ориентацию, размер и видимость зданий. Шаблон представления и распределение сохраняются. Графические конфликты между зданиями, а также между зданиями и барьерными объектами, например, дорогами, будут разрешены. Также увеличиваются полигоны зданий маленьких размеров, для того чтобы соответствовать минимально допустимому указанному размеру.
Этот инструмент работает на основе оценки графических конфликтов символов объектов. Экстент символогии и базовый масштаб рассматриваются во взаимосвязи друг с другом. Запускайте этот инструмент только после того, как закончите настройку отображения символов и убедитесь, что базовый масштаб соответствует запланированному конечному выходному масштабу.
Примите во внимание следующие требования и рекомендации к входным данным:
Тип входных данных: входные здания должны быть точками или полигонами. Линейные здания в качестве входных объектов не допускаются. Точечные и полигональные здания могут оцениваться и обрабатываться одновременно в случае ввода пользователем более, чем одного слоя в инструмент.
Размер полигонального здания: параметр Минимальный размер здания (Minimum Building Size) используется для увеличения размеров полигональных зданий наименьших размеров до минимальных размеров, которые будут заметны в выходном масштабе или размеров, соответствующих картографическим нормативам. Входные точечные объекты в части, касаемой этого параметра, игнорируются. В процессе обработки некоторые полигональные здания могут быть уменьшены в размерах в целях разрешения конфликтов. Размер полигональных зданий не может быть, однако, меньше минимального размера зданий.
Размер точечного здания: в случае, если символы, отображающие точечные здания, имеют размеры, меньшие минимально допустимых размеров в масштабе карты, они не увеличиваются. Это объясняется тем, что точечные объекты намеренно отображаются символами таким образом, чтобы отвечать необходимым требованиям к отображению зданий на карте. Как правило, входные точечные объекты зданий отображаются с помощью символа маркера, размеры которого отвечают требованиям к минимальному размеру здания. Точечные объекты зданий вращаются и двигаются в случае необходимости в целях разрешения возможных конфликтов. Вращения точек сохраняются как замещения геометрии, если входные объекты отображаются с представлениями.
Агрегированные и упрощенные здания: для получения наилучших результатов нежелательно, чтобы входные здания были сильно агрегированы перед использованием этого инструмента. Большие агрегированные здания оставляют мало места для их перемещения в целях разрешения конфликтов, в связи с чем большой процент зданий оказываются скрытыми. Строящиеся здания могут быть упрощены до разрешения конфликтов.
Геометрия ниже допуска XY: В некоторых случаях среди данных могут встретиться пространственные объекты, размеры которых ниже допуска XY, указанного в документе карте или в параметрах среды инструмента. Если обнаружены объекты, имеющие длину меньше допуска, инструмент выдаст предупреждение, и такие объекты не будут им обрабатываться. Идентификаторы ObjectID пространственных объектов с геометрией ниже допуска записываются в файл журнала с именем вида EmptyGeom#.txt, где # – число, возрастающее с созданием каждого файла журнала.
Пустая или нулевая геометрия: Входные пространственные объекты должны иметь корректную геометрию. Если обнаружены объекты, имеющие нулевую длину, инструмент выдаст предупреждение, а эти объекты не будут приниматься во внимание инструментом. Идентификаторы ObjectID объектов с пустой или нулевой геометрией записываются в log-файл с именем вида EmptyGeom#.txt, где # – число, возрастающее с созданием каждого log-файла. При необходимости, для восстановления таких объектов можно применить инструмент Восстановить геометрию (Repair Geometry).
Расположение файлов журнала, которые создаются в случаях, когда программа выдает предупреждения или ошибки, может быть различным, в зависимости от используемой вами операционной системы:
- В системе Windows XP файлы журнала записываются в папку C:\Documents and Settings\<user name>\Application Data\ESRI\GeoProcessing.
- В системах Windows Vista и Windows 7 файлы журнала записываются в папку C:\Users\<user name>\AppData\Local\ESRI\GeoProcessing.
Рекомендации касательно рабочего процесса
Этот инструмент наиболее эффективен в случае его использования в сочетании с другими инструментами генерализации и разрешения графических конфликтов. Ниже дается несколько советов, которые помогут вам использовать эти инструменты совместно с другими в вашем рабочем процессе:
- Имейте в виду, что входные классы объектов будут изменены. Этот инструмент не создает новых выходных классов дорог, а изменяет существующие. Рассмотрите символизацию входных слоев с представлениями (с выставленной опцией сохранения замещения геометрии). Поэтому все изменения, производимые инструментом, сохраняются в качестве замещений геометрии. Если результаты работы недоступны или в случае, если вы хотите заново запустить инструмент с использованием других параметров, просто удалите замещения с помощью инструмента Удалить замещения (Remove Override) или, в качестве альтернативы, удалите замещения нескольких объектов вручную во время сессии редактирования ArcMap. Если входные слои не отрисованы с использованием представлений, сделайте копию используемых вами классов пространственных объектов перед обработкой, с тем чтобы сохранить их исходное состояние.
- Прежде всего удалите ненужные объекты. В зависимости от плотности застройки, может оказаться оптимальным предварительное удаление самых мелких и ненужных с картографической точки зрения зданий, если они не соответствуют выходному масштабу карты. Это предоставляет дополнительное место для разрешения конфликтов и обычно приводит к лучшим результатам. Такое удаление может быть произведено путем составления определяющего запроса слоя или выборки с целью удаления полигональных строений, меньших определенного размера или отвечающих другим, дополнительным критериям.
- Непосредственно установите иерархию объектов. Дополнительный параметр Hierarchy Field используется для установления сравнительной характеристики значения зданий. Более важные здания будут иметь приоритет по сравнению с менее важными. Менее важные здания могут быть перемещены или даже скрыты для обеспечения отображения более важных. Значение иерархии, равное 1, соответствует наиболее важным строениям; чем больше целое значение иерархии, тем меньше значение соответствующего здания. Для получения оптимального результата не используйте более пяти классов иерархии для набора данных. Более подробная классификация увеличивает время обработки и усложняет получение инструментом разумного результата в случае плотно распределенных зданий. Поскольку оцениваются все входные слои вместе для иерархии объектов, все слои должны содержать поле с одинаковым именем и одинаковыми значениями иерархии.
- Иерархия устанавливается автоматически. Параметр Поле иерархии (Hierarchy Field) является дополнительным для инструмента Решить конфликты зданий (Resolve Building Conflicts). Если он не указан, важность здания определяется в зависимости от его периметра и близости к барьерам. Использование периметра, а не площади здания, объясняется желанием сделать акцент на зданиях, которые были специально отображены с высокой детальностью. Имейте это в виду, если вы решите упростить контуры здания перед разрешением конфликтов. Большие здания, находящиеся близко к нескольким барьерам оцениваются, как более важные по сравнению со зданиями меньших размеров, располагающимися далеко от барьера. Параметр Поле иерархии (Hierarchy Field может быть эффективно использован в случае частичного заполнения значений в поле Иерархия; важнейшим зданиям может быть присвоен атрибут значения иерархии, а сравнительная иерархия остальных объектов (с пустыми значениями) будет вычислена инструментом.
- Принудительное сохранение видимости определенных объектов. При значении иерархии, равном нулю, принудительно отображаются объекты, если они не помечены флажком в поле "Невидимость". Такие здания считаются имеющими важное местное значение, в связи с чем видимость и расположение близлежащих зданий могут быть изменены в большей степени, нежели это бы имело место в случае отсутствия принудительной прорисовки зданий. Здания, имеющие значение иерархии, равное нулю, все равно могут быть трансформированы (подвинуты, повернуты, изменены в размерах) в целях разрешения конфликтов и обеспечения соответствия другим необходимым параметрам.
- Определите объекты барьеров. Параметр Входные слои барьеров (Input Barrier Layers) перечисляет линейные или полигональные слои, ограничивающие территории, внутри которых местоположение зданий может быть изменено. Слои дорог обычно используются, для того чтобы предотвратить перемещение зданий через дороги. Должен быть указан как минимум один слой барьеров, однако, допускается указание нескольких слоев. Необходимо понимать, что чем больше барьер ограничивает место вокруг здания, тем сложнее инструменту найти подходящее разрешение конфликта.
- Ориентируйте строения по слоям барьеров. Здания могут быть опционально выравнены своими фасадами относительно объектов барьеров. К примеру, здания могут быть выравнены относительно ближайших дорог. Если значение параметра Ориентация слоя барьеров (Barrier Layer Orient) истинно (равно TRUE), все здания, отвечающие требованиям относительно их размеров и близости, ориентируются с учетом положения объектов этого слоя барьеров. Если этот параметр равен FALSE (ложь), никакого выравнивания не происходит, однако, близлежащие объекты могут быть случайным образом немного повернуты с целью разрешения конфликтов.
- Требования к размеру: ориентация всех точечных зданий, а также полигональных зданий, соответствующих значению параметра Минимальный допустимый размер здания (Minimum Allowable Building Size) (т. е. имеющих размеры обеих сторон ограничивающего прямоугольника, меньшие или равные этому значению), может быть изменена. Включая и те здания, размеры которых были увеличены до минимально допустимого значения размера здания. Ориентация больших зданий не меняется. Ориентация зданий, которые принудительно отображаются (значение иерархии равно нулю), изменяется только в том случае, если они отвечают требованиям к размерам зданий.
- Требования к близости: только здания, находящиеся в пределах расстояния от барьерного объекта, равного двукратному минимально допустимому размеру здания, могут быть отобраны для изменения их ориентации. Это расстояние измеряется от края символа, отображающего здание, до края символа барьерного объекта.
- Двигайте здания с учетом особенностей барьеров. Расстояние между зданиями и барьерами можно также контролировать с помощью параметра +++Допуск слоя барьеров (Barrier Layer Gap). Это значение определяет минимальное расстояние, на котором все здания должны находиться от барьерных объектов. Все здания, графически отображающиеся ближе к барьерному объекту, чем значение параметра Допуск слоя барьеров, выносятся наружу таким образом, чтобы соблюдался допуск. Здания не сдвигаются ближе к барьеру, чтобы соответствовать этому допуску (если только это движение не является необходимым для разрешения конфликта). Управление расстояниями осуществляется с помощью установки Допуска слоя барьеров следующим образом:
- Промежуток равен нулю: здания замыкаются непосредственно на графическое ребро барьерного объекта. Здания, имеющие часть, находящуюся в пределах расстояния, равного Минимальному допустимому размеру здания (Minimum Allowable Building Size), от графического экстента барьерного объекта, притягиваются к краю соответствующего барьера. Здания, касающиеся или перекрывающие барьерный объект, притягиваются к краю соответствующего барьера.
- Промежуток больше нуля: здания отодвигаются от барьера настолько, насколько это необходимо до достижения нужного расстояния.
- Промежуток равен нулю: здания не двигаются относительно барьера, за исключением случаев, обусловленных урегулированием конфликтов. Это значение по умолчанию.
- Удалите маскированные объекты из отображения. Маскированные здания управляются параметром Поле невидимости (Invisibility Field). Зданиям, которые с точки зрения алгоритма инструмента не должны отображаться в целях разрешения конфликтов, присваивается значение невидимости, равное 1. Тем зданиям, которые должны отображаться, присваивается нулевое значение. Для того чтобы изменить видимость объекта, просто поменяйте значение в поле невидимости. Чтобы отобразить нужные объекты на карте, укажите для слоя определяющий запрос, чтобы показать только видимые строения (значение параметра Поле невидимости (Invisibility field) = 0).
- Проверка результатов. Инструмент Выявить конфликты графики (Detect Graphic Conflict) можно использовать для выявления территорий, для которых инструмент не разрешил конфликты. Запустите этот инструмент с указанием расстояния чуть меньше допуска для идентификации территорий, в пределах которых инструмент не смог соблюсти допуск.
- Чтобы оценить окончательный размер зданий, добавьте поле типа float или double с именем RBC_SIZE к любому входному классу объектов-зданий. По окончании работы инструмента это поле будет заполнено значениями длин коротких сторон повернутых описанных вокруг соответствующего объекта прямоугольников. Значения в этом поле – лучший способ определить, какие объекты были увеличены в целях их соответствия значению Минимальный допустимый размер здания (Minimum Allowable Building Size). Если выходные объекты сохранены как объекты замещения, это значение будет отражать размер объекта замещения. Если входные объекты имеют точечную геометрию, значение в этом поле отражает размер точечного символа в единицах базового масштаба карты.
Разделение больших наборов данных
Этот инструмент, прежде чем определять конечное состояние каждого из пространственных объектов, принимает во внимание также и смежные с ним объекты. На вход могут подаваться несколько наборов данных сразу, в этом случае все они будут обрабатываться одновременно. При использовании большого объема входных данных (или большого количества отдельных слоев) может произойти превышение ограничений использования оперативной памяти. Для того, чтобы обойти эти ограничения, можно активировать разделение данных при работе с этим инструментом, указав класс объектов раздела в параметре среды геообработки Картографические разделы (Cartographic Partitions). Разделение позволяет инструменту обрабатывать данные последовательно по небольшим удобным частям. Инструмент принимает на вход пространственные объекты, ограниченные одним из полигонов раздела, а также дополнительные данные из буферной зоны вокруг него. По мере работы инструмента, все остальные данные также поступают в обработку. Таким образом, поддерживается целостность всех объектов, попавших на границу раздела, и бесшовность полученного в результате класса объектов.
Если конфликты зданий разрешаются путем разделения на части, изменяются только здания, изначально находившиеся в пределах или на границе соответствующей части. Инструмент вносит такие изменения, как изменение размеров, поворот, перемещение или скрытие. Здание может даже быть вынесено за пределы части. Барьеры и здания в буферной зоне вокруг части будут учитываться при обработке зданий, находящихся в части, но не будут изменяться.