Добавить правило к топологии (Управление данными)

Сводка

Добавляет новое правило к топологии.

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

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

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

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

Синтаксис

AddRuleToTopology(in_topology, rule_type, in_featureclass, {subtype}, {in_featureclass2}, {subtype2})
ParameterОбъяснениеТип данных
in_topology

Топология, к которой будет добавлено новое правило.

Topology Layer
rule_type

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

  • Must Not Have Gaps (Area) Данное правило требует, чтобы не было пустых мест внутри полигонов или между граничащими полигонами. Все полигоны должны формировать область непрерывной поверхности. Ошибка будет всегда существовать на периметре этой области. Вы можете либо игнорировать эту ошибку, либо пометить ее как исключение. Используйте это правило для данных, которые должны полностью покрывать область. Например, полигоны почв не могут иметь пробелов или пустот, – они должны покрывать всю территорию.
  • Must Not Overlap (Area) Требуется, чтобы внутренние части полигонов не перекрывались. Полигоны могут иметь общие границы или вершины. Это правило используется в том случае, когда территория не может принадлежать одновременно нескольким полигонам. Оно может использоваться при моделировании административного деления и других взаимоисключающих классификаций, например при выделении типов растительного покрова.
  • Must Be Covered By Feature Class Of (Area-Area) Требуется, чтобы полигоны в одном классе объектов (или подтипе) имели общее покрытие территории с полигонами другого класса объектов (или подтипа). Область в первом классе объектов, не покрытая полигонами из другого класса пространственных объектов, является ошибкой. Это правило используется когда области одного типа, например, страны, должны быть покрыты другими областями, например, районами или субъектами.
  • Must Cover Each Other (Area-Area) Требуется, чтобы полигоны в одном классе объектов (или подтипе) имели общую площадь с полигонами другого класса объектов (или подтипа). У полигонов могут быть общие рёбра или вершины. Любая область, принадлежащая полигону из одного класса, которая одновременно не принадлежит полигонам другого класса, является ошибкой. Это правило используется, когда для одной территории представлено две системы классификации, и каждая территориальная единица, выделенная в одной системе, должна быть каким-то образом определена и в другой. Подобный случай возникает при работе с иерархическими системами объектов, например, бассейнами стока крупных рек и локальными водосборами. Также это правило может применяться при работе со связанными системами объектов, таких как типы почв и классы уклона поверхности.
  • Must Be Covered By (Area-Area) Требуется, чтобы полигоны одного класса объектов (или подтипа) находились внутри полигонов другого класса объектов (или подтипа). У полигонов могут быть общие рёбра или вершины. Любая область, определенная в первом классе, должна быть покрыта областями объектов второго класса. Это правило используется, когда площадные объекты одного типа должны располагаться в пределах объектов другого типа. Оно полезно, когда моделируются территории, являющиеся частью более крупной окружающей области, например, территориальные единицы внутри лесов или участки внутри садовых товариществ.
  • Must Not Overlap With (Area-Area) Требуется, чтобы внутренние части полигонов одного класса объектов (или подтипа) не перекрывались с внутренними частями полигонов другого класса объектов (или подтипа). Полигоны этих двух классов могут иметь общие ребра и вершины, или могут быть не связаны между собой. Это правило используется, когда территория не может одновременно принадлежать двум разным классам пространственных объектов. Например, при районировании земельных угодий важно, чтобы водные объекты не попали в площади районов, поэтому нужно отслеживать, чтобы полигональные объекты этих двух классов не перекрывались.
  • Must Be Covered By Boundary Of (Line-Area) Это правило требует, чтобы линии совпадали с границами площадных объектов. Оно может использоваться для моделирования линейных объектов, таких как границы земельных участков, которые должны совпадать с ребрами полигональных объектов, в данном случае участков.
  • Must Be Covered By Boundary Of (Point-Area) Это правило требует, чтобы точечные объекты размещались строго на границах полигональных объектов. Например, если эти точки формируют систему границ, как в случае с пограничными столбами, которые должны располагаться на ребрах полигонов.
  • Must Be Properly Inside (Point-Area) Это правило требует, чтобы точечные объекты располагались внутри площадных объектов. Оно применяется, когда точки связаны с полигонами, как в случае со скважинами и бассейнами добычи или адресными точками и участками.
  • Must Not Overlap (Line) Требуется, чтобы линии не перекрывались с линиями из того же класса объектов (или подтипа). Это правило используется, когда сегменты линий не должны дублироваться, например, в классе объектов водотоков. Линии могут пересекаться или соединяться, но не могут иметь общих сегментов.
  • Must Not Intersect (Line) Требуется, чтобы линейные объекты из одного класса объектов (или подтипа) не пересекались или не накладывались друг на друга. Линии могут касаться конечными точками. Правило используется для изолиний, которые никогда не должны пересекаться, или в тех случаях, когда пересечения должны происходить только на концах линий, например, как в случае с сегментами улиц и перекрестками.
  • Must Not Have Dangles (Line) Требуется, чтобы линейные объекты касались линейных объектов в том же классе объектов (или подтипе) двумя конечными точками. Конечная точка, не присоединенная к другой линии, называется висячим узлом. Это правило используется, когда линии должны образовывать замкнутые петли, например, тогда, когда они являются границами полигонов. Также правило можно использовать, если в классе пространственных объектов обычно линии соединяются между собой, например, как линии улиц. В таком случае, исключениями могут быть использованы, когда правило нарушается, но данные при этом правильные - например, в случае тупика улицы.
  • Must Not Have Pseudo-Nodes (Line) Это правило требует, чтобы линия присоединялась как минимум к двум другим линиям каждой конечной точкой. Считается, что линия, которая присоединяется к одной линии или замыкается сама на себя, имеет псевдоузел. Это правило используется, когда линии должны образовывать замкнутые системы, такие как границы полигонов или когда линии моделируемых объектов логически должны соединяться с двумя другими линиями каждым концом, например, если они представляют сегменты в сети потоков, где как исключения будут отмечены начальные точки потоков первого порядка.
  • Must Be Covered By Feature Class Of (Line-Line) Требуется, чтобы линии из одного класса объектов (или подтипа) были покрыты линиями из другого класса объектов (или подтипа). Это правило применяется при моделировании логически различных, но пространственно совпадающих линий, например таких, как маршруты и улицы. Объекты класса автобусных маршрутов не должны отделяться в пространстве от объектов класса улиц.
  • Must Not Overlap With (Line-Line) Требуется, чтобы линия из одного класса объектов (или подтипа) не перекрывалась с линией из другого класса объектов (или подтипа). Правило используется, когда линии не могут проходить по одной территории, Например, дороги не должны перекрываться с железными дорогами или горизонтали подтипа понижения не могут перекрываться с другими типами горизонталей.
  • Must Be Covered By (Point-Line) Это правило требует, чтобы точки одного класса пространственных объектов размещались на линиях другого класса пространственных объектов. Точка может также лежать на конечной точке линии. Это правило может быть полезно для точечных объектов, которые должны следовать за линейными объектами, например автодорожные значки должны располагаться вдоль автомагистрали.
  • Must Be Covered By Endpoint Of (Point-Line) Это правило требует, чтобы точечные объекты одного класса совпадали с конечными точками линий другого класса. Это правило похоже на правило Конечные точки должны совпадать с, в случаях когда оно нарушается, и точечный объект становится ошибкой, а не линия. Маркеры углов границы могут быть перемещены для совпадения с конечными точками линий границы.
  • Boundary Must Be Covered By (Area-Line) Это правило требует, чтобы границы полигональных объектов совпадали с линейными объектами другого класса пространственных объектов. Оно используется, когда требуется, чтобы линейные объекты отмечали границы площадных объектов. Обычно это необходимо, когда сама территория имеет один набор атрибутов, а ее граница - другой набор. Например, в базе геоданных могут храниться участки со своими границами. Каждый участок может быть определен одной или несколькими линиями, которые хранят информацию об их длине или дате съемки, и граница каждого участка должна полностью совпадать с этими линиями.
  • Boundary Must Be Covered By Boundary Of (Area-Area) Требуется чтобы границы полигонов в одном классе объектов (или подтипе) были покрыты границами полигонов в другом классе объектов (или подтипе). Это может быть полезно, когда полигоны в одном классе объектов, например, кварталы, состоят из нескольких полигонов из другого класса объектов, например, участков, и границы этих объектов должны совпадать.
  • Must Not Self-Overlap (Line) Это правило требует, чтобы у одного линейного объекта не было двух совпадающих сегментов. Линии могут пересекать или касаться сами себя, но не должны иметь совпадающих сегментов. Это правило будет полезно для улиц, когда сегменты могут касаться, но не допускается дублирования сегментов.
  • Must Not Self-Intersect (Line) Это правило требует, чтобы линии не пересекали себя и не имели совпадающих сегментов. Это правило применяется для изолиний, которые не должны самопересекаться.
  • Must Not Intersect Or Touch Interior (Line) Требуется, чтобы линия в одном классе пространственных объектов (или подтипе) касалась линий в этом классе объектов только в конечных точках. Совпадение сегментов линий или любое пересечение не в конечной точке является ошибкой. Это правило полезно, когда линии должны быть соединены только в конечных точках, например, в случае с линиями лотов (съемочных участков), которые должны быть разбиты (только касаться конечных точек) линиями задних лотов и не могут перекрываться друг с другом.
  • Endpoint Must Be Covered By (Line-Point) Это правило требует, чтобы конечные точки линейных объектов совпадали с точечными объектами из другого класса пространственных объектов. Это может быть полезно для моделирования случаев, когда специальные соединители должны использоваться для труб разного диаметра, или когда перекресток должен располагаться на пересечении улиц.
  • Contains Point (Area-Point) Это правило требует, чтобы полигоны одного класса пространственных объектов содержали хотя бы по одной точке из другого класса. Точки должны располагаться внутри полигона, а не на его границе. Это правило используется, когда необходимо, чтобы каждый полигон содержал хотя бы одну связанную точку, например, когда участок должен иметь указатель адреса.
  • Must Be Single Part (Line) В соответствии с этим правилом каждая линия должна состоять из одной части. Оно используется, когда линейные объекты, такие как скоростные трассы, не могут иметь несколько частей.
  • Must Coincide With (Point-Point) Требуется, чтобы точки в одном классе объектов (или подтипе) совпадали с точками в другом классе объектов (или подтипе). Это может быть полезно, когда точки должны быть покрыты другими точками, например, трансформаторы должны совпадать с питающими опорами, а точки обследования железной дороги должны совпадать со станциями.
  • Must Be Disjoint (Point) Требуется, чтобы точки располагались отдельно от других точек в пределах одного класса объектов (или подтипа). Любые точки, которые перекрываются, будут помечены как ошибки. Это может быть полезно для того, чтобы убедиться, что точечные объекты не совпадают и не дублируются в пределах одного класса или подтипу, например, города в слое с населенными пунктами, точки с номерами лотов участков и т.п.
  • Must Not Intersect With (Line-Line) Требуется, чтобы линейные объекты из одного класса объектов (или подтипа) не пересекали линии из другого класса объектов (или подтипа). Линии могут касаться конечными точками. Это правило используется, когда существуют линии в двух слоях, которые не должны пересекаться друг с другом, и пересечения могут происходить только в конечных точках, например, как в случае с железными дорогами или с улицами.
  • Must Not Intersect or Touch Interior With (Line-Line) Требуется, чтобы линии в одном классе объектов (или подтипе) касались линий в другом классе объектов (или подтипе) только в конечных точках. Совпадение сегментов линий или любое пересечение не в конечной точке является ошибкой. Это правило может быть полезным, когда линии из двух слоев должны соединяться только в конечных точках.
  • Must Be Inside (Line-Area) Требуется, чтобы линейные объекты находились внутри площадного объекта. Это может быть полезно, когда линии должны частично или полностью находиться в пределах определенных границ и не могут располагаться за их пределами, например, государственные автомагистрали должны находиться в пределах границ субъектов, а реки должны находиться в пределах водосборных бассейнов.
  • Contains One Point (Area-Point) Требуется, чтобы каждый полигон содержал внутри один точечный объект и каждый точечный объект располагался в пределах одного полигона. Это правило используется, когда требуется обеспечить соответствие один к одному для полигональных и точечных объектов в разных классах объектов, например для границ субъектов и их столиц. Каждая точка должна быть расположена в пределах полигона и один полигон может содержать только одну точку. Точки должны располагаться внутри полигона, а не на его границе.
