[Flutter] 지리 좌표계 변환하기 (proj4dart)

민태호·2025년 1월 17일
0

Flutter

목록 보기
15/22
post-thumbnail

proj4dart

proj4dart라이브러리는 지도 투영법 간의 좌표 변환을 하기 위한 라이브러리인 proj4dart에서 사용할 수 있도록 가져온 라이브러리이다.

좌표계 변환

import 'package:proj4dart/proj4dart.dart' as proj;

// WGS84 : GPS 위경도 좌표
final projWGS84 = proj.Projection.parse('+proj=longlat +datum=WGS84 +no_defs');
      
// EPSG:5186 : 중부원점(GRS80)
final projEpsg = proj.Projection.parse('+proj=tmerc +lat_0=38 '
	'+lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs');

// 좌표계 변환
proj.Point point = projWGS84.transform(projEpsg, proj.Point(x: 127.97, y: 37.56)));

Projection.parse()

좌표 투영법을 정의할 수 있는 함수이다.
내가 정의하고 싶은 좌표계의 투영법 코드를 String타입으로 넘겨주면 된다.

특정 좌표계의 투영법 코드를 알고 싶다면
1. epsg.io로 접속
2. 좌표계 검색 후 클릭
4. 아래로 스크롤
5. PROJ.4 클릭 후 코드 복사하여 사용

.transform()

투영법 간 변환을 수행할 수 있는 함수이다.
A좌표계에서 B좌표계로 변환하고 싶다면, A.transform(B, 좌표값)처럼 사용하면 된다. 좌표값은 Point로 받고 Point로 반환된다.

profile
Flutter를 주로 다룹니다

0개의 댓글