基于Leaflet和天地图的南海部分岛礁标准名称可视化实践
目录
前言
转眼间2024年就要过去了,即将迎来2025。在此祝愿各位朋友元旦快乐,新年快乐。你的2024关键词,发生的难忘的事情又是什么呢?是不是就业艰难,是被毕业。还是在寒冬之中找到了一份不错的工作。或者求学顺利,考研顺利上岸。或者又在为毕业论文发愁,该发的论文还在审核中,如此等等。2024即将过去,放下所有,希望大家都能从从容容。
最近的新闻比较多,我们的军事实力,装备大量服役。南北的新飞机发布,海上的076两栖攻击舰,我们的制空权和制海权得到了长足的保障。我们拥有很长的海岸线,有很多的岛屿和岛礁,都需要我们的实力去维护。南海不仅天然的风高浪急,这水下暗藏的又有多少波涛汹涌。随着我们综合国力的上升,对于规范的地名使用,官方发布了规范的岛礁标准名称。随着这些名称的公开,为我们在研究南海相关岛礁有了基础。
下面是官方原文:
为进一步规范有关地名的使用,现将我国南海部分岛礁标准名称予以公布。中国地名委员会1983年4月受权公布的《我国南海诸岛部分标准地名》和自然资源部、民政部2020年4月公布的《自然资源部 民政部关于公布我国南海部分岛礁和海底地理实体标准名称的公告》继续有效,请社会各界规范使用已公布的标准名称。
文本讲解如何使用Leaflet,结合国家天地图来进行南海部分岛礁标准名称可视化。首先介绍相关岛礁标准名称的原始数据,然后讲解如何使用输入法实现汉语拼音的声调输入,其次介绍如何将度分的位置坐标转换成数值型的经纬度坐标,最后使用Leaflet来叠加到天地图影像地图上。通过本文,你可以掌握如何使用输入法进行拼音声调输入,同时对Leaflet叠加相应坐标更加熟练。通过WebGIS的空间展示,让大家通过地图更加了解我国的岛礁信息。
一、相关数据
在文章内容的正式开始介绍之前,我们首先来看一下相关的南海岛礁标准名称信息。在2024年11月10日,也就是在人民空军的生日之前,相关部门发布了这份南海岛礁部分标准名称列表。这里打算分享一下原始的数据。
1、官方数据
官方公布的数据是以图片的形式分享的,因此有很多的媒体还有互联网平台进行了转载,因此这份数据大家可以在公开网站上进行找到。 以央视网为例,这里贴出它的链接,感兴趣的朋友可以点击链接查阅:
。在本次公开的数据中,一共包含了64个岛礁数据。数据主要包含四个属性,第一个是标准名称,第二是标准的汉语名称(当然是包括声调的),第三个是经度位置,第四个是纬度位置。说实话,如果没有标注读音,确实有许多的字,相信很多人是不会读的,当然也包括我。因此有了读音以及声调就能准确的进行地名的拼读。
二、如何输入声调
在拿到以上的数据之后,我们可以使用一些识别工具。快速的将上图中的两张图片附件,解析之后得到不同的岛礁及其位置信息。解析中文、拼音、经纬度位置基本问题不大。但是这里我们遇到一个问题,如何进行声调的输入。以搜狗输入法为例,本节将来讲解如何在输入法中输入汉语拼音声调信息。
1、输入法切换
博文编写时电脑上安装的输入法是搜狗输入法,因此这里以搜狗输入法为例。其它的输入法,大家可以自行查找资料来进行解决。首先在电脑上打开输入法的软键盘。打开软键盘的方式有两种,第一种是直接在输入法的管理工具中打开"软键盘”,然后使用鼠标左键点击,如下图所示:
点击软键盘之后,会自动弹出以下的软键盘信息。 在弹出的小窗体中点击“软键盘”出现如下的小窗口。
然后就激活了软键盘,如下图所示:
当打开这样的软键盘之后,就可以实现声调的自定义输入。 如果您觉得一步一步的操作比较繁琐的话,也可以直接操作快捷键,默认情况,如果没有经过特殊的修改,在搜狗输入法中,直接打开软键盘的快捷键是“Ctrl+Shift+K”,同样也是可以调出可以输入声调的软键盘的。
2、数据输入
当我们学会了如何使用软键盘进行声调的输入后,我们以第一个岛礁的名称为例,重点演示如何进行声调的输入。当然,我们可以使用官方提供的汉语拼音的声调为例子,直接进行输入。
这个礁岛的汉语拼音带声调输入是:
这样的话,我们就能在当前的输入法中实现对地名的数据搜集和整理。按照这种模式,我们将64个点位的汉语拼音名称进行了还原。在后面的程序中,我们可以直接对数据进行转换。
三、后台数据转换与处理
本节将使用Java来讲解如何在后台将获取到的数据进行转换。要想在Leaflet当中进行数据的动态展示,首先要将图片中的数据进行转换。后面我们可以讲以下如何使用Java来实现表格的自动提取。这里主要讲如何把提取好的字符串转变成Map,然后把Map转换成json,再返回给前端使用。
1、数据整理
为了能实现更好的数据整理,我们按照四个不同属性的进行数据的组织。因此我们将属性数据按照&进行相连,然后在进行解析时,再统一按照约定的符号进行解析。这样就可以得到我们标准字符串。即:标准中文名&标准拼音(带声调)&经度&纬度。所以我们在解析的时候就是按照约定的顺序进行值的处理。最终得到的原始数据集合如下:
2、json数据生成
有了以上的基础数据时候,我们就可以按照约定的规则进行数据处理。处理国际比较简单。将上面的坐标信息按照&进行分割,然后分别获取其索引对应的值。
程序运行完毕后,可以在控制台中看到如下输出:
这样就说明,通过采集的原始度分数据已经正确的进行了处理,处理后的数据变成了经纬度坐标。这样就可以在Leaflet当中进行展示使用。
四、WebGIS展示实现以及成果
万事俱备只欠东风,当我们把需要展示的数据也准备完毕之后,就可以将数据叠加到Leaflet中进行展示。因此本小节重点讲解如何使用Leaflet来进行数据可视化开发。
1、点位标识
为了比较方便的对这些点位数据进行表示,因此需要使用Leaflet框架来对相关的数据进行展示。这里需要使用的对应有marker。动态展示的代码如下:
以上代码就完成了点位信息的空间展示,同时提供一个信息详情查看的页面。下面我们结合可视化结果来进行讲解。
2、成果展示
首先来看一下整体的效果,由于本轮公开的岛礁信息,有一些的空间距离挨的比较近,加上我们采用的碰撞检测的算法,因此在高层级下展示,效果不是很明显。先来看一下整体结果:
可以看到,本轮公开的岛礁位置,大多是位于南海区域,而且是特别靠南的位置。
上图是南海的仁爱礁的点位数据,通过天地图的影像可以看到,仁爱礁上的岛礁还是比较多的。将地图放大后可以看到很多折叠在一起的位置。
同样的,在鱼嘴礁附近,也是有众多的岛礁,比如鱼鳞礁、鱼目礁、鱼背礁等等。在这一块的岛礁也非常多。 通过以上的成果展示,大家应该可以看到本次公开的岛礁信息,在位置上更加靠南。
五、总结
以上就是本文的主要内容,文本讲解如何使用Leaflet,结合国家天地图来进行南海部分岛礁标准名称可视化。首先介绍相关岛礁标准名称的原始数据,然后讲解如何使用输入法实现汉语拼音的声调输入,其次介绍如何将度分的位置坐标转换成数值型的经纬度坐标,最后使用Leaflet来叠加到天地图影像地图上。通过本文,你可以掌握如何使用输入法进行拼音声调输入,同时对Leaflet叠加相应坐标更加熟练。通过WebGIS的空间展示,让大家通过地图更加了解我国的岛礁信息。行文仓促,难免有许多的不足之处,如有不足,在此还恳请各位专家朋友在评论区留言指出,不胜感激。
- 点赞
- 收藏
- 关注作者
评论(0)