arcpy泰森多边形法计算面雨量工具

article/2025/9/24 15:51:05

   在水利部门或气象部门中面平均降水量是降雨中很重要的指标,传统计算多用使用算术平均法,泰森多边形法和等值线法,后两种计算方法在传统的计算中很难计算,但使用用GIS十分方便计算,可以是任意区域的任意一场降雨。

一、泰森多边形介绍:

荷兰气候学家A·H·Thiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。

特点:

1、每个泰森多边形内仅含有一个离散点数据;

2、泰森多边形内的点到相应离散点的距离最近;

3、位于泰森多边形边上的点到其两边的离散点的距离相等。

二、在ArcGIS中利用泰森多边形法分析流域降雨量步骤(长江上游为例)没有使用工具:

1、首先在ArcMap中加长江流域分区和雨量站点的.shp格式的数据(必须是.shp格式的)。若雨量站点信息为.xls或.txt格式的,则应该将其加载后先转成.shp格式,再进行以下的操作。加载数据结果如图:

2、在ArcToolbox工具中选择Analysis Tools—Proximity—Create Thiessen Polygons工具,打开Create Thiessen Polygons窗口,在Input Features中输入站点数据:雨量站点,在Output Features Class中设置输出路径,在Output Fields(optional)中选择All(即输出所有属性字段)。如图所示:

  然后设置其环境,即选择Create Thiessen Polygons窗口下面的Environments…按钮,进入环境设置窗口

选择General Settings进行设置:主要设置包括两项,第一项对Output Coordinate System设置,选取流域面矢量数据以和其保持一致的坐标系,此处选择Same as Layer “流域分区图”;第二项对Extent进行设置,设置生成泰森多边形的四周边缘,此处选择Same as Layer 流域分区图,其余保持默认。如图所示:

选择OK后,Create Thiessen Polygons窗口再次选择OK,则生成的泰森多边形如图所示:

3、因为需要对江流域范围内的每一块多边形的面积进行统计,所以对新生成的泰森多边形数据进行裁剪,由于是矢量数据,所以采用ArcToolbox工具中的Analysis Tools—Extract—Clip工具进行裁剪,设置如图:

点击OK,生成的Clip后的图如下图所示:

为了统计每一多边形的面积,打开Clip后的数据的属性表,并添加属性数据:Area计算面积,在excel中计算出面平均降水量。

三、以上是熟悉GIS工具的专业人员可以很快计算出区域泰森多边形面平均降水量,量对于水利或气象专业的人员不一定熟悉ARCGIS,以下是本人通过arcpy编写的小程序,只要有降水量站点及降水值和区域面积图就可以直接计算出面平均降水量。工具如下,选择降水量站点图,带有降水量数据字段。

1、添加降水量图层,选择年降水量字段。

2、添加区域图层,如果流域中有多个行政区选择行政区名称字段

3、点确定之后就计算出区域平均降水量如下表,流域内每个县年平均降水量计算完成

4、arcpy泰森多边形法计算面雨量工具界面如下

 

 

5、arcpy代码如下

# -*- coding: utf-8 -*-
import arcpy

Rian_stion = arcpy.GetParameterAsText(0)

Xzfq = arcpy.GetParameterAsText(1)

Outinter_Thiessen = arcpy.GetParameterAsText(2)

filedname = arcpy.GetParameterAsText(3)

outtable = arcpy.GetParameterAsText(4)

summation = arcpy.GetParameterAsText(5)

outshp = ""
Outclp_Thiessen = ""
Thiessen = Outinter_Thiessen
outshp = Outinter_Thiessen
xzq_areas = Thiessen

# Process: 创建泰森多边形
arcpy.CreateThiessenPolygons_analysis(Rian_stion, outshp, "ALL")

# Process: 裁剪
arcpy.Clip_analysis(outshp, Xzfq, Outclp_Thiessen, "1 Meters")

# Process: 相交
arcpy.Intersect_analysis("# #;# #", Outinter_Thiessen, "ALL", "1 Meters", "INPUT")

