目录

前言

一、2025湖南旅发

1、关于旅发

2、精品路线发布

二、高德技术赋能

1、地理编码服务简介

2、地理编码服务参数介绍

3、自驾路径规划

4、自驾路径规划参数介绍

三、Java集成高德地图服务

1、业务调用时序

2、Java地理编码服务

3、Java路径规划

4、整体集成调用

四、WebGIS成果展示

1、Leaflet地图展示

2、地图展示效果

五、总结


前言

        在当今数字化浪潮席卷全球的背景下,旅游行业正迎来一场前所未有的变革。随着人们生活水平的提高,旅游不再仅仅是一种休闲方式,更是一种对生活品质的追求和对文化内涵的探索。同时在2025年9月下旬,第五届湖南旅游发展大会将在怀化市举办。怀化,这座拥有丰富自然景观和深厚文化底蕴的城市,正站在旅发新时代的风口浪尖,而高德地图作为国内优秀的数字地图内容、导航和位置服务解决方案提供商,正以其强大的技术实力,为怀化旅发注入新的活力,开启一场精品路线的智能之旅。怀化为广大游客和市民放出了景区门票优惠和区域旅游联动的“重磅福利”。首先是景区购票折扣。全市63家3A级及以上景区中的47家大门票免费,皇都侗文化村、芋头古侗寨、穿岩山景区、中华书山、唯楚酒庄观光园、胡家溪风情古寨、冠乐贝欢乐谷、阳雀坡等12家A级旅游景区参加“半价游怀化活动”。

        在智能化时代的特点中,个性化、智能化、便捷化成为核心诉求。游客们不再满足于千篇一律的旅游线路,而是渴望能够根据自己的兴趣、时间和预算,定制出独一无二的旅行体验。同时,随着移动互联网的普及,游客对于实时信息的需求也日益增长,他们希望能够随时随地获取准确的导航、景点介绍等信息。而高德地图则可凭借其地理编码技术和精准的路径规划服务,完美地满足了这些需求。怀化文旅部门已经发布了一些精品旅游路线,但是这些路线都是使用文字进行描述的,而作为地理信息开发者,如何将这些精品路线变成WebGIS地图呢?本文则结合高德地图来进行深度实践,通过高德地图的地理编码技术和驾车路径规划服务来模拟自驾旅游服务赋能。从古老的洪江古商城到神秘的通道万佛山,从沅陵的山水画卷到中方的生态田园,高德地图正以其智能的技术,为游客们描绘出一幅幅精美的旅行画卷。这场精品路线的智能之旅,不仅为游客带来了全新的旅行体验,也为怀化旅发的未来发展开辟了广阔的道路。让我们一起跟随高德地图的脚步,探索怀化的每一道风景,开启这场充满惊喜的智能之旅吧!

一、2025湖南旅发

        第五届湖南旅发大会将于9月在怀化举办。首先我们来介绍一下本节湖南旅发的一些基本知识还有针对性的推荐活动,让大家对旅发有一个基本的认识。

1、关于旅发

        2025年8月7日,第五届湖南旅游发展大会新闻发布会在长沙举行。会上宣布,大会定于9月16日至18日在怀化举办,届时将举行三大主体活动和五项配套活动。本届大会以“美美与共 合作发展 打造湖南文旅融合发展新高地”为主题。三大主体活动为开幕式暨湖南文旅产业投融资大会、文旅项目观摩活动、湖南省旅游产业发展领导小组(扩大)会议。五项配套活动分别是第四届湖南非遗博览会、“京昆古驿道·智驾雪峰山”百城万车自驾游活动、“乐动五溪 歌行千年”村歌联唱活动、2025年“福地怀化”美发美食周活动、“芙蓉花开·福地怀化”演唱会。据介绍,本届旅发大会将更加注重以文塑旅,推动文旅融合;更加注重科技赋能,丰富产品业态;更加注重市场参与,促进经济发展;更加注重区域联动,实现合作共赢;更加注重群众满意,服务美好生活。

