操作方法

操作方法:计算要素质心

Last Published: October 13, 2021

摘要

可以通过多种方式来计算要素质心。 根据计算质心所需的方式,有下列几种可能的方法:计算要素的中心 XY 坐标、使用“要素转点”工具或使用 Python 来检索质心坐标。 下面提供的说明将介绍这些方法。

过程

  • 使用“要素转点”(数据管理)工具
    该方法利用面的重心(要素的几何中心)。 对于线、面或三维要素,即质心(或重心),并且可能落在要素内或要素外。 对于多点、折线或由多部分组成的面要素类,将使用所有要素部分的加权平均中心来计算质心。
    : “要素转点”工具仅适用于 Advanced Desktop 或 ArcInfo 许可级别。
    要素转点工具用于创建包含从输入要素的代表位置生成的点的要素类。 特定计算的算法是专用的,但是会使用两个基本概念。

    该工具使用基于重心的算法来计算多点、线或面输入的质心。 重心计算会使用几何中心模型来输出新的点要素类。 对于线、面或三维要素,即质心(或重心),并且可能落在要素内或要素外。 对于多点、折线或由多部分组成的面,将使用所有要素部分的加权平均中心进行计算。

    在工具参数中,提供一个选项用于计算落在要素边界内的质心;可通过选中“内部”复选框来启用此选项。 启用此参数将强制工具计算要素边界内部的质心,如果其最初落在边界外部,可将该点调整到边界内部被视为重心的位置。
     
  • 使用 Python 来计算和构建质心点
    在以下示例中,借助数据访问模块,可以使用 SHAPE@XY 令牌检索质心坐标。 然后即可使用这些坐标来构建点几何,并将点几何写入新的要素类。
    : “数据访问”游标仅适用于 ArcGIS 10.1 及更高版本。 有关版本 10.x 的备选工作流,请参阅读取几何写入几何
    import arcpy input_fc = "C:\\temp\\geodatabase.gdb\\states" output_fc = "C:\\temp\\geodatabase.gdb\\state_centroids" cursor = arcpy.da.SearchCursor(input_fc, "SHAPE@XY") centroid_coords = [] for feature in cursor:     centroid_coords.append(feature[0]) point = arcpy.Point() pointGeometryList = [] for pt in centroid_coords:     point.X = pt[0]     point.Y = pt[1]     pointGeometry = arcpy.PointGeometry(point)     projectedPointGeometry = pointGeometry.projectAs("WGS 1984")     pointGeometryList.append(projectedPointGeometry)     arcpy.CopyFeatures_management(pointGeometryList, output_fc)

文章 ID: 000011754

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项