From 6efe7fe203c2ccff639793c7883b61d3fc5b67cc Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 25 八月 2023 13:34:49 +0800
Subject: [PATCH] 修改geom的插入和更新

---
 src/main/java/com/moon/server/service/data/RasterService.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 src/main/resources/mapper/data/MetaMapper.xml                 |    8 ++++----
 2 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/moon/server/service/data/RasterService.java b/src/main/java/com/moon/server/service/data/RasterService.java
new file mode 100644
index 0000000..3a6c070
--- /dev/null
+++ b/src/main/java/com/moon/server/service/data/RasterService.java
@@ -0,0 +1,47 @@
+package com.moon.server.service.data;
+
+import com.moon.server.entity.data.MetaEntity;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gdal.gdal.Dataset;
+import org.gdal.gdal.gdal;
+import org.gdal.osr.SpatialReference;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+
+/**
+ * 鏍呮牸鏈嶅姟
+ * @author WWW
+ * @date 2023-08-25
+ */
+@Service
+public class RasterService {
+    private final static Log log = LogFactory.getLog(RasterService.class);
+
+    /**
+     * 璇诲彇鏍呮牸淇℃伅
+     */
+    public void ReadRasterInfo(MetaEntity me, String file) {
+        Dataset ds = null;
+        try {
+            File f = new File(file);
+            if (!f.exists() || f.isDirectory()) {
+                return;
+            }
+
+            ds = gdal.Open(file, 0);
+            if (null == ds || ds.getRasterCount() == 0) {
+                return;
+            }
+
+            SpatialReference sr = ds.GetSpatialRef();
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        } finally {
+            if (null != ds) {
+                ds.delete();
+            }
+        }
+    }
+}
diff --git a/src/main/resources/mapper/data/MetaMapper.xml b/src/main/resources/mapper/data/MetaMapper.xml
index 2bb5f6f..d483060 100644
--- a/src/main/resources/mapper/data/MetaMapper.xml
+++ b/src/main/resources/mapper/data/MetaMapper.xml
@@ -213,7 +213,7 @@
         insert into lf.sys_meta
         (eventid,metaid,verid,name,type,guid,path,sizes,tab,rows,create_user,create_time,bak,geom,layer,depcode,dircode,ismeta,sensortype,acq_time,resolution,gridsize,coor_sys,epsg,h_datum,mata_type,bands,band_type,ct)
         values
