#!/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. [Nginx]status:203 Failed to start The NGINX HTTP and reverse proxy server

    怎么感觉Linux的nGinx比Win的事一个一个一个的多啊(半恼) 运行systemctl status nginx时提示: ① Process: 123456 ExecStartPre=/usr/ ...

  2. C#中延迟初始化实现原理的一点浅见。

    定义 延迟初始化:一个对象的延迟初始化意味着它的创建被推迟到它第一次使用.(对于本主题,延迟初始化和延迟实例化是同义词.)延迟初始化主要用于提高性能.避免浪费计算和减少程序内存需求. 用法及简单介绍 ...

  3. MySQL中的sql优化

    目标: 掌握SQL调优的原则 掌握SQL调优的基本逻辑 掌握优秀SQL的编写方案 掌握何为慢SQL以及检测方案 SQL优化原则 1.减少数据量(表中数据太多可以分表,例如超过500万数据  双11一个 ...

  4. mysql in和find_in_set

    一.查询包含","的列 1.如果查询条件包含单引号 用in 如:select * from t_test where names in ('李红'); 只能查询出names列中值为 ...

  5. android kotlin data class的公共参数解决

    kotlin的 data class 不能简略的继承 另一个 data class(要初始化对应父类的值) 尝试使用 sealed class 解决 sealed class CommonParams ...

  6. 解决从PLSQL导出到CSV文件的时候提示 is not a valid date and time的问题

    操作下面步骤的时候,报出[XXXXXis not a valid date and time]的错误 问题原因:以前嫌弃任务栏右下角的时间显示格式不好,手动手改了一下,导致Oracle的日期格式与现在 ...

  7. recastnavigation计算三角形离给定点最近位置方法简单注释

    三角形 在recastnavigation中,三角形是最基础的元素,很多逻辑都是基于三角形进行的,其中比较常见的一个操作就是计算指定点到某三角形上的最近距离.由于三角形通常代表行走面,而给定点P可能是 ...

  8. vi 异常退出出现 E325:Attention的解决办法

    在linux系统下使用vi编辑程序的时候,没有保存退出,直接关闭了,出现了以下的情况: 打开就会显示filename.c.swap已经存在. 这是因为vi在编辑文件时会创建一个交换文件swap fil ...

  9. 【11】python之循环

    Python 中的循环语句有 for 和 while. 1.while 循环 Python 中 while 语句的一般形式: while 判断条件(condition): 执行语句(statement ...

  10. unittest框架数据驱动

    一.目录 数据驱动概述 环境准备 使用unittest和ddt驱动 使用数据文件驱动 使用Excel驱动 使用XML驱动 使用MySQL驱动 二.数据驱动概述 数据驱动的定义: 相同的测试脚本使用不同 ...