ArcGIS点数据统计分析工具开发2.docx
《ArcGIS点数据统计分析工具开发2.docx》由会员分享,可在线阅读,更多相关《ArcGIS点数据统计分析工具开发2.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南大学2016届毕业论文(设计、创作)任务书(应由学生本人认真誉写)论文提要:空间点对象的分布模式包括:随机分布、均匀分布和集中分布。我们可通过基于样 方计数和核密度估计的一阶效应分析,也可通过基于最近邻距离的二阶效应分析来探究 空间点的分布模式。本文主要介绍了基于Python脚本语言的开发ArcGIS点模式分析工 具箱的具体实现过程。课题任务要求:任何的事件对象都可以抽象为空间中的一个位置点,针对点状事件的空间点模式分 析的应用十分广泛。但是缺乏系统的统一化的工具来探究空间数据点的分布模式。在探 究空间点对象的分布模式时,我们可通过基于样方计数和核密度估计的一阶效应分析, 也可通过基于最近
2、邻距离的二阶效应分析。本文主基于Python脚本语言开发ArcGIS点 模式分析工具箱,包括样方分析工具、核密度估计工具和最近邻距离工具。所开发工具 运行稳定、界面简单,使空间点模式分析工作自动化,使用户高效率地分析空间点对象 的分布模式。主要参考文献:1郑文峰,李晓璐等.基于空间点模式分析的地震空间分布集中趋势特性JL电子科技 大学学报.2015, 44 (4) : 557-562.2郭福涛,胡海清,马志海.应用空间点模式方法研究大兴安岭雷击火空间分布格局 J.生态学报.2009, 29(12) : 6741-6747.3姚艳豪,王志宇,马品等.基于点模式分析的地质灾害集聚特征及空间热点研究
3、J. 淮阴师范学院学报.2016,15(1):43-50.4郭洁,吕永强,沈体雁.基于点模式分析的城市空间结构研究一一以北京都市区为例 J.经济地理.2015, 35 (8): 69-74.5魏小强.空间统计分析组件开发与应用研究D.北京:北京师范大学,2009.6赵永.地理信息分析M,北京:科学出版社.2013. 82-84.7田学志.基于python的地理处理应用研究J.智慧城市.2010:46-50.8方圣辉,张玉贤,佃袁勇等.基于Python的ArcGIS地理数据批处理J.测绘与空间地 理信息,2015, 38(1) : 1-2.9焦洋,邓鑫,李胜才.基于Python的ArcGIS空间
4、数据格式批处理转换工具开发J .现 代测绘.2015, 35(3) : 54-55.10余冰,朱欣焰等.基于空间点模式分析的城市管理事件空间分布及演化一一以武汉 江汉区为例J ,地理科学进展.2013, 32(6) : 924-931.任务起止日期:2015年11月1日至2016年4月30日pnt=feat.getPart(O)y.append(pnt.Y) return y#获取各单元格中心点中各点的x坐标和y坐标的数组以及单元格中心的个数 layer l=nfish_label.shpnx_fish=getx(layer 1)y_fish=gety(layer 1) n_fish=len(
5、x_fish)#获取原始点数据中各点各点的x坐标和y坐标的数组以及单元格中心的个数x = getx (layer) y = gety(layer)n =len(x)(4)使用While循环遍历各单元格中心点,内嵌While循环遍历原始点数据中的各点, 根据设置的核带宽r,判断原始点数据中落在以各个单元格中心点为圆心,核带宽为半 径的圆内的点的数目,并依据核密度估计公式:入=始生誓 计算各单元格的核密度口 nr2强度:#计算每单元格的核密度强度i = 0while i n_fish:#遍历单元格中心点j 二。k = 0while j n:#遍历原始数据各点dis=distance(x_fishi
6、,xj,y_fishi,yj) if dis TypeRequiredDirecti on MultiValue Default EnvironmentInput NoFilter NoneTo add a new parameter, type the name into an empty row in the name column, click in the Data Type column to choose a data type, then edit the Parameter Properties.上一步| Finish | 取消图5核密度估计参数设置口回 汉Kernel Den
7、sityCancel Environments. Hide HelpTool Help4* Kernel Density Point layer圄 Output raster回 Cellsi ze Search radius图6核密度估计工具界面4. 3最近邻距离工具.3.1最近邻距离分析原理最近邻距离指的是该模式中某一事件与其最近的事件之间的距离。位于科和小的两 个事件之间的表示为距离d(ppj),其计算使用欧基里德距离:d(pPj) = & 修)2 + (力一%)2公式中,点pi和Pj的位置坐标分别为凶舟), (Xj,yj)o. 3. 2最近邻距离分析流程最近邻距离的处理思路为使用Sear
8、chCursor方法遍历各耍素点,获取其坐标位置, 从而遍历出与其最近的要素点及对应的距离。图7是本文基于点数据进行最近邻距离分 析的算法流程图。r?Fl ry 曰八 y /xrr dfi3. 3最近邻距离分析关键步骤源代码导入模块,并设置相关参数: import arcpy,os,sysfc=arcpy.GetParameter(O) 使用For循环遍历图层中各点,获取各点x坐标和y坐标的数组:x = #x坐标数组y = #y坐标数组desc=arcpy. Describe(fc) shapefieldname = desc.ShapeFieldName rows=arcpy.SearchC
9、ursor(fc) rows.reset() for row in rows:feat=row.getValue(shapefieldname)pnt=feat.getPart(O)x.append(pnt.X)y.append(pnt.Y)使用While循环遍历各要素点,搜索与其距离最近的要素点及其对应距离:# 定义计算两点之间距离的函数def distance(il ,i2,j 1 ,j2):d=math.sqrt(i 1 - *(i 1 -+(j 11 -j2)return d# 使用While循环遍历各要素点,对各要素点的最近邻点及其距离的初始值进行赋值 n=len(x)dmin =
10、near = i = 0 while i n:if i = 0:dmin.append(distance(xi,xl,yi,y 1) near.append(l) i=i+lcontinuedmin.append(distance(xi,xO,yi,y 0)near.append(O) i=i+l# 使用While循环遍历各要素点,搜索各要素点的最近邻点及其距离 d 二口i = 0j =1while i n:while j n:if l=j:d.append(O)if i !=j:d.append(distance(xi,xj,yli,y|j|)if dj-l = 2:del dj-2 j=j
11、-li=i+l(4)在点要素属性表中添加最近邻点字段和最近邻距离字段,使用For循环遍历图层 中各点,为最近邻字段和最短距离字段赋值:#属性表中添加最近邻点、最短距离字段field l_name=Hnear_pointnfield2_name=Hnear_disnarcpy.AddField_management(fc,fieldl_name,nSHORTH)arcpy.AddField_management(fc,field2_name,nDOUBLEH)#使用For循环遍历图层中各点,为最近邻字段和最短距离字段赋相应的值cursor=arcpy.da.UpdateCursor(fc,fie
12、ldl_name,field2_name) i = 0for row in cursor:row0J = nearirowl = dmini cursor.updateRow(row) i=i+l4. 3. 4自定义最近邻距离分析工具箱在点模式分析工具中添加样方分析的脚本工具(Nearest Distance)。在Script File设置关联的最近邻距离分析的脚本文件;然后设置样方分析的参数,包括输入型要素图层 数据Pointlayer,参数设置界面如图8所示。最近邻距离分析脚本工具相应参数设置完毕 后,运行脚本工具,界面如图9所示。区区Add Script图8最近邻距离分析参数设置回汉图9
13、最近邻距离分析工具界面Naerest Distance5应用实例在ArcMap的ArcToolbox中添加点模式分析工具箱(Point Analysis.tbx),在ArcMap中即可直接调用相应工具进行分析。5.1样方分析工具应用使用大新庄东碑村地块数据进行样方分析。设置样方分析范围及单元格数,工具界 面如图10所示,运行工具,结果统计了每个单元格所包含的事件点的数量,结果如图11 所示。Quadrat AnalysisQuadrat Analysis口回 汉图10样方分析工具运行界面Quadrat AnalysisCompletedClose this dialog when comple
14、ted successfullyExecuting: QuadratAnalysis 大新庄乡东碑村/ 地块 大新庄乡东碑村地块layer extent 5Start Time: Wed Apr 27 21:23:14 2016 Running script QuadratAnalysis. 大新庄乡东碑村地块 Shape extent X: 38463946.737938464316.7371 grid_0_01: 1, grid_0_l: 0, grid_0_ 2 : 0,_0rid_O_3, : 2 r grid_0_4 1 : 0, 1grid_3_41:grid_3_31:grid_
15、3_2l: 17 7grid_3_l1: 27 grid_3_01: 07 三 1grid_2_41: 0,grid_2_21: 0,grid_2_ 3,: 07 7grid_2_01: 07 7grid_2_l1: 07 1grid_4_41: 0, grid_4_01: 0, 1grid_4_ I1: 17 grid_4_21: 17 grid_4_3: 0二一 1 grid_l_l1 : 0r-grid_l_01 : Ogrid-l 3 : 07 7grid_l_2 : 07 7grid_l_4 1 : 0? Completed script QuadratAnalysis.Succee
16、ded at Wed Apr 27 21:23:14 2016 (Elapsed Time : 0.00 seconds)图11样方分析工具运行结果5. 2核密度估计工具应用使用某地气温数据进行核密度估计。设置栅格单元格大小及核密度分析的核带宽, 工具运行界面如图12所示,运行工具,分析结果如图13所示。Kernel DensityKernel Density口回 汉图12核密度估计工具运行界面图13核密度估计工具运行结果5. 3最近邻距离工具应用使用大新庄东碑村地块数据进行最近邻距离分析。设置最近邻距离分析图层,工具 界面如图14所示,运行工具,属性表中neajpoint和neajdis字段
17、分别统计了距离各事 件点最近的事件点及其对应的距离,分析结果如图15所示。Naerest Distance次回图14最近邻距离分析工具运行界面TableFIDShape Idnear_pointnear_dis0Point0801Point0255. 009492Point0640. 9321873Point0460. 1491984Point0360.1491985Point0616.7892896Point0516.789289Point00%. 400048Point000大新庄乡东碑村地块胄(0 out of 9 Selected)大新庄乡东碑村地块图15最近邻距离分析工具运行结果5结
18、束语空间点模式分析是空间统计分析的重要组成局部,探究出空间点的分布模式具有重 要的应用价值。本文基于Python开发ArcGIS工具箱的模式,开发了进行空间点模式分 析的工具:样方分析工具、核密度估计工具和最近邻距离分析工具。点模式分析工具基于ArcGISScripting框架,使用Python语言,开发ArcGIS工具 的基础路线是可行的。且工具运行稳定、界面简单,使空间点模式分析工作自动化,有 助于用户高效率地分析空间点对象的分布模式。参考文献:河南大学2016届毕业论文(设计、创作)中期进展情况检查表环境与规划学院题目名称:ArcGIS点数据统计分析工具开发姓名所学专业地理信息系统指导教
19、师姓 名一、论文进展情况11月份开始查阅ArcGIS探索性空间统计资料,阅读相关书籍,确定论文方向;12 月份进行python语言及基于python开发ArcGIS工具箱的学习;1月份开始进行点模式 统计工具的开发;2月份开始书写初稿,此时初稿基本完成。二、存在问题任何的事件对象都可以抽象为空间中的一个位置点,针对点状事件的空间点模式分 析的应用十分广泛。但是缺乏系统的统一化的工具来探究空间数据点的分布模式。三、拟采取的研究方法和可行性分析在探究空间点对象的分布模式时,我们可通过基于样方计数和核密度估计的一阶效 应分析,也可通过基于最近邻距离的二阶效应分析。本文主基于Python脚本语言开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcGIS 点数 据统计 分析 工具 开发
限制150内