Spring Boot 结合 Leaflet 实现省级旅游口号 WebGIS 可视化
地理信息系统(GIS)在旅游行业的应用潜力巨大,尤其是将旅游口号与地理空间数据结合,能直观展示各地旅游资源。本文基于 Spring Boot 后端与 Leaflet 前端,构建一个省级旅游口号 WebGIS 可视化平台,通过地图交互形式呈现口号信息。
一、数据模型设计
为了实现空间关联查询,我们需要管理三张核心表:省级行政区划信息表、城市基本信息表以及旅游口号信息表。它们通过省级行政区划代码进行关联。
旅游口号信息表的物理结构主要包含口号内容、省份代码及活动状态标识。在空间挖掘时,系统会自动关联省份的空间几何信息。这里我们使用 province_code 作为关键关联字段。
为了在地图上快速标注省会城市并展示口号,数据库层面需要执行空间属性关联查询。SQL 逻辑如下:
SELECT T.NAME cityName, T.pinYin, T.bz, T.slx, tc.code provinceCode, tc.NAME provinceName, st_x ( T.geom ) cityLon, st_y ( T.geom ) cityLat, slogan.slogan, st_asgeojson ( tc.geom ) geomJson
FROM biz_geographic_name T, biz_province tc, biz_tourism_slogans_info slogan
WHERE T.bz IN ( '省会城市', '直辖市', '首都' )
AND st_contains ( tc.geom, T.geom )
AND slogan.province_code = tc.code
AND slogan.activity_flag = 1
执行上述语句后,可获取包含城市经纬度、GeoJSON 几何对象及口号内容的完整数据集。
二、Spring Boot 后台实现
后端采用经典的 MVC 三层架构,利用 MyBatis Plus 简化 SQL 操作,提供稳定的数据接口。
1. Mapper 层数据查询
Mapper 接口中定义了核心查询方法,直接复用上述 SQL 逻辑。通过 @Select 注解动态拼接脚本,确保空间函数能被正确解析。
package com.yelang.project.extend.scenicspot.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yelang.project.extend.scenicspot.domain.TourismSlogansInfo;
import com.yelang.project.extend.scenicspot.domain.TourismSlogansInfoVO;
public <TourismSlogansInfo> {
+
+
+
+
+
;
List<TourismSlogansInfoVO> ;
}


