arcgis用累计值进行分级

发布时间:2026/10/19 11:48:00

arcgis用累计值进行分级 为了计算生态系统服务的重要性一般来说会使用累计值来进行计算。比如说累计的前50%值的像元为极重要区而50-75是一般重要。重要性说明极重要从大到小排序累计50的值重要从大到小排序累计50-75的值中等重要从 90%到 75%该段的栅格值占总量 15%的值归类为中等重要区域一般比 90%小的值即占总量 10%的值全部归类为一般区域。一、主要部分**预先处理**需要每个栅格数据都有属性表没有属性表需要创造属性表另外还需要新建字段ValueCount和percentage这个字段前者为长整型后者为双精度。下面的代码放在代码框中。# 全局累加器cum0.0total0.0# 在计算前先一次性求 total第一次执行时 total 仍然为 0因此需要初始化importarcpy# 获取当前图层使用 !SHAPE! 触发则自动是当前表tblarcpy.Describe(arcpy.GetParameterAsText(0)).catalogPathifarcpy.GetParameterAsText(0)elseNone# 兼容 ArcMap强制使用当前表名iftbl is None: tblr%s% arcpy.Describe(RWEQ_xh_ly.tif).catalogPath# 这块需要将 RWEQ_xh_ly.tif# 只在 total 还没算的时候执行一次iftotal0: rowsarcpy.SearchCursor(tbl)forrinrows: totalr.ValueCount# ValueCount是要算的字段def getCumProp(value): global cum cumvaluereturncum / total在想算比例的字段中计算这个值。getCumProp(!ValueCount!)**后续分级**上述的方法是从小到大的因而分析需要按照相反的方式来划分。0.1、0.25、0.5、1二、探究部分这里面其实有个问题就是这个是基于什么排序的我探索了一下它并没有指定在goble环境下它自动依据value进行降序排序不管你后面在属性表中进行再排序其结果都是一样的。具体可以用一个简单的例子来说明。可以用下面的一个例子来进行说明。cum0.0def cumValue(v): global cum cumvreturncumcumValue(!ValueCount!)此外我还探索了下面两行代码为什么需要这么写。其实下面就是获得文件的路径。下面的第一行代码本来就是想获取它当前的路径的但是在arcmap里面是不成功的。# 获取当前图层使用 !SHAPE! 触发则自动是当前表tblarcpy.Describe(arcpy.GetParameterAsText(0)).catalogPathifarcpy.GetParameterAsText(0)elseNone# 兼容 ArcMap强制使用当前表名iftbl is None: tblr%s% arcpy.Describe(RWEQ_xh_ly.tif).catalogPath# 这块需要将 RWEQ_xh_ly.tif进一步探索SearchCursor这个功能感觉没有啥具体的用处能算xy和对应的面积。importarcpy fcc:/data/base.gdb/well# For each row, print the Object ID field, and use the SHAPEAREA# token to access geometry propertieswitharcpy.da.SearchCursor(fc,[OID,SHAPEAREA])ascursor:forrowincursor:print(fFeature{row[0]}has an area of{row[1]})进一步探索和Describe的相关属性# 1.使用键值访问特定属性。importarcpy pathC:\\Data\\Venice.gdb\\VeniceStructuresdescarcpy.da.Describe(path)field_names[field.nameforfieldindesc[fields]]ifYEAR_BUILTnotinfield_names:arcpy.management.AddField(path,YEAR_BUILT,SHORT)# 2.显示返回的 Describe 字典以查看所有可用属性。importarcpyfrompprintimportpprint pathC:\\Data\\Venice.gdb\\VeniceStructuresdescarcpy.da.Describe(path)pprint(desc)需要进一步探索的问题如何进行给定的字段进行排序这个很重要又或者说当矢量的时候怎么处理呢
延伸阅读

更多相关文章

2026/10/19 11:48:00

Bolt+Cursor实战:从零构建AI语音助手与播客应用

1. 从“写代码”到“说需求”:AI 编程工具链到底改变了什么过去两年,我身边不少做产品的朋友都经历过一种很割裂的状态:脑子里有个很具体的想法,比如“我想做一个能实时对话的语音助手”或者“我想做一个自动生成播客节目的工具”…

2026/10/19 11:48:00

AI影视工业化:从工具辅助到流程重构的范式迁移

1. “Utopai Studios”不是真实公司,但这个标题暴露了AI影视工业化的真实拐点 你刷到这个标题时,第一反应可能是:又一家蹭AI热度的PPT公司?还是某家新成立的创业团队在造势?其实都不对。这个标题里最值得深挖的&#x…

2026/10/19 11:48:00

MySQL子查询性能优化实战:从慢查询到秒回的完整指南

1. 从一段真实业务需求说起:子查询到底解决什么问题前几天排查一个线上慢查询,业务方丢过来一段SQL,说页面加载要七八秒,用户快把客服电话打爆了。我先看了一眼表结构和数据量,又跑了一遍EXPLAIN,问题很快就…

2026/10/19 12:59:07

参考论文汇总

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 12:59:06

工业时序预测实战:基于CNN-BiLSTM-Attention的三模态融合模型

1. 三模态融合的架构设计与选型理由1.1 为什么偏偏是CNN、BiLSTM、Attention三件套工业时序预测(比如设备剩余寿命预测、关键部件温度趋势预估、整线能耗滚动预报)有一个共性痛点:数据维度高、噪声大、时间依赖长,单靠一种模型总是…

2026/10/19 12:59:06

bypy百度网盘命令行工具实战指南

1. 为什么非得在命令行里碰百度网盘?——一个被低估的生产力缺口你有没有过这种时刻:深夜改完一份200MB的实验数据集,想传给合作者,但图形界面的百度网盘客户端卡在“正在扫描文件”上纹丝不动;或者在一台没有桌面环境…

2026/10/19 12:54:06

YOLOv11工业表面缺陷检测:从数据到部署的完整实践

做工业视觉缺陷检测的同行应该都有同感:表面缺陷检测这件事,听起来就是把“有毛病”的工件挑出来,但真正落地的时候,问题一个接一个。缺陷太小、背景复杂、样本不够、漏检误检调不过来、模型上产线又卡顿……前几年我还在用传统图…

2026/10/18 0:01:50

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/19 0:04:56

悟空开源无代码平台实战:从实体建模到应用设计避坑指南

简介:基于悟空开源无代码平台的多种应用设计源码,面向希望在不编写代码的情况下快速搭建CRM、HRM、财务系统、ERP、SRM等业务应用的企业与技术人员,通过拖放式界面和内置模板即可完成应用定制与部署。压缩包共697个文件,约10.74MB…

2026/10/19 0:04:56

基于.NET9的多租户权限系统:数据权限与动态API落地实践

简介:这份资源是一套面向 .NET 与 Vue 全栈开发者的中台权限管理系统,后端基于 .Net9,前端采用 Vue3 Element Plus,并配套 uniapp uviewui 移动端方案,实现前后端分离。系统覆盖多租户隔离、数据权限、动态 Api、任务…

2026/10/19 0:04:56

场地预约小程序毕设实战:SSM+微信小程序+MySQL数据库设计到避坑

简介:面向毕业设计场景的场地预约小程序完整项目,基于微信小程序SSMMySql技术栈开发,适合计算机相关专业学生作为选题参考、功能扩展或二次开发起点。系统实现场地类型管理、场地管理、预约管理、取消申请与押金退回等功能,分为管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