PDERL:基于DEM的快速精确通视域分析算法介绍(一)

7 篇文章 2 订阅
订阅专栏
4 篇文章 0 订阅
订阅专栏
4 篇文章 0 订阅
订阅专栏

PDERL: 基于DEM的快速精确通视域分析算法(精度与R3相同,速度与XDraw接近)

系列文章:

  1. PDERL:基于DEM的快速精确通视域分析算法介绍(一)
  2. PDERL:基于DEM的快速精确通视域分析算法介绍(二)

本文主要介绍我们团队研发的一种新的通视域算法——“临近度-方向-俯仰度”空间参考线算法(PDERL)。该算法已经在国际地理信息期刊《Earth Science Informatics》开放发表,欢迎各位对通视分析研究有兴趣的小伙伴全文围观:

出版社原文: PDERL: an accurate and fast algorithm with a novel perspective on solving the old viewshed analysis problem | SpringerLink

research gate : research gate 链接

Springer Nature: PDERL: an accurate and fast algorithm with a novel perspective on solving the old viewshed analysis problem(这个比较全,能直接下载到supplements)

github算法源码: https://github.com/blct-w/Pedrl-Algorithm

CSDN下载源码: 国内点击这个下载比较靠谱,原谅我没积分了,要点积分...

通视域算法大部分是基于规则格网DEM的,分为精确算法和近似算法,其中R3算法为经典的精确算法,该算法计算了视线经过的每条格网线对通视的影响,结果非常可靠,但由于其巨大的计算量难以运用于实际;而XDraw和参考面算法为经典的近似算法,其计算速度较快,自提出以来影响深远,常被用于实际分析运算,但由于计算时并未考虑所有网格线对通视的影响,这类算法及以它们为基础的快速算法不可避免的会出现误差,且我们经研究发现,它们的误差比率虽然不高,但误差点的分布却不均匀,极有可能聚集在一起,导致区域性通视判定错误,以致影响结果的应用,这个问题至今没有得到实质性改善。长久以来,传统DEM的采集精度与分辨率均较差,相较而言算法精度上的影响实际上并不大,故众多学者将研究重点放在了对算法速度的提升上,时至今日依然有学者在XDraw等算法基础上进行并行化研究,但随着现代传感器技术和存储能力的极大提升,DEM的采集精度与分辨率均已得到了很大的提升,粗略的近似计算已无法体现DEM数据质量提升所带来的优势,而精确算法的速度又无法达到实用的要求,通视域计算中速度与精度之间的矛盾,成为当前急需解决的关键问题。我们针对这个问题建立了“邻近度-方向-俯仰度”空间概念坐标系(proximity-direction-elevation 坐标系,简称PDE空间坐标系),在这个新的坐标系的基础上提出了PDE空间参考线算法(PDERL),该算法采取分区计算的形式,在各区内分别将格网点转换到PDE空间,在构造和更新参考线的过程中判定每个格网点的通视情况,计算过程中每条DEM格网线对通视的影响均以函数的形式从中心向外围传递,无需内插,计算结果精确,运算速度快。经过大量测试,证实PDERL精度与R3完全相同,速度又能达到参考面算法的52%,XDraw算法的61%,是一种可以运用于大面积通视域分析的精确算法。

风险提示:我们团队研究的该算法属于职务成果,已被大学提交国家专利局进行专利申请。发布此工程的主要目的是为了方便国内做地理信息工程的程序员们读懂算法的核心思想,复现算法,应用于研究、学习等。但是计划将该算法用于商业目的的小伙伴们请注意:我们是算法发明人,不是专利申请人(申请人是大学组织),无法对您进行使用授权,如果您计划将其应用于商业项目,我们强烈建议您首先联系大学或发邮件给我代为咨询:blct_w@foxmail.com。

此外,如果您成功应用或改进了这个算法,我们会感到非常荣幸,如果方便请告知我们论文或系统的名称,非常感谢!


文章目录

