Сводка
Загружает участвующие в топологии линейные и полигональные пространственные объекты в целевой набор данных участков. Для топологии требуется предопределенный набор правил топологии:
- Линия – должна перекрываться границей (полигона)
- Линия – не должна перекрывать саму себя
- Линия – не должна пересекать саму себя
- Линия – не должна быть простой
- Линия – не должна пересекать или соприкасаться с внутренней границей
- Полигон – Граница должна перекрываться (линией)
Использование
Ошибки, генерируемые полигоном – правило топологии Граница должна перекрываться (линией) можно пометить как исключения. Это позволяет загружать линии подключений, незамкнутые участки и зависимые линии.
Вы можете загрузить весь набор данных или выборку объектов. При загрузке больших наборов данных, производительность будет зависеть от особенностей памяти вашего компьютера. Этот инструмент лучше всего использовать для загрузки разделов данных участков по одному.
При загрузке топологии в набор данных участков с уже существующими участками, происходит слияние новых и существующих точек участков, находящихся в пределах допуска, равного 2 × допуск XY набора классов объектов.
Топологию необходимо проверить, очистить и устранить ошибки для полигональных и линейных объектов, чтобы загрузить ее в набор данных участков. Если редактирование делается для исправления ошибок топологии, проверьте топологию снова перед тем, как запускать этот инструмент.
Для проверки всей топологии воспользуйтесь инструментом Проверить топологию.
Вместо проверки всей топологии проверьте текущий экстент отображения карты в ArcMap, нажав инструмент Проверить топологию в текущем экстенте на панели Топология.
Линейный или полигональный класс объектов может использоваться в качестве параметра Входной класс объектов (топологии). Если у вас есть выборка в векторном слое входного класса объектов, будут загружены только выбранные пространственные объекты. Если класс линейных объектов используется как входной класс объектов, все выбранные линии, которые не формируют петли (висячие линии), и не имеют соответствующего полигона, будут загружены как части незамкнутых участков. Если в классе линейных объектов есть поле Категория, для висячих линий можно установить значение категории 3, чтобы представить линии подключений, или 1, чтобы представить зависимые линии.
Атрибуты COGO не требуются в классе линейных объектов. Если в линиях участков нет атрибутов COGO, импортер вычислит атрибуты COGO вычисляются на основе геометрии линии. Если атрибуты COGO существуют, то инструмент загрузит имеющиеся атрибуты COGO.
Можно заполнить системные атрибуты в таблицах набора данных участков, используя поля атрибутов исходных классов полигональных и линейных объектов участков. Например, для загрузки идентификационных номеров участков (PIN) в поле Name таблицы набора данных участков, исходный класс полигональных объектов должен иметь поле атрибутов PIN, NAME, LOT или APN.
Более подробно о заполнении системных атрибутов в таблицах набора данных фабрики участков
Если класс линейных объектов используется как входной класс объектов для загрузки незамкнутых участков, можно заполнить системные атрибутивные поля в таблицах участков путем заполнения атрибутивных полей класса линейных объектов. Например, для загрузки идентификационного номера участка (PIN) для незамкнутого участка, добавьте поле атрибутов Name в ваш класс линейных объектов. Для назначения плана незамкнутому участку, добавьте поле атрибутов PlanName.
Определенные пользователем атрибутивные поля классов полигональных и линейных объектов могут быть загружены в таблицы участков и линий набора данных участков, при условии, что те же атрибутивные поля создаются в таблицах набора данных участков до загрузки данных.
Укажите класс точечных объектов для параметра Входные точечные объекты (дополнительно), если вы хотите загрузить определенные пользователем атрибутивные поля и системные значения атрибутов в таблицу точек набора данных участков. Точки набора данных участков автоматически создаются в процессе загрузки данных. При загрузке точечных объектов, в атрибутивные поля соответствующих точек набора данных участков будут загружены только атрибутивные значения точечных объектов. Атрибутивные значения могут быть загружены как в системные атрибутивные поля, так и в определенные пользователем атрибутивные поля таблицы Points набора данных участков. Для успешной загрузки определенные пользователем атрибутивные поля должны существовать как в исходном классе точечных объектов, так и в таблице Points набора данных участков.
Параметр Минимальное число линейных сегментов (дополнительно) – это минимальное число линейных сегментов, которые может иметь линейный объект до того, как он будет загружен как линейная строка или естественная граница.
Если для параметра Допуск контроля сопоставления (дополнительно) задан допуск, все загруженные точки набора данных участков, расположенные в пределах указанного допуска сопоставления существующей контрольной точки в наборе данных участков, будут связаны с контрольной точкой.
Выберите опцию Импортировать участки как несоединенную группу для загрузки участков как несоединенных групп. Несоединенные участки существуют вне набора данных участков в их собственном локальном координатном пространстве. Несоединенные участки в любое время можно присоединить к набору данных участков. Рекомендуется загружать несоединенными только небольшие группы участков, чтобы уменьшить сложность процесса соединения, когда эти участки присоединяются к набору данных участков. Эту опцию не рекомендуется использовать для загрузки больших групп участков.
Синтаксис
arcpy.fabric.LoadTopologyToParcelFabric(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 (Дополнительный) | Если отмечена опция Вычислить площадь для новых участков, выберите единицы площади, которые будут использоваться при вычислении площади участка в процессе переноса.
| String |
radial_point_tolerance (Дополнительный) | Допуск, в котором новые, вычисленные центры кривой соответствуют существующим центрам кривой, находящимся в наборе данных участков. Кроме того, если несколько вычисленных центров кривой лежат в пределах этого допуска, они округляются и объединяются в один центр. Если не задан радиальный допуск, используется значение по умолчанию 0,5 метра. | Linear unit |
accuracy_units (Дополнительный) | Категория точности линий и полигонов, которые переносятся. Категории точности определяются по дате обследования в наборе данных участков. Категория точности 1 – самая высшая точность данных (недавно обследованные), а категория точности 6 – наименьшая точность данных (1800 год и ранее). Категории точности используются при трансформации наборов данных участков.
| String |
Пример кода
LoadATopologyToAParcelFabric, пример 1 (окно Python)
Следующий скрипт окна Python показывает, как использовать инструмент LoadATopologyToAParcelFabric в режиме прямого запуска.
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")
LoadATopologyToAParcelFabric, пример 2 (автономный скрипт Python)
Представленный автономный скрипт демонстрирует порядок итерации и загрузки выбранных групп участков с помощью инструмента LoadTopologyToParcelFabric.
# 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")
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да