熊猫分布密度制图(ArcPy实现)

一、背景

大熊猫是我国国家级珍惜保护动物,熊猫的生存必须满足一定槽域(独占的猎食与活动范围)条件。因此,科学准确的分析熊猫的分布情况,对合理制定保护措施和评价保护成效具有重要意义。

二、目的

通过练习,熟悉ArcGIS密度制图函数的原理及差异性,掌握如何根据事迹采样数据特点,结合ArcGIS提供的密度制图功能和其它空间分析,制作符合要求的密度图。

三、要求

1)熊猫活动具有一定的槽域范围,一个槽域范围只有一个或一对熊猫,假设熊猫槽域半径为5000m,理论上最大槽域面积为3.1450005000

2)虽然一个采样点代表一个熊猫,但由于熊猫的生存具有确定槽域特征,不同的采样点具有不同的空间控制面积。假定熊猫活动范围分布满足以采样点为中心的泰森多边形,如何将这一信息加入密度分布图是本练习的重点。

3)在野外实采的熊猫活动足迹数据的基础上,以每个熊猫槽域范围为权重,运用ArcGIS 中的区域分配功能和密度制图功能制作该地区熊猫分布密度图。

四、数据

野外实采的熊猫活动足迹数据,一个足迹代表一个熊猫曾在此处活动过,相同足迹只记载一次。(\Chp8\Ex3)

五、计算原理

首先利用栅格数据空间分析模块提供的区域分配功能提取熊猫的槽域范围,然后用理论最大域面积(假定是半径为5km的圆,面积为3.141592755 km²)除以所提取的熊猫实际槽域面积,作为采样点的加权值(记为Power字段),生成熊猫分布密度图。

解题思路:
1)欧式分配,求出每个熊猫的实际控制范围

2)添加字段area,计算每个熊猫的实际控制面积:栅格数栅格边长栅格边长

3)添加power字段,计算权重:理论上最大槽域面积/栅格数栅格边长栅格边长

4)利用power字段进行核密度分析

操作流程图:

六、模型构建器

七、ArcPy实现

# -*- coding: utf-8 -*-
import arcpy
from arcpy.sa import *
print "输入示例:D:\桌面\Chp8\Ex3"
arcpy.env.workspace = raw_input("请输入数据所在的文件绝对路径:").decode('utf-8')
xm = 'Xmpoint.shp'
arcpy.env.extent = '15166438 -134313 15220978 -97358'  # 设置处理范围
a = EucAllocation(xm, "5000", "", "500", "ID")  # Process: source_path欧氏分配
arcpy.AddField_management(a, "Area", "LONG")  # Process: EucAllo_shp添加字段Area
arcpy.CalculateField_management(a, "Area", "[COUNT] * 500 *500")  # Process: EucAllo_shp计算字段Area
arcpy.JoinField_management(xm, "ID", a, "Value", "Area")  # Process: EucAllo_shp连接字段
arcpy.AddField_management(xm, "power", "LONG")  # Process: Xmpoint.shp添加字段power
arcpy.CalculateField_management(xm, "power", "3.1415927*5000*5000 / [Area]")  # Process: Xmpoint.shp计算字段power
b = KernelDensity(xm, "power", "500")  # Process: Xmpoint.shp核密度分析
Times(b, 10000000).save("熊猫分布图")  # Process: 乘

八、结果

实验结束 byebye~

>>点我跳转 > 文章推荐

posted @ 2021-10-10 17:16  槑孒  阅读(563)  评论(0编辑  收藏  举报