当前位置: 首页 > news >正文

五一去荣昌吃卤鹅?基于Java和天地图的寻找荣昌卤鹅店实践

目录

前言

1、卤鹅哥与甲亢哥的爆火事件

2、荣昌卤鹅产业的空间分布

3、使用Java 和天地图进行产业挖掘

一、地名检索简介

1、地名检索功能

2、地名检索API介绍

二、荣昌卤鹅检索实践

1、数据获取流程

2、天地图API请求构建

3、参数构建及调用

4、结果生成及本地保存

三、总结


前言

1、卤鹅哥与甲亢哥的爆火事件

        最近,重庆荣昌的卤鹅哥林江和美国顶流网红甲亢哥(IShowSpeed)的互动,让荣昌卤鹅成为网红美食。林江作为荣昌的助农主播,为宣传家乡美食,自费开启“五城追星”之旅,在成都、长沙等五座城市向甲亢哥投喂荣昌卤鹅,并用蹩脚英语反复强调“Rongchang Braised Goose”,成功将其推入国际视野。其真诚执着的态度赢得了甲亢哥团队和网友的认可,最终被邀请赴美作客。随着事件的发酵,荣昌卤鹅的网络曝光率暴增 105%,相关企业线上销量迅速增长,部分企业单日销量翻十倍,甚至出现订单爆满暂停接单的情况。卤鹅哥林江也成为了荣昌家喻户晓的人物,他的事迹还登上了微博、抖音等平台的热榜,全网话题阅读量超 5 亿。

2、荣昌卤鹅产业的空间分布

        从生产端来看,荣昌地处重庆西部和四川东部交界的丘陵地带,平均海拔 380 米,全区土壤质地良好,充足的水域、适宜的气候、肥沃的土壤,为荣昌白鹅的养殖提供了优越条件,而荣昌白鹅正是制作荣昌卤鹅的优质食材。目前,荣昌区已建成标准化荣昌鹅养殖示范基地 10 个,荣昌鹅年养殖量达 800 万只。从加工端来看,荣昌已培育卤鹅及配套加工企业 7 家,形成了“公司+合作社+家庭农场+农户”的养殖体系和“中央厨房+区域仓库+社区零售+电商销售”的销售体系。从销售端来看,荣昌卤鹅在线上线下均有销售,线上在各大电商平台活跃,线下则分布在重庆江北国际机场航站楼、成渝高铁站、商场超市等地。此外,荣昌还在城区和一些乡镇形成了卤鹅美食街或集中销售点,如荣昌夏布小镇附近就聚集了多家卤鹅企业进行网络直播带货。

3、使用Java 和天地图进行产业挖掘

        利用 Java 和天地图来挖掘荣昌卤鹅产业具有较高的可行性。首先,Java 是一种功能强大、应用广泛的编程语言,能够为数据处理、分析和应用开发提供强大的技术支持。通过 Java 编写爬虫程序,可以抓取电商平台、社交媒体等网站上的荣昌卤鹅销售数据、用户评价等信息,为产业分析提供数据基础。其次,天地图提供了详细的地理信息数据和地图服务接口,能够帮助我们获取荣昌地区的地理信息,包括卤鹅店的分布、交通路线等。结合 Java 和天地图,可以实现对荣昌卤鹅产业的空间分析,如绘制卤鹅店的分布地图、分析不同区域的销售热度等。此外,还可以开发基于天地图的手机应用程序,为游客提供荣昌卤鹅店的导航、推荐等功能,进一步推动荣昌卤鹅产业的发展。

        五一假期即将来临,相信今年这个五一应该有很多人会选择去荣昌游玩,品尝荣昌卤鹅。对很多外地的游客而言,想吃卤鹅可以在线上平台进行订购。当然,您也可以选择亲自自驾去荣昌品尝。那么怎么在当地找到卤鹅店呢?本人是一名GIS从业者和研究者,虽然这次五一不能去荣昌,但也想为大家把荣昌的卤鹅店找一找,从地理信息的角度帮大家寻找美味。文章首先介绍天地图的检索API,然后详细介绍如何使用Java来调用天地图的API获取所有的卤鹅位置信息,权当为大家做一个参考。

一、地名检索简介

        本节将重点介绍天地图的地名检索API,主要分为两部分。第一部分对地名检索功能进行一个简单的梳理,第二部分是对地名检索API进行一个详细的介绍,尤其是本次需要使用的行政区划的检索。                