前言

一、整体思路

二、PDE空间定义及性质

1.PDE空间定义

2.PDE空间的线性不变性

三、PDERL算法

1.计算分区

2.地形线在PDE空间的表达

3.俯仰度差的定义及通视判定函数

4.参考线的构造更新与通视判定法

总结


前言

该算法是目前你能找到的直接基于DEM规则格网通视分析中唯一精确的快速算法,对通视分析比较熟悉的小伙伴应该最熟悉的通视域算法是R2,R3,XDraw和参考面算法,以及基于这几个经典算法的大量并行算法。R3算法精度高,但计算量巨大,其它的几个属于近似算法,虽然速度比较快,但精度普遍不高,并且会出现错误点聚集的问题,而我们研制的PDERL算法精度和R3一样,是一种精确算法,但速度却与XDraw和参考面算法接近,非常实用。

写这篇文章是为了方便国内做地理信息工程的程序员们以中文的方式读懂算法的核心思想,便于你们在自己的程序中实现算法。本文只介绍算法核心思想和推导,学有余力的伙伴们欢迎直接阅读原文,了解一下通视域算法的前世今生。


一、整体思路

目标是否通视决定于目标与遮挡物之间的相对位置关系,在地形上如果遮挡物对目标形成遮挡必然同时满足如下三个遮挡条件:

(ⅰ)遮挡物在目标的前面;

(ⅱ)遮挡物和目标位于观察者的相同方位;

(ⅲ)遮挡物视线仰角大于目标视线仰角。

传统通视域算法均在地理空间中进行推导,地理空间坐标对目标的位置、大小等信息的表达比较简单,而对上述三个条件的表达较为复杂,不利于通视计算。本文提出PDE空间坐标系,直接对上述三个条件进行量化,该空间对目标的描述从传统的几何位置坐标转换为目标相对于观测者的邻近度(标记为 p)、方向(标记为 d)、俯仰度(标记为 e )三个概念维度坐标。在PDE空间的同一方向上,e值越大,目标视线越高,p 值越大,目标距离观测者越近,如果两目标的 d 和 e 都相同,那么它们的视线将重合。

假设DEM上相邻两格网点连线能够表达这两点之间的地形,那么某行(列)DEM点连接而成的连续折线即可表达该行(列)对应地理空间的地形,如图2所示,本文称其为横向(纵向)地形线,本文以观测者的位置为界,将计算区域中的横向地形线和纵向地形线各分为两个区域。在同一区中,DEM上的通视域问题可以抽象为讨论距离观测者近的地形线(在PDE空间邻近度大)对距离观测者远的地形线(在PDE空间邻近度小)的遮挡情况,由于观测者的视线是以观测者为中心向四周发射的状态,在地理空间中求解这种遮挡关系极为复杂,但在PDE空间中较为简单。只需各区域分别转换入对应的PDE空间中计算,四个区域分别计算了行/列地形线对格网点的遮挡效果,某点仅有同时不被行/列地形线遮挡才能与观察者通视,如图2中点gif.latex?P_%7B21%7D,仅在区域Ⅱ和区域Ⅲ中同时被判定为通视,才能判定为与观测者通视。根据以上原理完成四个区域计算后,再合并计算结果即可得到区域通视。

在计算邻近度较大的地形线对邻近度较小地形线的遮挡时,前者称为参考线,后者称为考察线。在PDE空间中,沿邻近度将参考线平移到考察线所在邻近度平面,两地形线交点所在的方向即是考察线被遮挡的状态发生改变的方向。以各交点方向值作为分界点将两地形线分为若干段,考察线上轴斜率较小的区段会被遮挡,位于这些区段上的格网点也会被遮挡,取两地形线中轴斜率较大的区段构成新的地形线,而这条新的地形线又将在计算邻近度更小的地形线时作为参考线。基于这个原理,在各区域中从距离观测者最近的两条地形线开始,按照上述步骤逐条对地形线进行计算,直至完成,各区域的计算思路如图1。任意格网点在各区域计算中都不被遮挡则与观测者通视。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dCTENU,size_16,color_FFFFFF,t_70

