首页 > 编程语言 >业务地址关联匹配标准地址库-Java

业务地址关联匹配标准地址库-Java

时间:2024-03-29 10:25:00浏览次数:39  
标签:匹配 ss address6 println 地址 put Java 花果山

地名作为最常用的社会公共信息,不仅与人们的日常生活息息相关,而且是政府行政行为、经济建设不可缺少的基础信息资源。在政务系统中有许多需要将业务地址关联到标准地址的场景,addresstool致力于解决地址关联匹配算法中的速度和准确性问题。经实测,addresstool的地址关联速度在5000/秒-20000/秒之间(取决于业务地址质量),关联匹配正确率达到98%。

如何解决统一地址问题,直接上代码案例

        AddressTool ss = new AddressTool();  // 配置数据写入内存
        DataTable data = new DataTable();   // 地址库生产工具
        HashMap<String,String> address6 = new HashMap<>();
        // 以下示例中的key值是addresstool能够识别的key值,
        // 如有其他属性字段,也可添加新的key,搜索出的标准地址也会附带这些信息,比如经纬度、地址标签等
        address6.put("province","东北省");
        address6.put("city","花果山市");
        address6.put("county","水帘洞区");
        address6.put("town","猴王街道");
        address6.put("community","中前社区");
        address6.put("aoi","秦淮绿洲");
        address6.put("alias_aois","别名1#别名2#别名3");  // aoi别名
        address6.put("sub_aoi","北苑");
        address6.put("road","宏运大道");
        address6.put("road_no","2299");
        address6.put("alias_roads","天地大道#金山大道:9#花果山大道:99");  // 道路别名
        address6.put("building","9");
        address6.put("unit","6");
        address6.put("room","1001");
        address6.put("id","777");
        data.addAddressDic(address6);

        // 标准地址库修复,比如用户只有户室级地址,此方法为用户补充楼栋级和aoi级地址,当然,如果用户有自己已经标准化好的地址库,可以省略此方法
        data.addressFix();
        // 将加工好的地址库写入到addresstool中
        data.initData(ss);

        // 万事俱备,我们可以进行地址关联啦
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿舟"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号北苑9栋"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9栋"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9栋6单元1001室"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9-6-1001"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿舟北苑9-6-1001"));
        System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道花果山大道99号秦淮绿舟北苑9-6-1001"));
        System.out.println(ss.getStdAddress("花果山大道99号秦淮绿洲北苑9-6-1001"));
        System.out.println(ss.getStdAddress("花果山大道秦淮绿洲北苑9-6-1001"));
        System.out.println(ss.getStdAddress("花果山大道秦淮绿洲9-6-1001"));

关联结果打印

Java源码下载 > https://download.csdn.net/download/u011024436/89003246

使用中有问题或者建议,欢迎联系邮箱[email protected]

标签:匹配,ss,address6,println,地址,put,Java,花果山
From: https://www.cnblogs.com/addresstool/p/18103195

相关文章

  • 解决import javax.swing.JTable;偶发性复制不了的问题
    解决方法:重写JTable类的键盘监听事件。 /** *20240313addhzh */ table.addKeyListener(newKeyListener(){ @Override publicvoidkeyPressed(KeyEvente){ //System.out.println("22222"); System.out.println("keycode"+e.getKeyCode())......
  • 聊聊 Java GC
    [1]序GC是每一个Java程序员不可绕过的话题。GC是在某些时候对内存的垃圾对象数据进行搜寻定位,然后进行内存空间回收。根据这个定义,则学习GC相关知识,需要关注:对JVM整个内存结构中哪些区域进行垃圾回收;在这些内存区域中的类数据或者实例数据等数据结构是什么样子的;然后想想如......
  • java 16进制转换为ASCII
    /***16进制转换为ASCII**@parambytes源数据*@paramoffset偏移量*@paramlength数据长度*@return{@linkString}*/publicStringconvertHexToAscii(byte[]bytes,intoffset,intlength){StringBuilders......
  • 《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教
    1.简介今天本来是要介绍远程测试的相关内容的,但是宏哥在操作服务器的时候干了件糊涂的事,事情经过是这样的:本来申请好的Windows服务器用来做演示的,可是服务器可能是局域网的,连百度都不能访问,宏哥想调试一下网络,禁用网卡,然后重启网卡,结果禁用后就连不上了。。。。就只能等服......
  • 《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程
    1.简介前面我们介绍了Selenium中TakeScreenshot类来截图,得到的图片是浏览器窗口内的截图。有时候,只截浏览器窗口内的图是不够的,而且TakeScreenshot截图只针对浏览器的web事件,假如你在运行脚本过程,windows上有一个其他软件弹出了一个购物的弹窗页面,这个时候就会干扰你......
  • java实现字节数组转int(采用IEEE 754标准)
    /***字节数组转int*采用IEEE754标准**@parambytes*@returnfloat*/publicintbytesToInt(byte[]bytes){//获取字节数组转化成的2进制字符串StringbinaryStr=bytesToBinaryStr(bytes);//符号位......
  • IPv6地址分类:
    IPv6地址分类:IPv6编址:1、组播;2、单播;3、任意播IPv6地址分类——单播地址:1、IPv6单播地址——链路本地地址(link-localaddress,LLA地址,该地址只能存在一个)产生:只要设备开启IPv6功能就会产生。作用范围:只局限于本地链路。仅在广播域内有效,既不能跨越三层。作用:使运行了IPv6......
  • 学习java第二十六天
    Spring是一个开源框架,Spring是一个轻量级的Java开发框架。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的......
  • 国外的Java面试题和国内的相比谁更卷
    前言有很多朋友很好奇国外的Java面试题长啥样,今天我们就去找5道国外的面试来和国内的对比一下看看谁难一些!面试题分享1.IsJavaPlatformIndependentifthenhow?(Java平台是独立的吗?)Yes,JavaisaPlatformIndependentlanguage.Unlikemanyprogramminglang......
  • 2024年150道高频Java面试题(一)
    1.JDK和JRE有什么区别?JDK(JavaDevelopmentKit)和JRE(JavaRuntimeEnvironment)是Java技术的两个核心组成部分,它们之间的主要区别如下:功能定位:JDK:它是提供给Java开发者的软件开发工具包,包含了Java程序开发所需的各种工具,比如编译器(javac)、调试器(jdb)和其他工具(如java......