2、精品路线发布

        7月17日,在湖南省直机关先锋直播间“新兴消费 扩容升级”政策专场,怀化市文化馆肖副馆长介绍了怀化激发文旅消费潜力的有关举措。第五届湖南旅游发展大会期间,怀化将举办系列特色文旅活动。其中包括非遗博览会、“京昆古驿道·智驾雪峰山”百城万车自驾游活动、“歌行千年 乐动五溪”村歌联唱活动、2025“福地怀化”美发美食周活动、“芙蓉花开·福地怀化”超级演唱会等等,带游客感受怀景怀乡怀味,体验真诚、懂你、有温度的怀化。为了帮助游客更好地规划,怀化市推出了六条精品旅游线路。比如:

序号路线名称包含景点路线特色
1农耕文化研学体验精品线路安江农耕文化旅游区、黔阳古城、洪江古商城。沅水滔滔,串联起安江农耕、黔阳古城、洪江古商城三大精品旅游资源。一衣带水,将“天下粮仓、天下县衙、天下商道”的文化内涵有机串联,移步皆是景,处处有惊喜。
2山水休闲康养精品线路沅陵借母溪、溆浦穿岩山、溆浦山背花瑶梯田、雪峰山国家森林公园、鹤城黄岩生态旅游区。背上行囊,登临雪峰山,这是锦绣潇湘的屋脊;放飞黄岩生态旅游区,这里高山台地别有洞天;探幽借母溪,这是“湖南的九寨沟”。这里森林茂密、山风凉爽,夏季平均气温24℃,可乘凉而来、避暑而居。
3古城古村深度游精品线路沅陵辰龙关、辰溪船溪古驿站、中方荆坪古村、新晃龙溪古镇、黔阳古城、洪江古商城、高椅古村。岁月流金,转瞬千年。古城、古镇、古寨、古屋如经年珠玉镶嵌在江边山谷。洪江古商城,堪称湘商之源;黔阳芙蓉楼,捧出一片冰心;高椅古村,恍若世外桃源。从界亭驿至船溪驿、中方驿、晃州驿,感悟迁客骚人的家国情怀。
4千里沅江画廊精品线路沅陵二酉山、辰溪大酉山、溆浦思蒙、芷江和平湖、黔阳古城、洪江古商城、洪江市清江湖。“千里沅江,怀化画廊”,沿溆水而下,体验溆浦思蒙水上丹霞之壮美,溆水河畔聆听屈子《涉江》《橘颂》千古之绝唱;溯沅江而上,感受洪江古商城、黔阳古城双古城之韵;泛舟沅陵酉水画廊,领略林则徐“一县好山留客住,五溪秋水为君清”之豪迈、沈从文笔下“满眼是诗,一种纯粹的诗”之绝美。
5民俗文化体验精品线路会同高椅古村、靖州地笋苗寨、靖州飞山景区、靖州岩脚侗寨、通道芋头古侗寨、通道皇都侗文化村。苗乡侗寨,摇曳多姿的民俗风情。欣赏工艺独特的鼓楼、凉亭、吊脚楼、风雨长廊、聆听有如天籁的侗族大歌,跳起热情如火的哆耶舞,品尝“舌尖上的中国”之侗苗美食。
6研学体验精品旅游线路溆浦向警予纪念馆、麻阳滕代远纪念馆、中国人民抗日战争胜利受降纪念馆、洪江市安江农校杂交水稻纪念园、会同粟裕故居和纪念馆、通道转兵纪念地。怀化是一片红色热土。从这里走出了一大批革命先辈先烈;在这里,举行了抗日战争胜利的受降典礼。正值暑期大家可以根据时间安排和喜好选择线路。

        上述每条路线都非常值得大家深度探索,篇幅有限,这里我们以第二条路线为例:山水休闲康养精品线路,结合高德地图在线平台的能力进行转换,不仅把官方的各个点连接成驾车的路线,同时发布详细的道路出行清单,供您出行选择。

