@conveyal/lonlat

中文文档
1.4.1发布于 2021/07/28MITTypeScriptESM + CJS零依赖近 30 天下载 4063

连线/纵向正常化

中文使用文档
文档目录13 节
  1. API 密码
  2. lonlat.类型.输入
  3. lonlat.types. 输出
  4. lonlat. 类型. 点
  5. lonlat.types. 无效坐标例外
  6. 传道/隆拉特
  7. PIXELS PER TIE 常规
  8. PIXELS PER TIE 常规
  9. 经度到像素
  10. 纬度到像素
  11. 马利亚特
  12. 像素到纬度
  13. 像素到纬度

龙拉

NPM version Build status

隆/拉特正常化事业...叹息。 。 。 .

没有人同意代表Lon/lat的标准方式。 这是一个小型的正常化图书馆。 使用此功能在内部处理前将所有外部输入转换为外出格式,并在输出时转换为外出格式右出.

API 密码

目录

lonlat.类型.输入

(类型)

未知输入类型 。 必须是以下之一:

  • 数组:含有2个元素的数组。 第一种是经纬度,第二种是纬度.
  • 字符串:格式中的字符串 longitude,latitude
  • 对象 (x, y 坐标): 对象为 x 财务报告和审定财务报表 y 属性. x 表示经度 y 代表纬度.
  • 对象( lat, Lon ): 有经纬度特性的天体. 属性可以被命名为各种事物. 对于经度,下列任何一种都是有效的: lon, (中文(简体) ), lng 或者说 longitude 对于纬度,下列任何一种都是有效的: lat 或者说 latitude

