基于Leaflet和天地图的免费运动场所WebGIS可视化-以长沙市为例

基于Leaflet和天地图的免费运动场所WebGIS可视化-以长沙市为例

目录

前言

一、免费运动场所数据整理

1、本地宝数据简介

2、Java后台数据解析

二、Leaflet前端地图展示

1、基础数据准备

2、具体位置及属性标记

三、成果展示

1、空间位置分布

2、东风路立交桥运动公园

3、芙蓉区花侯路浏阳河大桥下方

4、梅岭国际小区

5、湖南大学附属中学对面

6、湘府路大桥西

7、静园山庄

四、总结


前言

        在当今快节奏的现代生活中,人们对于健康生活方式的追求愈发强烈,运动健身成为众多市民日常生活的重要组成部分。长沙市作为湖南省的省会城市,拥有众多的运动场所,从专业的体育场馆到社区内的小型健身场地,种类丰富。然而,对于广大市民而言,如何快速、便捷地找到身边的免费运动场所,以及了解这些场所的相关信息,如位置、设施、开放时间等,一直是一个难题。WebGIS(Web 地理信息系统)技术的出现和发展,为解决这一问题提供了新的思路和方法。它通过将地理信息与网络技术相结合,实现了地理空间数据的在线发布、查询、分析和可视化等功能,为用户提供了一个直观、便捷的地理信息获取平台。在众多的 WebGIS 开发框架中,Leaflet 以其轻量级、易上手、功能强大等特点,受到了广大开发者的青睐。Leaflet 能够方便地与各种地图服务进行集成,实现地图的显示、缩放、平移等基本操作,同时还可以通过插件扩展其功能,如添加标记、绘制图形、进行空间分析等。而天地图作为我国自主研发的地理信息服务平台,提供了丰富的地理空间数据资源,包括矢量地图、影像地图、地形地貌等,其数据精度高、覆盖范围广,能够为 WebGIS 应用提供坚实的数据基础。

        本研究旨在基于 Leaflet 和天地图,构建一个长沙市免费运动场所的 WebGIS 可视化平台。通过对长沙市免费运动场所的实地调研和数据收集,整合其位置、类型、设施、开放时间等信息,利用 Leaflet 的地图功能和天地图的数据资源,实现这些运动场所的可视化展示。用户可以通过该平台,在地图上直观地查看长沙市各个免费运动场所的分布情况,点击感兴趣的场所图标,获取详细的场所信息,还可以通过搜索功能快速定位到特定的运动场所。本案例具有一定的现实意义,能够为长沙市市民提供一个便捷的免费运动场所查询平台,提高市民的运动参与度和生活质量。通过对 Leaflet 和天地图的深入应用和研究,进一步推动了 WebGIS 技术的发展和创新,为未来更多类似应用的开发提供了参考和借鉴。

        本文搜集的免费运动场所地点由长沙本地宝提供,参考内容中不包含有经纬度信息。我根据提供的中文地址调用天地图的地名解析服务,将地名转换成对应的经纬度位置,因此非常感谢本地宝的基础数据,我只是在此基础上进行了空间位置的映射,更加方便大家查找相关的位置。博文首先介绍了如何使用天地图服务根据提供的免费运动场所进行解析,然后根据解析的结果使用Lealet组件来进行WebGIS展示,为大家提供服务展示。

一、免费运动场所数据整理

        本节将重点介绍一下基础数据以及在Java后台来构建场所查询地点。为后续的空间展示打下基础。

1、本地宝数据简介

        首先需要介绍一下基础的数据来源,本次搜集整理的免费数据源来源于长沙本地宝分享,不花钱也能打球~长沙免费运动场地推荐!

每次想运动运动,都要开始到处找场地。收费?不要。其实长沙有很多很多的免费的运动场地哦!

篮球、羽毛球、排球、乒乓球……

 

        在文章中我们梳理出来了主要的运动场所的位置描述信息。 如下表格所示:

序号所属范围位置信息
1开福区东风路立交桥东风路与三一大道交会处
2芙蓉区花侯路浏阳河大桥芙蓉区花侯路浏阳河大桥下方
3梅溪湖街道梅园社区导航梅岭国际小区南门,进门左拐进入小区,在8栋后面
4湖南大学附属中学对面湖南大学附属中学对面,联丰路桥下
5洋湖街道湘府路大桥西附近
6天顶街道天源社区、雷锋大道导航静园山庄,进门左拐,或者导航科迪雅静园幼儿园

2、Java后台数据解析

        为了防止查询的地名地址在全国的区域内有重名的情况,这里在一些地名上加上长沙作为前缀。如:“静园山庄”加上限定词“长沙雷锋大道静园山庄”,以上6个地方的限定词加上后完整的查询天地图Java示例程序如下所示:

@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(1500); } }

        在开发IDE中运行以上的测试用例,在IDE的控制台可以发现以下输出:

        说明我们成功的调用天地图的API实现地名的解析并返回了相应的值。

二、Leaflet前端地图展示

        本节将重点介绍如何使用Leaflet来对这些免费的运动场所进行WebGIS展示。想要把这些数据展示出来需要经过以下两步。第一步是根据后台的返回准备基础数据,第二步是在地图上展示具体的位置及属性。

1、基础数据准备

        这里将根据后台返回的基础数据,组装成我们需要的时空数据和属性数据。完整的数据如下,在每一条数据中,包含了经纬度位置、运动场所名称、所属范围和适宜的运动:

// 待标绘的点 var dataJson = [ {lat:28.232727,lon:112.987638,c_name:"东风路立交桥运动公园",range:"开福区东风路立交桥",traffic:"可乘坐公交到达附近站点,如东风路站等,<br/>下车后步行前往;若选择自驾,周边有相应道路可抵达,<br/>且公园周边有一定停车区域。",color:"#03a9f4", sports:"包括三个半场篮球场 ,两片多功能运动场(气排球场),<br/>两片标准羽毛球场。一个儿童活动区和一块广场舞场地,<br/>健身、遛娃两相宜。"}, {lat:28.212437,lon:113.034959,c_name:"芙蓉区花侯路浏阳河大桥下方",range:"芙蓉区花侯路浏阳河大桥",traffic:"乘坐公交可选择靠近浏阳河大桥的站点下车,<br/>再步行前往;自驾可通过花侯路等道路抵达,<br/>周边停车较为方便。",color:"#ff9800", sports:"不仅设置了体育健身场地,还保留了附近居民比赛存放的龙舟。<br/>单独开辟了龙舟文化展示区,让居民在运动的同时,<br/>还能感受龙舟文化的魅力。"}, {lat:28.195517,lon:112.875721,c_name:"梅岭国际小区",range:"梅溪湖街道梅园社区",traffic:"地铁2号线梅溪湖西4号口步行到达,<br/>也可以乘坐公交到梅岭公园或看云路采菊路口下",color:"#591ee9", sports:"运动场地较其他小区来说要大,有三片羽毛球场地,<br/>管理得很好且很干净,还专门配备了乒乓球桌,<br/>背靠幽静的小山坡。"}, {lat:28.139807,lon:112.924884,c_name:"湖南大学附属中学对面",range:"岳麓街道、罗家嘴立交桥西南角",traffic:"地铁3号线阳光站1号口步行到达,<br/>建议乘坐公交到联丰路潭州大道口公交站,下车只需步行100m",color:"#607d8b", sports:"桥下空间改造而来,有三片羽毛球场地,<br/>环境很新且有好几个乒乓球桌。"}, {lat:28.11695,lon:112.9404,c_name:"湘府路大桥西",range:"洋湖街道",traffic:"乘坐公交至湘府路大桥西步行到达",color:"#4b29b5", sports:"桥下空间很全面,包含一片五人制足球场、两片篮球场、<br/>三片羽毛球场、六张乒乓球台。"}, {lat:28.2442,lon:112.88991,c_name:"静园山庄",range:"天顶街道天源社区、雷锋大道",traffic:"乘坐公交到静园站下,建议自驾",color:"#a50b0b", sports:"场地建设时是用作网球场的,但是打羽毛球也可以。<br/>边上还有一个篮球场,地理位置稍偏,适合住雷锋大道的人来。"} ];

        将以上的信息准备完毕后,接下来就可以基于这些位置信息在地图上展示出来。 