二、高德技术赋能

        上图是本案例中的技术路线图,首先根据发布的精品路线文本对景点信息进行切割,生成5个不同的景点文本,然后调用高德地图的地理编码服务,得到一个对应的经纬度位置,将对应的位置信息按照顺序组装成导航点规划,保留第一个元素为起点,最后一个元素为终点,剩余的中间点为途径点,最后调用高德地图的驾车路径规划服务返回对应的路线信息并进行路线的可视化。因此地理编码服务和路径规划服务是本案例中的两个非常重要的接口。

1、地理编码服务简介

        地理编码技术是高德地图的核心技术之一,地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。它能够将复杂的地址信息转换为精确的地理坐标,实现对怀化地区各类旅游资源的精准定位。无论是隐藏在深山中的古村落,还是繁华都市中的特色街区,高德地图都能通过地理编码技术,将其准确地标注在地图上,为游客提供清晰的指引。这不仅方便了游客的出行,也为当地的旅游资源开发和推广提供了有力支持。将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。 结构化地址举例:北京市朝阳区阜通东大街6号转换后经纬度:116.480881,39.989410  地标性建筑举例:天安门转换后经纬度:116.397499,39.908722。

2、地理编码服务参数介绍

        地理编码 API 服务地址

URL

请求方式

https://restapi.amap.com/v3/geocode/geo?parameters

GET

        parameters 代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。

        请求参数

参数名

含义

规则说明

是否必须

缺省值

key

高德Key

用户在高德地图官网 申请 Web 服务 API 类型 Key

必填

address

结构化地址信息

规则遵循:国家、省份、城市、区县、城镇、乡村、街道、门牌号码、屋邨、大厦,如:北京市朝阳区阜通东大街6号。

必填

city

指定查询的城市

可选输入内容包括:指定城市的中文(如北京)、指定城市的中文全拼(beijing)、citycode(010)、adcode(110000),不支持县级市。当指定城市查询内容为空时,会进行全国范围内的地址转换检索。

adcode 信息可参考 城市编码表 获取

可选

无,会进行全国范围内搜索

sig

数字签名

请参考 数字签名获取和使用方法

可选

output

返回数据格式类型

可选输入内容包括:JSON,XML。设置 JSON 返回结果数据将会以 JSON 结构构成;如果设置 XML 返回结果数据将以 XML 结构构成。

可选

JSON

callback

回调函数

callback 值是用户定义的函数名称,此参数只在 output 参数设置为 JSON 时有效。

可选

        返回结果参数说明,响应结果的格式可以通过请求参数 output 指定,默认为 JSON 形式。

名称

含义

规则说明

status

返回结果状态值

返回值为 0 或 1,0 表示请求失败;1 表示请求成功。

count

返回结果数目

返回结果的个数。

info

返回状态说明

当 status 为 0 时,info 会返回具体错误原因,否则返回“OK”。详情可以参阅 info 状态表

geocodes

地理编码信息列表

结果对象列表,包括下述字段:

country

国家

国内地址默认返回中国

province

地址所在的省份名

例如:北京市。此处需要注意的是,中国的四大直辖市也算作省级单位。

city

地址所在的城市名

例如:北京市

citycode

城市编码

例如:010

district

地址所在的区

例如:朝阳区

street

街道

例如:阜通东大街

number

门牌

例如:6号

adcode

区域编码

例如:110101

location

坐标点

经度,纬度

level

匹配级别

参见下方的地理编码匹配级别列表

3、自驾路径规划

        路线规划接口2.0是一类 Web API 接口服务,以 HTTP/HTTPS 形式提供了多种路线规划服务。支持驾车、公交、步行、骑行、电动车路线规划。路径规划服务则是高德地图的另一大亮点。无论是自驾游、公共交通出行,还是步行游览,高德地图都能根据实时路况和用户偏好,快速计算出最短时间、最短距离或最经济的路线。

4、自驾路径规划参数介绍

        驾车路线规划 API 服务地址如下:

URL

请求方式

https://restapi.amap.com/v5/direction/driving?parameters

GET,当参数过长导致请求失败时,需要使用 POST 方式请求

        parameters 代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。

        

        篇幅有限,返回参数这里不做更详细的展示,感兴趣的各位可以根据博文最后给出的链接地址查阅相关API介绍。

