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;
    }
相关推荐
梦帮科技17 小时前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
Lois_Luo18 小时前
关闭Win10强制所有应用以管理员身份运行
windows
luoyayun36119 小时前
实现Windows系统标题栏颜色跟随主题动态切换
windows·系统标题栏颜色·标题栏颜色
猫头虎20 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
呉師傅1 天前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
梦帮科技1 天前
OpenClaw 桥接调用 Windows MCP:打造你的 AI 桌面自动化助手
人工智能·windows·自动化
春日见1 天前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
C++ 老炮儿的技术栈1 天前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
浩浩测试一下1 天前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
一个人旅程~1 天前
Dell n4020双系统分区步骤和linux优化操作
linux·windows·电脑