跳转到主要内容

ESA EOF文件输入/输出库。

项目描述

xseof

概述

ESA EOF文件输入/输出库。

此包提供了一组“数据类”,与xsdata Python库兼容,用于访问和操作ESA地球观测地面段文件格式(EOF)XML文件[1]

特别是,此包支持[1]中描述的所有基于XML的轨道和姿态产品。

安装

通过pip进行标准安装

$ pip install xseof

通过conda安装

$ conda install -c avalentino xseof

测试

转到源目录根目录并运行以下命令

$ python3 -m pytest

基本用法

加载一个通用的轨道文件

>>> import xseof
>>> orbit = xseof.load(
        "MA1_TEST_AUX_ORBRES_20210610T045753_20210610T065853_0001.EOF")

访问和打印加载的数据

>>> import pprint
>>> orbit.earth_observation_header.fixed_header.notes = ""
>>> pprint.pprint(orbit.earth_observation_header.fixed_header)
FixedHeaderType(
    file_name='MA1_TEST_AUX_ORBRES_20210610T045753_20210610T065853_0001',
    file_description='FOS Orbit File',
    notes='',
    mission='MetOpSGA1',
    file_class='TEST',
    file_type='AUX_ORBRES',
    validity_period=ValidityPeriodType(
        validity_start='UTC=2021-06-10T04:57:53',
        validity_stop='UTC=2021-06-10T05:02:23'),
    file_version='0001',
    eoffs_version='3.0',
    source=SourceType(system='System Identification as per Ground '
                            'Segment File Format Standard '
                            '(PE-TN-ESA-GS-0001)',
                    creator='Creator Identification as per '
                            'Ground Segment File Format Standard '
                            '(PE-TN-ESA-GS-0001)',
                    creator_version='Creator Version '
                                    'Identification as per '
                                    'Ground Segment File Format '
                                    'Standard '
                                    '(PE-TN-ESA-GS-0001)',
                    creation_date='UTC=2022-06-23T10:06:43'))

>>> print(orbit.data_block.list_of_osvs.count)
10
>>> pprint.pprint(orbit.data_block.list_of_osvs.osv[0])
OsvType(tai='TAI=2021-06-10T04:57:17.817060',
    utc='UTC=2021-06-10T04:57:52.817060',
    ut1='UT1=2021-06-10T04:57:53.117059',
    absolute_orbit=999,
    x=PositionComponentType(value=Decimal('-1606749.988'), unit='m'),
    y=PositionComponentType(value=Decimal('-5677008.966'), unit='m'),
    z=PositionComponentType(value=Decimal('-4135675.595'), unit='m'),
    vx=VelocityComponentType(value=Decimal('-2876.652288'), unit='m/s'),
    vy=VelocityComponentType(value=Decimal('-3541.028256'), unit='m/s'),
    vz=VelocityComponentType(value=Decimal('5985.303441'), unit='m/s'),
    quality='0000000000000')

加载特定类型的EOF文件

>>> from xseof import int_attref
>>> quaternions = int_attref.load(
        "MA1_TEST_INT_ATTREF_20210610T045753_20210610T065853_0001.EOF")

从字符串加载数据

>>> from xseof import aux_orbres
>>> filename = "MA1_TEST_AUX_ORBRES_20210610T045753_20210610T065853_0001.EOF"
>>> with open(filename) as fd:
...     data = fd.read()
>>> orbit = aux_orbres.from_string(data)

许可

版权所有 2022 Antonio Valentino

本软件受Apache许可证2.0版(“许可证”)许可;除非遵守许可证,否则不得使用此文件。您可以在以下位置获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何形式的明示或暗示保证。有关具体语言,请参阅许可证。

版本历史

xseof v1.1.1 (27/12/2022)

  • 提高EOF文件检测的鲁棒性。

  • 改进对element-tree输入的支持。

xseof v1.1.0 (23/12/2022)

  • 修复Sentine-1轨道表字符串的加载问题。

  • 新增strict选项(默认:False),在中强制执行严格的XML命名空间检查。

  • 改进文档字符串,明确指出使用函数需要lxml。还添加了专门的单元测试。

  • 提高测试覆盖率。

xseof v1.0.0 (20/11/2022)

  • 初始发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

xseof-1.1.1.tar.gz (48.7 kB 查看哈希值)

上传时间:

构建分发

xseof-1.1.1-py3-none-any.whl (169.3 kB 查看哈希值)

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面