# Process: 添加字段
arcpy.AddField_management(Outinter_Thiessen, "Thiessen_Area", "FLOAT", "", "", "", "泰森多边形面积", "NULLABLE", "NON_REQUIRED", "")

# Process: 计算字段
arcpy.CalculateField_management(Thiessen, "Thiessen_Area", "!Shape.area!/1000000", "PYTHON", "")

# Process: 添加字段 (2)
arcpy.AddField_management(Outinter_Thiessen, "Pa", "FLOAT", "", "", "", "降水量", "NULLABLE", "NON_REQUIRED", "")

# Process: 计算字段 (2)
arcpy.CalculateField_management(outshp2, "Pa", "float(!字段名!)*!Thiessen_Area!", "PYTHON", "")

# Process: 汇总统计数据
arcpy.Statistics_analysis(outshp3, outtable, "Pa SUM", summation)

 

 

 

 

 


http://chatgpt.dhexx.cn/article/G9OLVCCJ.shtml

相关文章

Arcgis中生成泰森多边形的缓冲区

以地铁站点图层为例,先建立缓冲区: 位置:ArcToolbox——>分析工具——>领域分析——>缓冲区; 生成融合缓冲区; 再对原有地铁站点图层创建泰森多边形: 位置:ArcToolbox——>分析工具…

基于泰森多边形的位置优化

