package gdal.cutmap.raster;
import org.gdal.gdal.Band;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.Driver;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconst;
import org.gdal.gdalconst.gdalconstConstants;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.referencing.CRS;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.UUID;
import static org.apache.commons.io.IOUtils.toByteArray;
/**
* https://www.jianshu.com/p/98389e3168e8
*/
public class DemoRasterTest {
public static void main(String[] args) throws FactoryException {
gdal.AllRegister();
String fileName = "C:\\Users\\h\\Desktop\\tif\\map.tif";
Dataset dataset = gdal.Open(fileName, gdalconstConstants.GA_ReadOnly);
double[] ori_transform = dataset.GetGeoTransform();
int rasterCount = dataset.getRasterCount();
System.out.println(String.format("Origin = (%s, %s)", ori_transform[0], ori_transform[3]));
System.out.println(String.format("Pixel Size = (%s, %s)", ori_transform[1], ori_transform[5]));
//4.1 首先获取原始影像的地理坐标范围
int yCount = dataset.getRasterXSize();
int xCount = dataset.getRasterYSize();
System.err.println("yCount:"+yCount+"xCount:"+xCount);
double latMin = ori_transform[3];
double latMax = ori_transform[3] + (yCount * ori_transform[1]);
double lonMin = ori_transform[0];
double lonMax = ori_transform[0] +
gdal栅格切图
最新推荐文章于 2024-03-01 17:40:29 发布
该博客详细介绍了如何使用GDAL Java API进行遥感影像处理,包括读取影像、计算地理坐标范围、进行瓦片编号转换、切片以及将切片数据写入PNG文件。此外,还涉及到了影像的像素分辨率计算和切片数据的存储。

最低0.47元/天 解锁文章
695

被折叠的 条评论
为什么被折叠?



