基于 Leaflet 和天地图的免费运动场所 WebGIS 可视化
前言
WebGIS(Web 地理信息系统)技术通过将地理信息与网络技术相结合,实现了地理空间数据的在线发布、查询、分析和可视化。Leaflet 作为轻量级且功能强大的前端地图框架,能够方便地与各种地图服务集成。天地图作为国内自主研发的地理信息服务平台,提供了高精度的矢量与影像数据资源。本案例旨在利用这两项技术,构建一个长沙市免费运动场所的可视化平台,帮助用户直观地查看场地分布及详细信息。

一、免费运动场所数据整理
1、基础数据来源
本次整理的免费运动场所数据来源于长沙本地宝的相关推荐内容。原始数据主要包含位置描述信息,缺乏具体的经纬度坐标。为了在地图上精准展示,需要将这些中文地址转换为地理坐标。
| 序号 | 所属范围 | 位置信息 |
| 1 | 开福区东风路立交桥 | 东风路与三一大道交会处 |
| 2 | 芙蓉区花侯路浏阳河大桥 | 芙蓉区花侯路浏阳河大桥下方 |
| 3 | 梅溪湖街道梅园社区 | 导航梅岭国际小区南门,进门左拐进入小区,在 8 栋后面 |
| 4 | 湖南大学附属中学对面 | 湖南大学附属中学对面,联丰路桥下 |
| 5 | 洋湖街道 | 湘府路大桥西附近 |
| 6 | 天顶街道天源社区、雷锋大道 | 导航静园山庄,进门左拐,或者导航科迪雅静园幼儿园 |
2、Java 后台数据解析
为了避免地名在全国范围内重名导致的定位偏差,我们在调用天地图地名解析服务前,会在地址前添加'长沙'等限定词。以下是 Java 后端调用天地图 API 进行地理编码的示例代码:
@Test public void testGeocoder2() throws InterruptedException {
String [] loc_name = {"东风路立交桥运动公园","芙蓉区花侯路浏阳河大桥下方","梅岭国际小区","湖南大学附属中学对面","长沙湘府路大桥西","长沙雷锋大道静园山庄"};
for(String name : loc_name) {
String keyWord = "%7B'keyWord':'" + name + "'%7D" ;
HttpResponse<String> resp = tdtOptService.getGeocoder(keyWord, TDT_SERVER_KEY);
System.out.println(name + +resp.getBodyResult());
Thread.sleep();
}
}


东风路立交桥运动公园:包含篮球场、气排球场、羽毛球场及儿童活动区,适合家庭健身。
芙蓉区花侯路浏阳河大桥下方:设有体育健身场地及龙舟文化展示区,兼具运动与文化体验。
梅岭国际小区:场地较大,配有羽毛球和乒乓球设施,环境安静。
湖南大学附属中学对面:桥下空间改造项目,设施较新。
湘府路大桥西:设施全面,涵盖足球、篮球、羽毛球等多种球类场地。
静园山庄:地理位置稍偏,适合附近居民前往。