基于格网的污染物空间分配方法(点值分配到面)
来源:互联网 发布:yum 安装jdk 编辑:程序博客网 时间:2024/06/06 02:19
最近遇到一个环保方面的案例,和大家分享下~
每个区域有个点值,这个点值表示该区排放量总和,本文以臭氧为例。如何将臭氧值进行空间化?
将臭氧进行空间分摊,可以使用密度分析,创建出一个显示整个区域臭氧的预测分布状况的表面。
左图搜索半径769米;右图搜索半径10000米
我是没想出更好的方法来进行臭氧的空间分配,但是用户给了我一个他们常用的方法,也就是基于格网及道路或人口数据进行污染物的空间分配。这种分配的好处是空间可视化效果会更直观一些。
格网大小为1000米
思路:
我们最后是使用格网进行符号化出图。所以计算的臭氧值要赋值到每个格网上。臭氧值需要分区计算,那么参与计算的因子有区域的臭氧值、区域道路总和、每个格网道路总和。
格网臭氧值 = 区域臭氧值 ÷ 区域道路总和 × 每个格网道路总和
还有一个问题,下图中的格网被区域分割了。这个格网的编号是唯一的,但区的名称不一样。要统计格子中的道路时,这个格子需要有一个唯一值。而编号和区域名都不是唯一的,所以需要新建一个字段,将区域及格网的编号合在一起,就是唯一值了。之所以不能使用OBJECTID,因为数据在进行空间分析时,OBJECTID值会发生变化。
操作步骤:
1、生成格网。
使用GP工具创建渔网(Create Fishnet)生成格网。格子大小为1000米,范围比研究区范围大一些,输出坐标系统研究区一致。
2、为格网加上区县名。
可以将格网数据和研究区进行联合(Union)操作。
结果属性表中多了区域名称的属性。
添加一个文本型字段,让格网有个唯一的编号。
3、统计区域道路总和和每个格网道路总和
将道路和上一步的结果进行相交操作。
1)统计区域道路总和
打开上一步结果的属性表,在NAME99上单击右键,选择Summarize。
2)统计每个格网道路总和
4、计算每个格网的臭氧值。
打开格网和研究区联合的结果,在图层上单击右键,选择合并连接(Join),将各区道路总和、各格网道路总和、站点(臭氧值)连接过去。
连接各区道路总和。
连接各格网道路总和。
新建一个双精度类型的计算,计算臭氧值。
再对结果进行符号化就可了。
注意事项:
1、每次运算时,都统计下道路总和是否正确;
2、最后统计下臭氧总和是否和原来的值一致。
示例数据下载:
链接: https://pan.baidu.com/s/1qYwTyiw 密码: fssf
- 基于格网的污染物空间分配方法(点值分配到面)
- 可分配的空间分配
- 指针分配的空间
- 可恢复的空间分配
- 类的空间分配
- s3c2440地址空间的分配(转)
- 放鸡蛋问题:相同元素分配到相同的空间
- 空间分配
- Win7中VirtualBox分配数据空间到Ubuntu10.10(固定分配)
- 在C51中变量的空间分配几个方法
- sql文件的分配方式及文件空间检查方法
- 类对象只能在堆上分配空间的方法
- 可恢复的空间分配问题
- s3c2440地址空间的分配
- lpc1788的地址空间分配
- c++类的空间分配
- 程序运行的空间分配
- s3c2440地址空间的分配
- 我是最菜的
- LeetCode: Longest Common Prefix
- prison
- HDU 4474 同余模定理+BFS
- Qt常用类QString
- 基于格网的污染物空间分配方法(点值分配到面)
- 创建线程的三种方法
- 回形遍历
- 面向接口编程之二
- 挑战程序设计竞赛 算法和数据结构 第15章 高等图算法
- 数据结构Java实现04----循环链表、仿真链表
- @Pointcut的用法
- Java并发编程 04 中断
- hdu 1325 并查集(坑)