ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

加载拓扑至宗地结构

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

将参与拓扑的面和线要素加载到目标宗地结构中。拓扑需要一组预定义的拓扑规则:

  • 线 - 必须被(面的)边界覆盖
  • 线 - 不能自重叠
  • 线 - 不能自相交
  • 线 - 必须为单一部分
  • 线 - 不能相交或内部接触
  • 面 - 边界必须被(线)覆盖

注:

宗地结构工具不支持 64 位的后台处理。

使用方法

  • 由“面 - 边界必须被(线)要素覆盖”拓扑规则生成的错误可以标记为异常。这允许加载连接线、未闭合宗地和相关线。

  • 可以选择加载整个数据集或选择的要素。在加载大型数据集时,性能取决于所用计算机的内存规格。该工具最适用于每次加载部分的宗地数据。

  • 将拓扑加载到已包含宗地的宗地结构中时,如果新宗地点和现有宗地点间的容差为要素数据集 XY 容差的 2 倍之内,则二者将合并。

  • 为了将面要素和线要素加载到宗地结构,拓扑应该经过验证、规整并且没有错误。如果执行编辑操作纠正了拓扑错误,请务必在运行工具之前,重新验证拓扑。

  • 要验证整个拓扑,请使用验证拓扑工具。

  • 如果不想验证整个拓扑,可在 ArcMap 中通过单击位于拓扑工具栏上的验证当前范围中的拓扑工具 验证当前范围中的拓扑 验证地图显示的当前范围。

  • 面要素类或线要素类都可以作为输入(拓扑)要素类参数使用。如果已经在输入要素类的要素图层中做好选择,则将仅加载所选要素。如果线要素类用作输入要素类,则没有形成闭合环(悬挂线)且没有对应面的任何选定线,都将作为未闭合宗地的一部分加载。如果在线要素类中具有类别字段,则可将悬挂线的类别值设置为 3 以表示连接线,或者设置为 1 以表示相关线。

  • COGO 在线要素类中不是必要属性。如果宗地线没有 COGO 属性,则导入程序将基于线几何生成 COGO 属性。如果有 COGO 属性,则工具将加载现有 COGO 属性。

  • 可以使用源宗地面和宗地线要素类中的属性字段,在宗地结构表中填充系统属性。例如,如果要将宗地标识号 (PIN) 加载到宗地结构表中的 Name 字段,则源面要素类需要有 PIN、NAME、LOT 或 APN 属性字段。

    了解有关在宗地结构表中填充系统属性的详细信息

  • 如果将线要素类用作输入要素类以加载未闭合宗地,则可以通过填充线要素类中的属性字段来填充宗地表中的系统属性字段。例如,要加载未闭合宗地的宗地标识号 (PIN),请将 Name 属性字段添加到线要素类。要为未闭合宗地分配测量图,请添加 PlanName 属性字段。

  • 只要在加载数据之前宗地结构表中已经创建了与面要素类和线要素类中用户定义的属性字段相同的属性字段,就可以将该用户定义属性字段加载到宗地结构中的宗地和线表。

  • 要将用户定义的属性字段和系统属性值加载到宗地结构的点表中,需要为输入点要素(可选)参数指定一个点要素类。在加载过程中,将自动创建宗地结构点。加载点要素时,仅将点要素的属性值加载到宗地结构中相应点的属性字段中。属性值可加载到宗地结构点表中的系统属性字段和用户定义的属性字段中。要成功加载用户定义的属性字段,该字段必须位于源点要素类和宗地结构点表上。

  • 最小线串分段记数(可选)参数是将线要素作为线串或自然边界进行加载之前,线要素可以拥有的最小线段数。

  • 如果为控制匹配容差(可选)参数指定了容差,则在任何加载的结构点处于结构中现有控制点指定匹配容差范围内的情况下,这些点将被关联到该控制点。

  • 选中将宗地作为未连接的组导入选项可将宗地作为未连接的组进行加载。未连接宗地存在于宗地结构以外的自己本地的坐标空间中。可以随时将未连接宗地连接到宗地结构中。建议仅将较小的宗地组加载为未连接宗地,以降低将这些宗地连接到结构时连接过程的复杂性。不建议将此选项用于加载较大的宗地组。

语法

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

确定要素迁移方式。

  • UNJOINED_GROUP —要素将作为不属于宗地结构图层组成部分的未连接的宗地组进行加载。
  • JOINED_GROUP —要素将作为属于宗地结构图层组成部分的连接宗地进行加载。这是默认设置。
Boolean
direction_units
(可选)

在加载过程中,为线要素生成 COGO 方位角属性时所使用的方向单位。

  • DEGREES_MINUTES_SECONDS —一度等于圆的 1/360。度的小数部分以分和秒表示,其中,一分等于 1/60 度,一秒等于 1/60 分。度分秒以字符串形式存储并相应地解释。这是默认设置。
  • DECIMAL_DEGREES —十进制度与度分秒相似,但度的小数部分以十进制值表示。有效值为 0 到 360 之间的任何数。
  • RADIANS —弧度是角度测量单位,一个完整的圆的弧度为 2pi,或者近似于 6.28318。一弧度约等于 57.296 度。有效值为 0 到 62,318 之间的任何数。
  • GONS —哥恩是与百分度相同的角度测量单位,它将直角分成了 100 等份。一哥恩等于圆的 1/400。
  • GRADIANS —百分度是角度测量单位,它将直角分成了 100 等份。一百分度等于圆的 1/400。