三、Java集成高德地图服务

        本文将以Java语言为例,终点讲解在JDK1.8中如何来集成高德地图的服务,并在SpringBoot中开发我们需要的服务,下面将业务调用时序、调用地理编码服务、路径规划设计以及整体集成调用示例四个方面进行介绍。

1、业务调用时序

        上图就是一个Java集成高德地图服务的调用时序图,不同的模块负责对应的工作,共同完成都高德地图的操作。

2、Java地理编码服务

        首先在Java中定义高德地图的地理编码服务,关键代码如下所示:

package com.yelang.project.thridinterface;
import com.burukeyou.uniapi.http.annotation.HttpApi;
import com.burukeyou.uniapi.http.annotation.param.QueryPar;
import com.burukeyou.uniapi.http.annotation.request.GetHttpInterface;
import com.burukeyou.uniapi.http.core.response.HttpResponse;
@HttpApi(url = "https://restapi.amap.com/v3/geocode")
public interface AmapGeocodeService {/*** -地理编码 API 服务* @param address* @param city* @param key* @return*/@GetHttpInterface("/geo")public HttpResponse<String> getGeo(@QueryPar("address") String address,@QueryPar("city") String city, @QueryPar("key") String key);
}

3、Java路径规划

        同样的在SpringBoot项目代码中定义高德地图的驾车路径规划接口,关于其它的路径规划方式,感兴趣的大家可以根据实际情况来进行调整,代码示例不变。

package com.yelang.project.thridinterface;
import com.burukeyou.uniapi.http.annotation.HttpApi;
import com.burukeyou.uniapi.http.annotation.param.QueryPar;
import com.burukeyou.uniapi.http.annotation.request.GetHttpInterface;
import com.burukeyou.uniapi.http.core.response.HttpResponse;
@HttpApi(url = "https://restapi.amap.com/v5/direction")
public interface AmapDirectionService {/*** - 驾车路线规划 API 服务* @param origin 经度在前,纬度在后,经度和纬度用","分割,经纬度小数点后不得超过6位。* @param destination 经度在前,纬度在后,经度和纬度用","分割,经纬度小数点后不得超过6位。* @param show_fields 返回结果控制* @param strategy 驾车算路策略* @param waypoints 途经点* @param key 高德Key* @return*/@GetHttpInterface("/driving")public HttpResponse<String> driving(@QueryPar("origin") String origin,@QueryPar("destination") String destination,@QueryPar("show_fields") String show_fields,@QueryPar("strategy") String strategy,@QueryPar("waypoints") String waypoints, @QueryPar("key") String key);
}

        以上就是在Java中定义路径规划的接口代码。有了这两个接口的定义,后面我们就可以在控制层或者业务层代码中直接使用,非常方便。

4、整体集成调用

        在定义好了地理编码服务和路径规划服务之后,接下来我们就可以调用这两个服务来实现高德地图的地理编码和路径规划能力。但是为了在后续的接口调用中能实现参数的映射,首先我们需要对返回的JSON对象进行反序列化,能将JSON字符串转为对应的对象,因此需要定义两个对象。这两个类的类图参考如下:

        首先来创建上面两JavaBean分别用来保存地理编码视图对象,核心的Java代码如下:

package com.yelang.project.transportation.routing.domain;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@NoArgsConstructor
@AllArgsConstructor
@Setter
@Getter
@ToString
public class AmapGeocodeVO implements Serializable{private static final long serialVersionUID = 8219705140995984116L;private String country;//国家,国内地址默认返回中国private String province;//地址所在的省份名,例如:北京市。此处需要注意的是,中国的四大直辖市也算作省级单位。private String city;//地址所在的城市名,例如:北京市private String citycode;//城市编码,例如:010private String district;//地址所在的区,例如:朝阳区// 官网的说明没有专门说明字段,容易转换出问题,需注意private String [] street;//街道,例如:阜通东大街private String [] number;//门牌,例如:6号private String adcode;//区域编码,例如:110101private String location;//坐标点;经度,纬度private String level;//匹配级别,参见下方的地理编码匹配级别列表
}

        另一个VO对象的核心代码如下:

