基于Leaflet的Webgis经纬网格生成实践

这篇具有很好参考价值的文章主要介绍了基于Leaflet的Webgis经纬网格生成实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、Leaflet.Graticule

1、参数说明

二、集成使用

1、新建网页模板

2、初始化地图对象

3、运行效果

三、源码调用分析

1、参数注入

 2、经纬网构建

总结 


前言

        众所周知,在地球仪上或地图上,经线和纬线相互交织,就构成经纬网。利用它上面标注的经度和纬度,可以确定地球表面上各地点、各地区和各种地理现象的地理位置。它在军事、航空、航海等方面很有用处。例如,轮船在茫茫大海上航行,飞机在广阔天空中飞翔,无论到了什么地方,人们都可以使用仪器精确地测定出它的经纬度,从而确定其位置。

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

        为了精确地表明各地在地球上的位置,人们给地球表面假设了一个坐标系,这就是经纬线。公元344年,亚历山大渡海南侵,继而东征,随军地理学家尼尔库斯沿途搜索资料,准备绘一幅“世界地图”。他发现沿着亚历山大东征的路线,由西向东,无论季节变换与日照长短都很相仿。于是做出了一个重要贡献——第一次在地球上划出了一条纬线,这条线从直布罗陀海峡起,沿着托鲁斯和喜马拉雅山脉一直到太平洋。
  公元120年,一位青年也在这座古老的图书馆里研究天文学、地理学。他就是克罗狄斯·托勒密。托勒密综合前人的研究成果,认为绘制地图应根据已知经纬度的定点做根据,提出地图上绘制经纬度线网的概念。为此,托勒密测量了地中海一带重要城市和据点的经纬度,编写了8卷地理学著作。其中包括8000个地方的经纬度。为使地球上的经纬线能在平面上描绘出来,他设法把经纬线绘成简单的扇形,从而绘制出一幅著名的“托勒密地图”。
  在很多的场景中,需要在地图中直观的展示经纬网,方便进行位置定位。比如在地震信息系统中,会在震中区域范围进行展示。如下图:

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

        在之前的博客中,介绍了很多Leaflet的插件,可以利用Leaflet进行webgis系统开发。本文将介绍一款Leaflet的经纬网插件,基于这款经纬网插件,介绍如何实现经纬网功能,clone的Leaflet.Graticule地址。 在CSDN社区中,有一些博主做了比较简单的介绍,有一些是自己实现的。感兴趣的朋友可以去下载相关代码和资料来看看。

一、Leaflet.Graticule

        由于gitHub现在有一些不稳定,可以在gitee上看到有网友clone过来的版本,可以看看最新克隆过来的,与原来的github代码是保持同步更新的。

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

1、参数说明

        Leaflet.Graticule的参数配置是比较简单的,下面来简单介绍一下配置参数。

序号 参数名称 说明 默认值
1 showLable 在地图边缘显示网格记号标签 true
2 opacity 光栅和标签的不透明度 1
3 weight 网格线的宽度 0.8
4 color 网格线的颜色 #aaa
5 font 刻度标签的字体样式 12px Verdana
6 fontColor 刻度标签的颜色 #aaa
7 zoomInterval 刻度标签的颜色在不同的缩放级别中使用不同的间隔。例如,您可以设置纬度和经度线,也可以设置不同的纬度和经度间隔,如下所示: zoomInterval: []

        注意:zoomInterval的参数默认如下:

  zoomInterval: [
    {start: 2, end: 2, interval: 40},
    {start: 3, end: 3, interval: 20},
    {start: 4, end: 4, interval: 10},
    {start: 5, end: 7, interval: 5},
    {start: 8, end: 20, interval: 1}
  ]

         当然,如果您需要针对经纬度来进行精准的控制,也是可以按照经纬度来自定义的。配置参数如下:

  zoomInterval: {
    latitude: [
      {start: 4, end: 6, interval: 5},
      {start: 7, end: 20, interval: 1}
    ],
    longitude: [
      {start: 4, end: 6, interval: 10},
      {start: 7, end: 20, interval: 2}
    ]
  }

二、集成使用

1、新建网页模板

<!doctype html>
<html lang="en">
<head>
	<title>Leaflet Lat/Lon Graticule 经纬网演示</title>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<link href="/2d/leaflet/leaflet.css" rel="stylesheet" type="text/css" />
<script src="/2d/leaflet/leaflet-src.js"></script>

<script src="../Leaflet.Graticule.js"></script>

	<style>
		html { height: 100%; }
		body { height: 100%; margin: 0; padding: 0;}
		.map { width: 100%; height: 600px; }
	</style>
</head>
<body>
	<div id="map" class="map"></div>
</body>
</html>

        请注意在代码中需要引入经纬网js资源文件

<script src="../Leaflet.Graticule.js"></script>

2、初始化地图对象

<script>
		var map = new L.Map('map',{zoomControl:false}).setView([24.0, 121], 6),
		stamenTerrain = L.tileLayer('http://localhost:8086/data/xxgc/q0403/{z}/{x}/{y}.png').addTo(map);
		//添加格网
		L.latlngGraticule({
			showLabel: true,
			color: 'red',
			zoomInterval: {
				latitude: [
				  {start: 2, end: 4, interval: 30},
				  {start: 5, end: 20, interval: 5}
				],
				longitude: [
				  {start: 2, end: 4, interval: 30},
				  {start: 5, end: 20, interval: 5}
				]
			  }
		}).addTo(map);
	</script>

