首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Geotools Image Tif 打开影像文件,写入数据,并且保存

Geotools Image Tif 打开影像文件,写入数据,并且保存

作者头像
Freedom123
发布2024-03-29 08:55:31
发布2024-03-29 08:55:31
5150
举报
文章被收录于专栏:DevOpsDevOps

1. 打开影像文件

代码语言:javascript
复制
public static GeoTiffReader getImageReader(String iamge){
  Hints tiffHints = new Hints();
  tiffHints.add(new Hints(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE));
  tiffHints.add(new Hints(Hints.DEFAULT_COORDINATE_REFERENCE_SYSTEM, DefaultGeographicCRS.WGS84));

  try{
    File file = new File(iamge);
    GeoTiffReader tmpTif = new GeoTiffReader(file,tiffHints);
    return tmpTif;
  }catch (Exception e){
    e.printStackTrace();
    return  null;
  }
}  

2. 写入快数据

代码语言:javascript
复制
//noData获取
double nodata = reader.read(null).getSampleDimension(0).getNoDataValues()[0];

//scalex,scaley 像元获取
AffineTransform trs = (AffineTransform)reader.read(null).getGridGeometry().getGridToCRS();
metaInfo.setScaleX(trs.getScaleX());
metaInfo.setScaleY(trs.getScaleY());

float[] tmpDatas = new float[widthX*heightY];
metaInfo.getSplitGrid().getPixels(metaInfo.getSplitIdxX(),metaInfo.getSplitIdxY(),widthX,heightY,tmpDatas);

for(int row=0; row <heightY; row++){
  for(int col= 0; col<widthX; col++){
    if(tmpDatas[row*widthX+col] != metaInfo.getNoData()){
      newGrid[row+startY][col+startX] = tmpDatas[row*widthX+col];
    }
  }
}

3. 保存影像文件

代码语言:javascript
复制
GridSampleDimension[] dimensions = metaImages.get(0).getReader().read(null).getSampleDimensions();
Envelope2D mergedEnvelope = new Envelope2D(metaImages.get(0).getReader().getCoordinateReferenceSystem(),minX,minY,maxX - minX,maxY - minY);
GridCoverage2D outputCoverage = ImageUtils.customCreate("merge",newGrid,mergedEnvelope,dimensions);

GeoTiffWriter writer = new GeoTiffWriter(new File(dstFile));
writer.write(outputCoverage, null);
writer.dispose();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档