2 unstable releases

0.2.0 Jul 21, 2024
0.1.1 Jun 23, 2024

#284 in Internationalization (i18n)

Download history 190/week @ 2024-06-22 4/week @ 2024-06-29 130/week @ 2024-07-20 25/week @ 2024-07-27

100 downloads per month

MIT license

4MB
483 lines

jgd

crates.io

Transform geodetic datums used in Japan.

Getting started

cargo add jgd

Examples

use jgd::{LatLon, Tokyo};

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

API documentation

MIT license


lib.rs:

Transform geodetic datums used in Japan.

Examples

use jgd::{LatLon, Tokyo};

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

Transform coordinates of 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 }
});

Features

Each feature increases the size of the build binary.

  • tky2jgd - [TKY2JGD] is used. Enabled by default.
  • patchjgd - [TOUHOKUTAIHEIYOUOKI2011] is used. Enabled by default.

Limitations

対象地域は日本国内の陸地のみ。海上や国外の座標には適さない。

一般に、測地系変換によって、ある測地系で測量・作成された座標を、あたかも別の測地系かのように模擬できる。 異なる測地系で整備された座標同士のズレを低減できても、ズレが消滅することはない。 変換方法によって精度や制約が異なり、詳細はメソッド毎のドキュメントに記載されている。

緯度経度で表される地理座標のみが対応されている。平面直角座標系などの投影座標は対応されていない。

Compatibility

パラメータグリッドによる変換は、国土地理院の TKY2JGD および PatchJGD と同等。

3パラメータによる変換は、QGIS などで使われる Proj と同等。

オリジナルの実装との差異が 1mm 以内となるようにテストされている。

References

No runtime deps