各位老师、各位同学下午好,我今天演讲的题目是《从栅格数据中提取结构化的河流信息》。
一般遥感应用基于像素上的值进行代数运算或者分类运算,比如说植被指数、土地利用分类、土壤类型、土壤干旱度,我们最近开展的工作是从栅格数据中提取结构化的河流信息。
第一,水利系为什么搞大数据?计算机系的各位老师的方法还不能直接为我们服务。
第二,Hydro30全球河网。
第三,基于深度学习的地物提取。
水利传统上讲,处理的就是干旱、洪涝和生态。2012年夏天美国和俄罗斯干旱,收获期到来之前玉米期货价格乘了1.5。2011年泰国洪水,曼谷附近的广阔平原淹了200天。去年,国家遥感中心给联合国捐赚了一套数据集,做的高分辨率土地利用,其中水体面积变化可以发现北半球水体面积有很多减少的区域。“一带一路”建设要求我们有更多的全球化视野,但是你往外走的过程中缺少对水的观测数据,水利在国内建国以来有很好的监测,但是在国外很可能没有,我们要从不同的大数据来源来做。
全球观测主要依靠遥感,数据有很多类,和河流相关的首先是气象卫星,包括中国的风云系列、美国的NOAA系列,还有TRMM、GPM测雨星,海洋卫星,GRACE重力星,导航星等。
美国对地观测卫星,有三个极轨的卫星系列,地、水、气。这三个重访期比较长,因为是极轨,但是设计上能加强对地表水循环的认识。
AQUA卫星有微波传感器,可以监测大气温度和湿度的垂直扩线,这还不是专用的云卫星,能够解读出云的各种特性。
这个卫星的数据是四维的,每一层是二维的矩阵,大气分了很多高度层,一共有12层。
他们又发了一个CloudSat卫星,它在极轨卫星上放了一个雷达,它的分辨率和可信度很高。500米垂向分层,水平分辨率约为1.5公里。
天气过程形成降雨之后,美国的TRMM、GPM都在飞。相应的数据产品也很多,比较早的有TRMM产品、CMORPH产品,后来有一个PERSIANN的融合产品。降水的分辨率达到了空间上8公里,时间上半小时一次,使用多源数据融合的方式。
对于地表观测,有可见光、多光谱、超光谱等遥感方法。我们关心的首先是可通过地表高程数据提取的河流。最早是根据1996年一公里分辨率的GTOPO30数据集,生产了全球河网。2003年的时候美国航天飞机测高计生产的全球90米分辨率地表高程数据公布,在WWF等组织的支持下生产了HydroSHEDS全球河网。我们用30米的ASTER DEM数据加工出来了新的Hydro30全球河网。
从陆地上下到海里,还有海洋表面温度和海洋表面高程的遥感技术也很成熟。海洋表面温度监测,从AVHRR到MODIS传感器,8天可以生成一个覆盖海洋表面的数据,比如说现在处于厄尔尼诺状态下,可以很容易监测出来。
人们处于大气、陆地、海洋的水循环中,为了理解和预测水循环,我们要做跨尺度的研究,从降水和地表水循环到气象现象,比如低涡、高压;如果做跨年的预报,就要关心作为最大的热量和水量调节池的海洋。如果预见期在一周以内我们有传统的数值模型做模拟预报,再长的预见期就是大尺度天气现象和海洋驱动的气候过程,我们要用大数据的方法来做预报。
河流相关数据的规模,包括天气预报、降水、地表覆盖(中分辨率、局部的高分辨率)等数据,大概每年有四五百TB。这四五百TB的数据,有些要去下载抓取,还有很多机构直接提供下载API,可直接下载。下载完了以后你怎么利用这些数据是关键。这些数据要支撑我们的传统业务,传统业务需要的是结构化的数据,需要很多具体化的参数,这些参数的挖掘是现在很少做的事情。
现在总结大数据都讲四个V,我们也有四个V,第一,数据量大。第二,数据变化快,数据变化快的实质是自然的时间在变,遥感的结果就在变,地球是动态的。第三,数据类型多,传感器不一样,存在融合和存储的问题。第四,不确定性,包括时效和数据质量等问题。
有三个挑战:
第一,大数据方法要把噪声去掉,得到信息。但是水利处理自然界的信息,哪里是信息、哪里是噪声是非常难确定的。比如做PCA特征值的代表度,如果做人工的东西,做完PCA以后发现信号很明显,只有很微弱的噪声,但是到了地形或者降水,它是非常光滑连续的,你不知道哪是噪声,哪是信号。
第二,时间序列。深度学习、人脸识别是在一帧图象上看。对地球来说,台风下一步到哪里,现在还是用动力学模型去算,大数据方法很少有做时间驱动的,因为大数据方法方程内部没有偏t的那一项。
第三,数据观测、取样的模式。测点数就是我们每次取样的维度,时间决定我们取样的次数。一般的大数据模型,比如深度学习模型,我们有几百万张照片,观测次数远远大于这个问题的特征数,而且我每次观测的维数是有限的。但是遥感观测,观测次数远小于特征数,遥感观测只有20年,采样次数太少了,月尺度的数据到现在也就是几百次,这几百次数据很小,我们的训练集是不够的,而且噪声很多。
下面介绍一下Hydro30全球河网。
河网是地表区别于平地和山地的集中汇水通道。DEM数据每一个像素上都是地表高程值。
算法的核心就是流向判断,每一个像素上的点,如果有水,判断它的水是从哪个栅格来,到哪个栅格去。然后通过集水区累计可以完成提取过程的核心,得到哪里是河谷,哪里不是河谷,随后做矢量化和拓扑化。这里面的核心是,算法要从地形高的地方往低的地方排序,产生了很大的计算量,最早这个计算量是O(N2)的,05年出现了O(N1.5)的算法,前两年出现了O(NlogN)的算法。我们的工作是以这个O(NlogN)的最小代价搜索方法为核心,把河网提取全流程的事情做完。搜索的排序过程用平衡二叉树完成。
第二个问题,我们在地形里面怎么区别河谷/沟道和坡面,这个过程我们使用了一个基于地形参数的动态窗口识别方法,因为做的是无参统计,不需要指定参数。这个计算量不大,也可以单机完成。
这个看到的是可见光的一米遥感影像,从一米的地表高程数据提取河流的流线和可见光对比是非常精确的。
第三个问题,我们关心河流的水面有多宽。在高程数据里要想识别水面宽度,他是沿着河流横向的一个平面,可以用滤波的方法提取出来。
河网的数据量非常大,要有一个检索的方法。这是满二叉树的顺序号,每个节点的两个子节点是2K+1和2K+2。我们把它改造成两个二叉树分量,一个是距出口的距离,一个是距干流的距离,我们定义左侧是河流干流。这样就在标签上面表征了它的拓扑意义。
这是全球流域的编码方法。
大江大河和沿海区间流域总是间隔出现。
我们把以上成果放到地理信息系统里面去,就涉及分层问题。不同比例尺下要看到不同的图,每个比例尺下都有合理的显示范围。传统方法是把河网提取的参数设的松一些、紧一些。我们的做法是只提最细的河网,然后使用分层方法。
这里有一个50年代提出的霍顿(Horton)编码方法,他认为每一个末梢是一级,级别的上升是几何的。只有两个1生成2,两个2生成3,2和1相遇还是2。我们根据这个规律,二级视图把所有的一级河流砍掉,再升一级把所有的2级河流砍掉,这样实现了河网分层。
成果使用已有技术:空间数据库和空间数据引擎存储和发布,出去有两个服务,一个栅格数据,一个矢量数据。接口是兼容的,终端可以基于WEB、安卓等,都可以。
为了提高效率,栅格数据使用传统的金字塔方法,河网数据采用前面的河网分层方法,集成好就可以提供给公众。
这里是河网的例子,这是黄河流域,放大以后,新的数据出来,放大,新的数据出来。每一个源头控制坡面的面积是一公里的级别,到西南地区高山大河大概是十公里的级别。
这是长江。
这是尼罗河。
每一个流域的提取工作很快,后来我们开发了脚本自动执行,得到了186条全球大河,这对地球来讲就是一个整体数据集,大数据,我们做了一个分析,有一个传统的河流分叉比,Shreve假定下河流分叉比常数4.0,实测为4.45。
这是全球河网网站,,在上面可以浏览和查询。
我们的大量数据支撑了一些传统业务。比如说青海可可西里申请世界自然遗产,你的自然条件怎么样?我们只有旅友的照片、感性的描述,理性讲这里是高原湖泊水系,每个湖泊的汇水结构怎么样,降水分布怎么样,湖泊水面面积的多年变化怎么样,为什么要保护它,我们提供了一个报告。
还有一带一路建设,设计院为中亚的五个斯坦国做水能开发规划,使用河网数据能粗略估计各流域的水能蕴藏量。
前些天《自然》上发了一篇文章,07届的一个人,现在是博士后,他想知道全球到底有多少棵树,他把树的密度和遥感得到的植被指数做了一个经验关系,算出来全球有三万亿棵树。
深度学习等大数据算法可以看图说话,在高分辨率影像上可以用一定的方法标志出来绿圈,一个绿圈就是一棵树,现在的技术可以支持做这样的事情。
我们试了,如果拿一个别人训练好的模型从照片中提取对象,当然结果很好。
但是我们想提取的东西,比如水库大坝,线条的形状各异,只有坝是直的,但是长短比例又不一样。我们有全球的大坝地图,是基于统计的,但是我们能不能自动识别呢?
我们玩了一下,这个图有一定的云覆盖,他识别出来这一堆是Snake,这里是Ray,这里有一个龙虾(Lobster),这里有一个潮湿虫(isopad),全部是不正确的。我们正在想办法重新训练模型,就用遥感图训练,让他把无意义的东西去除掉,针对人工产生的地物进行训练和改进。
这次讲一个经常遇到的使用场景,让模型沿着轨迹运动,这个场景需要解决两个问题,第一是让模型沿着轨迹运动,第二是在沿着轨迹运动的同时,要保持模型的头部也时刻保持前方,而不是单纯的只是更新模型位置。 还是先创建一个场景,添加相机,灯光,渲染器等,然后需要创建一个轨迹,这里用CatmullRomC
上一文中实现了用模型所在点的切线方式确定模型的朝向,这个章节是对上个章节的补充,用一种更简单的方式实现小车沿着轨道方向移动,如上文前半部分内容,需要创建场景,轨道,加载车的模型,一切就绪。 threejs中有LookAt方法,这个方法不止是针对相机,也可以用于模型让模型对着某个点,因此让小车时刻对着轨迹的方向,只需要获取到小车所在
GEE训练教程——矢量集合如何批量提取高程值?这里需要更换自己已经存储的矢量集合,或者已经构建好的矢量集合。
SWOT 河流数据库(SWORD)地表水和海洋地形(SWOT)卫星任务于 2022 年 12 月成功发射,通过提供大量的河流水面高程、宽度和坡度测量数据集,彻底改变了我们观测河流的能力。为了最大限度地提高这些数据的实用性和灵活性,SWOT 任务提供了各种数据产品,包括每个 SWOT 立交桥的 shapefile 格式河流矢
【问题】:由于缺少地面控制点,生成的SLPK会悬浮在空中或是陷到地下,不能贴合地面。如果重新生成SLPK,工作量较大。SLPK是基于i3s标准的三维数据格式,所以可以尝试修改SLPK文件。
# Android高程数据读取指南高程数据在很多应用中都有着重要的用处,比如地理信息系统(GIS)、地图应用和许多科学研究。Android设备通过不同的API和库可以方便地进行高程数据的读取。本文将详细介绍如何在Android中读取高程数据,流程图和代码实例将帮助您更好地理解这个过程。## 1. 准备工作在开始之前,您需要一些基础知识,包括Android开发的基础和相关的库。首先,您需
测绘单位,施工单位在使用CAD的过程当中,往往需要基于高精度无人机航测成果数据进行高程点提取,以生 成等高线或者作为地形参考点在设计中应用,图新地球桌面端可以方便的通过简单的打点、划线、画面的方式,还可以进行地形高程点的提取。今天来分享一下图新地球如何快速提取DEM、倾斜模型的高程点 文章技术点:区域高程提取任意高程提取从倾斜模型提取高程点导入 CAD从倾斜模型提取高程点制作 DEM涉及
在水经注万能地图下载器中,除了提供按当前屏幕范围下载、框选矩形范围下载、多边形下载、导入范围下载和按行政区划范围下载外,还可以按道路沿线一定距离范围内下载谷歌地球高程。这里以G318林拉公路为例,说明如何下载道路沿线1000米范围内的高程数据。在软件视图左上角,点击"高程"切换到高程数据视图。 切换高程数据视图在下载工具中点击"沿线下载"工具,鼠标会切换为绘制状态。 沿
现在工作中一直在使用前辈开发的IDE工具,使用非常方便,可以自动生成代码,可以统一处理业务上的逻辑,但是也有用的不爽的地方,自己想试着学习改下,但是发现打开后很多工程无法加载。然后自己查了一些资料发现要使用vs的dsl要先装vs2010的sp1,和sdk。安装完成后终于打开了。什么是Visual Studio DSL &nbs
JavaScript高程学习笔记之DOM(10,11,12)@(JavaScript)[学习笔记]目录JavaScript高程学习笔记之DOM(10,11,12)1. DOM1.1 节点层次1.1.1 Node类型1.1.2 Document类型1.1.3 Element类型1.1.4 Text类型1.1.5 Comment类型1.1.6 CDATASection类型1.1.7 DocumentT
基于DEM的高程点提取一、实验目的1.理解基于DEM进行高程点提取的原理; 2.掌握基于DEM进行高程点提取的具体处理过程。二、实验任务基于DEM完成指定区域的高程点提取,要求能够在cass软件中进行高程展点。 备注说明:由于实验数据是自行网上下载的数据,所以提取的高程点精度不高。三、实验步骤及理解思考实验中将WGS84坐标系转换成CGCS2000高斯坐标系的投影转换过程,请结合实验步骤叙述其转换
在万能地图下载器中可以通过框选下载、导入范围下载和按行政区划下载等多种方式下载高程数据,这里以四川省甘孜州新龙县为例说明如何下载高程并在CASS中展高程点。首先在视图左上角点击"高程"切换到高程在线渲染图,然后在视图右上角选择"四川省\甘孜藏族自治州\新龙县"的行政区划。 点击显示的"下载"按钮会显示"新建任务"对话框,在该对话框中可以选择需要下载的级别。对于下载高程数据而言,一般选择1
目标:熟悉并掌握CloudCompare和matlab的基本命令。通过 CloudCompare软件来显示点云数据,其中包括使用不同的分割法来显示点云、查看点云数据模型的不同统计量等,熟悉并掌握点云数据常用的存储格式.xyz,.ply和.las。在此基础上,利用matlab平台的混合编程,通过不同的地物的特征,来提取目标点云数据。本次实习主要是根据道路的特征来提取点云数据中道路信息。实验数据:本实
序:不少测绘成果依旧是北京54和西安80的成果。包括倾斜模型这种三维格式的数据。如何让这些工程坐标系的成果和常规见到的wgs84或者国家2000的成果底图叠加到一起呢?此处以北京54的倾斜模型成果为例,梳理一下进入到图新地球,并和天地图卫星影像叠加到一起,同时完成坐标查询、核验,高程点提取的过程。先预览一下结果 1 工程坐标系配置1.1 工程坐标系配置需要什么?1.椭球参数2.投影类型3
序:一朋友提出想在地形数据上提取高程点,领导要求一定要梅花布置方式提取高程点,之前写的方案都是矩形模式提取的点位。和朋友深入聊了几分钟,了解了一下这个问题的核心:朋友做无人机航测外业及内业,无人机航测回来的数据建模之后是倾斜模型和地形(DSM)影像(DOM),提取高程点的目的呢是提交给邻居部门,用于工程测量使用,只需要高程点就可以了。直接DSM提供,体积太大,没有去除地表,设计人员没法用,也不会用
高程、坡度和坡向是小班中非常重要的因子,坡度对水土保持规划设计具有决定性的作用,是土地利用规划和治理措施配置首先要考虑的因素。这里将以“小金县”为例,说明如何利用谷歌高程地形数据对坡度进行分析。在万能地图下载器中,在软件左上方点击“高程”数据类型可以切换到谷歌在线高程,在软件的右上方点击“区划”可以选择“中国\四川省\阿坝藏族羌族自治州\小金县”显示行政区划和“下载”按钮,点击“下载”按钮会显示“
《Arduino 手册(思路与案例)》栏目介绍: 在电子制作与智能控制的应用领域,本栏目涵盖了丰富的内容,包括但不限于以下主题:Arduino BLDC、Arduino CNC、Arduino E-Ink、Arduino ESP32 SPP、Arduino FreeRTOS、Arduino FOC、 ...
SSL/TLS是一种加密协议,用于在客户端和服务器之间建立安全连接,保护数据传输安全。它通过加密、身份验证和数据完整性保护,防止中间人和数据篡改。SSL证书分为DV、OV、EV、通配符和多域名等类型,由CA机构颁发。HTTPS协议和浏览器锁标志表明网站已启用SSL/TLS。该技术对保护网站和用户数据安全至关重要。
摘要:本教程介绍了PostgreSQL中AFTER INSERT触发器的使用方法。触发器会在表执行插入操作后自动调用指定函数。通过NEW变量可访问插入的行数据。创建步骤包括:1) 定义触发器函数,2) 使用CREATE TRIGGER绑定触发器。示例演示了如何通过触发器自动更新库存表:当transactions表插入新记录时,触发器会同步调整inventories表的库存数量,处理缺货时自动创建新记录或报错。这种机制能有效维护数据一致性,适用于需要自动处理业务逻辑的场景。
一、概述 中断上半部分和下半部分,中断上半部分处理紧急且需要快速响应的部分,中断下半部分处理耗时操作。 GIC控制器的四种中断类型,软件中断、私有外设中断、全局共享中断、特定的局部外设中断 二、重要函数与中断申请流程 #include <linux/interrupt.h> // 申请一个中断、传参 ...