-        (#{eventid},#{metaid},#{verid},#{name},#{type},#{guid},#{path},#{sizes},#{tab},#{rows},#{createUser},now(),#{bak},#{geom},#{layer},#{depcode},#{dircode},#{ismeta},#{sensortype},now(),#{resolution},#{gridsize},#{coorSys},#{epsg},#{hDatum},#{mataType},#{bands},#{bandType},#{ct})
+        (#{eventid},#{metaid},#{verid},#{name},#{type},#{guid},#{path},#{sizes},#{tab},#{rows},#{createUser},now(),#{bak},${geom},#{layer},#{depcode},#{dircode},#{ismeta},#{sensortype},now(),#{resolution},#{gridsize},#{coorSys},#{epsg},#{hDatum},#{mataType},#{bands},#{bandType},#{ct})
     </insert>
 
     <insert id="inserts">
@@ -221,7 +221,7 @@
         (eventid,metaid,verid,name,type,guid,path,sizes,tab,rows,create_user,create_time,bak,geom,layer,depcode,dircode,ismeta,sensortype,acq_time,resolution,gridsize,coor_sys,epsg,h_datum,mata_type,bands,band_type,ct)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.eventid},#{item.metaid},#{item.verid},#{item.name},#{item.type},#{item.guid},#{item.path},#{item.sizes},#{item.tab},#{item.rows},#{item.createUser},now(),#{item.bak},#{item.geom},#{item.layer},#{item.depcode},#{item.dircode},#{item.ismeta},#{item.sensortype},now(),#{item.resolution},#{item.gridsize},#{item.coorSys},#{item.epsg},#{item.hDatum},#{item.mataType},#{item.bands},#{item.bandType},#{item.ct})
+            (#{item.eventid},#{item.metaid},#{item.verid},#{item.name},#{item.type},#{item.guid},#{item.path},#{item.sizes},#{item.tab},#{item.rows},#{item.createUser},now(),#{item.bak},${item.geom},#{item.layer},#{item.depcode},#{item.dircode},#{item.ismeta},#{item.sensortype},now(),#{item.resolution},#{item.gridsize},#{item.coorSys},#{item.epsg},#{item.hDatum},#{item.mataType},#{item.bands},#{item.bandType},#{item.ct})
         </foreach>
     </insert>
 
@@ -241,14 +241,14 @@
 
     <update id="update">
         update lf.sys_meta
-        set eventid=#{eventid},metaid=#{metaid},verid=#{verid},name=#{name},type=#{type},guid=#{guid},path=#{path},sizes=#{sizes},tab=#{tab},rows=#{rows},update_user=#{updateUser},update_time=now(),bak=#{bak},geom=#{geom},layer=#{layer},depcode=#{depcode},dircode=#{dircode},ismeta=#{ismeta},sensortype=#{sensortype},acq_time=now(),resolution=#{resolution},gridsize=#{gridsize},coor_sys=#{coorSys},epsg=#{epsg},h_datum=#{hDatum},mata_type=#{mataType},bands=#{bands},band_type=#{bandType},ct=#{ct}
+        set eventid=#{eventid},metaid=#{metaid},verid=#{verid},name=#{name},type=#{type},guid=#{guid},path=#{path},sizes=#{sizes},tab=#{tab},rows=#{rows},update_user=#{updateUser},update_time=now(),bak=#{bak},geom=${geom},layer=#{layer},depcode=#{depcode},dircode=#{dircode},ismeta=#{ismeta},sensortype=#{sensortype},acq_time=now(),resolution=#{resolution},gridsize=#{gridsize},coor_sys=#{coorSys},epsg=#{epsg},h_datum=#{hDatum},mata_type=#{mataType},bands=#{bands},band_type=#{bandType},ct=#{ct}
         where id=#{id}
     </update>
 
     <update id="updates">
         <foreach collection="list" item="item" index="index" separator=";">
             update lf.sys_meta
-            set eventid=#{item.eventid},metaid=#{item.metaid},verid=#{item.verid},name=#{item.name},type=#{item.type},guid=#{item.guid},path=#{item.path},sizes=#{item.sizes},tab=#{item.tab},rows=#{item.rows},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},geom=#{item.geom},layer=#{item.layer},depcode=#{item.depcode},dircode=#{item.dircode},ismeta=#{item.ismeta},sensortype=#{item.sensortype},acq_time=now(),resolution=#{item.resolution},gridsize=#{item.gridsize},coor_sys=#{item.coorSys},epsg=#{item.epsg},h_datum=#{item.hDatum},mata_type=#{item.mataType},bands=#{item.bands},band_type=#{item.bandType},ct=#{item.ct}
+            set eventid=#{item.eventid},metaid=#{item.metaid},verid=#{item.verid},name=#{item.name},type=#{item.type},guid=#{item.guid},path=#{item.path},sizes=#{item.sizes},tab=#{item.tab},rows=#{item.rows},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},geom=${item.geom},layer=#{item.layer},depcode=#{item.depcode},dircode=#{item.dircode},ismeta=#{item.ismeta},sensortype=#{item.sensortype},acq_time=now(),resolution=#{item.resolution},gridsize=#{item.gridsize},coor_sys=#{item.coorSys},epsg=#{item.epsg},h_datum=#{item.hDatum},mata_type=#{item.mataType},bands=#{item.bands},band_type=#{item.bandType},ct=#{item.ct}
             where id = #{item.id}
         </foreach>
     </update>

--
Gitblit v1.9.3