当WebGIS遇到智慧文旅-以长沙市不绕路旅游攻略为例

目录

前言

一、旅游数据组织

1、旅游景点信息

2、路线时间推荐

二、WebGIS可视化实现

1、态势标绘实现

2、相关位置展示

三、成果展示

1、第一天旅游路线

2、第二天旅游路线

3、第三天旅游路线

4、交通、订票、住宿指南

四、总结


前言

        随着信息技术的飞速发展,地理信息系统(GIS)与互联网的深度融合,WebGIS应运而生。它突破了传统GIS的局限,将地理空间数据的展示、分析和应用拓展到网络环境中,为众多领域带来了变革性的创新。而在文旅行业,WebGIS与智慧文旅的结合更是展现出巨大的潜力与价值。

        长沙,这座充满魅力的城市,以其深厚的历史文化底蕴、丰富的旅游资源以及独特的美食文化吸引着无数游客。然而,对于初来乍到的游客而言,如何在有限的时间内高效地游览长沙的各大景点,避免走冤枉路,成为了一大难题。传统旅游攻略往往只能提供大致的路线规划,缺乏精准的空间信息和实时的交通路况更新,难以满足游客对于个性化、高效化旅游体验的需求。此时,WebGIS技术的介入为解决这一问题提供了可能。通过WebGIS平台,可以将长沙市的地理空间数据、景点分布信息、交通网络数据等进行整合与可视化展示。游客只需通过简单的操作,就能在电子地图上直观地查看各个景点的位置关系,根据自身兴趣和时间安排,借助平台的智能路径规划功能,生成一条不绕路的个性化旅游路线。同时,结合实时交通数据,平台还能实时调整路线,避开拥堵路段,确保游客的行程更加顺畅。此外,WebGIS平台还可以与长沙市的文旅资源进行深度对接,将景点的历史文化背景、特色活动、周边餐饮住宿等信息进行关联展示。游客在规划路线的过程中,不仅能获取到精准的导航信息,还能深入了解每个景点的独特魅力,从而更好地规划自己的行程安排,提升旅游体验。

        当WebGIS遇到智慧文旅,不仅仅是技术与行业的简单结合,更是对传统旅游模式的一次深刻变革。它让旅游变得更加智能、便捷、高效,也让游客能够更加深入地感受长沙这座城市的独特魅力。在接下来的篇章中,我们将深入探讨WebGIS在长沙市不绕路旅游攻略中的应用实践,分析其技术原理、功能实现以及对智慧文旅发展的推动作用,为文旅行业的数字化转型提供有益的参考与借鉴。本文将以长沙市三天的旅游景点路线为例,旅游路线采用“阿平的旅行攻略”推荐的路线,我们将文本的静态信息转换成位置信息,并结合天地图进行位置和路线的推荐绘制,为大家展示一个WebGIS的文旅推荐地图如何生成。通过本文不仅为大家推荐了长沙的旅游路线,同时也展示标绘与位置的融合方法,希望对大家有所帮助。

一、旅游数据组织

        为了实现旅游路线信息的综合展示,这里我们将把整体的功能和数据组织关系进行梳理,方便大家对整体信息有一个全区的把握。本节将重点以思维导图的形式进行介绍。

1、旅游景点信息

        关于旅游路线主要包含以下三个方面的信息,第一方面是时间信息、第二方面是景点信息、第it三方面是其他信息。时间信息主要包含旅游的第一天、第二天、第三天等。景点信息其实比较多,这里我们仅罗列出最主要的新,比如景点的名称、门票信息、开放时间、和简要的介绍。其它信息主要包含去目的城市的交通信息、行李信息、住宿信息和预约信息。

2、路线时间推荐

        当确定了大概的旅游行程后,接下来就是要确定每一天的具体行程,比如第一天从开始到结束的景点信息。通常为了实现不绕路的路线旅游,通常会结合空间位置进行推荐。当然,基于空间位置的具体推荐算法,这里不进行太多的详述,在后续的内容中进行说明。以下是一个具体的实例。

