政务场景中经常会遇到地址落图,或者三维挂接的场景。如何将文本地址转化为gps坐标是实现要解决的核心问题。addresstool为正向地理编码提供了非常简单、高效的算法。
如何实现正向地理编码,只需要3步就行:
第一步:带有坐标的标准地址加载到addresstool中。
第二部:以业务地址作为参数,使用getStdAddress方法,获取该地址的所有信息。
第三步:从StandardAddress中取出gps坐标信息即可。
上代码
public class loadFromJsonTest {
public static void main(String[] args) throws Exception {
AddressTool ss = new AddressTool();
DataTable as = new DataTable();
as.loadFromJson("D:\\ideacode\\address\\src\\main\\resources\\","wuhan.json");
System.out.println("用户地址 读取完毕!!! ");
as.initData(ss);
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
Date date1 = new Date(System.currentTimeMillis());
System.out.print(formatter.format(date1));
System.out.print(" ");
System.out.println("用户地址 初始化完毕!!! ");
Map<String,String> mp = new HashMap<>();
// 忽略地理要素,被忽略的地理要素不会作为关键词进行关联匹配
// mp.put("ignore","town,community");
System.out.println(ss.getStdAddress("武汉市锦绣龙城"));
System.out.println(ss.getStdAddress("湖北省武汉市江夏高新四路1号万科魅力之城",mp));
System.out.println(ss.getStdAddress("湖北省武汉市江夏高新四路万科魅力之城"));
System.out.println(ss.getStdAddress("武汉市魅力之城"));
System.out.println(ss.getStdAddress("武汉市万科魅力"));
Date date = new Date(System.currentTimeMillis());
System.out.println(formatter.format(date));
for(int i=0;i<50000;i++){
ss.getStdAddress("湖北省武汉市江夏高新四路万科魅力之城");
}
date = new Date(System.currentTimeMillis());
System.out.println(formatter.format(date));
as.close();
}
}
看效果
{linkLevel=aoi, list=[{latitude_gps=30.46429225, address=湖北省武汉市江夏区民族大道888号锦绣龙城, province=湖北省, city=武汉市, road=民族大道, road_no=888, county=江夏区, longitude_gps=114.3790618, aoi=锦绣龙城, id=2bb4da0a-0646-40a5-980b-820376f3b3db_aoi, type=aoi, aoi_id=2bb4da0a-0646-40a5-980b-820376f3b3db_aoi}, {latitude_gps=30.46865909, address=湖北省武汉市江夏区龙城路4号锦绣龙城, province=湖北省, city=武汉市, road=龙城路, road_no=4, county=江夏区, longitude_gps=114.3831422, aoi=锦绣龙城, id=144b0534-430e-4d1b-9d1b-d7038c77dbbd_aoi, type=aoi, aoi_id=144b0534-430e-4d1b-9d1b-d7038c77dbbd_aoi}, {near_roads=龙城路, latitude_gps=30.46772247, address=湖北省武汉市江夏区锦绣龙城, province=湖北省, city=武汉市, county=江夏区, longitude_gps=114.3786184, aoi=锦绣龙城, id=2b0ad511-2371-4eec-ace6-a9c87d68d388_aoi, type=aoi, aoi_id=2b0ad511-2371-4eec-ace6-a9c87d68d388_aoi}], addressLevel=aoi}
{linkLevel=aoi, list=[{latitude_gps=30.45163205, address=湖北省武汉市江夏区高新四路1号万科魅力之城, province=湖北省, city=武汉市, road=高新四路, road_no=1, county=江夏区, longitude_gps=114.4313855, aoi=万科魅力之城, id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi, type=aoi, aoi_id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi}], addressLevel=aoi}
{linkLevel=aoi, list=[{latitude_gps=30.45163205, address=湖北省武汉市江夏区高新四路1号万科魅力之城, province=湖北省, city=武汉市, road=高新四路, road_no=1, county=江夏区, longitude_gps=114.4313855, aoi=万科魅力之城, id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi, type=aoi, aoi_id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi}, {near_roads=中芯一路, latitude_gps=30.44874704, address=湖北省武汉市江夏区万科魅力之城, province=湖北省, city=武汉市, county=江夏区, longitude_gps=114.433457, aoi=万科魅力之城, id=e9715a29-910d-4337-bf73-1b31c6221172_aoi, type=aoi, aoi_id=e9715a29-910d-4337-bf73-1b31c6221172_aoi}], addressLevel=aoi}
{linkLevel=aoi, list=[{latitude_gps=30.45163205, address=湖北省武汉市江夏区高新四路1号万科魅力之城, province=湖北省, city=武汉市, road=高新四路, road_no=1, county=江夏区, longitude_gps=114.4313855, aoi=万科魅力之城, id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi, type=aoi, aoi_id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi}, {near_roads=中芯一路, latitude_gps=30.44874704, address=湖北省武汉市江夏区万科魅力之城, province=湖北省, city=武汉市, county=江夏区, longitude_gps=114.433457, aoi=万科魅力之城, id=e9715a29-910d-4337-bf73-1b31c6221172_aoi, type=aoi, aoi_id=e9715a29-910d-4337-bf73-1b31c6221172_aoi}], addressLevel=aoi}
{linkLevel=aoi, list=[{latitude_gps=30.45163205, address=湖北省武汉市江夏区高新四路1号万科魅力之城, province=湖北省, city=武汉市, road=高新四路, road_no=1, county=江夏区, longitude_gps=114.4313855, aoi=万科魅力之城, id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi, type=aoi, aoi_id=f0c7c984-8725-4d0e-ad79-7786319511e9_aoi}, {near_roads=中芯一路, latitude_gps=30.44874704, address=湖北省武汉市江夏区万科魅力之城, province=湖北省, city=武汉市, county=江夏区, longitude_gps=114.433457, aoi=万科魅力之城, id=e9715a29-910d-4337-bf73-1b31c6221172_aoi, type=aoi, aoi_id=e9715a29-910d-4337-bf73-1b31c6221172_aoi}], addressLevel=aoi}
2024-04-12 at 17:24:34 CST
2024-04-12 at 17:24:36 CST
其中latitude_gps、longitude_gps就是坐标信息,自己解析吧!
wuhan.json文件在gitee已提供,自行下载
java资源下载
源码学习
https://gitee.com/addresstool/address
使用中有问题或者建议,欢迎联系邮箱[email protected]
标签:编码,Java,湖北省,aoi,江夏区,武汉市,api,id,gps From: https://www.cnblogs.com/addresstool/p/18131852