c#调用gdalwarp

本文介绍了如何在C#中调用GDAL库进行地理数据处理,包括直接使用gdalwarp.exe命令行工具,以及通过C#绑定GDAL库和调用GDAL的Python绑定来实现。提供了使用Process类执行gdalwarp命令行操作的方法,并提到了利用PythonNet等库的可能方案。
摘要由CSDN通过智能技术生成
  1. 通过命令行gdalwarp.exe
  2. 通过gdal的c#binding
  3. 通过c#调用gdal的python绑定
    第一种直接使用Process类,写好py文件即可
    第3种也可以new Process,或者用pythonnet之类的库也可(ps 我没试过)
var inRasterDs = Gdal.Open(_inRasterFile, Access.GA_ReadOnly);
string evWkt = inRasterDs.GetProjectionRef();
var cellSize = RasterUtil.GetCellSize(inRasterDs);
//栅格6参数
double[] argout = new double[6];
inRasterDs.GetGeoTransform(argout);

//calc extent
var xmin = argout[0];
var ymax = argout[3];
var xmax = argout[0] + argout[1] * inRasterDs.RasterXSize + inRasterDs.RasterYSize * argout[2];
var ymin = argout[3] + argout[4] * inRasterDs.RasterXSize + inRasterDs.RasterYSize * argout[5];
inRasterDs.Dispose();
//重投影并指定像元大小和四至,重采样方式为nearest,并指定格式为ENVI .hdr Labelled Raster
var options = Gdal.ParseCommandLine($"-t_srs {evWkt} -tr {cellSize.cellSizeX} {cellSize.cellSizeY} " +
   $"-te {xmin} {ymin} {xmax} {ymax}  -r near
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值