Selaa lähdekoodia

增加高度值

chenendian 3 kuukautta sitten
vanhempi
commit
41829d5cd5

+ 5 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/jsc/TjscsqlMapper.java

@@ -1,11 +1,16 @@
 package com.onemap.apply.mapper.jsc;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.onemap.apply.domain.cggl.EscalationIMPDTO;
 import com.onemap.apply.domain.jsc.TjscsqlDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author lvhp
  * * @date 2024/5/21
  */
 public interface TjscsqlMapper extends BaseMapper<TjscsqlDTO> {
+    String getHigh(@Param("lzb_x") String lzb_x, @Param("bzb_y") String bzb_y);
 }

+ 10 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/jsc/JscServiceImpl.java

@@ -7,6 +7,7 @@ import com.onemap.apply.mapper.jsc.TjscsqlMapper;
 import com.onemap.apply.service.jsc.JscService;
 import com.onemap.common.core.utils.StringUtils;
 import com.onemap.common.core.web.domain.RequestResult;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -107,6 +108,15 @@ public class JscServiceImpl implements JscService {
         }
         queryMap.put("jsc_sql", jscSql);
         List<LinkedHashMap<String, Object>> list = jscMapper.getBeanListByEntity(queryMap);
+        //这里进行遍历,获取点的高度 modify 1211
+        if (CollectionUtils.isNotEmpty(list) && jscType.trim().equalsIgnoreCase("t_zhd_sjlb")) {
+            for (LinkedHashMap<String, Object> map  :list){
+                String lzb_x = String.valueOf(map.get("lzb_x"));
+                String bzb_y = String.valueOf(map.get("bzb_y"));
+                String hight = tjscsqlMapper.getHigh(lzb_x, bzb_y);
+                map.put("hight", hight);
+            }
+        }
         return RequestResult.success(list);
     }
 

+ 7 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/jsc/TjscsqlMapper.xml

@@ -3,4 +3,11 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.onemap.apply.mapper.jsc.TjscsqlMapper">
+
+    <select id="getHigh" parameterType="String" resultType="String">
+        SELECT public.ST_Value(rast, public.ST_SetSRID(public.ST_MakePoint(${lzb_x}::FLOAT,  ${bzb_y} ::FLOAT),4326) ) AS raster_value
+        FROM "vector"."RASTER_DSM"
+        WHERE public.ST_Intersects(public.ST_SetSRID(public.ST_MakePoint(${lzb_x}::FLOAT,  ${bzb_y} ::FLOAT), 4326), rast) LIMIT 1;
+    </select>
+
 </mapper>