图1 某区域的计算思路(图中OSP空间即PDE空间,懒得改了)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dCTENU,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dCTENU,size_16,color_FFFFFF,t_70

 

(a) 计算分区Ⅰ和Ⅱ

(b)计算分区Ⅲ和Ⅳ

图2 计算分区

本算法建立在PDE空间坐标系的基础上,本文将在详细介绍PDE空间坐标系定义及性质的基础上推导PDE空间参考线通视域分析算法。

二、PDE空间定义及性质

1.PDE空间定义

为便于推导,定义Ⅰ号站心坐标系(Topocentric Coordinate System):以观察者视点为原点,以DEM的纵向网格线偏北方向为Y轴(纵轴),以DEM的横向网格线偏东方向为X轴(横轴),以观察者所在的参考椭球面的法向量方向为Z轴(竖轴)建立右手空间直角坐标系。图3 站心坐标系中A点站心坐标为 (x,y,z),与原点水平距离为 l ,视线方向角为gif.latex?%5Calpha ,仰角为gif.latex?%5Cvarphi

20201104090815326.png

 

图3  A点在站心坐标系

本文将定义三个概念:邻近度、方向、俯仰度。

临近度(记为 p )定义为:站心坐标系中考察点的横轴 x 值的倒数,定义式为公式(1)。邻近度的意义是:在方向相同时,邻近度大的对象(距离观测者近),有可能会对遮挡邻近度小的对象(距离观测者远),反之不然,邻近度是“遮挡条件(ⅰ)”的判定值。

 (公式1)

                                                                                           x

方向(记为 d )定义为:考察点在站心坐标系中方向角gif.latex?%5Calpha 的正切值,定义式为公式(2)。如果两点 d  值不同,代表位于观测点的方向不同,方向不重叠的对象不构成遮挡关系。d 值可以作为“遮挡条件(ⅱ)”的判定值。

(公式2)

                                                                                      gif.latex?d%3Dtan%28%5Calpha%20%29%3Dyp

俯仰度(标记为 e )定义为:考察点的相对高程 z  与邻近度 p  之积,定义式为公式(3)。根据该式,e  在地理空间中的意义为:(0,0,0)、 (x,y,z)  、 (x,0,z)  三点形成面的俯仰程度,故本文称 e  为“俯仰度”。斜率(标记为 s  )是考察点在站心坐标系中仰角 gif.latex?%5Cvarphi 的正切值,斜率越大意味着视线仰角越大,而俯仰度与斜率符合关系式(4),则在方向 d  相同时,轴斜率越大,考察点的视线仰角就越大,轴斜率可作为“遮挡条件(ⅲ)”的判定值。

(公式3)

                                                                                            gif.latex?e%3Dzp

(公式4)

                                                                                          gif.latex?e%3Ds%5Csqrt%7Bd%5E%7B2%7D+1%7D
PDE坐标系定义为:以方向(d)为横轴,以邻近度( p )为纵轴,以俯仰度( e)为竖轴,构成空间直角坐标系,位于地理空间的考察点转换到该坐标系形成“方向-轴斜率-邻近度”的空间关系。                                                                                                                   

2.PDE空间的线性不变性

对于任意站心坐标系中任意不在ZOY平面的直线,一定有合适的常数c,d,m,n,v,w 使该直线能够表达为如下方程:

(公式5)

                                                                       gif.latex?%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%20z%3Dcy+dx+v%5C%5C%20z%3Dmy+nx+w%20%5Cend%7Bmatrix%7D%5Cright.                     

将方程(5)各式左右同除以 x  得到方程(6),而方程(6)正是直线转换到OSP空间之后的表达式。结合相关数学原理,已知直线的方向、轴斜率、邻近度之间互为线性关系,本文称此性质为OSP空间的线性不变性,该性质为本文的通视域算法奠定了理论基础。

