#tky2jgd #jgd2000 #jgd2011 #patch-jgd

jgd

转换日本使用的地心坐标系

2个不稳定发布

0.2.0 2024年7月21日
0.1.1 2024年6月23日

#273 in 国际化(i18n)

Download history 193/week @ 2024-06-23 1/week @ 2024-06-30 135/week @ 2024-07-21 20/week @ 2024-07-28

每月155次下载

MIT许可证

4MB
483 代码行

jgd

crates.io

转换日本使用的地心坐标系。

入门

cargo add jgd

示例

use jgd::{LatLon, Tokyo};

let LatLon(lat, lon) = Tokyo::new(LatLon(35.0, 135.0))
    .to_jgd2000()
    .to_jgd2011()
    .degrees();

API文档

MIT许可证


lib.rs:

转换日本使用的地心坐标系。

示例

use jgd::{LatLon, Tokyo};

let LatLon(lat, lon) = Tokyo::new(LatLon(35.0, 135.0))
    .to_jgd2000()
    .to_jgd2011()
    .degrees();

转换geo crate的坐标

use geo::{Coord, LineString, MapCoords};
use jgd::{LatLon, Tokyo};

let tokyo_datum = LineString::from(vec![(135.0, 35.0), (135.1, 35.1)]);
let jgd2011 = tokyo_datum.map_coords(|Coord { x, y }| {
    // lat, lon <=> y, x
    let LatLon(y, x) = Tokyo::new(LatLon(y, x)).to_jgd2000().to_jgd2011().degrees();
    Coord { x, y }
});

功能

每个功能都会增加构建二进制文件的大小。

  • tky2jgd - [TKY2JGD] 默认启用。
  • patchjgd - [TOUHOKUTAIHEIYOUOKI2011] 默认启用。

限制

仅适用于日本国内的陆地。海上或国外的坐标不适用。

通常,通过测地系转换,可以将某个测地系中测量的坐标模拟成另一个测地系的坐标。即使可以减少不同测地系中建立的坐标之间的偏差,偏差也不会完全消失。转换方法不同,精度和限制也不同,详细信息请参阅每个方法的文档。

仅支持以经纬度表示的地理坐标。平面直角坐标系等投影坐标系不支持。

兼容性

基于参数网格的转换与国土地理院的 TKY2JGDPatchJGD 相同。

基于3个参数的转换与在QGIS等中使用 Proj 相同。

已经测试,与原始实现之间的差异在1mm以内。

参考资料

无运行时依赖