首页 新闻中心 技术博客

利用ArcGIS进行污染程度空间分析

发布时间:2021-11-22 23:41:37   浏览量:2995   作者:GIS前沿

  1. 数据准备:

(1)数据1:研究区功能区分类标准
(2)数据2:污染程度等级划分标准(按照地积累指数划分):
(3)数据3:污染监测点数据(包括功能区编号字段和地积累指数字段),如果点数据没有该类数据可以先添加相应的功能区编号和地累积的excel表到图层中再右键点数据根据公共字段进行连接,然后添加字段通过计算字段复制过来。


2. 分析过程:

(1)首先根据数据1(function)和数据2(累积)在数据3中添加两个字段,分别是功能区和污染度(都选择文本类型,长度中一个中文要两个字节)。
(2)添加完字段后右键功能区列头,选择计算字段,参数设计如下,先选择解析程序语言为Python语言,在最下面的“功能区=”输入框输入一个方法:方法名(字段名)。
首先我解释一下方法名:方法名自己定义,只要是英文字母就行了,怎么简单怎么来啦,我直接用大写的A,这个没有什么要求,学过计算机语言的应该很清楚嗯哈哈哈啊啊啊啊啊啊啊,注意方法名后面的括号一定是英文输入法下的括号!!!!所有计算字段除了双引号里面的字符串外都要英文输入!!!

接下来是字段名,这个直接在第一个大框框(字段:)里面点击字段名,旁边的双引号就自己加上了。

勾选显示代码块,在预逻辑脚本代码添加如下代码(注意严格缩进):

def A(a):

if(a==1):

  return "生活区"

if(a==2):

  return "工业区"

if(a==3):

  return "山区"

if(a==4):

  return "交通区"

if(a==5):

  return "公园绿地区"

(3)右键污染度列头,选择计算字段,参数设计如下:


勾选显示代码块,在预逻辑脚本代码添加如下代码(注意严格缩进):

def A(a):

if(a<=0):

  return "无污染"

if(a>5):

  return "极严重污染"

if(a>4):

  return "强-极严重污染"

if(a>3):

  return "强污染"

if(a>2):

  return "中等-强污染"

if(a>1):

  return "中等污染"

if(a>0):

  return "轻度-中等污染"

(4)计算完两个字段后,我们可以通过属性表查看某个功能区对应什么程度的污染情况,非常方便。
根据地累积指数划分污染等级,得到不同功能区的污染程度:但是都是点形式,无法通过面来直观分析污染情况,于是考虑使用点生成泰森多边形来生成面来展示污染情况的空间分布。


(5)右键得到的泰森多边形属性,在符号系统的显示(S)框下面选择数量—分级色彩,如下图所示:
再选择分类按钮进入分类设置,选择分类方法为手动,类别选择7,在右边的中断值输入数据2对应的污染程度等级划分标准,如下图所示:
(6)点击确定返回上一界面选择自己喜欢的渐变颜色,在标注栏输入对应的分类等级,如下图所示:

(7)在属性中选择标注栏,设置相关参数,再点击放置属性,勾选相关参数,如下图所示:


(9)经过出图得到污染程度空间分布图如下:
污染程度空间分布图

来源:https://blog.csdn.net/qq_43173805/article/details/120113831

成都途远GIS是一家专业致力于无人机航空摄影测绘、航空数据处理、GIS地理信息系统研发、数字孪生城市制作、数字沙盘模型等业务的创新型科技公司,为您提供一站式地理信息服务。