首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用DDMMSSX表格表示纬度和经度

用DDMMSSX表格表示纬度和经度
EN

Stack Overflow用户
提问于 2013-11-07 15:23:24
回答 3查看 3.5K关注 0票数 2

哪个是以DDMMSS表示的纬度和经度的正则表达式,其中D表示度,M表示分钟,S表示秒,X是表示北(N)、南、东或西的字母?

例如,对于北纬60度,20分钟,北纬15秒,北纬60201度,西经40度,50分钟,西经0秒,是0405000 W。(请注意,纬度总是6位数,经度总是7位数)。

同时,要记住,分钟和秒必须在00到59之间,度必须在0到90之间(纬度)和0到180之间(经度)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-07 15:40:33

尝试以下两个正则表达式:

纬度

代码语言:javascript
运行
复制
(?:[0-8]\d|90)(?:[0-5]\d)(?:[0-5]\d)[NS]

Debuggex Demo

经度

代码语言:javascript
运行
复制
(?:0\d{2}|1[0-7]\d|180)(?:[0-5]\d)(?:[0-5]\d)[EW]

Debuggex Demo

Nota:

不要忘记在java代码中转义\,如果字母(NSEW)可以小写,则可以使用忽略大小写标志。

代码语言:javascript
运行
复制
 String latitude=...
 final String LATITUDE_REGEX = "(?:[0-8]\\d|90)(?:[0-5]\\d)(?:[0-5]\\d)[NS]";
 // the same regex with ignore case flag activated
 // final String LATITUDE_REGEX = "(?i)(?:[0-8]\\d|90)(?:[0-5]\\d)(?:[0-5]\\d)[NS]"; 

 if (latitude.matches(LATITUDE_REGEX)) {
     // We have a latitude ...
 } else {
     // This is not a latitude...
 }
票数 5
EN

Stack Overflow用户

发布于 2013-11-07 15:32:22

编辑:

下面的Stackoverflow应该可以帮助您..。

度分秒(DMS) RegEx

代码语言:javascript
运行
复制
^\s*([+-]?\d{1,3}\*?\s+\d{1,2}'?\s+\d{1,2}"?[NSEW]?|\d{1,3}(:\d{2}){2}\.\d[NSEW]\s*){1,2}$
票数 1
EN

Stack Overflow用户

发布于 2022-02-03 12:33:56

在这段代码中,没有comtemplates。1800 000 N您需要添加以下代码:

在这里输入图像描述

代码语言:javascript
运行
复制
lat:  ((900000)|([0-8]\d([0-5]\d)([0-5]\d)))[NS]

在这里输入图像描述

代码语言:javascript
运行
复制
long: ((1800000)|(?:0\d{2}|1[0-7]\d|1800000)(?:[0-5]\d)(?:[0-5]\d))[EW]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19839728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档