前言
WebGIS 技术将地理信息系统的能力延伸至互联网,为旅游资源的空间展示提供了新平台。Spring Boot 作为轻量级 Java 框架,能快速搭建稳定的后端服务;Leaflet 则是开源的 JavaScript 库,擅长高性能地图渲染。两者结合,非常适合构建交互式旅游宣传系统。
本项目旨在通过 Spring Boot 与 Leaflet 的深度集成,构建一个省级旅游口号 WebGIS 可视化平台,将各地的旅游口号与地理空间数据紧密相连,以直观、生动的地图形式呈现给用户。
数据模型与空间关联
在旅游口号信息管理模块中,核心在于处理空间数据与属性数据的关联。我们需要关联三张表:省级行政区划信息表、城市基本信息表以及旅游口号信息表。三者通过省级行政区划代码进行连接。
在数据库层面,我们利用 PostGIS 的空间函数来实现查询。例如,筛选省会城市或直辖市,并提取其几何中心坐标及省份边界 GeoJSON 数据。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
执行上述语句后,即可获取包含城市名称、经纬度、口号及省份边界数据的完整结果集,为前端展示提供基础。
后端服务开发
后端采用经典的 MVC 三层架构,确保业务逻辑清晰且易于维护。
系统调用流程
前端发起页面访问请求,转发至后台控制器(Controller)。控制器调用 Service 层查询旅游口号数据,Service 再调用 Mapper 层执行数据库查询。数据返回后,依次向上传递,最终由前端接收并在地图上渲染。
Mapper 数据查询实现
使用 MyBatis Plus 简化 SQL 映射。核心 Mapper 接口定义如下:
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 interface <TourismSlogansInfo>{
+
+
+
+
+
;
List<TourismSlogansInfoVO> ;
}






