首页 > 解决方案 > 使用geotools从jpg和jgw文件创建geotiff?

问题描述

我在JPG中有一个图像,还使用仿射变换创建了JGW文件,现在我想将这个带有 jgw 文件的 jpg 文件转换为 geotiff,我该怎么做?谢谢

标签: geotoolsgeotiff

解决方案


首先,您需要确保依赖于gt-imageand gt-geotiff

<dependency>
  <groupId>org.geotools</groupId>
  <artifactId>gt-image</artifactId>
  <version>${geotools.version}</version>
</dependency>
<dependency>
  <groupId>org.geotools</groupId>
  <artifactId>gt-geotiff</artifactId>
  <version>${geotools.version}</version>
</dependency>

然后,您可以简单地使用 WLD 文件(或任何其他基于图像的文件)打开 JPG 并将其写为 GeoTIFF。

AbstractGridFormat format = GridFormatFinder.findFormat(input);
Hints hints = null;
if (format instanceof GeoTiffFormat) {
  hints = new Hints(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE);
}

AbstractGridCoverage2DReader reader = format.getReader(input, hints);
GridCoverage2D grid = reader.read(null);
reader.dispose();
File out = new File("test.tif");

GeoTiffFormat outFormat = new GeoTiffFormat();
GridCoverageWriter writer = outFormat.getWriter(out, hints);
writer.write(grid, null);
writer.dispose();

推荐阅读