二、WebGIS可视化实现

        本节将重点介绍如何进行WebGIS的可视化实现。如上图所示,需要在地图上展示具体的景点位置信息(包括景点或者打卡点名称、门票信息、开放时间信息、简介信息),为了展示打卡点的先后顺序,将基于自助标绘的形式进行路线的绘制,让大家对相应的路线一目了然。同时需要对旅游路线的静态信息比如交通出行信息、行李信息、住宿信息、景点预约信息等进行分开展示,这里使用siderbar进行辅助静态信息的展示。

1、态势标绘实现

        首先我们需要准备这三天的行程上的打卡点的经纬度信息,然后在WebGIS形成以下的数组信息。当然,这些数据这是是采用静态信息给出的,在实际项目中,大家可以使用后台的数据库来保存相关信息,在需要使用的时候调用接口即可。

var day1 = [{name:"橘子洲",color:getRandomColor(),lat:28.198532,lon:112.956941,ticket:"免费",open_time:"07:00-22:00",introduce:"可以乘坐小火车打卡青年艺术雕像"},
				{name:"五一广场",color:getRandomColor(),lat:28.198607,lon:112.97076,ticket:"免费",open_time:"全天开放",introduce:"长沙市中心,吃喝玩乐都有"},
				{name:"IFS国金中心",color:getRandomColor(),lat:28.195686,lon:112.971286,ticket:"免费",open_time:"10:00-22:00",introduce:"7楼kwas是必打卡之地之一,众多奢品品牌"},
				{name:"黄兴步行街",color:getRandomColor(),lat:28.193265,lon:112.970706,ticket:"免费",open_time:"全天开放",introduce:"长沙最繁华的步行街,街道两边都是商铺和小吃"},
				{name:"坡子街",color:getRandomColor(),lat:28.1937,lon:112.967439,ticket:"免费<br/>",open_time:"全天开放",introduce:"各种小吃,<br/>很有市井气息"}
		];
	
var day2 = [{name:"岳麓山",color:getRandomColor(),lat:28.197038,lon:112.944775,ticket:"免费",open_time:"06:00-22:00",introduce:"长沙必打卡的景点、有爱晚亭和滑道"},
			{name:"岳麓书院",color:getRandomColor(),lat:28.183879,lon:112.935736,ticket:"40R/人",open_time:"07:50-17:00",introduce:"了解闻名的四大书院之一、了解书院的发展轨迹"},
			{name:"湖南大学",color:getRandomColor(),lat:28.176479,lon:112.938423,ticket:"免费",open_time:"全天开放",introduce:"充满厚重的历史文化和青春气息,打开标志红楼"},
			{name:"麓山南路",color:getRandomColor(),lat:28.170502,lon:112.93529,ticket:"免费",open_time:"全天开放",introduce:"集合了三个大学的美食,实惠的小吃很多"},
			{name:"后湖",color:getRandomColor(),lat:28.160911,lon:112.93587,ticket:"免费",open_time:"全天开放",introduce:"湖边比较凉快,听歌散步很惬意"}
		];
	
var day3 = [{name:"古开福寺",color:getRandomColor(),lat:28.227424,lon:112.972916,ticket:"9R/人",open_time:"09:00-19:00",introduce:"求签祈福很灵验"},
			{name:"湖南省博物院",color:getRandomColor(),lat:28.215229,lon:112.987025,ticket:"免费",open_time:"09:00-17:00",introduce:"瞻仰辛追娭毑"},
			{name:"烈士公园",color:getRandomColor(),lat:28.208119,lon:112.98533,ticket:"免费",open_time:"06:30-21:30",introduce:"瞻仰革命烈士纪念碑"},
			{name:"超级文和友",color:getRandomColor(),lat:28.192802,lon:112.964816,ticket:"免费",open_time:"11:00-03:00",introduce:"复古的老长沙风格<br/>,拍照超级出片"},
			{name:"天心阁",color:getRandomColor(),lat:28.187109,lon: 112.975931,ticket:"58R/人",open_time:"09:00-22:00",introduce:"湖南首个光影公园"}
		
		];

         第二步的关键是根据给定的打卡点位置信息,按照先后顺序形成箭头均标的形式,如果大家对动态标绘的实现不是很了解,可以往前看看博主之前的相关内容。这里会给出具体的初始化展示代码:

function start(index) {
	this.clearPlots();
	var data;
	if(index == 1){
		$("#showInfo").html("第一天");
		data = day1;
	}
	if(index == 2){
		$("#showInfo").html("第二天");
		data = day2;
	}
	if(index == 3){
		$("#showInfo").html("第三天");
		data = day3;
	}
			
	for(var i = 0;i<data.length;i++){
		if(i < data.length -1){
			L.Plot.straightArrow([[data[i].lat, data[i].lon],[data[i+1].lat, data[i+1].lon]]).addTo(this.plotLayer);
		}
		var marker = L.marker([data[i].lat, data[i].lon], {
			icon: L.divIcon({
				iconSize: null,
				className: '',
				popupAnchor:[5,5],
				shadowAnchor:[5,5],
				html: buildHtml(i,data[i])
			})
		}).addTo(collisionLayer);
	}
	map.fitBounds(this.plotLayer.getBounds());// 设置地图的中心位置
	collisionLayer.addTo(map);
}

        经过以上的步骤就会将给定的坐标点行程一个连续的箭头表示的线段,以此来表示具体的旅游行进路线。 

2、相关位置展示

        除了展示具体的路线信息,同时要在没一个打卡点上进行打卡点名称、门票信息、开放时间和简介的展示,这里我们采用DivICON的形式来展示。

var collisionLayer = L.LayerGroup.collision({margin:2});
		
function clearPlots() {
	this.plotLayer && this.plotLayer.clearLayers();//清空标绘图层
	collisionLayer && collisionLayer.clearLayers();//清空展示图层
}
		
function buildHtml(index,dataJson){
	var html = "";
	html += "<div class='marsBlackPanel' style='background:"+dataJson.color+";' animation-spaceInDown>";
	html += "<div class='marsBlackPanel-text' style=''>" + (index + 1 ) + "、"+ dataJson.name + "/" + dataJson.ticket + "&nbsp;("+ dataJson.open_time + ")</div>";
	html += "<div class='marsBlackPanel-text' style=''>简介:" + dataJson.introduce +"</div>";
    html += "</div>";
	return html;
}

         在进行每天的信息标绘前,首先进行图层的清空,再绘制新的路线及打卡点信息。最后的静态信息则以简单的Html静态页面的形式进行实现。

        经过以上的代码开发就实现了三日游的具体路线以及打卡点信息的展示可视化实现。 

三、成果展示

        在经过前面的态势标绘以及相关位置的展示之后,接下来就是最终的效果的展示过程。这里以长沙为例,介绍一个适合三天游玩的不绕路行程,供大家参考。

1、第一天旅游路线

        由于是一天的行程,因此安排的位置还是比较接近的,也是为了尽量的节约路上的时间,将剩下的时间都用到真正的观光中。 第一天安排的打卡点如下:

序号打卡点名称门票开放时间简介
1橘子洲免费07:00-22:00可以乘坐小火车打卡青年艺术雕像
2五一广场免费全天长沙市中心,吃喝玩乐都有
3IFS国金中心免费10:00-22:007楼kwas是必打卡之地之一,众多奢品品牌
4黄兴步行街免费全天长沙最繁华的步行街,街道两边都是商铺和小吃
5坡子街免费全天各种小吃,很有市井气息

2、第二天旅游路线

        在地图中的左下角点击切换旅游天数,比如点击第二天的行程,可以看到以下的信息:

        同样在第二天的行程中也安排了5个打卡点或旅游景点,如下所示:

序号打卡点名称门票开放时间简介
1岳麓山免费06:00-22:00长沙必打卡的景点、有爱晚亭和滑道
2岳麓书院40R/人07:50-17:00了解闻名的四大书院之一、了解书院的发展轨迹
3湖南大学免费全天充满厚重的历史文化和青春气息,打开标志红楼
4麓山南路免费全天集合了三个大学的美食,实惠的小吃很多
5后湖免费全天湖边比较凉快,听歌散步很惬意

