Arcgis计算面要素的面积、周长、宽度、长度及最大直径

一、在Arcgis中打开面要素文件(shp文件-投影坐标!!)

要是面要素文件一开始是经纬度坐标的,可以先将其转换为投影坐标。

我比较喜欢先用91卫图转换坐标。

1、在Arcgis中打开要素文件

2、打开面要素文件的属性表

3、打开属性表左上角的表选项

4、添加字段

5、输入字段名称、选择精度类型、确定

二、面积、周长---计算几何




上述为计算面积的过程、计算周长是一样的,只不过字段名称、计算几何中的属性是周长。其他过程都是一样的。

三、高度(长度)、宽度---字段计算器

计算长度和宽度时,在添加字段时填写对应的字段名称。

高度:!Shape.extenT.YMax! -!Shape.extenT.YMin!

宽度:



上述高度、宽度就都计算好了。可以对计算的结果用测量工具进行检验。

可见结果可靠。

四、最大直径(最大轴长)---字段计算器-显示代码块

添加字段:Max_diameter(但是这个字段名称的长度有一定要求,多出来的字符会被直接删掉)

字段计算器

显示代码块

预逻辑脚本代码:

复制代码
import math

def true_max_axis_length(shape):
    # 初始化最大长度为0
    max_length = 0.0

    # 获取面要素的第一个部分的折点数组
    # .first() 用于处理可能的多部分要素(MultiPart),我们取第一个图形
    array = shape.getPart(0)

    # 获取顶点总数
    pnt_count = array.count

    # 双层循环,遍历计算每两个点之间的距离
    for i in range(pnt_count):
        for j in range(i + 1, pnt_count): # 从i+1开始,避免重复计算和自身比较
            # 获取第i个和第j个点
            pnt_i = array.getObject(i)
            pnt_j = array.getObject(j)

            # 计算两点间的欧氏距离
            distance = math.sqrt(math.pow(pnt_i.X - pnt_j.X, 2) + math.pow(pnt_i.Y - pnt_j.Y, 2))

            # 更新最大长度
            if distance > max_length:
                max_length = distance

    # 返回计算出的最大长度
    return max_length

表达式框:

复制代码
true_max_axis_length(!Shape!)

最后点击确定就好了。

这里计算稍微慢点,尤其是当面要素文件比较大的时候。

检验结果准确。

这样所有的就都算完了。

总结就是:

面积、周长------【计算几何】

宽度、长度------【字段计算器】

最大直径------【字段计算器】------【显示代码块】------输入【预逻辑脚本代码】------输入【Max_diamet】

(需要用到python脚本代码块的时候,不论是直径还是其他字段的计算,只要需要用到自己编写的代码时,就用显示代码块,并在预逻辑脚本代码中输入代码即可。)

最后Arcgis的帮助系统

在Arcgis的帮助系统中也有一些常规的使用python计算字段的代码示例。可以现在这里面看看有没有需要的。

相关推荐
砚底藏山河1 小时前
python量化入门:多周期数据对齐统一时间轴
java·数据库·python·金融·maven
毕业设计7032 小时前
(免费领源码)django空气净化器销售系统09218- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·scrapy·mysql·pycharm·django·flask·pandas
小小张说故事2 小时前
Python 闭包到底捕获了啥?一个计数器例子讲透,别再背定义了
python
深蓝AI2 小时前
AI Agent 点了发布却超时:一条回执丢失,为什么能造成两篇文章?
人工智能·python
VX130715441223 小时前
测绘资质延续申请申报材料常见退件问题及解答
搜索引擎·arcgis·全文检索
怪奇云呼军3 小时前
教育试听预约后没到课,闪电智能 Voice Agent 如何做分层回访?
人工智能·python·算法·云计算·音视频
weixin199701080163 小时前
《淘宝TOP API:落地方案、接口边界与业务踩坑 —— 聚石塔内外价差 10 倍的真相》(附 Python 源码)
开发语言·python
梦想的颜色3 小时前
【编程实战】AI 时代 APP 开发全栈硬核指南:技术选型 + AI 架构 + 模型落地全维度决策
python·flutter·react native·react.js·ai·桌面应用·milvus
Madison-No74 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
鲲鹏ai4 小时前
盈启鲲鹏数字人招商政策
大数据·人工智能·python