(公式6)

                                                                         gif.latex?%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%20e%3Dcd+vp+d%5C%5C%20e%3Dmd+wp+n%20%5Cend%7Bmatrix%7D%5Cright.                       

三、PDERL算法

1.计算分区

为了便于计算,本文对计算区域进行分区。如图4所示,以观测点为界,把纵向地形线分为Ⅰ区、Ⅱ区,把横向地形线分为Ⅲ区、Ⅳ区。以Ⅰ号站心坐标系Z轴为旋转轴,按顺时针方向分别旋转180°、270°、90°所得三个坐标系分别定义为Ⅱ、Ⅲ、Ⅳ号站心坐标系。以观测点为中心,在Ⅰ、Ⅱ、Ⅲ、Ⅳ区分别建立Ⅰ、Ⅱ、Ⅲ、Ⅳ号站心坐标系。按此方法划分区域后,任意横/纵地形线从相应的站心坐标系转换到PDE空间后均位于邻近度为正常数的平面上。

20201104093555430.png

 

图4 计算分区示意图

2.地形线在PDE空间的表达

设 u 为DEM的纵向格网宽度的倒数,以Ⅰ区为例。地形线上任一小段均是由两临近网格点构造的直线段,根据PDE空间性质,一定有合适的常数 a,b 使得线段在PDE空间符合公式(7),且地形线转换到PDE空间后位于某邻近度为常数的PDE平面上,也是一条连续折线。本文将转换到PDE空间后的线段记为 gif.latex?L%28a%2Cb%7Cd_%7Bs%7D%2Cd_%7Be%7D%29 ,其中gif.latex?d_%7Bs%7D%2Cd_%7Be%7D 分别为线段方向定义域的左右边界,a,b,gif.latex?d_%7Bs%7D%2Cd_%7Be%7D称为 L 的参数。如果已知两相邻格网点的站心坐标分别为Agif.latex?%28x%2Cy_%7BA%7D%2Cz_%7BA%7D%29 、Bgif.latex?%28x%2Cy_%7BB%7D%2Cz_%7BB%7D%29 ,则常数 a,b  的值可以表达为(8)式。实际上b的值不必每次都求,只需记住第一个点的a,b值和每一段末尾的d值就可以完整表达一条PDE空间的地形线。

(公式7)

                                                                  gif.latex?e%3Dad+b

(公式8)

                                                                  gif.latex?%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%20a%3Du%28z_%7BA%7D-z_%7BB%7D%29%5C%5C%20b%3De_%7BB%7D-ad_%7BB%7D%20%5Cend%7Bmatrix%7D%5Cright.

3.俯仰度差的定义及通视判定函数

如图5所示,设 gif.latex?L%28a%2Cb%7Cd_%7B0%7D%2Cd_%7B1%7D%29 参数已知,邻近度为 gif.latex?p_%7B0%7D ,空间某点C的PDE坐标为gif.latex?%28p_%7BC%7D%2Cd_%7BC%7D%2Ce_%7BC%7D%29 ,且有gif.latex?p_%7BC%7D%3Cp_%7B0%7Dgif.latex?d_%7BC%7D%5Cin%20%5B%7Bd_%7B0%7D%2Cd_%7B1%7D%7D%5D 。记 gif.latex?L%28a%2Cb%7Cd_%7B0%7D%2Cd_%7B1%7D%29 与PDE平面gif.latex?d%3Dd_%7BC%7D 交于点D,交点坐标设为gif.latex?%28p_%7B0%7D%2Cd_%7BC%7D%2Ce_%7BD%7D%29 。定义C点相对于 L 的轴斜率差为公式(9),对应于图5中红色有向线段,根据轴斜率的定义易知,gif.latex?E_%7BC%7D%3E0 则C点通视,反之不通视。如果用 gif.latex?r_%7BC%7D 标记C点的通视性,取值0代表不通视,取值1代表通视,则可定义C的通视性判别函数为公式(10)。

