Python用正则表达式提取NEMA格式数据中经纬度
时间: 2024-11-30 19:22:46 浏览: 1
在Python中,你可以使用`re`模块的正则表达式来从NEMA格式的数据中提取经纬度信息。NEMA格式通常包含像这样的一行数据:“NNM,M,MM.SS,DDD.MMSS”或者“DDM.MM,MMM.SS”(经度在前,纬度在后)。这里的“NNM”,“DDD”,“DDM”代表度数,“MM”和“SS”分别代表分钟和秒。
下面是一个简单的例子,假设我们有一个字符串变量`data`存储了NEMA格式的数据:
```python
import re
def extract_coords(data):
# 定义正则表达式模式匹配经纬度
pattern = r"(-?\d{1,3}(?:\.\d+)?),\s*(-?\d{1,3}(?:\.\d+)?)"
# 使用正则表达式查找并分割坐标
match = re.search(pattern, data)
if match:
longitude = match.group(1) # 经度
latitude = match.group(2) # 纬度
return (longitude, latitude)
else:
return None # 如果找不到匹配项,返回None
# 示例数据
nema_data = "090,54.32.15,48.76.54 N"
result = extract_coords(nema_data)
print(f"经度: {result[0]}, 纬度: {result[1]}")
```
这个函数会尝试找到第一个匹配的经纬度,并将其作为元组返回。如果没有找到,则返回`None`。记得根据实际情况调整正则表达式以适应你的NEMA数据格式。
阅读全文