张洋洋
2025-02-13 30a47805b1e3233827a6a2db4d97bfb7f6250384
src/main/java/com/se/simu/utils/TiffToRGBUtil.java
@@ -1,8 +1,8 @@
package com.se.simu.utils;
import org.apache.commons.imaging.*;
import org.gdal.gdal.Band;
import org.gdal.gdal.Dataset;
import org.gdal.gdal.Band;
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
@@ -13,6 +13,9 @@
import java.io.IOException;
public class TiffToRGBUtil {
    public static void main(String[] args) throws Exception{
       tifToPng("D:\\城市内涝\\sem\\tongzhou_1m_tif\\tongzhou_raster_4548_1m_clip_river_fill.tif","D:\\城市内涝\\sem\\tongzhou_1m_tif\\tongzhou_raster_4548_1m_clip_river_fill.png");
    }
    public static void tifToPng(String tifPath, String pngPath) throws Exception {
        // 注册所有的 GDAL 驱动
        gdal.AllRegister();
@@ -41,7 +44,7 @@
                // 假设高度信息存储在像素值中
                double pixelHeight = pixelValue * geoTransform[5];
                //height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)
                int value = (int) (pixelHeight + 10000) * 10;
                int value = (int) ((pixelHeight + 10000) * 10);
                //value=(R * 256 * 256 + G * 256 + B);
                int r = value / (256 * 256);
                value = value % (256 * 256);