类型 : (阵列 | 字符串 | 对象(中文(简体) )

lonlat.types. 输出

(类型)

已标准化的 Lon/ lat 对象 .

类型 : 对象

属性

lonlat. 类型. 点

(类型)

有 x/y 数字值的对象.

类型 : 对象

属性

lonlat.types. 无效坐标例外

(例外类型)

在提供无效坐标时出错 .

类型 : 错误

传道/隆拉特

解析未知输入类型 .

参数

实例

var lonlat = require('@conveyal/lonlat')

// Object with lon/lat-ish attributes
var position = lonlat({ lon: 12, lat: 34 })         // { lon: 12, lat: 34 }
position = lonlat({ lng: 12, lat: 34 })             // { lon: 12, lat: 34 }
position = lonlat({ longitude: 12, latitude: 34 })  // { lon: 12, lat: 34 }
position = lonlat({ lng: 12, latitude: 34 })        // { lon: 12, lat: 34 }

// coordinate array
position = lonlat([12, 34])   // { lon: 12, lat: 34 }

// string
position = lonlat('12,34')   // { lon: 12, lat: 34 }

// object with x and y attributes
position = lonlat({ x: 12, y: 34 })   // { lon: 12, lat: 34 }

// the following will throw errors
position = lonlat({ lon: 999, lat: 34 })   // Error: Invalid longitude value: 999
position = lonlat({ lon: 12, lat: 999 })   // Error: Invalid latitude value: 999
position = lonlat({})                      // Error: Invalid latitude value: undefined
position = lonlat(null)                    // Error: Value must not be null or undefined

回返 lonlat.types. 输出

从坐标

化名 : 从吉奥杰森

尝试从一组坐标剖析 .

参数
  • coordinates 阵列 格式中的数组: [经度, 纬度]
实例
var lonlat = require('@conveyal/lonlat')

var position = lonlat.fromCoordinates([12, 34])   // { lon: 12, lat: 34 }
position = lonlat.fromGeoJSON([12, 34])           // { lon: 12, lat: 34 }

回返 lonlat.types. 输出

从拉特伦

化名 : 从叶片

尝试从对象中解析 .

参数
  • lonlat 对象 带有 lon, (中文(简体) ), lng 或者说 longitude 属性和 a lat 或者说 latitude 属性
实例
var lonlat = require('@conveyal/lonlat')

var position = lonlat.fromLatlng({ longitude: 12, latitude: 34 })   // { lon: 12, lat: 34 }
position = lonlat.fromLeaflet({ lng: 12, lat: 34 })                 // { lon: 12, lat: 34 }

回返 lonlat.types. 输出

从点

尝试从对象中解析 .

参数
  • point 对象 带有 x 属性表示 longitude (单位:千美元) y 属性表示 latitude
实例
var lonlat = require('@conveyal/lonlat')

var position = lonlat.fromPoint({ x: 12, y: 34 })   // { lon: 12, lat: 34 }

回返 lonlat.types. 输出

从 String 从

化名 : 从Lon FirstString 读取

尝试从经度出现在纬度之前的字符串中解析 .

参数
  • str 字符串 格式中的字符串 : longitude,latitude
实例
var lonlat = require('@conveyal/lonlat')

var position = lonlat.fromString('12,34')          // { lon: 12, lat: 34 }
var position = lonlat.fromLonFirstString('12,34')  // { lon: 12, lat: 34 }

回返 lonlat.types. 输出

从LatFirstString 读取

尝试从经度前显示纬度的字符串中解析 .

参数
  • str 字符串 格式中的字符串 : latitude,longitude
实例
var lonlat = require('@conveyal/lonlat')

var position = lonlat.fromLatFirstString('12,34') // { lon: 34, lat: 12 }

回返 lonlat.types. 输出

等价键

确定两个输入是否相等

参数
实例
var lonlat = require('@conveyal/lonlat')

var isEqual = lonlat.isEqual('12,34', [12, 34])   // true

回返 布尔

打印

参数
实例
var lonlat = require('@conveyal/lonlat')

var pretty = lonlat.print('12.345678,34')   // '12.34568, 34.00000'

回返 字符串 带有格式的字符串 longitude,latitude 四舍五入为 指定的小数位数 fixed

坐标

化名 : 切换到吉奥杰森

翻译为坐标阵列.

参数
实例
var lonlat = require('@conveyal/lonlat')

var coords = lonlat.toCoordinates('12,34')   // [12, 34]

回返 阵列 格式 [经度,纬度] 的数组

文件夹

翻译为: 叶子LatLng 对象. 该功能需要安装为全局变量 L 在窗口环境中.

参数
实例
var lonlat = require('@conveyal/lonlat')

var position = lonlat.toLeaflet({ lat: 12, long: 34 })   // Leaflet LatLng object

回返 对象 叶片 LatLng 对象

点

翻译为指向对象.

参数
实例
var lonlat = require('@conveyal/lonlat')

var point = lonlat.toPoint('12,34')   // { x: 12, y: 34 }

回返 对象 对象为 x 财务报告和审定财务报表 y 分别代表纬度和经度的属性

倒数

化名 : 转到 Lon First String

在纬度之前显示经度的地方翻译以协调字符串.

参数
实例
var lonlat = require('@conveyal/lonlat')

var str = lonlat.toString({ lat: 12, longitude: 34 })          // '34,12'
var str = lonlat.toLonFirstString({ lat: 12, longitude: 34 })  // '34,12'

回返 字符串 格式“ 纬度” 中的字符串

拖动第一串

在经纬度之前显示纬度的地方翻译以协调字符串.

参数
实例
var lonlat = require('@conveyal/lonlat')

var str = lonlat.toLatFirstString({ lat: 12, longitude: 34 })  // '12,34'

回返 字符串 格式“ 纬度” 中的字符串

到像素

将坐标转换为像素 .

参数
实例
var pixel = lonlat.toPixel({lon: -70, lat: 40}, 9) //= {x: 40049.77777777778, y:49621.12736343896}

回返 对象 对象为 x 财务报告和审定财务报表 y 代表像素坐标的属性

从像素

从相相出.

参数
实例
var ll = lonlat.fromPixel({x: 40000, y: 50000}, 9) //= {lon: -70.13671875, lat: 39.1982053488948}

回返 lonlat.types. 输出

PIXELS PER TIE 常规

像素转换和常数取自 https://wiki.openstreetmap.org/wiki/Slippy map tilenames# 执行

PIXELS PER TIE 常规

每块像素.

经度到像素

将经度转换为给定的像素值 zoom 级别.

参数

实例

var xPixel = lonlat.longitudeToPixel(-70, 9) //= 40049.77777777778

回返 编号 像素

纬度到像素

将纬度转换为给定的像素值 zoom 级别.

参数

实例

var yPixel = lonlat.latitudeToPixel(40, 9) //= 49621.12736343896

回返 编号 像素

马利亚特

有效Mercator投影转换的最大纬度.

像素到纬度

将像素转换为经度值,并给出一个缩放级别.

参数

实例

var lon = lonlat.pixelToLongitude(40000, 9) //= -70.13671875

回返 编号 经度

像素到纬度

将像素转换为显示缩放级的纬度值.

参数

实例

var lat = lonlat.pixelToLatitude(50000, 9) //= 39.1982053488948

回返 编号 纬度

版本与发布记录

@conveyal/lonlat 共发布 8 个版本,首次发布于 2016/10/29;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.4.1latest2021/07/285 年前
1.4.02018/10/198 年前
1.3.02017/03/109 年前
1.2.02017/03/089 年前
1.1.22017/02/259 年前
1.1.12017/02/169 年前

关于 @conveyal/lonlat 的常见问题

@conveyal/lonlat 是什么?

连线/纵向正常化

如何安装 @conveyal/lonlat?

在项目目录运行 npm install @conveyal/lonlat,或使用 pnpm add / yarn add / bun add。

@conveyal/lonlat 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@conveyal/lonlat 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@conveyal/lonlat 可以商用吗?

@conveyal/lonlat 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@conveyal/lonlat 的下载量有多少?

根据 npm 官方下载统计,@conveyal/lonlat 在 2026/10/11 – 2026/11/09 这 30 天内被下载 4,063 次,日均约 135 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@conveyal/lonlat 还在维护吗?

最新版本 1.4.1 发布于 2021/07/28(5 年前);至今共发布 8 个版本,其中过去 12 个月发布了 0 个;首次发布于 2016/10/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。