3、第三天旅游路线

        点击“第三天”的操作按钮,展示第三天的旅游行程。在最后一天的行程中,主要安排了一些文化旅游打卡点,比如开福寺、湖南省博物院、天心阁、烈士公园等。

序号打卡点名称门票开放时间简介
1古开福寺9R/人09:00-19:00求签祈福很灵验
2湖南省博物院免费09:00-17:00瞻仰辛追娭毑
3烈士公园免费06:30-21:30瞻仰革命烈士纪念碑
4超级文和友免费11:00-03:00复古的老长沙风格,拍照超级出片
5天心阁58R/人09:00-22:00湖南首个光影公园

        当然,如果您想领略夜晚天心阁的灯光秀,那么可能需要等到夜晚降临才能欣赏它的魅力。

4、交通、订票、住宿指南

        除了每天不同的行程及路线、打卡点主要介绍之外,一些关于交通、景点预约、住宿也是非常重要的。不仅影响着我们的品质,也决定着旅游的心情。这也是其它旅游博主的一些心得,大家可以根据关注点来进行选择使用。

交通路线指南

  • 黄花国际机场:机场有地铁6号线转2号线直达市中心,也有的士和网约车直达。
  • 长沙南站:长沙南站可在站内乘2号线或者4号线到市中心
  • 长沙站:到达长沙站乘坐2号线或者地铁3号线到市中心
  • 地铁:长沙地铁有6条线,基本上覆盖了长沙大部分景点,所以地铁出行很方便,线上线下皆可买票乘车
  • 公交:票价2元,长沙公交师傅开车速度很快
  • 出租车:白天起步价8元,晚上起步价10元
  • 网约车:大部分正规平台都很容易打到车

行李准备指南 

  • 证件类:身份证、学生证(部分景点半票)
  • 电器类:手机、充电器、充电宝、耳机、相机等
  • 日用类:洗面奶、化妆品、一次性洗脸巾和浴巾等
  • 衣物类:防晒衣、裙子、秋季薄外套等
  • 药物类:创口贴、晕车药、胃药、鼻炎药、感冒药等
  • 其他: 水杯、晴雨伞、墨镜、遮阳帽、太阳伞等,出门前一定要检查一遍是否遗漏重要物品哦

住宿指南 

  • 五一广场附近:位于市中心,吃穿住行都很方便,唯一点就是价格相对较高一些,旺季还订不到房间
  • 万家丽广场附近:住在万家丽广场交通便利,价格适中,附近有万家丽国际购物广场和扬帆夜市
  • 湘江边附近:夜景好,靠近杜甫江阁,预算充足的选择江景房,视野风景都很好
  • 麓山南路附近:学生党可冲!性价比很高,附近好吃好玩的很多

景点预约指南 

  • 橘子洲:“岳麓山橘子洲旅游区”进行预约
  • 湖南博物院:“湖南博物院”参观服务里的门票预约
  • 岳麓书院:“岳麓书院”游客攻略里的预约购票
  • 李自健美术馆:“李自健美术馆”票务中心里预约

四、总结

        以上就是本文的主要内容,在本文的主要内容中,我们将深入探讨WebGIS在长沙市不绕路旅游攻略中的应用实践,分析其技术原理、功能实现以及对智慧文旅发展的推动作用,为文旅行业的数字化转型提供有益的参考与借鉴。本文将以长沙市三天的旅游景点路线为例,旅游路线采用“阿平的旅行攻略”推荐的路线,我们将文本的静态信息转换成位置信息,并结合天地图进行位置和路线的推荐绘制,为大家展示一个WebGIS的文旅推荐地图如何生成。通过本文不仅为大家推荐了长沙的旅游路线,同时也展示标绘与位置的融合方法,希望对大家有所帮助。行文仓促,难免有许多不足之处,如有不足,还恳请各位专家博主在评论区批评指出,不甚荣幸。

        博客编写旅游景点内容,主要参考如下链接:

        1、去了长沙6次,我建议的不绕路行程!。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows10 配置使用json server作为图片服务器