1、地名检索功能

        地名搜索服务V2.0是一类简单的HTTP/HTTPS接口,包括普通搜索、视野内搜索、周边搜索、多边形搜索、行政区域搜索、分类搜索、统计搜索。大家可以在天地图的官方API出查找具体的介绍文档,天地图WEB服务API介绍。

2、地名检索API介绍

        想要查询荣昌的卤鹅店位置,首先需要明确数据查询流程。我们需要采用的是行政区划区域搜索服务。即在指定的行政区划范围内寻找指定的关键词位置信息。因此需要使用的是第一个服务,这里也以第一个服务为例,详细来介绍这个服务。

        输入参数说明:

参数值参数说明参数类型是否必备备注(值域)
keyWord搜索的关键字String必填
specify指定行政区的国标码(行政区划编码表)严格按照行政区划编码表中的(名称,gb码)String必填下载行政区划编码表。9位国标码,如:北京:156110000或北京。
queryType服务查询类型参数String必填12:行政区划区域搜索服务。
start返回结果起始位(用于分页和缓存)默认0String必填0-300,表示返回结果的起始位置。
count返回的结果数量(用于分页和缓存)String必填1-300,返回结果的条数。
dataTypes数据分类(分类编码表)String可选下载分类编码表,参数可以分类名称或分类编码。多个分类用","隔开(英文逗号)。
show返回poi结果信息类别String可选取值为1,则返回基本poi信息; 取值为2,则返回详细poi信息

        返回参数说明

参数值参数说明参数类型返回条件备注(值域)
resultType返回结果类型Int必返回取值1-5,对应不同的响应类型: 1(普通POI),2(统计),3(行政区),4(建议词搜索),5(线路结果)
count返回总条数Int必返回
keyword搜索关键词String必返回搜索的关键字。
pois针对点(类型1)集合返回Pois Json数组resultType=1
namePoi点名称String必返回
phone电话String
address地址String
lonlat坐标String必返回坐标 x,y
poiTypepoi类型Int必返回101:POI数据 102:公交站点
eaddress英文地址String
enamepoi点英文名称String
hotPointIDpoi热点IDString必返回热点id
province所属省名称String
provinceCode省行政区编码String
city所属城市名称String
cityCode市行政区编码String
county所属区县名称String
countyCode区县行政区编码String
source数据信息来源String必返回
typeCode分类编码String
typeName分类名称String
stationData车站信息结构体 数据Json 数组poiType=102
lineName线路名称String必返回
uuid线路的idString必返回
stationUuid公交站uuidString必返回
statistics针对统计(类型2)集合返回Json 数组resultType=2
count本次统计POI总数量Int必返回
adminCount行政区数量Int必返回
priorityCitys推荐行政区名称Json数组必返回
name行政区名称String必返回
count城市数量Int必返回
lonlat行政区经纬度String必返回坐标 x,y
ename英文行政名称String必返回
adminCode城市国标码Int必返回9位国标码。
allAdmins各省包含信息集合Json数组必返回
name行政名称String必返回
count包含数量Int必返回
lonlat行政区经纬度String必返回坐标x,y
adminCode省国标码String必返回
ename英文行政名称String必返回
isleaf有无下一级行政区boolean必返回有则false,无则true
area针对行政区省(类型3)集合点Json 数组resultType=3
name名称String必返回
bound定位范围(“minx,miny,maxx,maxy”)String返回
lonlat定位中心点坐标String必返回
adminCode行政区编码Int必返回
level显示级别Int必返回1-18级
lineData线路结果Json 数组resultType=5
stationNum站数量String必返回
poiType类型为“103”String必返回
name线路名称String必返回
uuid线路idString必返回
status返回状态信息Json 数组必返回结果提示信息
infocode信息码Int必返回服务状态码表
cndesc返回中文描述String必返回服务状态码表

        这里需要说明的是,我们预期返回的都是POI数据,因此我们在后续的内容中都是以POI数据为例来展开。这里之所以要把输入参数和输出参数都进行详细的介绍,就是为了后续的信息抓取过程做准备。 这里有一个信息是需要先确定的,就是按照行政区划检索的话,一定要先在天地图上下载行政区划代码,在文档的连接处有详细的连接,点击后即可进行下载。打开文档可以看到如下信息:

        上图红线框中的就是荣昌的行政编码,在接口检索的时候,可以传入行政区划名称或者编码都是可以的。