3、运行效果

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

        以上效果基本满足我们的初始需求,可以在地图上进行经纬度的渲染展示。 

三、源码调用分析

1、参数注入

L.latlngGraticule({
			showLabel: true,
			color: 'red',
			zoomInterval: {
				latitude: [
				  {start: 2, end: 4, interval: 30},
				  {start: 5, end: 20, interval: 5}
				],
				longitude: [
				  {start: 2, end: 4, interval: 30},
				  {start: 5, end: 20, interval: 5}
				]
			  }
		}).addTo(map);

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

 2、经纬网构建

leaflet.graticule.js cdn引入,leaflet,Leaflet 经纬网,Graticule

总结 

        以上就是本文的主要内容,本文将介绍一款Leaflet的经纬网插件,基于这款经纬网插件,详细介绍如何实现经纬网功能。行文仓促,如有不当之处,欢迎批评指正。文章来源地址https://www.toymoban.com/news/detail-761104.html

到了这里,关于基于Leaflet的Webgis经纬网格生成实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Leaflet.js的Marker闪烁特效的实现-模拟预警

    目录 前言 一、闪烁组件 1、关于leaflet-icon-pulse 2、 使用leaflet-icon-pulse 3、方法及参数简介 二、闪烁实例开发 1、创建网页 2、Marker闪烁设置 3、实际效果  三、总结         在一些地质灾害或者应急情况当中,或者热门预测当中。我们需要基于时空位置来进行标记,不仅要

    2024年04月10日
    浏览(40)
  • 一.Leaflet入门

      为什么第一个 GIS 前端开发框架选择 Leaflet。   Leaflet 是一款轻量级,用于移动友好交互式地图的JavaScript库。轻量级的意思就是代码总大小比较小。Leaflet利用HTML5和CSS3在现代浏览器上的优势,同时也可以在旧浏览器上访问。它可以通过大量插件进行扩展,具有漂亮的、

    2024年01月25日
    浏览(38)
  • Leaflet 加载高德地图

    在前面的文章中,我们学习了如何使用 Leaflet 创建一个基本的地图。在本文中,我们将学习如何在 Leaflet 中加载高德地图,并结合实际应用构建地图点击事件。 高德地图是一款由高德软件提供的数字地图服务,在国内使用较为广泛。高德地图提供了丰富的地图数据和 API 接口

    2024年03月25日
    浏览(47)
  • Leaflet开发入门

    电子地图已经渗透到O2O、生活服务、出行等领域,传统的GIS也孕育着互联网基因。在国内互联网电子地图领域,百度地图和高德地图较为出色,天地图作为国家地理信息公共服务平台,推出了面向互联网的公众版在线地图服务与API。国内在开放源代码这一方面做得远远不够,

    2024年02月11日
    浏览(51)
  • leaflet 示例教程100+ 目录

    目前已发表134篇文章 vue+leaflet系列教程旨在为开发者提供简单快捷的 代码示例 , 复制即可用 。在每一个示例中,解释相应的API知识点,做到 简易实现,轻松学会 。 基础设置 类别 标题 搭建 从0 到1 搭建开发环境 Layer 清除所有图层的通用方法 Layer 删除所有的marker图层,保

    2024年02月08日
    浏览(53)
  • leaflet基本使用

    目录 创建地图(map) 添加图层(tileLayer) 创建标记(marker) 图标(icon/divIcon) 弹框(bindPopup) options选项 方法 工具提示(bindTooltip) options选项 窗格(pane) 常用方法 options选项   maxZoom:地图最大的缩放等级   minZoom:地图最小的缩放等级   zoom:地图默认的缩放等级   center:地图默认的中心

    2024年02月04日
    浏览(60)
  • 【leaflet】1. 初见

    需求 要做游戏地图了,看到大量产品都使用的leaflet,所以开始学习这个。 开发环境 版本号 描述 文章日期 2023-11-09 操作系统 Win10 - 22H2 19045.3570 leaflet 1.9.4 leaflet 是一个 开源 的 JavaScript 库,用于创建 交互式 的地图应用程序。 它提供了一系列的工具和类,用于实现地图的基本

    2024年02月03日
    浏览(45)
  • 实现地图遮罩 leaflet

    在地图中加载的底图是瓦片服务(固定大小的规则矩形),底图的范围很大,铺满了整个div,但是我们的感兴趣的部门可能只是其中一部分,如何在整个屏幕中突出感兴趣的部分-- 地图遮罩 (遮挡图像中不感兴趣的部分)。最常见的用处是突出行政区内部区域。 图1 湖南省遮

    2024年02月14日
    浏览(42)
  • Leaflet 调用百度瓦片地图服务

    在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图、高德地图、百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的。百度从中心点经纬度(0,0)度开始计算瓦片,而谷歌地图是从左上角经纬度(-180,90)度开始计算瓦片;如果直接使用百度瓦片

    2024年02月08日
    浏览(55)
  • leaflet显示大箭头的线(124)

    第124个 点击查看专栏目录 本示例的目的是介绍如何在vue+leaflet中显示大箭头的线。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 示例效果

    2024年02月03日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包