String
direction_type
(可选)

在加载过程中,为线要素生成 COGO 方位角属性时所使用的方向类型。

  • SOUTH_AZIMUTH —以南为基准方向按顺时针进行侧量的方向。
  • NORTH_AZIMUTH —以北为基准方向按顺时针进行侧量的方向。
  • POLAR —基于 x 轴正方向按逆时针进行测量的方向。
  • QUADRANT_BEARING —基于先南北、再东西的参考方位角进行测量的方向。NE(东北)方位角是以北为基准方向按顺时针进行测量。SE(东南)方位角是以南为基准方向按逆时针进行测量。SW(西南)方位角是以南为基准方向按顺时针进行测量。NW(西北)方位角是以北为基准方向按逆时针测量。这是默认设置。
String
compute_area

确定要素迁移方式。

  • COMPUTE_AREA —如果线要素类中存在多边形形状或 COGO 属性,则通过它们计算宗地面积。Stated Area 系统字段将由计算得出的值进行填充。这是默认设置。
  • NO_COMPUTE —不通过多边形形状和 COGO 属性计算宗地面积。将不会填充或更改 Stated Area 系统字段。
Boolean
area_units
(可选)

如果选中计算新宗地的面积选项,在迁移过程中,计算宗地面积时所使用的面积单位。

  • SQUARE_METERS_HECTARE_OR_KILOMETERS —根据值的大小,使用平方米、公顷或平方公里作为面积单位。例如,面积值大于 10,000 时,应该使用公顷作为面积单位。这是默认设置。
  • ACRES_ROODS_OR_PERCHES —根据值的大小,使用英亩、路德或杆作为面积单位。例如,如果面积值大于 160,应该使用英亩作为面积单位。
  • SQUARE_METERS —国际计量单位制 (SI) 的基本面积单位。其定义是边长为一米的正方形的面积。
  • HECTARES —SI 面积单位,等于 10,000 平方米。用符号“ha”表示。
  • ACRES —美国惯例或英制面积单位,等于 4046.87 平方米或 44,560 平方英尺。
  • SQUARE_RODS —美国惯例或英制面积单位,等于 5.0292 平方米或 16.5 平方英尺。杆 (Rod) 与杆 (Perch) 长度相同,并且 160 杆等于一英亩。
  • ROODS —美国惯例或英制面积单位。一英亩等于四路德,而一路德等于 40 杆。
  • PERCHES —美国惯例或英制面积单位,等于一平方杆 (Rod),且 160 杆 (Perch) 等于一英亩。
  • SQUARE_FEET —美国惯例或英制面积单位。其定义是边长为一英尺的正方形的面积。一英尺等于 0.3048 米。
  • SQUARE_US_FEET —美国采集测量数据时使用的面积单位。一美国 英尺等于 0.3048006 米。
  • QUARTER_SECTIONS —美国公共土地测量系统中使用的面积单位。一地块 (Section) 等于一平方英里 (Square Mile) 或 640 英亩。1/4 地块 (Section) 等于 1/4 平方英里 (Square Mile),也等于 160 英亩.
  • SECTIONS —美国公共土地测量系统中使用的面积单位。一地块 (Section) 等于一平方英里 (Square Mile) 或 640 英亩。
String
radial_point_tolerance
(可选)

新计算的曲线中心点与结构中找到的现有曲线中心点相匹配所使用的容差。此外,如果几个计算出的曲线中心点位于该容差中,则求出这些点的平均值并将其合并为一个中心点。如果没有指定径向容差,则使用默认值 0.5 米。

Linear unit
accuracy_units
(可选)

要迁移的线和面的精度类别。精度类别是由宗地结构的测量日期定义的。精度类别 1 是最高的数据精度(最近测量),而精度类别 6 是最低数据精度(1800 年或更早)。精度类别在结构平差中使用。

  • 1_HIGHEST —最近测量与记录的数据。数据精度最高。
  • 2_AFTER_1980 —1980 年以后测量与记录的数据。
  • 3_1908_TO_1980 —从 1908 年到 1980 年之间测量与记录的数据。
  • 4_1881_TO_1907 —从 1881 年到 1907 年之间测量与记录的数据。
  • 5_BEFORE_1881 —1881 年以前测量与记录的数据。数据精度低。
  • 6_1800 —1800 年以前测量与记录的数据。数据精度低。这是默认设置。
  • 7_LOWEST —数据不可靠或数据精度未知。为了避免影响结构平差结果,将这些数据排除。
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(独立脚本)

以下独立脚本演示了如何使用 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: 是

相关主题

  • 步骤 4:加载拓扑至宗地结构
  • 宗地结构工具箱概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明