基于Addrparser根据经纬度分析所在地区位置
感谢:https://github.com/hsp8712/addrparser
前因:项目需要分析经纬度数据得到具体地址,数据量有百万条,直接调用XX地图的接口逐条返回太慢了,故考虑离线分析。
没啥好多说的,注意点是这个region是20190902,要新的话还是去调XX地图接口吧,项目解释很详细,很好用。本文仅作记录。
导入环境
<dependency> <groupId>tech.spiro</groupId> <artifactId>addrparser</artifactId> <version>1.1</version> </dependency>
china-region-20190902.zip 解压后得到文件:china-region.json,文件中包括了所有的省市区行政区域信息,包括编码、名称、中心点、边界点集合。
经纬度数据基于GCJ-02坐标系。
解析代码
// china-region.json文件作为基础数据 RegionDataInput regionDataInput = new JSONFileRegionDataInput("path/china-region.json");//json地址 // 创建并初始化位置解析引擎,一般配置为全局单例 LocationParserEngine engine = new LocationParserEngine(regionDataInput); // 初始化,加载数据,比较耗时 engine.init(); // 执行解析操作 Location location = engine.parse(118.750934,32.038634); // 获取省市区信息 RegionInfo provInfo = location.getProv(); RegionInfo cityInfo = location.getCity(); RegionInfo districtInfo = location.getDistrict();