GDAL安装,转化坐标系,裁剪tif

安装GDAL

首先需要成功安装conda,最好新建一个虚拟环境以防和其他包产生冲突

conda install -c conda-forge gdal

输入命令行后如果成功安装可以通过以下代码成功导入gdal

from osgeo import gdal

使用GDAL命令行转化坐标系

假设原始SHP文件名为input.shp,目标文件为output.shp,可通过以下命令进行转换:

ogr2ogr -t_srs "EPSG:4326" output.shp input.shp

如果出现报错
Warning 1: One or several characters couldn’t be converted correctly from UTF-8 to ISO-8859-1. This warning will not be emitted anymore.

这个警告通常是因为SHP文件的属性表中包含无法直接转换为ISO-8859-1字符集的字符。GDAL默认使用ISO-8859-1编码处理SHP文件的属性表,这会导致含有UTF-8字符(如中文、特殊符号等)无法正确显示或转换。为了解决这个问题,可以在转换时明确指定输入和输出文件的字符集编码,在ogr2ogr命令中添加-lco ENCODING=UTF-8参数以指定输出文件的编码为UTF-8:

ogr2ogr -t_srs "EPSG:4326" -lco ENCODING=UTF-8 output.shp input.shp

这样可以确保字符集的正确转换,避免ISO-8859-1的字符集限制引发的警告。

使用GDAL命令行裁剪tif

可以使用GDAL的gdalwarp工具通过SHP文件来裁剪TIF文件。假设你的TIF文件名为input.tif,SHP文件名为clip.shp,裁剪后的输出TIF文件为output.tif,可以使用以下命令:

gdalwarp -cutline clip.shp -crop_to_cutline -dstalpha input.tif output.tif

如果裁剪后需要调整像素大小或重采样,可以在命令中添加-tr(设置分辨率)-r(指定重采样方法)参数,例如:

gdalwarp -cutline clip.shp -crop_to_cutline -dstalpha -tr 30 30 -r bilinear input.tif output.tif

如果出现报错
Warning 1: Self-intersection at or near point 113.9725053093111 22.379899682280694
ERROR 1: Cutline polygon is invalid.

这个错误是由于用于裁剪的SHP文件(output.shp)中存在无效的多边形,比如自相交、多重环或拓扑错误。要解决这个问题,需要在使用gdalwarp进行裁剪之前修复SHP文件。以下是具体使用ogr2ogr修复SHP文件的步骤:

ogr2ogr -f "ESRI Shapefile" fixed_output.shp output.shp -makevalid

如果出现报错
Warning 1: One or several characters couldn’t be converted correctly from UTF-8 to ISO-8859-1. This warning will not be emitted anymore.

这个警告是由于SHP文件属性表中的字符编码问题,默认的SHP文件格式使用ISO-8859-1字符集,而文件中可能包含UTF-8编码的字符。要解决这个问题,可以通过指定编码来确保正确处理字符集。以下是在ogr2ogr命令中使用-lco ENCODING=UTF-8参数,确保输出文件使用UTF-8编码的详细步骤:

ogr2ogr -f "ESRI Shapefile" -lco ENCODING=UTF-8 fixed_output.shp output.shp -makevalid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡心curry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值