Краткая информация
Загружает участвующие в топологии линейные и полигональные пространственные объекты в целевой набор данных участков. Для топологии требуется предопределенный набор правил топологии:
- Линия – Должна перекрываться границей (полигона)
- Линия – Не должна перекрывать саму себя
- Линия – Не должна пересекать саму себя
- Линия – Должна быть простой
- Линия – Не должна пересекать или соприкасаться с внутренней границей
- Полигон – Граница должна перекрываться (линией)
Использование
Ошибки, генерируемые полигоном – правило топологии Граница должна перекрываться (линией) (Boundary Must be Covered By (Line)) можно пометить как исключения. Это позволит переносить линии подключений, незамкнутые участки и зависимые линии.
Вы можете либо загрузить весь класс линейных объектов или класс полигональных объектов, либо только выбранные линейные и полигональные объекты. При загрузке больших наборов данных, производительность будет зависеть от особенностей памяти вашего компьютера. Этот инструмент лучше всего использовать для загрузки небольших и средних областей или разделов данных участков по одному.
Топологию необходимо проверить, очистить и устранить ошибки для полигональных и линейных объектов, чтобы перенести ее в набор данных участков. Если редактирование делается для исправления ошибок топологии, проверьте топологию снова, чтобы убедиться, что ошибки больше нет, перед тем, как запускать этот инструмент.
Чтобы проверить всю топологию, используйте инструмент Проверить топологию (Validate Topology), расположенный в группе инструментов Топология (Topology) набора инструментов Управление данными (Data Management).
Вместо проверки всей топологии проверьте текущий экстент отображения карты в ArcMap, нажав инструмент Проверить топологию в текущем экстенте (Validate Topology In Current Extent) на панели инструментов Топология (Topology).
Линейный или полигональный класс объектов может использоваться в качестве параметра Входной класс (топологических) объектов (Input (Topology) Feature Class). Если в ArcMap есть выборка в векторном слое входного класса объектов, будут перенесены только выбранные пространственные объекты. Если класс линейных объектов используется как входной класс объектов, все выбранные линии, которые не формируют петли (висячие линии), соответствующие полигону в классе полигональных объектов, будут перенесены как части незамкнутых участков. Если в классе линейных объектов есть поле Категория (Category), для висячих линий можно установить значение категории 3, чтобы представить линии подключений, или 1, чтобы представить зависимые линии.
Атрибуты COGO не требуются в классе линейных объектов. Если на линиях участков нет атрибутов COGO, то есть линии участков были созданы из полигонов, импортер создаст атрибуты COGO из геометрии линий. Если есть атрибуты COGO, инструмент перенесет существующие атрибуты COGO в линии набора данных участков.
Можно заполнить системные атрибуты в таблицах набора данных участков, используя атрибуты классов полигональных и линейных объектов исходного участка. Например, чтобы можно было перенести идентификационные номера участков (PINs) в поле Имя (Name) таблицы набора данных участков, класс полигонального объекта исходного участка должен иметь атрибут PIN, NAME, LOT или APN.
Более подробно о заполнении системных атрибутов в таблицах набора данных участков
Если класс линейных объектов используется как входной класс объектов для переноса незамкнутых участков, можно заполнить системные атрибуты в таблицах участков, используя атрибуты класса линейных объектов исходного участка. Например, чтобы можно было перенести идентификационный номер участка (PIN) для незамкнутого участка, класс линейного объекта исходного участка должен иметь атрибут PIN, NAME, LOT или APN.
Более подробно о заполнении системных атрибутов в таблицах набора данных участков
Определенные пользователем атрибуты классов полигональных и линейных объектов могут быть перенесены в таблицы участков и линий набора данных участков, предусматривающие, что те же определенные пользователем атрибуты создаются в таблице таблиц набора данных участков до перенесения данных.
Укажите класс точечных объектов для параметра Входные точечные объекты (дополнительно) (Input Point Features (optional)), если вы хотите перенести определенные пользователем атрибуты в классе точечных объектов в таблицу точек набора данных участков. Тот же определенный пользователем атрибут должен быть создан в таблице точек набора данных участков до переноса, чтобы атрибутивные значения были успешно перенесены.
При переносе данных в набор данных участков, точки набора данных участков автоматически создаются в конечных точках линий участков. Значения системных атрибутов X и Y точек набора данных участков автоматически заполняются точечными координатами формы. Точечные объекты определяются только в этом параметре для переноса определенных пользователем атрибутов в таблицу точек набора данных участков. Как и в случае с полигональными и линейными объектами, если есть выборка на векторном слое точек, будут перенесены только выбранные точки.
Минимальное число линейных сегментов (дополнительно) (Minimum Line String Segment Count (optional)) – это минимальное число линейных сегментов, которые может иметь линейный объект до того, как он будет рассматриваться как линейный примитив или естественная граница.
Если для дополнительного параметра Допуск контроля сопоставления (дополнительно) (Control Match Tolerance (optional)) задан допуск, все перенесенные точки набора данных участков, расположенные в пределах определенного допуска сопоставления существующей контрольной точки в наборе данных участков, будут связаны с контрольной точкой.
Если отмечена опция Импортировать участки как несоединенную группу (Import Parcels as Unjoined Group), участки переносятся как несоединенные группы. Несоединенные участки существуют вне набора данных участков в их собственном локальном координатном пространстве. Несоединенные участки в любое время можно присоединить к набору данных участков. Вам понадобится перенести участки как несоединенные, если потребуется дополнительная работа на участках до того, как они будут соединены со слоем набора данных участков.
Синтаксис
LoadTopologyToParcelFabric_fabric (target_parcel_fabric, in_topology_class, {in_point_class}, {linestring_minimum_segments}, {control_match_tolerance}, unjoined_group, {direction_units}, {direction_type}, compute_area, {area_units}, {radial_point_tolerance}, {accuracy_units})
Параметр | Объяснение | Тип данных |
target_parcel_fabric | Целевой набор данных участков, куда будут перенесены данные. | Parcel Fabric Layer |
in_topology_class | Входной класс объектов или слой, являющийся частью топологии. Класс пространственных объектов может быть линейным или полигональным. | Feature Layer |
in_point_class (дополнительно) | Входной класс точечных объектов или слой. Класс точечных объектов не обязательно должен быть частью топологии. Только определенные пользователем атрибуты входного класса точечных объектов будут перенесены в соответствующие точки набора данных участков. | Feature Layer |
linestring_minimum_segments (дополнительно) | Минимальное число сегментов, которое может иметь полилинейный объект до того, как он будет рассматриваться и переноситься как линейный примитив или естественная граница в наборе данных участков. Минимальное число по умолчанию – 10 сегментов. | Long |
control_match_tolerance (дополнительно) | Допуск, в соответствии с которым новые, перенесенные точки набора данных участков связываются с существующими контрольными точками, находящимися в наборе данных участков. Единицы длины допуска такие же, как единицы длины системы координат набора данных участков. Если не задан допуск контроля сопоставления, используется значение по умолчанию, равное 0,1 метра. | Linear unit |
unjoined_group | Определяет, как будут переноситься пространственные объекты.
| Boolean |
direction_units (дополнительно) | Единицы направления, которые будут использоваться при создании атрибутов склонения COGO для линейных объектов в процессе переноса.
| String |
direction_type (дополнительно) | Тип направления, который будет использоваться при создании атрибутов склонения COGO для линейных объектов в процессе переноса.
| String |
compute_area | Определяет, как будут переноситься пространственные объекты.
| Boolean |
area_units (дополнительно) | Если отмечена опция Вычислить площадь для новых участков (Compute Area for New Parcels), выберите единицы площади, которые будут использоваться при вычислении площади участка в процессе переноса.
| String |
radial_point_tolerance (дополнительно) | Допуск, в котором новые, вычисленные центры кривой соответствуют существующим центрам кривой, находящимся в наборе данных участков. Кроме того, если несколько вычисленных центров кривой лежат в пределах этого допуска, они округляются и объединяются в один центр. Если не задан радиальный допуск, используется значение по умолчанию 0,5 метра. | Linear unit |
accuracy_units (дополнительно) | Категория точности линий и полигонов, которые переносятся. Категории точности определяются по дате обследования в наборе данных участков. Категория точности 1 – самая высшая точность данных (недавно обследованные), а категория точности 6 – наименьшая точность данных (1800 год и ранее). Категории точности используются при трансформации наборов данных участков.
| String |
Пример кода
Загрузить топологию в набор данных участков (Load A Topology To A Parcel Fabric). Пример 1 (окно Python)
Представленный скрипт окна Python демонстрирует порядок непосредственного использования инструмента Загрузить топологию в набор данных участков (Load A Topology To A Parcel Fabric).
import arcpy
arcpy.env.workspace = "C:/Parcel_Editor_Tutorial/Encinitas_City/Cadastral.gdb"
arcpy.LoadTopologyToParcelFabric_fabric("NewFabric", "Enc_polgon", "", "100", "0.5",
"JOINED_GROUP", "DEGREES_MINUTES_SECONDS",
"NORTH AZIMUTH", "COMPUTE_AREA", "HECTARES",
"1", "3 - 1908 to 1980")
Загрузить топологию в набор данных участков (Load A Topology To A Parcel Fabric). Пример 2 (автономный скрипт Python)
Представленный автономный скрипт демонстрирует порядок итерации и загрузки выбранных групп участков с помощью инструмента Загрузить топологию в набор данных участков (Load A Topology To A Parcel Fabric).
# Name: LoadTopologyToParcelFabric_Example2.py
# Description: Iterates through selections of parcels and imports each parcel selection
# into a parcel fabric. Parcels are selected using overlying blocks in the
# IterateBlocks feature class. Each polygon in IterateBlock is selected
# by block number in the "BlockNumber" attribute field.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "c:/data/OaklandCounty.gdb/ParcelData"
# Set variables
# BlockNumber is an attribute on the ItearateBlocks feature class
x = 1
whereclause = '%s = %s' % ("BlockNumber", x)
# Make feature layers from feature classes
arcpy.MakeFeatureLayer_management("c:/data/OaklandCounty.gdb/ParcelData/IterateBlock", "IterateBlock_lyr")
arcpy.MakeFeatureLayer_management("c:/data/OaklandCounty.gdb/ParcelData/TaxParcelPolygons",
"TaxParcelPoly_lyr")
# Search feature class IterateBlock and obtain all features (block polygons)
rows = arcpy.SearchCursor("IterateBlock")
# Iterate and select each block. For each selected block, select underlying parcels
# and import selected parcels
for row in rows:
arcpy.SelectLayerByAttribute_management("IterateBlock_lyr", "NEW_SELECTION", whereclause)
arcpy.SelectLayerByLocation_management("TaxParcelPoly_lyr", "COMPLETELY_WITHIN", "IterateBlock_lyr",
"", "NEW_SELECTION")
arcpy.LoadTopologyToParcelFabric_fabric("CountyFabric", "TaxParcelPoly_lyr", "", "100", "", "JOINED_GROUP",
"DEGREES_MINUTES_SECONDS", "NORTH_AZIMUTH", "COMPUTE_AREA",
"HECTARES", "0.5", "4_1881_TO_1907")
x += 1
whereclause = '%s = %s' % ("BlockNumber", x)
# Since we only imported parcels that were completely within the IterateBlock polygons, we
# now need to import the perimeter parcels that are crossed by the boundary of the IterateBlock polygons
# Clear existing selection on IterateBlock_lyr
arcpy.SelectLayerByAttribute_management("IterateBlock_lyr", "CLEAR_SELECTION")
arcpy.SelectLayerByLocation_management("TaxParcelPoly_lyr", "CROSSED_BY_THE_OUTLINE_OF", "IterateBlock_lyr",
"", "NEW_SELECTION")
arcpy.LoadTopologyToParcelFabric_fabric("CountyFabric","TaxParcelPoly_lyr", "", "100", "", "JOINED_GROUP",
"DEGREES_MINUTES_SECONDS", "NORTH_AZIMUTH", "COMPUTE_AREA",
"HECTARES", "0.5", "4_1881_TO_1907")
Параметры среды
Информация о лицензировании
- ArcGIS for Desktop Basic: Нет
- ArcGIS for Desktop Standard: Да
- ArcGIS for Desktop Advanced: Да