(公式9)

                                                                       gif.latex?%5CDelta%20E_%7BC%7D%3De_%7BC%7D-e_%7BD%7D

(公式10)

                                                                        gif.latex?r_%7BC%7D%3D%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%200%2C%20%5CDelta%20E_%7BC%7D%3C0%3B%5C%5C%201%2C%20%5CDelta%20E_%7BC%7D%5Cgeq%200%3B%20%5Cend%7Bmatrix%7D%5Cright.

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dCTENU,size_16,color_FFFFFF,t_70

图5  俯仰度差的定义

4.参考线的构造更新与通视判定法

更新过程以Ⅰ区为例,如图6所示以gif.latex?C_%7B1%7D 列格网点构造地形线,再转换到PDE空间形成初始参考线gif.latex?L_%7BR%7D ,以gif.latex?C_%7B2%7D 列格网点构造地形线,再转换到PDE空间构成待考察折线gif.latex?L_%7B2%7D ,将gif.latex?L_%7BR%7D 沿P轴平移到gif.latex?L_%7B2%7D 所在的平面上,以gif.latex?L_%7B2%7Dgif.latex?L_%7BR%7D 的交点为界将两地形线分为若干段,合并gif.latex?L_%7B2%7Dgif.latex?L_%7BR%7D中轴斜率较高的区段构成新的参考线gif.latex?L%27_%7BR%7D ,而gif.latex?L%27_%7BR%7D 又将与gif.latex?C_%7B3%7D 列格网点构造的地形线通过上述步骤继续更新,直至区域计算结束。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dCTENU,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dCTENU,size_16,color_FFFFFF,t_70

 

图6 Ⅰ区的DEM格网点图7 参考线更新过程

参考线更新的关键是寻找两地形线之间交点所在的方向值。由于地形线是折线,交点应当分段求解。假设gif.latex?L_%7BR%7D 为参考线,gif.latex?L_%7BC%7D 为考察线,以gif.latex?L_%7BC%7Dgif.latex?L_%7BR%7D 中所有折线拐点的方向值为分段点,将两地形线分割为若干段,设第 段末尾方向为 gif.latex?d_%7Bi%7D ,该段中gif.latex?L_%7BC%7Dgif.latex?L_%7BR%7D 上的线段的斜率分别为gif.latex?a%5E%7BC%7D_%7Bi%7D  和  gif.latex?a%5E%7BR%7D_%7Bi%7D,此段末尾俯仰度差记为 gif.latex?%5CDelta%20E_%7Bi%7D ,由于直线特点,有如下关系:

(公式11)

                                                                      gif.latex?%5CDelta%20E_%7Bi%7D%3D%5CDelta%20E_%7Bi-1%7D+%28a%5E%7BC%7D_%7Bi%7D-a%5E%7BR%7D_%7Bi%7D%29%28d_%7Bi%7D-d_%7Bi-1%7D%29

公式(11)称为轴斜率差的累积公式,通过该式只需求出 gif.latex?L_%7BC%7D上各格网点的方向d  和参数 a  即可累积计算出gif.latex?L_%7BC%7D 各格网点相对于gif.latex?L_%7BR%7D 的轴斜率差,再通过(10)式判定格网点通视性,记录到一个与整体计算区域同维的通视矩阵中。如果gif.latex?%5CDelta%20E_%7Bi%7Dgif.latex?%5CDelta%20E_%7Bi-1%7D 正负相反,则gif.latex?L_%7BC%7Dgif.latex?L_%7BR%7D  在第 i 段存在交叉点,交叉点方向记为 gif.latex?%7Bd%7D%27 ,由公式(12)求出即可。

(公式12)

                                                                   %28a%5E%7BC%7D_%7Bi%7D-a%5E%7BR%7D_%7Bi%7D%29