package com.yelang.project.transportation.routing.domain;
import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@NoArgsConstructor
@AllArgsConstructor
@Setter
@Getter
@ToString
public class AmapGeoVO implements Serializable{private static final long serialVersionUID = 2677850493229495549L;private int status;//结果状态值,返回值为 0 或 1,0 表示请求失败;1 表示请求成功。private String info;private int count;private List<AmapGeocodeVO> geocodes;//地理编码信息列表
}

        最后我们将演示在Controller中来进行整体的程序调用,从字符拆分、地理编码服务调用、规划点设计、高德地图的路径规划服务。在Controller中的核心代码如下:

/***-  怀化旅发推荐路线* @return*/@PostMapping("/landscapeleisure")@ResponseBodypublic AjaxResult landscapeleisure() throws Exception{AjaxResult ar = AjaxResult.success();String [] travel_target = {"沅陵借母溪","溆浦穿岩山","溆浦山背花瑶梯田","雪峰山国家森林公园","鹤城黄岩生态旅游区"};String city = "431200";//怀化Gson gson = new Gson();//step1、调用高德地理编码接口将地址转为经纬度List<AmapGeocodeVO> drivingGeoList = new ArrayList<AmapGeocodeVO>();for(String address : travel_target) {HttpResponse<String> result = geocodeService.getGeo(address, city, AMAP_CLIENT_AK);if(StringUtils.isNotEmpty(result.getBodyResult())) {AmapGeoVO amapGeoVO = gson.fromJson(result.getBodyResult(), AmapGeoVO.class);if(null == amapGeoVO) {continue;}if(amapGeoVO.getCount() > 1) {drivingGeoList.add(amapGeoVO.getGeocodes().get(0));}if(amapGeoVO.getCount() == 1) {drivingGeoList.addAll(amapGeoVO.getGeocodes());}}}//step2、将目标位置加入到导航中if(drivingGeoList.size() > 0) {String origin = drivingGeoList.get(0).getLocation();int size = drivingGeoList.size();String destination = drivingGeoList.get(size -1).getLocation();String strategy = "32";//使用默认策略,高德推荐,同高德地图APP默认String show_fields = "cost,tmcs,navi,cities,polyline"; //show_fields 用来筛选 response 结果中可选字段。StringBuffer waypointsStr = new StringBuffer();for(int i = 1;i<size;i++) {waypointsStr.append(drivingGeoList.get(i).getLocation()).append(";");}String waypoints = waypointsStr.substring(0,waypointsStr.length()-1);//step3、调用路径规划服务HttpResponse<String> result = directionService.driving(origin, destination, show_fields,strategy, waypoints, AMAP_CLIENT_AK);ar.put("data", result.getBodyResult());ar.put("drivingList", drivingGeoList);ar.put("traveltarget", String.join(",", travel_target));}return ar;
}

        当然,这里还有一些程序需要进一步的完善,这里仅做演示,大家可以根据实际情况调整修改,比如这里的展示区域,如怀化。

四、WebGIS成果展示

        本节将介绍如何使用Leaflet来调用后台的Controller接口,最终调用高德地图的地理编码接口和路径规划接口。本小节最后还给出了实际的地图展示效果,希望能帮助到大家。

1、Leaflet地图展示

        在高德地图中,路径规划接口可以返回当前道路的拥堵情况,数据如下图所示:

        因此要求我们在展示的时候可以根据拥堵状态来进行颜色的切换,在javascript中定义以下函数:

//根据道路状态返回拥堵颜色
function getRoadColor(tmc_status){//未知、畅通、缓行、拥堵、严重拥堵var color = "";switch (tmc_status) {case "严重拥堵":color = "#b73c3c";break;case "拥堵":color = "#f11010";break;case "缓行":color = "#edd10c";break;case "畅通":color = "#189d1c";break;case "未知":color = "#1890ff";break;default:color = "#1890ff";}return color;}

        同时在Leaflet中展示地图的方法如下:

function showLandscapeleisure(){$.ajax({  type:"post",  url:prefix + "/landscapeleisure",  dataType:"json",  cache:false,processData:false,success:function(result){if(result.code == web_status.SUCCESS){var strokeStyleSet = "#c50808";var lat,lng,cityInfo;showBaseGroup.clearLayers();var tempData = JSON.parse(result.data);var pathInfo = tempData.route.paths[0];var drivingList = result.drivingList;var traveltarget = result.traveltarget;var traveltargetStr = traveltarget.split(",");var _distance = parseFloat(pathInfo.distance) / 1000 ;$("#length").html(_distance.toFixed(2));var _time = parseFloat(pathInfo.cost.duration) / (60 * 60) ; $("#time").html(_time.toFixed(2));$("#lights").html(pathInfo.cost.traffic_lights);$("#tolls").html(pathInfo.cost.tolls);//添加起点var origin = tempData.route.origin;var destination = tempData.route.destination;L.marker(new L.latLng(origin.split(",")[1],origin.split(",")[0]), {icon: startIcon}).addTo(showBaseGroup);//添加终点L.marker(new L.latLng(destination.split(",")[1],destination.split(",")[0]), {icon: endIcon}).addTo(showBaseGroup);var index = 0;for(var m = 0;m< drivingList.length;m++){var _drivingData = drivingList[m];var myIcon = L.divIcon({iconSize: null,className: '',popupAnchor:[5,5],shadowAnchor:[5,5],html: buildShowInfo(index++,getRandomColor(),_drivingData,traveltargetStr[m])});L.marker(new L.latLng(_drivingData.location.split(",")[1],_drivingData.location.split(",")[0]), { icon: myIcon}).addTo(showBaseGroup)}for(var i=0;i < pathInfo.steps.length;i++){var dataInfo = pathInfo.steps[i];var road_name = dataInfo.road_name != undefined ? dataInfo.road_name : "未知道路";var _li = "<li class='info-element'>";_li += dataInfo.instruction;_li += "<div class='agile-detail'>"_li += "<a href='#' class='pull-right btn btn-xs btn-white'>标记</a>";_li += "<i class='fa fa-road'></i>红绿灯" + dataInfo.cost.traffic_lights;_li += "</div>";_li += "</li>";$("#routing_ul").append(_li);var routingArray = new Array();for(var j = 0;j<dataInfo.tmcs.length;j++){var _tmcs = dataInfo.tmcs[j];var routelatlonStr = _tmcs.tmc_polyline;var routelatlonStrArray = routelatlonStr.split(";");for(var k = 0;k<routelatlonStrArray.length;k++){var _tempStr = routelatlonStrArray[k];if(_tempStr == "") continue;routingArray.push([_tempStr.split(",")[1],_tempStr.split(",")[0]]);}L.polyline([[routingArray]],{color: getRoadColor(_tmcs.tmc_status),weight:6}).addTo(showBaseGroup);}}mymap.addLayer(showBaseGroup);mymap.setView(showBaseGroup.getBounds().getCenter(),9);//同时设置中心位置和级别,一般省份设置为8,直辖市可设置成9}},error:function(){$.modal.alertWarning("获取信息失败");}});
}

2、地图展示效果

        首先来放一张最终的效果图:

        为了让大家看到更加直观的效果,下面将分享功能运行录屏:

高德赋能旅发

五、总结

        以上就是本文的主要内容,本文将结合高德地图来进行深度实践,通过高德地图的地理编码技术和驾车路径规划服务来模拟自驾旅游服务赋能。从古老的洪江古商城到神秘的通道万佛山,从沅陵的山水画卷到中方的生态田园,高德地图正以其智能的技术,为游客们描绘出一幅幅精美的旅行画卷。文章首先简单介绍了2025湖南旅发内容,然后详细介绍了高德地图的地理编码服务和路径规划服务,其次介绍了如何在Java中集成高德地图服务,最后对形成的WebGIS成果进行展示。通过与怀化当地的旅游管理部门、景区、酒店等合作,高德地图将旅游信息深度整合到地图服务中。游客在使用高德地图规划路线时,不仅可以查看景点的详细介绍、门票价格、开放时间等信息,还可以直接预订门票、酒店,甚至获取周边美食推荐。这种一站式的旅游服务,极大地提升了游客的出行体验,也为怀化旅发带来了新的增长点。本文将通过数据可视化与案例分析,展示博客之星的地理分布规律,为读者呈现一幅数字时代区域发展的文化图景。

        文章编写过程参考以下链接:

        1、第五届湖南旅发大会将于9月在怀化举办。

        2、6条精品旅游线路、景区购票折扣……怀化向你发出的邀请快收下。

        3、高德地理/逆地理编码服务。

        4、高德路径规划2.0服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94492.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94492.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/94492.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV实战1.信用卡数字识别

1. 任务说明 有如下几张信用卡&#xff0c;我们需要根据模板匹配出其中的数字&#xff0c;进行卡号的识别2. Debug源码 cursor的debug&#xff1a;launch.json&#xff1a; {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请…

Spring Security 深度学习(一): 基础入门与默认行为分析

目录1. 引言&#xff1a;为何选择Spring Security&#xff1f;2. 核心概念&#xff1a;认证 (Authentication) 与 授权 (Authorization)2.1 什么是认证 (Authentication)&#xff1f;2.2 什么是授权 (Authorization)&#xff1f;2.3 安全性上下文 (SecurityContext)3. Spring B…

数学建模--模糊综合评价法

一、概念 模糊综合评价法是一种基于模糊数学的综合评价方法。它针对评价过程中存在的模糊性&#xff08;如 “好”“较好”“差” 等模糊概念&#xff09;&#xff0c;通过建立模糊集合&#xff0c;将定性评价转化为定量评价&#xff0c;从而对具有多种属性的评价对象做出全面、…

科普 | 5G支持的WWC架构是个啥(2)?

为解决有线固定宽带与无线移动宽带融合问题&#xff0c;3GPP在5G中推出了WWC系统架构。它将两种接入类型统一融合到5G核心网络。这有助于运营商简化控制、简化管理并为终端用户提供一致服务&#xff1b;其中&#xff1a;一、5G核心组件包括&#xff1a;AMF(接入和移动性管理功能…

达梦数据库配置文件-COMPATIBLE_MODE

达梦数据库配置文件-COMPATIBLE_MODE 获取系统参数 SQL 语句: select distinct para_type from v$dm_ini;这句的意思是:从达梦数据库的参数视图 v$dm_ini 中,查询所有不同类型的参数分类(去重)。 ✅ 输出结果解析 行号 PARA_TYPE ---------- --------- 1 RE…

能源行业数据库远程运维安全合规实践:Web化平台的落地经验

背景&#xff1a;远程运维下的数据管理挑战在能源行业&#xff0c;企业通常在全国范围内部署分布式设施。每个电站或运维中心都有独立数据库&#xff0c;用于&#xff1a;记录设备状态、传感器数据和维护日志&#xff1b;存储实时生产指标和能耗统计&#xff1b;生成定期运维报…

数据结构Java--8

二叉搜索树像上图这样满足&#xff0c;任意一棵子树的左子树小于该子树的根结点&#xff0c;右子树大于该子树的根结点&#xff0c;满足这样的条件&#xff0c;则这种树就被称为二叉搜索树。public class BinarySearchTree {static class TreeNode {public int val;public Tree…

使用Spring Boot和EasyExcel导出Excel文件,并在前端使用Axios进行请求

在现代企业应用中&#xff0c;Excel文件的导出是一项常见且重要的功能。Spring Boot作为Java开发中的热门框架&#xff0c;结合EasyExcel这样的高效库&#xff0c;能够轻松实现Excel的导出功能。而在前端&#xff0c;使用Axios进行HTTP请求&#xff0c;可以方便地与后端进行数据…

图论水题5

cf796D 题意 n个点n-1条边&#xff0c;k个特殊点以及整数d&#xff0c;要求删除最多的边保证每个点都可以在d步之内到达一个特殊点&#xff0c;输入保证每个点都可以在d步内到达特殊点 思路 考虑什么时候可以删除一条边&#xff0c;即这条边连接的两个点可以在d步内到达两个不同…

像WPS Office 一样处理pdf页面尺寸

1. 修改页面尺寸import os import shutil import fitz # PyMuPDFdef cm_to_px(cm):# 厘米转换成像素"""doc fitz.open(input_file)page0 doc[0]width_px page0.mediabox.widthheight page0.mediabox.heightprint(fwidth_px&#xff1a;{width_px} height&a…

Linux 基础开发工具

在 Linux 环境下进行开发&#xff0c;熟练掌握基础工具是提升效率、解决问题的核心前提。无论是软件安装、代码编辑&#xff0c;还是编译调试、版本管理&#xff0c;一套 “趁手” 的工具链能让开发过程事半功倍。本文将从 Linux 开发最核心的七大工具模块入手&#xff0c;一步…

TapData vs Kafka ETL Pipeline:竞争?共存?——企业实时数据策略的正确打开方式

【引言】企业实时数据流转&#xff0c;迎来“集成计算”新范式 企业 IT 架构的演进&#xff0c;从最初的数据孤岛&#xff0c;到集中式数据仓库&#xff0c;再到如今的实时数据驱动架构。在这一过程中&#xff0c;数据的集成&#xff08;数据源→目标&#xff09;与数据的计算&…

十九、云原生分布式存储 CubeFS

十九、云原生分布式存储 CubeFS 文章目录十九、云原生分布式存储 CubeFS1、分布式存储初识1.1 分布式存储主要特性1.2 为什么要在K8s上落地存储平台1.3 云原生存储平台CubeFS介绍1.4 分布式存储平台落地架构1.4.1 混合部署1.4.2 独立部署-基础设施集群1.5 资源分配建议1.6 硬件…

如何拯救一家濒临破产的科技公司?

从谷底爬起&#xff1a;Medium 的生死重生之路 2022年的 Medium&#xff0c;正坠入一个深不见底的深渊。 每月亏损260万美元&#xff0c;订阅用户持续流失——这不是增长&#xff0c;而是在消耗资本。更致命的是内容质量&#xff1a;平台充斥着“快速致富学”等空洞内容&#x…

数据结构-算法(一)

一、已知无向图的邻接矩阵&#xff0c;求无向图的邻接表。 &#xff08;1&#xff09;提示&#xff1a;无向图如下图(a)所示&#xff0c;已知邻接矩阵如图(b)所示&#xff0c;求对应的邻接表(c)。&#xff08;2&#xff09;请定义void adjMatrix_2_adjList(int b[4][4], AdjLis…

2025年嵌入式通信电源系统品牌有哪些?

现在科技跑得飞快&#xff0c;嵌入式通信电源系统可是越来越吃香了&#xff0c;尤其是在5G、物联网、智能家居这些热门地方。这玩意儿不光能让设备稳稳当当干活儿&#xff0c;还特省电、贼聪明&#xff0c;优势杠杠的&#xff01;既然大家伙儿都这么需要它&#xff0c;那到了20…

Ubuntu24.04环境下causal_conv1d和mamba_ssm安装

环境&#xff1a;WSL的Ubuntu24.041.创建conda环境&#xff0c;其中python版本为3.10.132.当前conda环境依次执行下面命令&#xff1a;conda install cudatoolkit11.8 -c nvidia pip install torch2.1.1 torchvision0.16.1 torchaudio2.1.1 -f https://mirrors.aliyun.com/pyto…

Python爬虫实战: 爬虫常用到的技术及方案详解

爬虫是获取网络数据的重要工具,Python因其丰富的库生态系统而成为爬虫开发的首选语言。下面我将详细介绍Python爬虫的常用技术和方案。 一、基础技术栈 1. 请求库 Requests - 同步HTTP请求库 import requests# 基本GET请求 response = requests.get(https://httpbin.org/g…

k8s——持久化存储 PVC

目录 k8s持久化存储&#xff1a; PVC 1 k8s PV是什么&#xff1f; 2 k8s PVC是什么&#xff1f; 3 k8s PVC和PV工作原理 4 创建pod&#xff0c;使用pvc作为持久化存储卷 ​三种回收策略详解​ 1、创建nfs共享目录 2、如何编写pv的资源清单文件 3、创建pv 更新资源清单文…