步骤1&#xff1a;在vs code中安装json server, npm i -g json-server 注意&#xff1a;需要安装对应版本的json server&#xff0c;不然可能会报错&#xff0c;比如&#xff1a; npm i -g json-server 0.16.3 步骤2&#xff1a;出现如下报错&#xff1a; json-server 不是…

洛谷 P1164 小A点菜 C语言

P1164 小A点菜 - 洛谷 | 计算机科学教育新生态 题目背景 uim 神犇拿到了 uoi 的 ra&#xff08;镭牌&#xff09;后&#xff0c;立刻拉着基友小 A 到了一家……餐馆&#xff0c;很低端的那种。 uim 指着墙上的价目表&#xff08;太低级了没有菜单&#xff09;&#xff0c;说&…

向上调整算法(详解)c++

算法流程&#xff1a; 与⽗结点的权值作⽐较&#xff0c;如果⽐它⼤&#xff0c;就与⽗亲交换&#xff1b; 交换完之后&#xff0c;重复 1 操作&#xff0c;直到⽐⽗亲⼩&#xff0c;或者换到根节点的位置 这里为什么插入85完后合法&#xff1f; 我们插入一个85&#xff0c;…

50. 正点原子官方系统镜像烧写实验

一、Windows下使用OTG烧写系统 1、在Windos使用NXP提供的mfgtool来向开发烧写系统。需要用先将开发板的USB_OTG接口连接到电脑上。 Mfgtool工具是向板子先下载一个Linux系统&#xff0c;然后通过这个系统来完成烧写工作。 切记&#xff01;使用OTG烧写的时候要先把SD卡拔出来&…

AI智能化模型助力太阳能光伏板自动巡检运维,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建无人机航拍场景下太阳能光伏板污损缺陷智能检测识别系统

随着全球科技和能源领域的飞速发展&#xff0c;清洁新能源&#xff0c;尤其是太阳能&#xff0c;正以前所未有的速度融入我们的日常生活。太阳能光伏板作为转换太阳能为电能的关键设备&#xff0c;其普及程度日益提高&#xff0c;从偏远乡村到繁华都市&#xff0c;无处不在地展…

深度学习 DAY3:NLP发展史

NLP发展史 NLP发展脉络简要梳理如下&#xff1a; (远古模型&#xff0c;上图没有但也可以算NLP&#xff09; 1940 - BOW&#xff08;无序统计模型&#xff09; 1950 - n-gram&#xff08;基于词序的模型&#xff09; (近代模型&#xff09; 2001 - Neural language models&am…

FireFox | Google Chrome | Microsoft Edge 禁用更新 final版

之前的方式要么失效&#xff0c;要么对设备有要求&#xff0c;这次梳理一下对设备、环境几乎没有要求的通用方式&#xff0c;universal & final 版。 1.Firefox 方式 FireFox火狐浏览器企业策略禁止更新_火狐浏览器禁止更新-CSDN博客 这应该是目前最好用的方式。火狐也…

【问题记录】DeepSeek本地部署遇到问题

详细的部署过程以及原理&#xff0c;各位大佬已经解释的很详细了&#xff0c;这里不重复只是记录过程中遇到的一个问题。 本地部署 DeepSeek-R1 模型全攻略 - 王浩宇的博客) 问题详情 Error: Post "http://127.0.0.1:11434/api/show": read tcp 127.0.0.1:57395-&g…

【react-redux】react-redux中的 useDispatch和useSelector的使用与原理解析

一、useSelector 首先&#xff0c;useSelector的作用是获取redux store中的数据。 下面就是源码&#xff0c;感觉它的定义就是首先是createSelectorHook这个方法先获得到redux的上下文对象。 然后从上下文对象中获取store数据。然后从store中得到选择的数据。 2、useDispatc…

可视化相机pose colmap形式的相机内参外参