某格网点必须同时在Ⅰ/Ⅱ区和Ⅲ/Ⅳ区中判定为通视,才能最终确定该点为通视。本文用与通视域DEM同维的0-1矩阵记录通视域分析结果,每个格网点的通视计算结果保存在列号相同的对应元素中,取值0代表不通视,1代表通视。Ⅰ、Ⅱ、Ⅲ、Ⅳ区的计算结果分别记录在与计算区域同维的通视矩阵gif.latex?V_%7B1%7D%2CV_%7B2%7D%2CV_%7B3%7D%2CV_%7B4%7D 中,则最终的通视矩阵应为:

(公式13)

                                                                   gif.latex?V%3D%28V_%7B1%7D+V_%7B2%7D%29%5Ccdot%20%28V_%7B3%7D+V_%7B4%7D%29

 


总结

PDERL算法是我们团队研发的新的通视域算法,该算法同三阶算法R3一样是一种精确算法,但是计算速度却和二阶算法XDraw相近,非常实用。以上主要介绍了PDERL的主要推导过程,算法实现代码可以在CSDN中下载得到。由于时间有限,本文仅介绍了该算法的推导和原理,后续如果有需要将讲解这个算法与XDraw和参考面算法的对比,特别是XDraw等传统基于LOS算法的错误点团聚问题,也可以讲解一下算法代码中细节的实现。

 

