From 796b44ea813a1133beae4f3a67f1c0263510c0c7 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 17 十一月 2024 09:45:07 +0800 Subject: [PATCH] 1 --- src/main/java/com/moon/server/service/data/ReadRasterService.java | 45 +-------------------------------------------- 1 files changed, 1 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/moon/server/service/data/ReadRasterService.java b/src/main/java/com/moon/server/service/data/ReadRasterService.java index c88a932..8ea5206 100644 --- a/src/main/java/com/moon/server/service/data/ReadRasterService.java +++ b/src/main/java/com/moon/server/service/data/ReadRasterService.java @@ -19,18 +19,11 @@ import java.util.ArrayList; import java.util.List; -/** - * 璇诲彇鏍呮牸鏈嶅姟 - * @author WWW - * @date 2023-08-25 - */ @Service +@SuppressWarnings("ALL") public class ReadRasterService { private final static Log log = LogFactory.getLog(ReadRasterService.class); - /** - * 璇诲彇鏍呮牸淇℃伅 - */ public void readRasterInfo(MetaFileEntity mf, String file) { Dataset ds = null; try { @@ -45,33 +38,23 @@ } SpatialReference sr = ds.GetSpatialRef(); - // 鍧愭爣绯荤粺 mf.setCoorSys(sr.GetName()); if (StaticData.MOON200.equals(mf.getCoorSys())) { - // EPSG缂栫爜 mf.setEpsg("ESRI:" + StaticData.I104903); } else { - // EPSG缂栫爜锛歅ROJCS銆丟EOGCS銆丟EOGCS|UNIT 鎴� NULL String code = sr.GetAuthorityCode(null); mf.setEpsg(StringHelper.isEmpty(code) ? null : "EPSG:" + code); } - // 琛屽垪鏁� mf.setGridsize(String.format("%d,%d", ds.getRasterXSize(), ds.getRasterYSize())); - // 娉㈡鏁� mf.setBands(String.valueOf(ds.getRasterCount())); - // 鏁版嵁绫诲瀷 int dataType = ds.GetRasterBand(1).GetRasterDataType(); mf.setBandType(getDataType(dataType)); - // 鏁版嵁棰滆壊琛� ColorTable colorTable = ds.GetRasterBand(1).GetRasterColorTable(); mf.setCt(null == colorTable ? null : colorTable.toString()); - // 楂樼▼鍩哄噯 mf.sethDatum(null); - // 璁剧疆鏈�鍊� setMinAndMax(ds, mf); - // 鍒嗚鲸鐜� double[] tr = new double[6]; ds.GetGeoTransform(tr); mf.setResolution(String.format("%f,%f", tr[1], Math.abs(tr[5]))); @@ -86,7 +69,6 @@ double xmax = maxPoint.GetX(0); double ymax = maxPoint.GetY(0); - // 鍥涜嚦鑼冨洿 String geom = String.format("ST_GeomFromText('POLYGON ((%f %f,%f %f,%f %f,%f %f,%f %f))')", xmin, ymax, xmax, ymax, xmax, ymin, xmin, ymin, xmin, ymax); mf.setGeom(geom); } catch (Exception ex) { @@ -98,9 +80,6 @@ } } - /** - * 鑾峰彇鏁版嵁绫诲瀷 - */ private String getDataType(int dataType) { if (dataType == gdalconst.GDT_Byte) { return "GDT_Byte"; @@ -139,9 +118,6 @@ return null; } - /** - * 鑾峰彇Dataset鐨勬渶灏忕偣 - */ private Geometry getMinPoint(Dataset ds) { double[] transform = new double[6]; ds.GetGeoTransform(transform); @@ -155,19 +131,7 @@ return transform(ds, point); } - /** - * 鑾峰彇Dataset鐨勬渶澶х偣 - */ private Geometry getMaxPoint(Dataset ds) { - /* - * transform[0] 宸︿笂瑙抶鍧愭爣 - * transform[1] 涓滆タ鏂瑰悜鍒嗚鲸鐜� - * transform[2] 鏃嬭浆瑙掑害, 0琛ㄧず鍥惧儚 "鍖楁柟鏈濅笂" - * - * transform[3] 宸︿笂瑙抷鍧愭爣 - * transform[4] 鏃嬭浆瑙掑害, 0琛ㄧず鍥惧儚 "鍖楁柟鏈濅笂" - * transform[5] 鍗楀寳鏂瑰悜鍒嗚鲸鐜� - */ double[] transform = new double[6]; ds.GetGeoTransform(transform); @@ -180,9 +144,6 @@ return transform(ds, point); } - /** - * 鍧愭爣杞崲 - */ private Geometry transform(Dataset ds, Geometry point) { point.AssignSpatialReference(ds.GetSpatialRef()); if (ds.GetSpatialRef().IsGeographic() > 0) { @@ -200,10 +161,6 @@ return point; } - /** - * 璁剧疆鏈�鍊� - * GDALRasterBand::GetHistogram聽鈥嬧�嬬粺璁$洿鏂瑰浘 - */ private void setMinAndMax(Dataset ds, MetaFileEntity mf) { List<Double> minList = new ArrayList<>(); List<Double> maxList = new ArrayList<>(); -- Gitblit v1.9.3