二、荣昌卤鹅检索实践

        在了解和掌握了天地图的行政区划检索服务之后,本节我们将重点介绍如何在Java中调用天地图的行政区划接口API来检索相应的数据。主要介绍数据的获取流程,然后介绍如何使用Java来构建天地图的API、参数的构建以及实际调用,最后介绍请求的结果生成以及如何将生成结果保存成本地的Excel文档。

1、数据获取流程

        以上就是数据获取的完整流程,第一步是从下载的行政区划中设置待检索的行政区划,这里为荣昌,第二步设置查询关键字,即卤鹅,第三步是构建参数并发送请求, 第四步是将服务器返回的数据转换为Gson,第五步是将List数据转为Excel,第六步将Excel数据回写到本地即可。

2、天地图API请求构建

        首先我们需要在后台创建一个天地图的访问接口文件,关键代码如下:

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 = "http://api.tianditu.gov.cn/")
public interface TdtOptionService {@GetHttpInterface("v2/search")public HttpResponse<String> searchV2(@QueryPar("postStr") String postStr,@QueryPar("type") String type,@QueryPar("tk") String tk);
}

        请注意 :这里我们为了简化相关接口的调用,使用Unihttp来进行接口请求的调用。

3、参数构建及调用

        按照前面介绍过的文档,我们来进行查询参数的构建,这里需要设置的参数有keyWord、specify等,查询参数构建如下:

String keyWord = "卤鹅";
String specify = "156500153";//荣昌区
String excelTitle  = "重庆荣昌卤鹅POI信息列表";
String postStr = "%7B'keyWord':'" + keyWord + "','specify':'" + specify + "','queryType':'12','start':'0','count':'100','show':'2' %7D" ;

         然后使用Java来调用天地图的检索接口获取具体的卤鹅位置信息,检索方法如下:

/**
* - 行政区划区域搜索示例
*/
@Test
public void searchByAdminCode() {String keyWord = "卤鹅";String specify = "156500153";//荣昌区String excelTitle  = "重庆荣昌卤鹅POI信息列表";String postStr = "%7B'keyWord':'" + keyWord + "','specify':'" + specify + "','queryType':'12','start':'0','count':'100','show':'2' %7D" ;HttpResponse<String> resp = tdtOptService.searchV2(postStr,QUERY, TDT_SERVER_KEY);Gson gson = new Gson();System.out.println(resp.getBodyResult());if(StringUtils.isNotEmpty(resp.getBodyResult())) {TdtSearchVo tdtSearchVo = gson.fromJson(resp.getBodyResult(), TdtSearchVo.class);if(tdtSearchVo.getCount() > 0) {// excel工具包ExcelUtil<TdtPoi> util = new ExcelUtil<TdtPoi>(TdtPoi.class);util.exportExcel(tdtSearchVo.getPois(), excelTitle);}}else {System.out.println("内容为空");}System.out.println("检索并本地化完成");
}

4、结果生成及本地保存

        为了方便将请求获取的数据转换成Excel,我们首先需要定义个POI的实体类,其属性和方法都严格跟接口中的对象一一对应,关键代码如下:

package com.yelang.project.education.domain.tdt;
import java.io.Serializable;
import com.yelang.framework.aspectj.lang.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/*** -天地图POI对象* @author 夜郎king*/
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class TdtPoi implements Serializable{private static final long serialVersionUID = 7428718362374078869L;@Excel(name = "Poi点名称")private String name;//Poi点名称@Excel(name = "英文地址")private String eaddress;//英文地址	@Excel(name = "电话")private String phone;//电话	@Excel(name = "地址")private String address;//地址	@Excel(name = "所属城市名称")private String city;//	所属城市名称@Excel(name = "省行政区编码")private String provinceCode;//	省行政区编码@Excel(name = "市行政区编码")private String cityCode;//	市行政区编码	@Excel(name = "所属区县名称")private String county;//	所属区县名称@Excel(name = "区县行政区编码")private String countyCode;//	区县行政区编码@Excel(name = "分类名称")private String typeName;//	分类名称	@Excel(name = "数据信息来源")private String source;//	数据信息来源@Excel(name = "分类编码")private String typeCode;//	分类编码	@Excel(name = "坐标 x,y")private String lonlat;//	坐标		必返回	坐标 x,y@Excel(name = "poi点英文名称")private String ename;//	poi点英文名称		@Excel(name = "所属省名称")private String province;//	所属省名称	@Excel(name = "poi类型")private Integer poiType;//	poi类型	Int	必返回	101:POI数据 102:公交站点@Excel(name = "poi热点ID	")private String hotPointID;//	poi热点ID		必返回	热点id
}

        在具体的POI对象之上还有一个父级对象,用来封装上面的POI数据列表,其代码如下:

