1. 概述

利用遥感影像推知建筑物高度是一经典研究,现有很多学者利用机器学习的方式,利用现有数据进行训练从而构建模型

本文旨在记述使用QGIS进行建筑物高度与遥感影像数据集的获取与制作

如果不想自己动手,公开的可以选择以下数据集:

显然,满足具有高度又是国内数据的寥寥无几,最后,推荐下面这个数据集:

2. 高度数据

获取地址:汉习楼船:建筑栅格数据共享第19期【2019-027】 (qq.com)

数据切片,尺寸512*512像素(或者自定义)

使用QGIS以及GDAL的重新分割瓦片

后处理:

使用GDAL,删除没有值的瓦片,删除尺寸不是512*512的瓦片(原始图像的边缘部分)

3. 遥感数据

使用QGIS下载Google的瓦片底图,下载范围为高度图的范围(直接右键->另存为,即可下载)

使用QGIS及GDAL的重新分割瓦片

后处理:

根据高度图被删除的瓦片,删除影像图对应的瓦片

4. 建筑数据

高度数据并不完整,可能有的区域是有建筑的,但是高度图中没有,所以需要把这种影像中有建筑然而高度图中没有的瓦片去除

思路是利用提取的建筑数据,与高度图对比,将有建筑却没有高度的瓦片去除

建筑数据来源:国家青藏高原科学数据中心 (tpdc.ac.cn)

先使用QGIS进行裁剪,裁剪范围为高度图范围

再使用QGIS及GDAL的重新分割瓦片

根据高度图删除的瓦片,删除建筑物图对应的瓦片

依次识别高度图与建筑物瓦片,去除建筑物瓦片中有值而高度图中无值或者差异很大的瓦片(可用OpenCV等传统图像处理库)

最后剩下的影像图和高度图,为最终处理结果

5. 总结

总结来说,流程如下

graph TB
高度数据 --> 遥感影像 --> 切割为瓦片 --> 利用现有建筑数据过滤 --> 最终数据集

值得一提的是,处理过程中的产生数据量是较大的,通常是几十个G以上,处理时需要保证硬盘存储充足

基于QGIS生产建筑物高度与遥感影像数据集的更多相关文章

  1. 基于GDAL的遥感影像显示(C#版)

    基于GDAL的遥感影像显示(C#版) - 菜菜的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/RSyaoxin/article/details/9220735

  2. 基于VC++ Win32+CUDA+OpenGL组合与VC++ MFC SDI+CUDA+OpenGL组合两种方案的遥感影像显示:获得的重要结论!

    1.基于VC++ Win32+CUDA+OpenGL组合的遥感影像显示 在该组合方案下,初始化时将OpenGL设置为下面两种方式,效果一样 //设置方式1 glutInitDisplayMode (G ...

  3. 遥感影像和DEM数据获取处理、GeoServer切片发布并使用Cesium加载

    1. 数据获取 笔者这里使用的是哨兵一号(Sentinel-1).ALOS的遥感影像和ALOS的DEM数据 下载地址为:ASF Data Search (alaska.edu) ASF(Alaska ...

  4. DGIS之遥感影像数据获取

    1.概要 在GIS圈的同行或多或少接触过遥感,记得在大学老师就说过"数据是GIS的核心".本文介绍在国内下载遥感影像的方法. 地理空间数据云,这个是中科院计算机网络中心建设的一个免 ...

  5. 深度学习遥感影像(哨兵2A/B)超分辨率

    这段时间,用到了哨兵影像,遇到了一个问题,就是哨兵影像,它的RGB/NIR波段是10米分辨率的,但是其他波段是20米和60米的,这就需要pansharpening了,所以我们需要设计一种算法来进行解决 ...

  6. Python核对遥感影像批量下载情况的方法

      本文介绍批量下载遥感影像时,利用Python实现已下载影像文件的核对,并自动生成未下载影像的下载链接列表的方法.   批量下载大量遥感影像数据对于GIS学生与从业人员可谓十分常见.然而,对于动辄成 ...

  7. Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据

      本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取.计算,并基于质量控制QC波段进行图像掩膜的方法.   前期的文章Python GDAL读取栅格数据并基于质量评估波段QA对 ...

  8. Python ArcPy批量掩膜、重采样大量遥感影像

      本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作.   首先,我们来明确一下本文的具体需求.现有一个存储有大量.tif格式遥感影像的文件夹:且其中除了 ...

  9. 遥感影像滤波处理软件 — timesat3.2

    最近因为要做遥感影像的滤波处理,经过女神推荐,决定用Timesat,可是该软件3.1版本只适合xp系统以及2011的matlab,后来在官网上找到了最新的3.2版本.支持64位操作系统以及2014的m ...

  10. 在matlab中进行遥感影像地理坐标的相互转换

    在matlab中进行图像处理,一般使用的都是图像本地坐标,以左上角(1,1)开始.处理完成后,如果要将结果在带地理坐标的遥感影像中显示,或者需要输出成shp文件,就需要涉及到本地坐标和地理坐标的转换, ...

随机推荐

  1. Flink-postgres-cdc实时同步报错:无法访问文件 "decoderbufs": 没有那个文件或目录

    问题描述 Caused by: org.postgresql.util.PSQLException: 错误: 无法访问文件 "decoderbufs": 没有那个文件或目录 解决办 ...

  2. Hive-mapjoin详解(mapjoin原理)

    笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join).本文简单介绍一下两种join的原理和机制. 一 .Common ...

  3. CF1842

    A 比两边和的大小即可. B 显然如果一个数拥有的所有二进制位的 \(1\) 被包含在 \(x\) 中,选了一定不会导致不能变成 \(x\):如果有一个 \(1\),\(x\) 对应的位上是 \(0\ ...

  4. Python中`yield`关键字详解

    Python中`yield`关键字有什么用? Python中yield关键字有什么用? 它能做什么? 例如,我试图理解这段代码1: def _get_child_candidates(self, di ...

  5. 对称加密算法汇总:AES DES 3DES SM4 java 实现入门

    密码的世界 如果你是黑帮老大,平时和手下沟通,如何保证自己的信息安全呢? 在神探夏洛克的第一季中,就讲述了一个如何侦破黑帮的加密交流的故事. 这种密码利用的是密码字典. 密码本身可以是一本书,比如常见 ...

  6. Js中数组空位问题

    Js中数组空位问题 JavaScript中数组空位指的是数组中的empty,其表示的是在该位置没有任何值,而且empty是区别于undefined的,同样empty也不属于Js的任何数据类型,并且在J ...

  7. [BUUCTF][Web][极客大挑战 2019]EasySQL 1

    打开靶机对应的url 界面显示需要输入账号和密码 分别在两个输入框尝试加单引号尝试是否有sql注入的可能,比如 123' 发现两个框可以注入,因为报了个错误信息 You have an error i ...

  8. python装饰器保留原有函数名称和属性functools.wraps()

    # python装饰器在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,python的functools包中提供了一个叫wraps的decorator来消 ...

  9. 在Winform界面中使用自定义控件,丰富界面的效果处理

    我们在<SqlSugar开发框架>中,Winform界面开发部分往往也用到了自定义的用户控件,对应一些特殊的界面或者常用到的一些局部界面内容,我们可以使用自定义的用户控件来提高界面的统一性 ...

  10. Python函数每日一讲 - 简洁快速学会globals()函数

    引言 在 Python 中,globals() 函数是一个强大的工具,它允许您访问全局命名空间中的所有变量和函数.本文将深入探讨 globals() 函数的语法.用法以及实际应用场景,帮助大家更好地理 ...