#!/usr/bin/python
# -*- coding: UTF-8 -*- from xml.dom.minidom import parse
import xml.dom.minidom """ 数据输入 xmlname 文件名字
nodename 要获取的路径 输入格式
<?xml version="1.0"?>
<opencv_storage>
<KfrmGPS_ type_id="opencv-matrix">
<rows>2508</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.4236497333300001e+01 1.0889943616700000e+02 400.
3.4236502333300002e+01 1.0889943933300000e+02 400.
3.4236507166700001e+01 1.0889944250000001e+02 400.
3.4236511999999998e+01 1.0889944566699999e+02 400.
</data>
</KfrmGPS_> <KfrmGPS_m_ type_id="opencv-matrix">
<rows>2508</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.4236724219391739e+01 1.0889944810627938e+02 3.9653005784470588e+02
3.4236728962259967e+01 1.0889945157710224e+02 3.9650777322053909e+02
3.4236731965099686e+01 1.0889945368682891e+02 3.9653498737327754e+02
3.4236738454649888e+01 1.0889945827032633e+02 3.9652323448006064e+02
</data>
</KfrmGPS_m_>
</opencv_storage> 输出 转化成flaost的列表 纬 经 高 """ def read_xml_getgps(xmlname,nodename): # 使用minidom解析器打开 XML 文档
DOMTree = xml.dom.minidom.parse(xmlname)
collection = DOMTree.documentElement KfrmGPS_ = collection.getElementsByTagName(nodename)
#for KfrmGPS_i in KfrmGPS_: KfrmGPS_i=KfrmGPS_[0]#可能有多个 gps_rows = KfrmGPS_i.getElementsByTagName('rows')[0]
gps_rows = gps_rows.childNodes[0].data
gps_cols = KfrmGPS_i.getElementsByTagName('cols')[0]
gps_cols = gps_cols.childNodes[0].data gps_data = KfrmGPS_i.getElementsByTagName('data')[0] gps_data_str=str(gps_data.childNodes[0].data)
#print("KfrmGPS_/data/内容",gps_data_str) alllines=gps_data_str.strip().split("\n")# 行的分割符号 两个空格
i=1 gps_list=[]
for lines_i in alllines:
line_ii=lines_i.strip().split(" ") # 行内部的珊瑚橘分割符号 一个空格
real_gps_lat = line_ii[0:1] # list--str
real_gps_lat="".join(real_gps_lat).strip() real_gps_lon = line_ii[1:2] # list--str
real_gps_lon="".join(real_gps_lon).strip()
real_gps_high = line_ii[2:3] # list--str
real_gps_high="".join(real_gps_high).strip() #print("字符串类型",i,real_gps_lon,real_gps_lat,real_gps_high) real_gps_lat=float(real_gps_lat)
real_gps_lon=float(real_gps_lon)
real_gps_high=float(real_gps_high)
#print("float类型",i,real_gps_lon,real_gps_lat,real_gps_high)
i=i+1 gps_i=[real_gps_lat,real_gps_lon,real_gps_high]
gps_list.append(gps_i) print("节点",nodename,"行数",gps_rows,"列数",gps_cols)
return gps_list if ( __name__ == "__main__"):
xmlpath="20230107142004075.xml" real_gps_list=read_xml_getgps(xmlpath,"KfrmGPS_")
slam_gps_list=read_xml_getgps(xmlpath,"KfrmGPS_m_")

  

从xml读取gps数据获取经纬高的更多相关文章

  1. xml 读取递归算法

    xml 读取递归算法:

  2. paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中总结

    paip.获取proxool的配置  xml读取通过jdk xml 初始化c3c0在代码中  xml读取通过jdk xml 初始化c3c0在代码中.. ... 作者Attilax  艾龙,  EMAI ...

  3. Linq to XML 读取XML 备忘笔记

    本文转载:http://www.cnblogs.com/infozero/archive/2010/07/13/1776383.html Linq to XML 读取XML 备忘笔记 最近一个项目中有 ...

  4. Xml读取异常--Invalid byte 1 of 1-byte UTF-8 sequence

    xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence org.dom4j.DocumentException: Invalid byte 1 of 1-byte ...

  5. C#基础笔记---浅谈XML读取以及简单的ORM实现

    背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...

  6. C#基础---浅谈XML读取以及简单的ORM实现

    背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...

  7. 【BUG】xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence

    来自http://blog.csdn.net/chenyanbo/article/details/6866941 xml读取异常Invalid byte 1 of 1-byte UTF-8 seque ...

  8. C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML

    using System; using System.Linq; using System.Xml.Linq; namespace Sample2 { class Program { static v ...

  9. HALC:用于长读取错误纠正的高吞吐量算法

    背景: 第三代PacBio SMRT长读取可以有效地解决第二代测序技术的读长问题,但包含大约15%的测序错误.已经设计了几种纠错算法以有效地将错误率降低到1%,但是它们丢弃了大量未校正的碱基,因此导致 ...

  10. winform,xml读取与写入

    创建两个xml文件,一个 xml做为模板配置项,另一个做为临时接收数据. private static string localPath = System.Environment.CurrentDir ...

随机推荐

  1. gRPC 入门(一)

    前言 在学习 gRPC 之前,先学习 protobufu 协议,简单的来理解,我们可以使用他来定义 消息 和 服务.然后你只需要实现服务即可,剩下的东西,gRPC 会帮你自动完成. protobufu ...

  2. node_modules修改?

    1.直接改node_modules的内容..... 但是下次npm i之后那个包的代码又恢复原状 2.独立维护需要改的包 把需要改的包复制下来,修改,推送到npm上. 项目里用新包即可,但是增加了维护 ...

  3. 使用cutlass编译时,需要指定架构和sm

    对于Turing架构,nvcc需要加上选项 -gencode=arch=compute_75,code=sm_75   其他架构类似.

  4. 关于什么时候用get请求和什么时候用post请求

    转载自:(19条消息) 关于什么时候用get请求和什么时候用post请求_火兰的博客-CSDN博客_什么时候用get什么时候用post get和post方法功能类似的,使用建议:1.get方式的安全性 ...

  5. 论文笔记:Symbolic Execution for Software Testing: Three Decades Later

    论文笔记:Symbolic Execution for Software Testing: Three Decades Later 作者 Cristian Cadar 是英国帝国理工学院SRG(Sof ...

  6. Physics Informed Deep Learning for Flow and Transport in Porous Media

    Paper presented at the SPE Reservoir Simulation Conference, On-Demand, October 2021. 这篇论文关注石油储藏模拟问题, ...

  7. mysql数据增量及备份操作

    注:当数据库出现异常的时候,我们可以先恢复最近一次的全量备份,接着将增量备份的文件一个一个按顺序恢复即可实现原来数据库的恢复. 还可以使用innobackupex 备份工具. 备份 # 1,开启 bi ...

  8. 学术主页——朱青橙(Qingcheng Zhu)

    个人简介 来自北京邮电大学 教育经历 毕业于苏州大学 奖励荣誉 学术论文 发明专利 国际标准 科研项目

  9. 【翻译】了解Flink-对DataStream API的介绍 -- Learn Flink-Intro to the DataStream API

    目录 流式可以传输什么? Java元组和POJO 元组 POJO Scala元组和case classes 一个完整的例子 流执行环境 基本的stream sources 基本的stream sink ...

  10. JDBC之Driver和DriverMananger

    JDBC之Driver和DriverMananger 目录 JDBC之Driver和DriverMananger Java和MySQL的关系 JDBC 演变过程 驱动加载入内存的过程 Oracle加载 ...