ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

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

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

提取中心线

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码实例
  • 环境
  • 许可信息

摘要

基于指定的宽度容差从双线要素(如道路轮廓)提取中心线。

插图

Creating centerlines

用法

  • 该工具用于处理规则且接近平行的线对,例如大比例的道路轮廓。中心线仅在末端开口的线之间创建,而不会在可能是街区的封闭线内创建。该工具不能对包含立交桥、斜坡、天桥和地下通道的多车道公路进行简化,也不能对带有多个合并轨道的铁路进行简化。在这种情况下,可改为使用合并分开的道路工具。

  • 该工具不能在编辑模式下执行。

  • 输出要素类不具有输入线的地理属性,但会包含以下三个新字段:

    • LnType - 包含以下线类型值:
      • 值 1 表示提取的中心线
      • 值 2 表示相对复杂的交点(未生成中心线的位置)周围的轮廓线、所表示的道路的宽度超过指定范围的线,以及其他断开或不成对的线。
      • 值 3 表示源轮廓不清晰的线(它们通常连接两个紧邻的交点,事实上这两个交叉点可能属于一个大交点。)
    • LeftLn_FID - 包含提取的中心线左侧的输入线的对象 ID。对于 LnType 等于 2 和 3 的线,该字段值将为零。
    • RightLn_FID - 包含提取的中心线右侧的输入线的对象 ID。对于 LnType 等于 2 和 3 的线,该字段值将为零。

    可以使用 LnType 值进一步检查未解决的交点和较宽的道路;还可以根据需要将 LeftLn_FID 和 RightLn_FID 字段与“连接字段”工具结合使用,以将源线的属性传递给中心线。

语法

CollapseDualLinesToCenterline_cartography (in_features, out_feature_class, maximum_width, {minimum_width})
参数说明数据类型
in_features

用于提取中心线的输入双线要素(如道路轮廓)。

Feature Layer
out_feature_class

要创建的输出要素类。

Feature Class
maximum_width

设置用来提取中心线的双线要素的最大宽度。必须指定一个值,且该值必须大于零。可以选择首选单位;默认为要素单位。

Linear unit
minimum_width
(可选)

设置用来提取中心线的双线要素的最小宽度。最小宽度必须大于或等于零,且必须小于最大宽度。默认值为零。可以指定首选单位;默认为要素单位。

Linear unit

代码实例

CollapseDualLinesToCenterline 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 CollapseDualLinesToCenterline 工具。

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.CollapseDualLinesToCenterline("dual_line_roads.shp", "C:/output/output.gdb/road_centerlines", 50)
CollapseDualLinesToCenterline 示例 2(独立脚本)

以下独立脚本演示了如何使用 CollapseDualLinesToCenterline 工具。

# Name: CollapseDualLinesToCenterline_Example2.py
# Description: Create road centerlines and find buildings within a given distance
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
import arcpy.management as DM
import arcpy.analysis as AN
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb"
 
# Set local variables
inRoadCasingsFeatures = "road_casings"
inHouseFeatures = "houses"

centerlineFeatures = "C:/data/PortlandOutput.gdb/road_centerlines"
bufferFeatures = "C:/data/PortlandOutput.gdb/road_buffers"

# Create centerlines for road casings.
CA.CollapseDualLinesToCenterline(inRoadCasingsFeatures, centerlineFeatures, 80)
 
# Create buffers 100 units from around centerlines.
AN.Buffer(centerlineFeatures, bufferFeatures, 100)

# Select houses by buffers.
DM.SelectLayerByLocation(inHouseFeatures, "intersect", bufferFeatures, 100)

环境

  • 当前工作空间
  • 默认输出 Z 值
  • 输出 M 属性域
  • 输出 XY 属性域
  • 输出坐标系
  • 范围
  • 输出包含 M 值
  • 输出包含 Z 值
  • 临时工作空间
  • XY 容差

许可信息

  • ArcGIS for Desktop Basic: 否
  • ArcGIS for Desktop Standard: 否
  • ArcGIS for Desktop Advanced: 是

相关主题

  • 制图综合工具集概述
  • 了解冲突解决和制图综合
  • 通过地理处理自动化冲突解决和制图综合的工作流
  • 合并分开的道路
有关此主题的反馈?

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明