txt地图格式处理

1、txt地图格式

属性描述

坐标系=2000国家大地坐标系

几度分带=3

投影类型=高斯克吕格

计量单位=米

带号=38

精度=0.001

转换参数=,,,,,,

地块坐标

5,475.888,1,测试地块1,面,J50G077061,公路用地,地下,@

J1,1,113.22222222222222,23.129111721551794

J2,1,113.27223148172624,23.127491574622226

J3,1,113.27584564448142,23.127491574622226

J4,1,113.27584564448142,23.129111721551794

J5,1,113.22222222222222,23.129111721551794

2,475.888,2,测试地块2,线,J50G077061,公路用地,地下,@

J1,2,113.27742013409437,23.12780085386443

J2,2,113.27897461269782,23.128599015089463

复制代码

2、处理方法

java 复制代码
 public static List<List<String>> formatTxt(String txt) {

        String[] lineData = txt.split("\n");
        if (lineData.length == 1 || lineData == null) {
            lineData = txt.split("\r\n");
        }

        List<String> lineDataFeatures = Lists.newArrayList(lineData);
        List<List<String>> txtList = new ArrayList<>();
        List<Integer> indexList = new ArrayList<>();
        for (int i = 0; i < lineData.length; i++) {
            String line = lineData[i];
            if (line.contains("@")) {
                indexList.add(i);
            }
        }
        for (int i = 0; i < indexList.size(); i++) {
            if ((i + 1) == indexList.size()) {
                List<String> lineList = lineDataFeatures.subList(indexList.get(i), lineDataFeatures.size());
                txtList.add(lineList);
            } else {
                List<String> lineList = lineDataFeatures.subList(indexList.get(i), indexList.get(i + 1));
                txtList.add(lineList);
            }
        }
        return txtList;
    }
相关推荐
h397437 分钟前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
java资料站7 小时前
二、Spring AI Alibaba · ChatModel
java·windows·spring
北冥you鱼8 小时前
Go 语言空接口(interface{})使用场景与最佳实践
开发语言·windows·golang
夏虫不可与之言冰10 小时前
Windows WSL2 (Ubuntu) 搭建 ESP‑IDF 6.1 开发环境全过程演示
linux·windows·ubuntu·esp32·乐鑫科技·乐鑫eim·乐鑫代理商
打工仔折腾 AI13 小时前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
小蜗牛狂飙记15 小时前
Windows 双击 Jar 包无反应,不用写 bat 脚本!Jarfix 一键修复(以 Struts2 扫描工具为例)
windows·struts·jar
坐看风云变幻16 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
IT技术分享社区17 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
kakakahahahaha17 小时前
Win10/Win11 Windows Hello指纹不可用处理:WbioSrvc、传感器驱动与登录策略
windows·电脑·笔记本电脑·内容运营·软件需求
小黄人软件17 小时前
粘贴助手C++版 支持 Windows 7 / 10 / 11 不会出现缺少api-ms-win-core-path-11-1-0.dll
开发语言·c++·windows