目录 内参外参转换 可视化相机pose colmap形式的相机内参外参 内参外参转换 def visualize_cameras(cameras, images):fig plt.figure()ax fig.add_subplot(111, projection3d)for image_id, image_data in images.items():qvec image_data[qvec]tvec image_data[tvec]#…

Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API

目前国内少有调用ChatGPT、Claude、Gemini等国外大模型API的库。 Python库sider_ai_api 提供了一个完整的解决方案。通过调用 sider.ai 的API&#xff0c;开发者可以实现对这些大模型的访问。 众所周知&#xff0c;sider是一个Chrome&#xff0c;以及Edge的浏览器插件&#xf…

FreeRTOS学习笔记2:FreeRTOS的基础知识

1.FreeRTOS介绍 FreeRTOS是一个免费的嵌入式实时操作系统&#xff0c;同时它在市面上也是一款主流的操作系统&#xff0c;是工作上必不可少的技能。它具有以下六种特点&#xff1a; 1.免费开源&#xff1a;在商业产品中使用&#xff0c;无潜在商业风险&#xff0c;无需担心。 2…

TensorFlow 简单的二分类神经网络的训练和应用流程

展示了一个简单的二分类神经网络的训练和应用流程。主要步骤包括&#xff1a; 1. 数据准备与预处理 2. 构建模型 3. 编译模型 4. 训练模型 5. 评估模型 6. 模型应用与部署 加载和应用已训练的模型 1. 数据准备与预处理 在本例中&#xff0c;数据准备是通过两个 Numpy 数…

【B站保姆级视频教程:Jetson配置YOLOv11环境(四)cuda cudnn tensorrt配置】

Jetson配置YOLOv11环境&#xff08;4&#xff09;cuda cudnn tensorrt配置 文章目录 0. 简介1. cuda配置&#xff1a;添加cuda环境变量2. cudnn配置3. TensorRT Python环境配置3.1 系统自带Python环境中的TensorRT配置3.2 Conda 虚拟Python环境中的TensorRT配置 0. 简介 官方镜…

Python安居客二手小区数据爬取(2025年)

目录 2025年安居客二手小区数据爬取观察目标网页观察详情页数据准备工作&#xff1a;安装装备就像打游戏代码详解&#xff1a;每行代码都是你的小兵完整代码大放送爬取结果 2025年安居客二手小区数据爬取 这段时间需要爬取安居客二手小区数据&#xff0c;看了一下相关教程基本…

Electron使用WebAassembly实现CRC-8 MAXIM校验

Electron使用WebAssembly实现CRC-8 MAXIM校验 将C/C语言代码&#xff0c;经由WebAssembly编译为库函数&#xff0c;可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-8 MAXIM格式校验的方式。 CRC-8 MAXIM校验函数WebAssebly源文件 C语言实现CR…

DeepSeek-R1:通过强化学习激励大型语言模型(LLMs)的推理能力

摘要 我们推出了第一代推理模型&#xff1a;DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero是一个未经监督微调&#xff08;SFT&#xff09;作为初步步骤&#xff0c;而是通过大规模强化学习&#xff08;RL&#xff09;训练的模型&#xff0c;展现出卓越的推理能力。通过强…

pytorch基于FastText实现词嵌入

FastText 是 Facebook AI Research 提出的 改进版 Word2Vec&#xff0c;可以&#xff1a; ✅ 利用 n-grams 处理未登录词 比 Word2Vec 更快、更准确 适用于中文等形态丰富的语言 完整的 PyTorch FastText 代码&#xff08;基于中文语料&#xff09;&#xff0c;包含&#xff1…

【hot100】刷题记录(8)-矩阵置零

题目描述&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2…

PyTorch框架——基于深度学习YOLOv8神经网络学生课堂行为检测识别系统

基于YOLOv8深度学习的学生课堂行为检测识别系统&#xff0c;其能识别三种学生课堂行为&#xff1a;names: [举手, 读书, 写字] 具体图片见如下&#xff1a; 第一步&#xff1a;YOLOv8介绍 YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本…