2、具体位置及属性标记

        有了位置之后,就可以使用Leaflet来对这些具体的位置进行地图的标记,同时在展示时将所属范围、适合的运动项目也进行了一个简单的展示。关键代码如下:

var collisionLayer = L.LayerGroup.collision({margin:3}); for(var i=0;i<dataJson.length;i++){ var html var marker = L.marker([dataJson[i].lat, dataJson[i].lon], { icon: L.divIcon({ iconSize: null, className: '', popupAnchor:[5,5], shadowAnchor:[5,5], html: buildHtml(dataJson[i],i) }) }).addTo(collisionLayer); } collisionLayer.addTo(map); function buildHtml(dataJson,index){ var; html += "<div+dataJson.color+";' animation-spaceInDown><div ><b>"+ (i+ 1)+ "、" +dataJson.range + "&nbsp;" + dataJson.c_name +"</b><span></span></div>"; html += "<div>推荐交通:" + dataJson.traffic+ "</div>"; html += "<div>推荐运动:" + dataJson.sports+ "</div>"; html += "</div>"; return html; }

三、成果展示

        本节将对长沙市的免费运动场地进行空间展示,也让大家看看这6块地方究竟在哪里。首先介绍一下整体的时空位置分布,其次将进行逐个地点的介绍。

1、空间位置分布

        本次分享的免费运动场所一共有6处,从空间位置来看。比较靠北边的就是静园山庄,最东边的应该是芙蓉区花侯路浏阳河大桥下方,最西边的是位于梅溪湖一期的梅岭国际小区,最南边的是湘府路大桥西。

2、东风路立交桥运动公园

       该场地包括三个半场篮球场 ,两片多功能运动场(气排球场),两片标准羽毛球场。一个儿童活动区和一块广场舞场地,健身、遛娃两相宜。 

3、芙蓉区花侯路浏阳河大桥下方

         该场地不仅设置了体育健身场地,还保留了附近居民比赛存放的龙舟。单独开辟了龙舟文化展示区,让居民在运动的同时,还能感受龙舟文化的魅力。

4、梅岭国际小区

        运动场地较其他小区来说要大,有三片羽毛球场地,管理得很好且很干净,还专门配备了乒乓球桌,背靠幽静的小山坡。 

5、湖南大学附属中学对面

        桥下空间改造而来,有三片羽毛球场地,环境很新且有好几个乒乓球桌。 

6、湘府路大桥西

        桥下空间很全面,包含一片五人制足球场、两片篮球场、三片羽毛球场、六张乒乓球台。 

7、静园山庄

        场地建设时是用作网球场的,但是打羽毛球也可以。边上还有一个篮球场,地理位置稍偏,适合住雷锋大道的人来。 

四、总结

        以上就是本文的主要内容。本文研究旨在基于 Leaflet 和天地图,构建一个长沙市免费运动场所的 WebGIS 可视化平台。通过对长沙市免费运动场所的实地调研和数据收集,整合其位置、类型、设施、开放时间等信息,利用 Leaflet 的地图功能和天地图的数据资源,实现这些运动场所的可视化展示。通过使用天地图来展示这些运动场所信息,不仅方便了大家的浏览,同时还能为后面的管理提供一个入口。博文首先对免费运动场所的信息和空间信息进行介绍,其次介绍了前后端的程序如何编写以及如何进行WebGIS的可视化分析,最后对6处免费的场所进行了详细的介绍,从所属的位置,适合的运动、交通方式等方面进行。行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激。最后,希望大家都动起来,为了自己的健康,走出办公室,走进户外。各位小伙伴们,如果你的所在地方也有免费的地方进行运动,也可以一并告知我来统一搜集,数据可以在评论区留言留下联系方式,万分感谢。

Read more

HarmonyOS 5.0行业解决方案:基于端侧AI的智能工业质检APP开发实战

HarmonyOS 5.0行业解决方案:基于端侧AI的智能工业质检APP开发实战

文章目录 * 每日一句正能量 * 前言 * 一、工业质检数字化背景与技术趋势 * 1.1 行业痛点分析 * 1.2 鸿蒙工业质检技术栈优势 * 二、系统架构设计 * 2.1 整体架构图 * 2.2 核心模块划分 * 三、核心代码实现 * 3.1 多路工业相机接入 * 3.2 端侧AI推理引擎 * 3.3 缺陷检测业务逻辑 * 3.4 分布式质量看板 * 四、工控系统对接 * 4.1 Modbus TCP通信 * 五、OTA模型更新机制 * 六、总结与行业价值 每日一句正能量 低头走路的人只看到大地的厚重,却忽略了高空的高远;抬头走路的人,只看到高空的广阔,却忽略了脚下的艰辛与险峻,我们既需要在一天里憧憬一年,

OpenClaw终于有了图形界面,一键安装使用你的24小时AI 研究助手!

OpenClaw终于有了图形界面,一键安装使用你的24小时AI 研究助手!

告别命令行!OpenClaw 图形界面版来了,5分钟搭建你的AI助手 用过 OpenClaw 的都知道,这是个超强的 AI 智能体编排工具。 但有个问题:全是命令行操作。 配置文件、终端命令、环境变量…对新手来说,门槛有点高。 现在,这个问题解决了。 ClawX 来了——OpenClaw 的图形界面版本。 一键安装,点点鼠标就能用。不用敲命令,不用改配置文件。 我花了5分钟装好,现在已经用了一周。说实话,回不去了。 什么是 ClawX? ClawX 是 OpenClaw 的桌面版。 OpenClaw 是什么?一个 AI 智能体编排工具,可以: * 连接多个 AI 模型(Claude、GPT、Gemini) * 自动化工作流

蓝耘平台介绍:算力赋能AI创新的智算云平台

蓝耘平台介绍:算力赋能AI创新的智算云平台

一、蓝耘平台是什么 蓝耘智算云(LY Cloud)是蓝耘科技打造的现代化GPU算力云服务平台,深度整合自研DS满血版大模型技术与分布式算力调度能力,形成"模型+算力"双轮驱动的技术生态。平台核心优势如下: 平台定位与技术架构 核心目标:为工程师、科研人员及企业提供高效、低成本的算力支持,加速AIGC产业创新。 技术架构:基于Kubernetes设计,支持大规模GPU加速工作负载,算力速度较传统云服务商提升35%,成本降低30%。采用自研分布式计算框架支持DS满血版模型的高效运行,技术创新包括: 混合精度训练:通过FP16/FP8混合计算,节省40%显存占用 动态资源分配:基于实时负载的算力弹性调度算法,资源利用率达92% 上下文扩展技术:支持128k tokens长文本处理,集成滑动窗口注意力与记忆压缩算法 基础设施: 硬件资源:配备丰富的英伟达GPU系列(支持高并发训练与推理),接入中国T3+数据中心,保障稳定性与低时延。 存储与网络:分布式容错存储(三重复制机制),支持按需扩展;

OpenClaw保姆级教程:打造你的24小时AI全能助理

OpenClaw保姆级教程:打造你的24小时AI全能助理

OpenClaw保姆级教程:打造你的24小时AI全能助理 最近AI圈被一个叫OpenClaw的工具刷爆了,圈内人都喊它**“小龙虾”**。 有人靠它卧床14天搭建8个AI智能体替自己办公,除夕夜自动给611人发个性化拜年文案,还产出6篇公众号内容、做了播放量30万+的短视频;有人用它处理工作邮件,每天直接省出25分钟,效率翻了20倍。 这哪里是简单的AI工具——分明是能24小时替你干活、越用越懂你的全能个人助理! 关键是它开源免费,最低7.9元就能起步体验。不管你是职场打工人想提升效率,还是创业者想打造“一人公司”,甚至是纯新手不懂技术,看完这篇保姆级教程,都能轻松拿捏“养龙虾”的秘诀,让AI成为你的生产力杠杆! 官网地址:https://github.com/openclaw/openclaw 官网文档:https://docs.openclaw.ai/zh-CN/gateway 一、先搞懂:OpenClaw到底牛在哪?为什么全网都在养“龙虾”? 提起AI个人助理,很多人都踩过坑——看似功能多,实际笨手笨脚,