String
in_featureclass

Входной или исходный класс объектов.

Feature Layer
subtype
(Дополнительный)

Подтип для входного или исходного класса объектов. Введите описание подтипа (не код). Если подтипы отсутствуют в исходном классе объектов, или вы хотите применить правило ко всем подтипам класса пространственных объектов, оставьте незаполненным.

String
in_featureclass2
(Дополнительный)

Класс пространственных объектов-адресат для правила топологии.

Feature Layer
subtype2
(Дополнительный)

Подтип для класса пространственных объектов-адресата. Введите описание подтипа (не код). Если подтипы отсутствуют в исходном классе объектов, или вы хотите применить правило ко всем подтипам класса пространственных объектов, оставьте незаполненным.

String

Производные выходные данные

NameОбъяснениеТип данных
out_topology

Обновленная топология.

Слой топологии

Пример кода

AddFeatureClassToTopology, пример (автономный скрипт)

В следующем автономном скрипте показано использование функции AddRuleToTopology.

# Name: AddRuleToTopology_Example.py
# Description: Adds a rule to a topology
# Import system modules
import arcpy
# Any intersection of ParcelOutline (BlockLines subtype only) needs to be reviewed
arcpy.AddRuleToTopology_management("C:/data/Landbase.gdb/LegalFabric/topology", 
                                   "Must Not Intersect (Line)",
                                   "C:/data/Landbase.gdb/LegalFabric/ParcelOutline",
                                   "BlockLines")

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

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы