跳转到主要内容

纬度-经度字符串的简单解析器

项目描述

https://github.com/NOAA-ORR-ERD/lat_lon_parser/workflows/CI/badge.svg https://img.shields.io/pypi/v/lat-lon-parser.svg https://img.shields.io/pypi/pyversions/lat-lon-parser.svg https://img.shields.io/github/license/NOAA-ORR-ERD/lat_lon_parser

lat_lon_parser

解析“各种”格式的经纬度坐标以及在不同经纬度格式之间转换的代码(例如,十进制度数到度分秒)

注意:也许将其与功能更齐全的库如

https://pypi.python.org/pypi/LatLon23

集成会更好——但那个库目前似乎不支持解析未知格式——它是GPL许可证,也许比它需要的更复杂和结构化。

解析纬度和经度字符串

用法

from lat_lon_parser import parse

In [12]: from lat_lon_parser import parse

In [13]: parse("45° 12.6' W")
Out[13]: -45.21

支持的格式

十进制度数(简单)

23.43
-45.21

带有象限的十进制度数

23.43 N
45.21 W

或者用文字表述

23.43 North
45.21 West

(注意,所有四个基本方向均不区分大小写)

度,十进制度分:(现在开始变得有点棘手了!)

23° 25.800'
-45° 12.600'

或者

23 25.800'
-45 12.600'

或者

23° 25.8' N
45° 12.6' West

度,分,秒:(真的很有趣!!!)

 23° 25' 48.0"
-45° 12' 36.0"

或者

 23d 25' 48.0"
-45d 12' 36.0"

或者

23° 25' 48.0" North
45° 12' 36.0" S

或者——还有许多其他组合!

有关更完整的列表,请参阅测试

工作原理

这个算法相当“愚蠢”——它假定所有格式都将类似于

[-][空格]度[分隔符]分[分隔符]秒[分隔符][N[北]|S[南|E[东]|W[西]]

但实际上相当稳健!

如果您想解析其他格式,请贡献测试!——并且最好提供一个补丁,如果当前代码不起作用。

转换为经纬度格式

还包括将转换为其他用于经纬度的格式的代码

  • 度分

  • 度分秒

转换为数字

返回数字元组的函数

>>> to_dec_deg(23, 12, 3)
23.200833333333332
>>> to_deg_min(34.1234)
(34.0, 7.404)
>>> to_deg_min_sec(34.1234)
(34.0, 7, 24.24)

转换为字符串

各种字符串格式转换函数

>>> to_str_dec_deg(23, 12, 3)
'23.200833°'
>>> to_str_deg_min(2.345)
"2° 20.700'"
>>> to_str_deg_min_sec(-23.1234)
'-23° 7\' 24.24"'

>>> to_str(23.45)
'23.450000°'
>>> to_str(23, 45)
"23° 45.000'"
>>> to_str(23, 45, 6.7)
'23° 45\' 6.70"'

项目详情


下载文件

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

源分布

lat_lon_parser-1.3.0.tar.gz (12.4 kB 查看哈希值)

上传时间 源代码

构建分布

lat_lon_parser-1.3.0-py2.py3-none-any.whl (10.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持