• 3数据分析每日进度报告01


    题目要求:

    基本完成地域维度标准化,将地址更新为省市县三级,并将行政区划代码添加。

    效果图:

    关键功能代码片段:

     1 public static String addressResolution(String address){
     2         String regex="(?<province>[^省]+自治区|.*?省|.*?行政区|.*?市)(?<city>[^市]+自治州|.*?地区|.*?行政单位|.+盟|市辖区|.*?市|.*?县|.+区|.+市)(?<county>[^县]+县|.+区|.+市|.+旗|.+海域|.+岛)";
     3         Matcher m=Pattern.compile(regex).matcher(address);
     4         String province=null,city=null,county=null;
     5         String str="";
     6         while(m.find()){
     7             province=m.group("province");
     8             city=m.group("city");
     9             county=m.group("county");
    10             str = province + city + county;
    11             System.out.println(str);
    12         }
    13         return str;
    14     }
    标准地址转换
     1 public static String getlocation1(String loc){
     2         String location2="";
     3           String url="http://api.map.baidu.com/geocoding/v3/?address="+loc+"10号&output=xml&ak=ld0uqubVfSTAUlXH5qIMN2F3Snsp16LU&callback=showLocation";
     4           System.out.println(url);
     5           Document doc = null;
     6            java.net.HttpURLConnection conn = null;
     7            InputStream ins = null;
     8            SAXReader reader = null;
     9            try{
    10             //HttpTimeoutHandler hth = new HttpTimeoutHandler(600000);
    11             URL conURL = new URL(null,url);
    12             conn = (HttpURLConnection)conURL.openConnection();
    13             conn.setDoInput(true);
    14             conn.setDoOutput(true);
    15             conn.setUseCaches(false);
    16             ins = conn.getInputStream();
    17             reader =new SAXReader();
    18             doc= reader.read(ins);
    19             //System.out.println(url);
    20             Element root=doc.getRootElement();
    21             String docXmlText=doc.asXML();
    22             //System.out.println(docXmlText);
    23             Element e=root.element("result");
    24             Element location=e.element("location");
    25             Element lng=location.element("lng");
    26             Element lat=location.element("lat");
    27             String lng1=lng.asXML();
    28             String lat1=lat.asXML();
    29             System.out.println("lng"+lng1);
    30             System.out.println("lat"+lat1);
    31            // System.out.println("location"+location.asXML());
    32             //System.out.println("xiayukun"+e.asXML());
    33             lng1=lng1.substring(lng1.indexOf("<lng>")+5,lng1.indexOf("</lng>"));
    34             
    35             System.out.println(lng1);
    36             lat1=lat1.substring(lat1.indexOf("<lat>")+5,lat1.indexOf("</lat>"));
    37             System.out.println(lat1);
    38             location2=getLocation(lat1,lng1);
    39             List<Element> list = root.elements("location");
    40             System.out.println(url);
    41             for (Element object : list) {
    42                 System.out.println(url);
    43                 System.out.println(object.getName());
    44                 for (Element element : (List<Element>) object.elements()) {
    45                     System.out.print(((Element) element).getName() + ":");
    46                     System.out.print(element.getText() + " ");
    47                 }
    48                 System.out.println();
    49 
    50             }
    51 
    52             ins.close();
    53             conn.disconnect();
    54            }catch (MalformedURLException e) {
    55             e.printStackTrace();
    56            } catch (IOException e) {
    57             e.printStackTrace();   
    58            } catch (DocumentException e) {
    59             e.printStackTrace();
    60            }catch(Exception e){
    61             e.printStackTrace();
    62            }finally {
    63             try {
    64              if (ins != null) {
    65               ins.close();
    66               ins = null;
    67              }
    68             } catch (IOException e1) {
    69              e1.printStackTrace();
    70             }
    71             try {
    72              if (conn != null) {
    73               conn.disconnect();
    74               conn = null;
    75              }
    76             } catch (Exception e2) {
    77              e2.printStackTrace();
    78             }
    79            }
    80            return location2;
    81         }
    根据地址调用百度api获取详细地址(参考网络)

     部分运行结果截图:

  • 相关阅读:
    对文件的操作
    三级菜单优化
    三级菜单项目
    对字符串的操作(一些重要的方法)
    四、saltstack如何管理对象?
    三、saltstack证书管理
    二、saltstack基础配置
    一、saltstack简介和安装
    set集合
    异常处理语法
  • 原文地址:https://www.cnblogs.com/flw0322/p/12483112.html
Copyright © 2020-2023  润新知