package com.yelang.project.education.domain;
import java.io.Serializable;
import java.util.List;
import com.yelang.project.education.domain.tdt.TdtPoi;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class TdtSearchVo implements Serializable{private static final long serialVersionUID = 5596022814458900285L;private int count = 0;private int resultType;private List<TdtPoi> pois;private String keyWord;
}

        在前面的代码中我们使用了ExcelUtil的一个工具类来实现对集合数据的Excle生成。运行上面的代码后可以在本地磁盘中看到如下的Excel文件和控制台命令行:

 

        为了方便大家来进行查看,这里将关键几个属性字段的信息直接贴出来。根据查询检索的接口可以看到,荣昌卤鹅的食品店大约有70余条。 

Poi点名称电话地址坐标 x,y
李氏卤鹅18716232760荣滨南路东段11号附28附近105.590250,29.416870
李氏卤鹅18716232760海棠一支路51105.601969,29.408174
黄氏卤鹅13667699039向阳路164号附1号105.610380,29.413330
黄氏卤鹅13883747879国泰路22号附109号105.619230,29.419920
志强卤鹅13452100263滨河东路199105.598171,29.406096
刘氏卤鹅15213495612学院路启昌·财富广场内105.580590,29.401687
小李卤鹅18223580972海棠一支路35105.601510,29.408171
小刘卤鹅15111864106棠香北街12号附17号105.602570,29.419980
刘记卤鹅小康路74号附32号东南方向40米105.598810,29.412160
刘记卤鹅15025495776恒荣路61号附42105.580350,29.412990
小曹卤鹅18716237165迎宾大道27号附88号105.603160,29.417968
郭记卤鹅15808034359兴发路14号西南方向10米105.466663,29.359522
林勇卤鹅13883688855安富镇安陶路99号西北方向30米105.465750,29.360990
李姐卤鹅13372659875棠香北街73号105.601950,29.423070
小罗卤鹅023-46761006玉屏街116105.595290,29.409930
棠香卤鹅13637773266小康路137105.598200,29.412993
刘记卤鹅仁和一路412105.617110,29.401070
刘师傅卤鹅17783015200小康路74号附32号东南方向40米105.598833,29.412210
刘记卤鹅重庆市荣昌区105.584088,29.408142
绝味卤鹅13618309813迎宾大道29号附103105.603740,29.418866
刘记卤鹅后西一街5105.589364,29.407575
蓝氏卤鹅13696427391古昌镇街道永丰路70号东北方向50米105.589570,29.488270
刘记卤鹅国泰路35105.615933,29.420912
小周卤鹅13452978356颐和街62105.608644,29.410932
小罗卤鹅棠香北街8号附15号105.602590,29.418450
小蒋卤鹅15213235048重庆市荣昌区105.585332,29.404571
小周卤鹅学院支路37105.582256,29.402380
黄记卤鹅双河镇荣泸北路4号正东方向180米105.569520,29.321250
安子卤鹅13527458567兴隆街17105.590850,29.409790
小周卤鹅海棠二支路15105.600870,29.408750
家乐卤鹅滨河西路2105.585580,29.407030
黄二姐卤鹅13372697555棠香北街9号附1附近105.602092,29.418753
王三妹卤鹅

13648367955

13452927073

向阳北路37105.609858,29.423937
唐二姐卤鹅13983033139海棠五支路46105.595362,29.413425
曾三姐卤鹅15902373368国泰路65105.616490,29.421240
小李卤鹅分店

18223580972

15025420635

广场路406105.590411,29.409533
曾三姐卤鹅15902373368海棠四支路27号附1105.598220,29.411840
唐二妹卤鹅13618315289中科路3105.581230,29.407800
郑氏卤鹅18623130348莲花路43105.591990,29.404650
陈氏卤鹅18883009317国泰路26105.617380,29.421210
大双卤鹅15998998705向阳路180号附13号105.610360,29.418520
广顺小蒋卤鹅13883055909荣滨南路西段81105.582410,29.408970
马老七卤鹅

13527597939

13101396129

国泰路38号105.617365,29.421319
陈氏卤鹅学院路43105.580823,29.401070
陈氏卤鹅18328560692国泰路13-附10号西北方向200米105.609858,29.423897
黄永记卤鹅富安南路27105.602619,29.413278
黄记卤鹅NO.2东大街165105.596870,29.406940
陈老五卤鹅13372622813玉屏街104105.594950,29.409740
小罗卤鹅NO.16023-46761006广场路41正东方向120米105.594180,29.403140
小有天卤鹅

