从xml读取gps数据获取经纬高


#!/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数据获取经纬高的更多相关文章
- xml 读取递归算法
xml 读取递归算法:
- paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中总结
paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中 xml读取通过jdk xml 初始化c3c0在代码中.. ... 作者Attilax 艾龙, EMAI ...
- Linq to XML 读取XML 备忘笔记
本文转载:http://www.cnblogs.com/infozero/archive/2010/07/13/1776383.html Linq to XML 读取XML 备忘笔记 最近一个项目中有 ...
- 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 ...
- C#基础笔记---浅谈XML读取以及简单的ORM实现
背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...
- C#基础---浅谈XML读取以及简单的ORM实现
背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...
- 【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 ...
- C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML
using System; using System.Linq; using System.Xml.Linq; namespace Sample2 { class Program { static v ...
- HALC:用于长读取错误纠正的高吞吐量算法
背景: 第三代PacBio SMRT长读取可以有效地解决第二代测序技术的读长问题,但包含大约15%的测序错误.已经设计了几种纠错算法以有效地将错误率降低到1%,但是它们丢弃了大量未校正的碱基,因此导致 ...
- winform,xml读取与写入
创建两个xml文件,一个 xml做为模板配置项,另一个做为临时接收数据. private static string localPath = System.Environment.CurrentDir ...
随机推荐
- 微信小程序云开发使用Typescript
1.首先参考陈希章@中国在微信小程序开发中使用Typescript中的内容了解相关的内容 2.按以下步聚进行设置 1)确认本机环境已安装npm.通过在安装目录下输入 npm --v 如返回具体的版本, ...
- 官网jdk8,jdk11下载时需要登录Oracle账号的问题解决
当到这一步骤时先勾选同意,在这个下载按钮上点鼠标右键复制链接地址 文件的下载地址 我们需要把地址做些修改.把等号前面的地址删掉,然后找到等号后面地址中的otn后面加上-pub 然后把这个地址直接复制到 ...
- 使用虚拟环境-Python虚拟环境的安装和配置-virtualenv
打开windows命令终端(cmd)安装虚拟环境 virtualenv(如果你执行了上面查看python版本的语句,那么要先使用exit()方法先退出) pip3 install virtualenv ...
- c++游戏编程(2)多文件编程与命名空间
文章目录 前言 1 多文件编程 1.1 头文件 1.1.1 头文件的组成 1.1.2 头文件的储存 1.2 多文件编程 2 命名空间 总结 引用文章 前言 这是我的第二篇博客 上篇文章写了很多c++开 ...
- python retry装饰器
from functools import wraps import time # def retry(retry_time, retry_on_result, time_wait): # def t ...
- redis-RedisTemplate.opsForValue 常用方法
16.multiSetIfAbsent(Map<? extends K,? extends V> map) 如果对应的map集合名称不存在,则添加,如果存在则不做修改. Map value ...
- exe可执行文件反编译成py文件
记录一下exe文件反编译的问题 准备工作 1. 安装第三方包 uncompyle6 (pip install uncompyle6==3.7.4) 2. 下载pyinstxtractor.py文件 3 ...
- 原生js实现折线图
不借助Echarts等图形框架原生JS快速实现折线图效果 1. 折线图效果预览 例如下图所示的折线图效果实现就很简单: 调用下面这段JS代码中的方法就好了: 假设页面上需要连接的所有点元素集合是ele ...
- Truenas Core安装(DOS界面)
下载ISO安装包 搜索truenas core ,找到网站www.truenascore.com,根据网站导航栏指示,点击menu--software--truenas core--download ...
- C++实现链式表示多项式加法运算
#include<iostream>#include<cstdlib>using namespace std;#define MAXSIZE 100#define OK 1#d ...