欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 测绘坐标数据封装处理

测绘坐标数据封装处理

2025/5/16 23:17:29 来源:https://blog.csdn.net/xiaogunagmei/article/details/144140105  浏览:    关键词:测绘坐标数据封装处理

1、测绘数据

2、数据处理

public void dealData() {List<Map<String, Object>> shyqzdMapList = 截图数据;Map<String, List<Map<String, Object>>> groupMap = shyqzdMapList.stream().collect(Collectors.groupingBy(item -> String.valueOf(item.get("mbsxh"))));String geojson = "";//上传的geojson文件if (groupMap.size() == 1) { //只有一个面List<Map<String, Object>> polygonList = shyqzdMapList.stream().sorted(Comparator.comparing(item -> String.valueOf(item.get("xh")))).collect(Collectors.toList());List<Coordinate> coordinateList = new ArrayList<>(polygonList.size());for (int i = 1; i < polygonList.size(); i++) {double x = Double.valueOf(String.valueOf(polygonList.get(i).get("x")));double y = Double.valueOf(String.valueOf(polygonList.get(i).get("y")));Coordinate coordinate = new Coordinate(x, y);coordinateList.add(coordinate);}double xEnd = Double.valueOf(String.valueOf(polygonList.get(0).get("x")));double yEnd = Double.valueOf(String.valueOf(polygonList.get(0).get("y")));coordinateList.add(coordinateList.size(), new Coordinate(xEnd, yEnd));Coordinate[] coordinates = coordinateList.toArray(new Coordinate[coordinateList.size()]);GeometryFactory gf = new GeometryFactory();Polygon polygon = gf.createPolygon(coordinates);geojson = GeometryParser.geometry2Geojson(polygon);log.info("单面;{}", geojson);} else { //多面List<Polygon> polygons = new ArrayList<>();for (Map.Entry<String, List<Map<String, Object>>> entry : groupMap.entrySet()) {List<Map<String, Object>> polygonList = entry.getValue().stream().sorted(Comparator.comparing(item -> String.valueOf(item.get("xh")))).collect(Collectors.toList());List<Coordinate> coordinateList = new ArrayList<>(polygonList.size());for (int i = 1; i < polygonList.size(); i++) {double x = Double.valueOf(String.valueOf(polygonList.get(i).get("x")));double y = Double.valueOf(String.valueOf(polygonList.get(i).get("y")));Coordinate coordinate = new Coordinate(x, y);coordinateList.add(coordinate);}double xEnd = Double.valueOf(String.valueOf(polygonList.get(0).get("x")));double yEnd = Double.valueOf(String.valueOf(polygonList.get(0).get("y")));coordinateList.add(coordinateList.size(), new Coordinate(xEnd, yEnd));Coordinate[] coordinates = coordinateList.toArray(new Coordinate[coordinateList.size()]);GeometryFactory gf = new GeometryFactory();Polygon polygon = gf.createPolygon(coordinates);polygons.add(polygon);}Polygon[] polygonArr = polygons.toArray(new Polygon[polygons.size()]);Geometry geometry = new MultiPolygon(polygonArr, JTSFactoryFinder.getGeometryFactory());geojson = GeometryParser.geometry2Geojson(geometry);log.info("多面;{}", geojson);}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词