定义 \qquad 给定开集 Ω ⊆ R N \Omega\subseteq\mathbb{R}^{N} Ω⊆RN,如果当 i ≠ j i\ne j i̸​j且 ∪ i 1 k V i ˉ Ω ˉ \cup_{i1}^{k}\bar{V_{i}}\bar{\Omega} ∪i1k​Vi​ˉ​Ωˉ时 V i ∩ V j ∅ V_{i}\cap V_{j}\emptyset Vi​∩Vj​∅则集合 { V i…

arcmap生成泰森多边形

 荷兰气候学家AHThiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个…

【GlobalMapper精品教程】037:构建泰森多边形(Thiessen Polygon)实例精解

泰森多边形是进行快速插值和分析地理实体影响区域的常用工具。例如,用离散点的性质描述多边形区域的性质,用离散点的数据计算泰森多边形区域的数据。泰森多边形可用于定性分析、统计分析和临近分析等。 文章目录 一、泰森多边形的概念二、泰森多边形的特点三、泰森多边形构建…

arcgis 生成泰森多边形出错

arcgis 生成泰森多边形出错 今天使用arcgis生成泰森多边形出错,出错结果如图3所示,试了好多次才发现是输出文件路径有问题,如图2所示,这个工具默认输出路径是数据库下的路径,即后缀为gdb的数据库。但是这是错误的&…

[转载]泰森多边形(泰森图)

这篇文章不错,讲的挺清晰的 原文地址: 泰森多边形(泰森图) 作者: feixiang011 泰森多边形 泰森多边形又叫冯洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是由一组由…

泰森多边形的matlab实现

写在前面 泰森多边形求流域的均值。借助ARCGIS可以直接计算,但是目前算的程序都是MATLAB在跑,现在总结下MATLAB怎么利用泰森多边形计算流域平均值。 Arcgis计算泰森多边形 1.导入站点.shp和流域边界.shp 2.Analysis Tools—Proximity—Create Thiessen…

D3泰森多边形

D3泰森多边形 D3泰森多边形示例代码界面效果 D3泰森多边形示例代码 <!DOCTYPE html> <meta charset"utf-8"> <style>.triangles {fill: none; }.links {stroke: #000; }.sites {fill: #000; //黑色stroke: #fff; //白色 }.triangles .primary …

python 泰森多边形边界_对于给定点集的泰森多边形的算法实现

百度百科 泰森多边形又叫冯洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是由一组由连接两邻点线段的垂直平分线组成的连续多边形组成。 泰森多边形是对空间平面的一种剖分,其特点是多边形内的任何位置离该多边形的样点(如居民点)的距离最近,离相邻多边形内样点的距离远…

泰森多边形算法原理

一、文档目的本文描述了在geomodel模块中&#xff0c;生成泰森多边形所使用的算法。二、概述GIS和地理分析中经常采用泰森多边形进行快速插值&#xff0c;和分析地理实体的影响区域&#xff0c;是解决邻接度问题的又一常用工具。 荷兰气候学家AHThiessen提出了一种根据离散分布…

python 泰森多边形边界_geotools中泰森多边形的生成

概述 本文讲述如何在geotools中生成泰森多边形,并shp输出。 泰森多边形 1、定义 泰森多边形又叫冯洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。 2、建立步骤 建立泰森多边形算法的关键是对离散数据点合理地…

【ArcGIS】基于泰森多边形求流域面降水量

泰森多边形&#xff08;Thiessen Polygon&#xff09;法 泰森多边形又叫冯洛诺伊图&#xff08;Voronoi diagram&#xff09;&#xff0c;得名于Georgy Voronoi&#xff0c;是一组由连接两邻点线段的垂直平分线组成的连续多边形。一个泰森多边形内的任一点到构成该多边形的控制…

泰森多边形算法 java_泰森多边形构建原理

泰森多边形定义 泰森多边形是荷兰气候学家 A.H.Thiessen 提出的一种根据离散分布的气象站的降雨量来计算平均降雨量的方法&#xff0c;即将所有相邻气象站连成三角形&#xff0c;作这些三角形各边的垂直平分线&#xff0c;于是每个气象站周围的若干垂直平分线便围成一个多边形。…

泰森多边形(Voronoi彩图)的matlab绘制——2

泰森多边形&#xff08;Voronoi图&#xff09;的matlab绘制——彩图版 1 Voronoi图简介 泰森多边形是对空间平面的一种剖分&#xff0c;其特点是多边形内的任何位置离该多边形的样点&#xff08;如居民点&#xff09;的距离最近&#xff0c;离相邻多边形内样点的距离远&#x…

【Docker】Get Started with Solace

Solace Get Started : https://solace.com/products/event-broker/software/getting-started/Docker安装Solace容器启动Solace访问http://localhost:8080/

Solr的空间索引

一、Solr空间搜索的目的 &#xff08;1&#xff09;索引空间点数据和其他形状的数据 &#xff08;2&#xff09;通过圆形、正方形或者其他形状进行过滤搜索结果 &#xff08;3&#xff09;通过两个点之间的距离或者是两个多边形的形状进行排序或者评分 二、Solr空间搜索的域…

Soler

特点&#xff1a;首队香港孖生兄弟乐队&#xff0c;Julio和Dino是意大利与缅甸的混血儿。现场演出极煽情、极具爆发力。 风格&#xff1a;Soul,Acoustic,Pop Rock. 所有作品由组合自己创作。 专辑&#xff1a;《双声道》中文专辑 语言&#xff1a;广东话、国语、英语、意大利…

Solr空间搜索

空间搜索原理 空间搜索&#xff0c;又名Spatial Search&#xff0c;基于空间搜索技术&#xff0c;可以做到&#xff1a; 1&#xff09;对Point&#xff08;经纬度&#xff09;和其他的几何图形建索引 2&#xff09;根据距离排序 3&#xff09;根据矩形&#xff0c;圆形或者…

FAQ详解“Meltdown和Spectre”问题,接踵而来的“Skyfall和Solace”是否仅是骗局?

在Google公司安全团队Project Zero披露Intel处理器Meltdown(熔毁) 和Spectre(幽灵)漏洞后&#xff0c;该漏洞在2018年初震动了计算机世界。现在据说还有两个漏洞:Skyfall和Solace(他们的命名来源于詹姆斯邦德电影的灵感)。据消息来源称&#xff0c;这些漏洞也是物理芯片的问题&…

如何用Jmeter发送消息到Solace JNDI - 自定义配置

如何用Jmeter发送消息到Solace JNDI - 自定义配置 1. 引包2. 配置Solace JNDI3. 配置JMS Publisher 上一篇文章 如何用Jmeter发送消息到Solace JNDI 默认是发到 Default 的 VPN 且对用户名密码没有要求&#xff0c;假如想要发到非 default 的VPN或者是有验证要求的该怎么发呢&…