15923172079

13983165502

桂花园街15105.599129,29.405079
陈老五卤鹅15111662268重庆市荣昌区105.598197,29.408449
广顺姜三妹卤鹅

13883976066

13996481845

棠香南街63105.602530,29.413337
小罗卤鹅NO.2023-46761006滨河中路283105.586760,29.405180
小薛卤鹅NO.215923227029昌龙大道166号附4附近105.602114,29.416036
荣昌三惠卤鹅黄金大道荣昌北站内105.631714,29.435601
荣昌三惠卤鹅海棠大道80东南方向30米105.597744,29.411606
莫氏卤鹅北门店15823147600兴隆街96105.592000,29.411200
黄二姐卤鹅总店

023-46786647

13228672592

昌龙大道122105.597320,29.416230
黄记卤鹅后西店后西街4105.587490,29.405450
安富林记卤鹅17723656348东大街414105.599980,29.408590
小罗卤鹅莲花广场店023-46761006广场路85105.592163,29.407062
广顺陈胖子卤鹅NO.318983824002中科路19105.580960,29.407530
安富小李卤鹅NO.813018338038仁北新城B区附2号105.477500,29.511130
亮嘴卤鹅连锁寰宇店向阳路166号附4号105.610300,29.413750
小罗卤鹅瑞尔戴斯店023-46761006重庆市荣昌区105.604045,29.416857
陈老五卤鹅上海公馆店13372622813棠香北街95东南方向60米105.602550,29.423370
亮嘴卤鹅休闲食品旗舰店东大街20105.593828,29.406398
陈老五卤鹅西门桥店13372622813滨河中路270105.587472,29.405266
小罗卤鹅高速路直营店重庆市荣昌区105.639837,29.415633
小薛卤鹅敖凉粉东大街总店023-61480536东大街204105.596530,29.406240

        以上就是从天地图中给大家获取下来的卤鹅店,提前祝大家接入愉快并且能享受到美食。数据完全来源于天地图,如果于实际情况有出入,还请谅解,最后祝大家旅游快乐。

三、总结

        以上就是本文的主要内容,文章首先介绍天地图的检索API,然后详细介绍如何使用Java来调用天地图的API获取所有的卤鹅位置信息,权当为大家做一个参考。文章详细的介绍了天地图的地图检索API以及其具体的参数,同时基于API开发了一个荣昌卤鹅的实例,希望可以帮到大家。行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激。

相关文章:

  • 【AI】[特殊字符]生产规模的向量数据库 Pinecone 使用指南
  • 京东平台关键字搜索接口开发指南:Python实现与代码详解
  • Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(一)
  • 线程函数库
  • Dify依赖管理poetry切换为uv
  • C语言 函数补充
  • 【差分隐私】basic primitive的含义
  • 【C++指南】告别C字符串陷阱:如何实现封装string?
  • 更智能的银行体验:生成式 AI 与语义搜索的实际应用
  • 深度剖析操作系统核心(第二节):从X86/ARM/MIPS处理器架构到虚拟内存、分段分页、Linux内存管理,再揭秘进程线程限制与优化秘籍,助你成为OS高手!
  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-Objects365、open-images-v7.yaml文件(六)
  • 清理HiNas(海纳斯) Docker日志并限制日志大小
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]:如何使用CFStringRef类型字符串?
  • 【Linux学习笔记】进程的fork创建 exit终止 wait等待
  • Graph Database Self-Managed Neo4j 知识图谱存储实践2:通过官方新手例子入门(未完成)
  • WebGL2简单实例
  • VsCode如何使用默认程序打开word Excel pdf等文件
  • 珍爱网:从降本增效到绿色低碳,数字化新基建价值凸显
  • 浅析锁的应用与场景
  • Java大模型开发与应用 - 面试实战
  • 《深化养老服务改革发展的大湾区探索》新书将于今年6月出版
  • 俄方证实俄总统普京正在会见美特使威特科夫
  • 中信证券:“国家队”未曾减持ETF,应充分相信国家维稳决心
  • 百台新车首秀上海车展,跨国车企联手中国技术开启智能化下半场
  • 陕西省烹饪餐饮行业领军人物黄建军逝世,终年53岁
  • 继加州后,美国又有11州起诉特朗普政府滥用关税政策“违法”