LoginSignup
0
1

More than 3 years have passed since last update.

【Android/Kotlin】世界測地系を日本測地系に変換する

Posted at

世界測地系と日本測地系

測地系とは緯度経度を表すときの基準になるものです。
(詳しくはググってください)
普段GoogleMap等で目にするのは世界測地系ですが、まれに日本測地系を使用する場合があります。
今回その例に遭遇したので、変換方法をメモしておこうと思います。

ライブラリのインストール

使用するライブラリ→ Proj4J

// 測地系変換を実現するPROJライブラリ
implementation 'org.osgeo:proj4j:0.1.0'

測地系の変換

最後のconvertPointに変換後の緯度経度が入っています。

val crsFactory = CRSFactory()
// wgs84(世界測地系)
val wgs84 = crsFactory.createFromParameters(
            null,
            "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
// 日本測地系
val tokyo = crsFactory.createFromParameters(
            null,
            "+proj=longlat +ellps=bessel +towgs84=-146.336,506.832,680.254,0,0,0,0 +no_defs")
val transformFactory = CoordinateTransformFactory()
val transform: CoordinateTransform = transformFactory.createTransform(wgs84, tokyo)
// 変換したい緯度経度
val targetPoint = ProjCoordinate(lng, lat)
var convertPoint = ProjCoordinate()
convertPoint = transform.transform(targetPoint, convertPoint)
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1