基于QGIS生产建筑物高度与遥感影像数据集
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. 总结
总结来说,流程如下
高度数据 --> 遥感影像 --> 切割为瓦片 --> 利用现有建筑数据过滤 --> 最终数据集
值得一提的是,处理过程中的产生数据量是较大的,通常是几十个G以上,处理时需要保证硬盘存储充足
基于QGIS生产建筑物高度与遥感影像数据集的更多相关文章
- 基于GDAL的遥感影像显示(C#版)
基于GDAL的遥感影像显示(C#版) - 菜菜的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/RSyaoxin/article/details/9220735
- 基于VC++ Win32+CUDA+OpenGL组合与VC++ MFC SDI+CUDA+OpenGL组合两种方案的遥感影像显示:获得的重要结论!
1.基于VC++ Win32+CUDA+OpenGL组合的遥感影像显示 在该组合方案下,初始化时将OpenGL设置为下面两种方式,效果一样 //设置方式1 glutInitDisplayMode (G ...
- 遥感影像和DEM数据获取处理、GeoServer切片发布并使用Cesium加载
1. 数据获取 笔者这里使用的是哨兵一号(Sentinel-1).ALOS的遥感影像和ALOS的DEM数据 下载地址为:ASF Data Search (alaska.edu) ASF(Alaska ...
- DGIS之遥感影像数据获取
1.概要 在GIS圈的同行或多或少接触过遥感,记得在大学老师就说过"数据是GIS的核心".本文介绍在国内下载遥感影像的方法. 地理空间数据云,这个是中科院计算机网络中心建设的一个免 ...
- 深度学习遥感影像(哨兵2A/B)超分辨率
这段时间,用到了哨兵影像,遇到了一个问题,就是哨兵影像,它的RGB/NIR波段是10米分辨率的,但是其他波段是20米和60米的,这就需要pansharpening了,所以我们需要设计一种算法来进行解决 ...
- Python核对遥感影像批量下载情况的方法
本文介绍批量下载遥感影像时,利用Python实现已下载影像文件的核对,并自动生成未下载影像的下载链接列表的方法. 批量下载大量遥感影像数据对于GIS学生与从业人员可谓十分常见.然而,对于动辄成 ...
- Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据
本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取.计算,并基于质量控制QC波段进行图像掩膜的方法. 前期的文章Python GDAL读取栅格数据并基于质量评估波段QA对 ...
- Python ArcPy批量掩膜、重采样大量遥感影像
本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作. 首先,我们来明确一下本文的具体需求.现有一个存储有大量.tif格式遥感影像的文件夹:且其中除了 ...
- 遥感影像滤波处理软件 — timesat3.2
最近因为要做遥感影像的滤波处理,经过女神推荐,决定用Timesat,可是该软件3.1版本只适合xp系统以及2011的matlab,后来在官网上找到了最新的3.2版本.支持64位操作系统以及2014的m ...
- 在matlab中进行遥感影像地理坐标的相互转换
在matlab中进行图像处理,一般使用的都是图像本地坐标,以左上角(1,1)开始.处理完成后,如果要将结果在带地理坐标的遥感影像中显示,或者需要输出成shp文件,就需要涉及到本地坐标和地理坐标的转换, ...
随机推荐
- SpringMVC关于@RequestBody加与不加的区别
SpringMVC关于@RequestBody加与不加的区别 前两天在做项目的时候遇到了这样一个问题,小组成员为了方便做接口测试,给Controller控制器上加了@RequestBody注解,但是前 ...
- 遍历用for还是foreach?
遍历用for还是foreach?这篇文章帮你轻松选择! 在编程的世界里,我们经常需要对数据进行循环处理,常用的两种方法就是:for循环和foreach循环.想象你站在一条装满宝贝的传送带前,你要亲手检 ...
- paste命令
paste命令 paste命令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [OPTION]... [FILE]... 参数 -d, --delimiters=[LIST]: 用指 ...
- Spring boot项目实战之记录应用访问日志
1.说明 系统上线后往往我们需要知道都有哪些用户访问了应用的那些功能,以便更好的了解用户需求.防止恶意访问等.为此我们需要给应用添加记录访问日志的功能.下面就开始吧: 2.建表 CREATE TABL ...
- Java并发编程实例--16.使用ReentrantLock实现线程同步
Java提供另一机制去同步代码块.它比synchronized关键字更强大且易用. 它是基于Lock接口和其实现类例如:ReentrantLock. 这一机制对比synchronized关键字的优势在 ...
- js结合canvas画任意多边形
实现六边形 // html <canvas></canvas> // js const canvas = document.querySelector("canvas ...
- 学习go语言编程之工程管理
Go命令行工具 安装了Go语言的安装包后,就直接自带Go命令行工具. # 查看当前安装的Golang版本 go version # 查看go命令行工具的帮助信息 go help Go命令行工具可以完成 ...
- Mqtt开发笔记:Mqtt服务器搭建
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- git开发流程图解,本地分支合并,并推送远程分支步骤
本地分支合并,并推送远程分支步骤 1.只有当将修改内容commit后 该修改才完全生效,进行merge前需要将两个分支修改的内容都进行commit 2.假设本地两个分支 用于开发的分支:dev 用于同 ...
- yum源配置脚本
# yum源配置脚本 #!/bin/bash mkdir /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bac ...