Gdal之栅格数据金字塔
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gdal之栅格数据金字塔相关的知识,希望对你有一定的参考价值。
参考技术A 1). 语法:gdaladdo [ - r nearest,average,gauss,cubic,cubicspline,lanczos,
average_magphase,mode]
[ - b band] * [ - minsize val]
[ - ro] [ - clean] [ - oo NAME = VALUE] * [ -- help - general] filename [levels]
2).示例 :
案例:栅格数据添加金字塔
场景: 想要给 bigd ata.tif 格式文件 添加金字塔
脚本:gdaladdo.exe -r nearest bigdata.tif 2 4 8 16
参考:https://www.osgeo.cn/gdal/programs/gdaladdo.html
脚本:BAT脚本示范
@echo off
chcp 936
@echo "gdal3/bin/gdaladdo.exe" -r nearest bigdata.tif 2 4 8 16
"gdal3/bin/gdaladdo.exe" -r nearest bigdata.tif 2 4 8 16
pause
拓展:BAT脚本,批量给.img格式文件添加金字塔RRD模式
//Pyramid.bat
@echo off
chcp 936
@echo "gdal3/bin/gdaladdo.exe" -r nearest --config HFA_USE_RRD YES --config USE_RRD YES %1.img 2 4 8 16
@rem "gdal3/bin/gdaladdo.exe" --config COMPRESS_OVERVIEW DEFLATE %1.img 2 4 8 16
"gdal3/bin/gdaladdo.exe" -r nearest --config HFA_USE_RRD YES --config USE_RRD YES %1.img 2 4 8 16
//RunPyramid.bat 【输出栅格文件名称】
@echo off
chcp 936
setlocal enabledelayedexpansion
for /f "tokens=* delims=," %%i in (name.txt) do (
call Pyramid.bat %%i
)
pause
python-GDAL之空间数据处理-自带工具集
GDAL自带了很多实用方便的工具,方便大家直接使用。
如果想了解更多关于python-GDAL的可以去看视频教程(python与GDAL-空间数据处理入门教程):https://edu.csdn.net/course/detail/27662
它把这些功能封装了一些基本的空间数据处理功能,包括栅格处理、矢量处理、地理网络处理。有的封装成exe文件,有的以py文件的形式展现给大家,大家不仅可以拿来使用,还可以学习它的源代码。这些工具放在安装目录下\\Lib\\site-packages\\osgeo下。
具体每一个功能的具体文档可以在GDAL的文档中找到。所有的工具主要分为4类,二维栅格处理、多维栅格处理、矢量处理、地理网络处理。
这里我对这些工具做了核实和整理(我的版本GDAL3.0)
(1)栅格处理工具
EXE工具
gdalinfo: 输出栅格影像的描述信息
gdal_translate: 栅格影像数据格式转换
gdaladdo: 创建栅格影像金字塔
gdalwarp: 栅格影像数据重投影和几何校正、镶嵌
gdaltindex: 根据栅格的四至生成矢量范围
gdalbuildvrt: 创建虚拟数据集
gdal_contour: 从DEM数据中提取等高线矢量文件。
gdaldem:对DEM数据进行分析和处理,例如生成山体阴影,生成坡度图、坡向图、生成彩色渲染图、地表耐用指数图、粗糙度图、地形位置指数图。
gdal_rasterize: 矢量转栅格
gdaltransform: 用于坐标转换
nearblack: 将黑色、白色、自定义颜色的像元值修改成黑色,工具目前只支持8位影像数据。
gdal_grid: 将离散的矢量数据插值成规则的栅格数据
gdallocationinfo: 查询栅格影像指定位置的像元值。
gdalsrsinfo:将空间参考按照不同的格式输出,例如WKT、proj4、esri等等。
gdal-config:查看GDAL的安装信息
gdalmanage:管理栅格数据的一些操作,例如查看数据格式、删除数据、重命名、复制数据等。
gdal_viewshed: 根据DEM生成可见栅格数据,参考文献 Wang, Jianjun, Robinson, Gary J., and White, Kevin. Photogrammetric Engineering and Remote Sensing(版本3.1才有此功具)
gdal_create: 不需要数据集而创建新栅格数据(版本3.2才有此工具)
gdalenhance
gdalserver
PY文件
rgb2pct.py: 将3通道彩色影像转换成单通道的索引影像
pct2rgb.py: 将索引影像转化成3通道彩色影像
gdalattachpct.py:将一幅影像的颜色表转移给另一幅影像(我的版本下没有,可能在更高版本里有这个脚本)
gdal_merge.py:对图像进行镶嵌,输入影像必须有空间参考,如果有重叠,后面的影像会覆盖前面的影像。
gdal2tiles.py:按照OSGEO切片服务规则生成切片数据、元数据、地图浏览网页。还可以按照WGS84投影创建Google Earth的元数据文件KML。
gdal2xyz.py: 将GDAL的栅格影像转换成xyz的点格式。
gdal_retile.py: 生成瓦片和金字塔,功能与gdal2tiles类似。
gdal_proximity.py: 求原始像素中心到目标像素中心的距离,生成一个距离影像(我没用过)
gdal_polygonize.py: 栅格矢量化
gdal_sieve.py:去除栅格影像的小碎图斑,可用于分类后处理。
gdal_fillnodata.py: 用NoData填充影像中像元值
gdalmove.py: 进行栅格影像的空间参考转换
gdal_edit.py: 更改GDAL支持的影像信息,只读的影像不能更改
gdal_calc.py: 利用Numpy对影像进行逻辑运算,前提两幅影像大小尺寸要相同。
gdal_pansharpen.py: 对影像执行平移-锐化增强操作(2.1以后版本才有此工具)
gdalcompare.py: 对两幅影像进行差异检测,包括像素和元数据的检查。
gdalimport.py:将GDAL的影像文件生成GEOTIFF的切片并生成金字塔。
gdalident.py:识别文件的格式
mkgraticule.py:生成网格数据集
gdalchksum.py:对影像文件进行检查
gdal_auth.py:用于Google Web服务认证
epsg_tr.py:为EPSG GCS/PCS编码创建WKT和PROJ4字典。
esri2wkt.py:将ESRI的.prj文件转化成WKT格式
gcps2vec.py:控制点数据转换成点要素矢量数据
gcps2wld.py:根据控制点生成坐标转换参数
(2)多维影像
gdalmdiminfo.exe: 将GDAL支持的多维栅格影像数据集的各种信息列为JSON输出(在GDAL3.1版本才有)
gdalmdimtranslate.exe: 不同多维栅格影像格式转换(在GDAL3.1版本才有)
(3)矢量
EXE文件
ogrinfo: 输出矢量数据的信息
ogr2ogr: 对矢量数据进行格式转换,在转换过程中可以进行空间或属性选择,设置坐标系、重投影等操作。
ogrtindex: 按照矢量数据的四至范围,生成矩形矢量范围。
ogrlineref: 创建一个线性参考包含特殊长度单位(例如1km)的文件,并从该文件中获取坐标、线性参考距离或子线(子路径),不需要几何图形中的M或Z值。结果可以以OGR支持的任何格式存储。
PY文件
ogrmerge.py: 多个矢量数据融合成一个矢量数据
(4)地理网络
gnmmanage.exe: 以在GDAL中的地理网络上执行各种管理操作。除了创建和删除网络外,还包括管理网络功能、拓扑和规则的功能。
gnmanalyse: 提供GDAL中地理网络的分析能力,结果以OGRLayer格式返回。
注意:
使用自带的这些工具时,有时会遇到如下这样的问题,提示找不到ogr_FileGDB.dll文件,如下图所示:
解决办法:在osgeo问价夹下存在一个gdalplugins文件夹,把gdalplugins文件夹下的ogr_FileGDB.dill剪切到osgeo文件夹下。剪切!剪切!剪切!重要的事情说三遍。
以上是关于Gdal之栅格数据金字塔的主要内容,如果未能解决你的问题,请参考以下文章