提交 93d0eab2 authored 作者: 董吉利's avatar 董吉利

增加路段分词查询的结果数据安装路线编号groupby,起点桩号orderby

上级 246400dc
package com.elephant.framework.galaxy.aroad.bigdata;
/**
* @Description: 路段明细表(包含经纬度坐标)
* @Param:
* @return:
* @Author: dongjili
* @Date: 2019/5/27 0027
*/
public class Basehighwayalldata {
/**
* @Description: 路段明细表(包含经纬度坐标)
* @Param:
* @return:
* @Author: dongjili
* @Date: 2019/5/27 0027
*/
public class Basehighwayalldata implements Comparable<Basehighwayalldata>{
private String id;//
private String luxianbianhao;//路线编号
......@@ -1001,4 +1001,27 @@ public class Basehighwayalldata {
", shape='" + shape + '\'' +
'}';
}
//实现Comparable方法,按照qidianzhuanghaoa排序
@Override
public int compareTo(Basehighwayalldata ob) {
return qidianzhuanghaoa.compareTo(ob.getQidianzhuanghaoa());
}
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
final Basehighwayalldata std = (Basehighwayalldata) obj;
if (this == std) {
return true;
} else {
return (this.qidianzhuanghaoa.equals(std.qidianzhuanghaoa));
}
}
@Override
public int hashCode() {
int hashno = 7;
hashno = 13 * hashno + (qidianzhuanghaoa == null ? 0 : qidianzhuanghaoa.hashCode());
return hashno;
}
}
\ No newline at end of file
......@@ -971,9 +971,11 @@ public class EsUtil_fanshe {
}
basehighwayalldataList.add(basehighwayalldata);
}
//分词查询结果的路段数据按照路线编号groupby,起点桩号aorderby
List<Basehighwayalldata> basehighwayalldataListGroup = GroupUtils.groupByProperty(basehighwayalldataList);
return new HashMap<String, Object>() {{
put("total", hits.getTotalHits());
put("list", basehighwayalldataList);
put("list", basehighwayalldataListGroup);
}};
}
......
package com.elephant.framework.galaxy.aroad.bigdata;
import java.util.*;
import java.util.stream.Collectors;
/**
* @program: 路段结果数据分组起点桩号排序排序
* @description: ${description}
* @author: dongjili
* @create: 2019-06-12 15:11
**/
public class GroupUtils {
/**
* @Description: 分词查询结果的路段数据按照路线编号groupby,起点桩号aorderby
* @Param: list集合路段数据
* @return: list集合路段数据
* @Author: dongjili
* @Date: 2019/6/13 0013
*/
public static List<Basehighwayalldata> groupByProperty(List<Basehighwayalldata> basehighwayalldataList){
LinkedHashMap<String, List<Basehighwayalldata>> groupResult = new LinkedHashMap<>();
//遍历list集合路段数据获取路线编号作为key,数据作为值存储到Map
for (Basehighwayalldata basehighwayalldata:basehighwayalldataList){
String key = basehighwayalldata.getLuxianbianhao();
if (!groupResult.containsKey(key)){
List<Basehighwayalldata> resultnew = new ArrayList<Basehighwayalldata>();
resultnew.add(basehighwayalldata);
groupResult.put(key,resultnew);
}else {
groupResult.get(key).add(basehighwayalldata);
}
}
//遍历Map集合获取key对应的值,list集合
List<Basehighwayalldata> basehighwayalldataArrayList = new ArrayList<>();
for (Map.Entry<String, List<Basehighwayalldata>> entry : groupResult.entrySet()) {
//System.out.println(entry.getKey()+"========"+entry.getValue());
List<Basehighwayalldata> entryValue = entry.getValue();
//slist = list.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());
//对list集合的值进行排序,排序字段为起点桩号a
List<Basehighwayalldata> slist = entryValue.stream().sorted(Comparator.comparing(Basehighwayalldata::getQidianzhuanghaoa)).collect(Collectors.toList());
//排序完成的数据平移到list集合addAll
basehighwayalldataArrayList.addAll(slist);
}
return basehighwayalldataArrayList;
}
}
......@@ -26,6 +26,8 @@ public class ReadElasticsearch {
//List<Basebridgealldata> basebridgealldataList = EsUtil_fanshe.queryBridge("广州桥", "basebridgealldata", "2018", 0, 2000000000);
//分词查询路段数据返回list集合
//List<Basehighwayalldata> basehighwayalldataList = EsUtil_fanshe.queryHighWay("S226", "basehighwayalldata", "2018", 0, 2000000000);
//分词查询结果的路段数据按照路线编号groupby,起点桩号aorderby
// List<Basehighwayalldata> basehighwayalldataList1 = GroupUtils.groupByProperty(basehighwayalldataList);
//词条查询路线编号数据返回list集合
//List<Basehighwayalldata> basehighwayalldataList = EsUtil_fanshe.queryHighWayLXBH("S226", "basehighwayalldata", "2018", 0, 2000000000);
//路段查询所有数据返回
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论