首页 > 其他分享 >从xml读取gps数据获取经纬高

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

时间:2023-02-02 17:47:09浏览次数:34  
标签:xml real KfrmGPS 读取 02 data 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,real,KfrmGPS,读取,02,data,gps
From: https://www.cnblogs.com/gooutlook/p/17086798.html

相关文章

  • JAXP、DOM4J、Jsoup、JsoupXPath等常用XML解析器的使用
    (JAXP、DOM4J、Jsoup、JsoupXPath等常用XML解析器的使用)XML概述XML(ExtensibleMarkupLanguage),可扩展标记语言。XML具有标签自定义,语法严格,适用于存储数据与传输数据......
  • geotools读取shp文件中文乱码???
    在读取shp文件之前,先要手动调用一下ShapefileDataStore的setStringCharset方法即可dataStore.setStringCharset(Charset.forName("UTF-8"));参考:https://www.osgeo.cn/p......
  • lxml 库 etree 模块。
    需求:爬取数据时用到了、记录一下模块介绍:通常用于解析HTML文件。爬虫常用方法:(随着反爬工具越来越完善、一般很少可以直接爬取到页面了、一般都是通过Seleium配合进......
  • maven settings.xml 配置 镜像仓库
    <?xmlversion="1.0"encoding="UTF-8"?><settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:sch......
  • 在使用cn.hutool.poi.excel,读取数据读不出String的问题
    今天想用cn.hutool.poi.excel包读取Excel数据,就一列数据,我本想用ExcelReader的readAll方法,并传入参数设置类的类型=String.class,发现没有读出数据且没有报错。经过一路翻......
  • PHP读取excel(5)
    如果数据量很大的时候,就需要用PHPExcel迭代器逐行读取,具体代码如下:<?phpheader("Content-Type:text/html;charset=utf-8");//引入读取excel类文件require"./PHPExcel/PHPEx......
  • java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException的解决方案
    问题原因:使用idea64runspringboot项目时出现这个错误:java.lang.NoClassDefFoundError:javax/xml/bind/JAXBException 解决方法:在pom.xml中添加以下依赖。<......
  • Maven - settings.xml简易配置Demo
    前言这里贴一下settings.xml的一个简易配置demo,就是简单配置了:本地的仓库地址、阿里云镜像、指定使用jdk1.8进行编译。这里使用的Maven是3.5.0版本的。配置文件demo<?xmlve......
  • hrnet读取coco数据集
     train.py里make_dataloader读取数据集。train_loader=make_dataloader(cfg,is_train=True,distributed=args.distributed)datasetbuild.py中的39行dataset=e......
  • pom.xml
    <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version><......