RomanCAD:一个基于DEM信息的道路设计系统.pdf
08-05
RomanCAD:一个基于DEM信息的道路设计系统.pdf
基于最小视高度的视性算法
weixin_45720771的博客
05-30 1642
在已知观察点和观察点所在区域的地形下,计算观察点可视的地形表面集合。该算法不仅可以计算区域地形表面的视情况,还能快速精确计算非地面目标的可视情况。
视域分析算法Pderl源码(C#)
11-02
该资源为视域分析算法PDERL的源码,该算法与R3算法一样是精确算法,但速度却接近XDraw算法,是理想的视域精确分析算法原理参考我的博文:https://blog.csdn.net/springberlin/article/details/109459773
基于DEM的分布式并行分析算法研究.pdf
08-10
#资源达人分享计划#
ArcGIS中3D视线分析实验_包含2个工具_构造视线_视性
11-10
ArcGIS中3D视线分析实验_包含2个工具_构造视线_视性
pderl:AAAI 2020接受的“近端蒸馏进化强化学习”代码
05-21
近端蒸馏进化强化学习 AAAI 2020论文“近端蒸馏进化强化学习”的正式代码。 使用以下引用: @inproceedings{bodnar2020proximal, title={Proximal distilled evolutionary reinforcement learning}, author={Bodnar, Cristian and Day, Ben and Li{\'o}, Pietro}, booktitle={Proceedings of the AAAI Conference on Artificial Intelligence}, volume={34}, number={04}, pages={3283--3290}, year={2020} } 运行PDERL 首先,您必须过运行pip install -r requir
ArcGIS之数字高程模型(DEM分析下篇视频课程(GIS思维)
02-18
课程采用ArcGIS10.3.1进行录制,适用于10.0、10.1、10.2、10.4系列。使得学习者对于坡面地形因子的提取、地形特征点的提取、水文分析、可视性分析都有个深度的掌握。特别是在运用空间分析工具:栅格计算器的不同种运用、邻域分析、区域分析、水文分析、可见性分析、条件分析等等工具与实际项目的运用更加得心应手
PDERL:基于DEM快速精确视域分析算法介绍(二)
柏林春天的专栏
05-07 1385
介绍两种快速视域分析方法PDERL和XPDERL,计算精度和速度都是顶级水平的。
基于最小可视高度的视性算法-C++/CUDA实现
weixin_45720771的博客
06-07 576
前言 对区域所有网格点进行视计算时,计算量很大,项目后期开发肯定是要用GPU来计算的。 第一次用CUDA编程,走了太多的坑。现在流程上是完成了,结果也大致检查了下,应该没啥问题,只是代码的效率可能不足。小区域时计算速度没提升多少,区域较大时提升比较明显。打算从整体架构上来记录一下遇到的问题以及采用的应对方案,毕竟初学很多地方肯定不是最好的。 架构 首先 global、device、host 得先去了解 内存 区域性的视计算在GPU中完成,最重要的是要考虑GPU的内存。项目中设计的视结果只存储了地形可
信号分析方法介绍
测试0901-1
09-04 1362
从开始的ICA,到稀疏表示,然后2001年发明NMF。 利用矩阵分解来解决实际问题的分析方法很多,如PCA(主成分分析)、ICA(独立成分分析)、SVD(奇异值分解)、VQ(矢量量化)等。在所有这些方法中,原始的大矩阵V被近似分解为低秩的V=WH形式。这些方法的共同特点是,因子W和H中的元素可为正或负,即使输入的初始矩...
Topotoolbox:基于DEM进行构造地貌研究的MATLAB工具箱
最新发布
10-17
TopoToolbox是Wolfgang Schwanghart开发的一套用于构造地貌分析的MATLAB工具箱,其 提供了一组 Matlab 函数, 支持分析数字高程模型中的地形和河流路径。TopoToolbox 的主要目的是在非 GIS 环境中提供有帮助的 GIS 分析实用程序, 以支持同时应用GIS 特定方法和其他定量方法。 这里是2023年最新更新的代码,有些功能需要MATLAB2020及以上版本。
基于MATLAB的DEM粗差探测算法比较分析.pdf
06-27
基于MATLAB的DEM粗差探测算法比较分析.pdf
基于DEM的ArcGIS水文分析—河网和流域的提取.doc
04-19
基于DEM的ArcGIS水文分析
视域分析R3算法代码
01-14
数字地形分析中的R3可视域分析算法代码共享,提供数据检测
python实现可视域算法
08-03
使用python实现了可视域计算的几种经典算法,包括LOS算法,Xdraw算法,参考面算法
如何在C#中使用C++类(非托管)和C函数
热门推荐
柏林春天的专栏
07-07 1万+
由于C#编写的是托管代码,编译生成微软中间语言,而C++代码则编译生成本地机器码,这两种语言进行混合编程就存在一定困难。比较常用的方法是使用DllImport的方法,这种方法在网上有很多介绍,这里就不详细叙述了。但是用过这种方法的人都知道这种方法对于导出函数还可以但是却没法导出C++类!非常的要命。     最近我在做一个项目的时候就遇到了需要在C#代码中使用C++类的问题,在对收集到的资料的学
WPF文字描边的解决方法
柏林春天的专栏
05-13 7315
由于项目原因,今天研究了一下午WPF的文字描边,网上这方面的资料奇少,搞了半天才发现强大的WPF原来不直接支持文字描边啊。最后求助于MSDN,找到了方案,和大家分享一下: 主要思路:用FormattedText将字符串转换为Geometry,再在重写的OnRender(DrawingContext drawingContext)方法中绘制Geometry。
C#过序列化的方式存读类、结构、数组等为二进制文件
柏林春天的专栏
07-17 7309
平常我们使用文件存储程序数据时,一般需要将数据转换为文本等存储,等到需要使用的时候再从文件读取,然后重新构建类或结构或数组等对象。这样的转换和重建即浪费了时间效率不够高又导致容易出错,其实最近由于研究二进制文件的存取,我找到了序列化存取的方法。 序列化存取可以做到类对象、结构、数组等内存实体整体保存为二进制的文件,而不需转换,读取的时候,过反序列化直接从文件构建对象,而不需要重新过转换而来的
WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
柏林春天的专栏
05-17 6982
自前天格式化文本效果出来后,按照领导要求,又还要添加文本竖排和调整字符间距的功能。另外,由于上次仓促,没来得及做有些功能的设计时支持,这次也调整好了。
有源淹没分析arcgis-基于DEM的有源洪水淹没分析算法
06-13
有源淹没分析(Source Flood Inundation Analysis)是一种基于数字高程模型(DEM)和水文模型的洪水淹没分析方法,可以用来模拟河流洪水对河岸地区的淹没情况。该方法可以帮助预测洪水对河岸地区的影响,为防洪规划提供技术支持。 在 ArcGIS 软件中,实现有源淹没分析的基本步骤如下: 1. 准备高程数据:使用 ArcGIS 中的 DEM 数据,或者过插值方法生成高程数据。 2. 准备水文数据:包括河道的地形和流量数据。可以过 ArcGIS 中的河流地形分析工具和水文分析工具获取。 3. 进行水文模拟:使用 ArcGIS 中的水文模拟工具进行模拟,得出河流在不同流量条件下的水位分布情况。 4. 进行淹没分析:根据模拟结果,使用 ArcGIS 中的淹没分析工具,计算出河岸地区在不同水位条件下的淹没范围。 5. 输出结果:将淹没范围输出为矢量数据或栅格数据,可以进行进一步的分析和制图。 需要注意的是,有源淹没分析需要较高的计算资源和专业知识,对于初学者来说可能比较复杂。建议在使用前仔细阅读相关文献和教程,并根据实际情况选择合适的参数和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 如何在C#中使用C++类(非托管)和C函数 10512
  • 用sqlcipher对已有的SQLite数据库加密 8649
  • 简单的数字水印加密技术 8124
  • WPF文字描边的解决方法 7315
  • C#通过序列化的方式存读类、结构、数组等为二进制文件 7304

分类专栏

  • C#开发 7篇
  • 混合编程 2篇
  • 技术探讨 4篇
  • Android 2篇
  • 学习研讨 4篇

最新评论

  • PDERL:基于DEM的快速精确通视域分析算法介绍(一)

    Chandwich: 公式3之后的公式都挂了表情包

  • PDERL:基于DEM的快速精确通视域分析算法介绍(一)

    weixin_41658411: 出售大神签名,哈哈

  • PDERL:基于DEM的快速精确通视域分析算法介绍(一)

    不正经的kimol君: 大神解释得很详细,点赞

  • 用sqlcipher对已有的SQLite数据库加密

    greenmemo: https://www.zetetic.net/sqlcipher/sqlcipher-api/#sqlcipher_export 可以直接将数据导出到加密的数据库。 需要使用rawExecSQL, NOT use execSQL or rawQuery. 直接使用底层的sqlcipher的话,不要使用BEGIN TRANSACTION & END TRANSACTION.

  • 用sqlcipher对已有的SQLite数据库加密

    骑行大地: 你可以试一下sqlcipher_export()这个方法。可以参考下这两个项目:https://github.com/sqlcipher/sqlcipher-android-tests和http://blog.csdn.net/wjk343977868/article/details/53410738。

最新文章

  • Marshal函数中文介绍C#
  • PDERL:基于DEM的快速精确通视域分析算法介绍(二)
  • 【正途】Android R.java文件丢失的问题
2022年2篇
2020年1篇
2015年3篇
2014年1篇
2013年4篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司宜春网页设计多少钱宜昌关键词排名公司秦皇岛SEO按效果付费报价大丰网站开发多少钱朔州网站seo优化公司丹东营销网站多少钱株洲百姓网标王报价西安网站seo优化公司鄂州网站改版报价贺州网站开发价格滁州网站改版价格黄山网站优化按天收费报价黔东南营销网站多少钱横岗品牌网站设计推荐娄底网站优化按天收费价格平湖网站优化公司莆田建网站哪家好武汉seo网站优化报价佛山网站优化排名多少钱民治SEO按天扣费双龙网站优化按天计费公司亳州营销型网站建设多少钱石岩网站优化软件孝感网站搭建报价红河百度网站优化南宁网站优化推广价格南山seo排名多少钱厦门网站建设多少钱漳州如何制作网站公司龙华seo优化推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化