From 93264081cc9cbdf829d885d898cb06f9af2ad910 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 10 Feb 2025 18:14:17 +0800
Subject: [PATCH] 增加空间分析接口,增加geojson文件读取导入

---
 src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml b/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml
index b6226c3..12dabbc 100644
--- a/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml
+++ b/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml
@@ -52,4 +52,33 @@
         WHERE type = 1  AND is_deleted = 0
     </select>
 
+    <!--通过空间分析点位,找到离风险源最近的防控点 风险源找1,1找2,2找3-->
+    <select id="spatialAnalysisPoint" resultType="org.springblade.modules.yw.vo.EmergencySpaceVO">
+        SELECT
+            *,
+            ST_Distance_Sphere (
+                ST_GeomFromText(concat("POINT(",lng," ",lat,")")),
+                ST_GeomFromText (concat("POINT(",#{emergencySpace.lng}," ",#{emergencySpace.lat},")"))
+            ) AS distance
+        FROM
+            yw_emergency_space
+        where lng is not null
+        <if test="emergencySpace.preLevel!=null">
+            and pre_level = #{emergencySpace.preLevel}
+        </if>
+        ORDER BY distance
+        LIMIT 1
+    </select>
+
+    <!--查找距离当前点最近的线-->
+    <select id="spatialAnalysisPointToLines" resultType="org.springblade.modules.yw.vo.EmergencySpaceVO">
+        SELECT
+        2 as preLevel,
+        ST_AsText(geom) as geom,
+        ST_Distance(ST_GeomFromText(concat("POINT(",#{emergencySpace.lng}," ",#{emergencySpace.lat},")")), geom) AS distance
+        FROM yw_geom_info
+        ORDER BY distance ASC
+        LIMIT 1
+    </select>
+
 </mapper>

--
Gitblit v1.9.3