gpt4 book ai didi

javascript - 用于用户提供坐标的通用 JavaScript 解析器

转载 作者:行者123 更新时间:2023-11-30 06:34:46 26 4
gpt4 key购买 nike

有没有JavaScript库可以帮助解析用户提供的各种格式的坐标?

我有一个带有搜索框的 map 站点,可用于搜索地名,但通过查看统计数据我发现很多人试图直接使用各种格式的坐标,就像他们能够做到的那样在谷歌地图上。

我看到的纬度和经度的典型变化是:

-43 02 42.845 S 172 38 33.790 E
n 19°49'2.30e 41°51'29.20
41°46'57.90"S
172° 1'20.39"E 43 02 42.845 S
42.897S 172.720E
42.31.303 172.23.379
19.817306°, 41.858111°

有很多变体,这只是一个示例。然后有用户尝试基于NZTM和NZMG的各种新西兰格式。

理想情况下,我想找到一个库,有人可能已经开始使用一些基本的纬度和经度,然后扩展功能以支持我看到的其他格式。

有人知道那里有什么吗?

最佳答案

要从原始文本输入中解析数字坐标,有 npm 包 coordinate-parser通过 otto-dev . WGS84 感觉很稳健纬度-经度对及其分钟和小数表示法。

const CoordinateParser = require('coordinate-parser')
const text = `60 40' 31.35" N, 23 50' 55.75" E`
const pos = new CoordinateParser(text)
const lat = pos.getLatitude() // 60.675374
const lng = pos.getLongitude() // 23.848819

虽然适用于 WGS84,但坐标解析器不处理 UTM坐标,例如 NZTM 上的坐标或 ETRS89 TM35FIN ,例如 N 6730758,E 327874。解析器将大数字视为毫秒或密集格式的 DDMMSS.xxx 而不是米,从而产生无效结果。

对于 UTM 坐标,有 utm-coordinate-parser .它识别常见的东-北对,例如 6730758 N 327874 E 以及 x-y 对 x:327874 y:6730758。免责声明:我是包的作者。

const utmp = require('utm-coordinate-parser')
const text = 'N 6730758; W -327874'
const pos = utmp.parse(text)
const x = pos.x // 327874
const y = pos.y // 6730758

关于javascript - 用于用户提供坐标的通用 JavaScript 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285644/

26 4 0
文章推荐: javascript - 淡出 Div 内容 - 空 Div 内容 - 淡入新内容
文章推荐: javascript - 在用户打开它之前动态地将 添加到