Решить конфликты зданий (Resolve Building Conflicts) (Картография)

Уровень лицензии:BasicStandardAdvanced

Резюме

Разрешает конфликты символов зданий относительно объектов линейных барьеров, передвигая или скрывая здания.

Более подробно о том, как работает инструмент Решить конфликты зданий (Resolve Building Conflicts).

ВниманиеВнимание:

Этот инструмент не создает новых выходных слоев, а изменяет исходные классы пространственных объектов входных слоев. Если входные слои отображаются с помощью представлений (их поведение при редактировании настроено на сохранение замещений объектов), модифицированные объекты сохраняются как объекты замещения в представлениях. Если слой не использует представления, будет изменена геометрия входных объектов. При работе с инструментами разрешения конфликтов (conflict resolution tools) рекомендуется использовать представления. В случае, если результаты оказались неудовлетворительными или если вы хотите заново запустить инструмент с другими параметрами, просто удалите замещения с помощью инструмента Удалить замещения (Remove Override). В случае, если вы не используете представления с поведением при редактировании, настроенном на сохранение замещений объектов, настоятельно рекомендуется сделать копию ваших исходных данных.

Более подробно о представлениях

ВниманиеВнимание:

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

Рисунок

Инструмент Решить конфликты зданий (Resolve Building Conflicts)
Здания до и после работы инструмента Решить конфликты зданий (Resolve Building Conflicts)

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

Синтаксис

ResolveBuildingConflicts_cartography (in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
ПараметрОбъяснениеТип данных
in_buildings
[in_buildings,...]

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

Layer
invisibility_field

Поле, в котором сохраняются значения невидимости объектов, которые могут использоваться для того, чтобы не отображать то или иное здание, что поможет решить конфликты символов. Здания, имеющие значение, равное 1, не будут отображаться; имеющие нулевое значение - будут. Для показа только видимых зданий используйте определяющий запрос слоя. Объекты не удаляются.

String
in_barriers
[[Layer, Boolean, Linear Unit],...]

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

Gap определяет расстояние, на которое могут быть подвинуты здания в направлении барьеров или в противоположную сторону. Вместе со значением должна быть указана единица измерения.

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

ПримечаниеПримечание:

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

Value Table
building_gap

Минимально допустимое расстояние между зданиями в масштабе карты. Здания, расположенные друг к другу ближе, будут смещены или скрыты, чтобы обеспечить соблюдение этого допуска. Минимально допустимое расстояние устанавливается на основании базового масштаба (то есть 15 метров в масштабе 1:50 000). Если базовый масштаб не установлен, значение равно нулю.

Linear unit
minimum_size

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

Linear unit
hierarchy_field
(дополнительно)

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

String

Пример кода

Пример 1 инструмента ResolveBuildingConflicts (окно Python)

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

import arcpy
from arcpy import env
env.workspace = "C:/data"
env.referenceScale = "50000"
arcpy.ResolveBuildingConflicts_cartography("C:/data/footprints.lyr; C:/data/bldg_points.lyr", "invisible",
                                           "'C:/data/roads.lyr' 'true' '5 Meters';'C:/data/trails.lyr' 'false' '10 Meters';'C:/data/streams.lyr' 'false' '5 Meters'",
                                           "10 meters", "15 meters", "bldg_hierarchy")
Пример 2 инструмента ResolveBuildingConflicts (автономный скрипт Python)

Этот автономный скрипт демонстрирует пример использования инструмента ResolveBuildingConflicts.

# Name: ResolveBuildingConflicts_standalone_script.py
# Description: Resolves the symbology conflicts between
#              buildings and nearby barriers,
#              in this case - roads
 
# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"

# Set local variables
in_buildings = "C:/data/footprints.lyr;C:/data/bldg_pts.lyr"
invisibility_field = "invisible"
in_barriers = "'C:/data/roads.lyr' 'true' '5 Meters';\
              'C:/data/trails.lyr' 'false' '10 Meters';\
              'C:/data/streams.lyr' 'false' '5 Meters'"
building_gap = "10 meters"
minimum_size = "15 meters"
hierarchy_field = "bldg_hierarchy"

# Execute Resolve Building Conflicts
arcpy.ResolveBuildingConflicts(in_buildings,
                               invisibility_field,
                               in_barriers,
                               building_gap,
                               minimum_size,
                               hierarchy_field)

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Нет
ArcGIS for Desktop Advanced: Да
9/11/2013