Tech. Forum 개발자들을 위한 정보 공유의 장입니다
닫기

Tech.Forum

TMAP v2 좌표 변환 관련 질문

#1

v2 대응중입니다.

기존에 사용하던
Tmap.Projection.convertBesselToWgs84 과
transform(“EPSG:4326”, “EPSG:3857”)의

대체 함수는 어떤건지 알수 있을까요?

0 Likes

#3

답변 감사합니다.

추가로 convertBesselToWgs84()함수 관련 답변을 기다리겠습니다.

0 Likes

#4

안녕하세요.
T map API 운영담당자입니다.
Tmap.Projection에서 transform(“EPSG:4326”, “EPSG:3857”) 함수는
convertWGS84GEOToEPSG3857()를 사용 하시면 되고,
convertBesselToWgs84()함수와 관련해서는
[convertBesselTMToWGS84GEO() 함수를 사용하시면 됩니다.
아래의 링크를 참고하시면 도움이 되실겁니다.


[convertWGS84GEOToEPSG3857 Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertWGS84GEOToEPSG3857

[convertBesselTMToWGS84GEO Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertBesselTMToWGS84GEO


감사합니다.

0 Likes

#5

답변 감사합니다.

알려주신 방법으로 시도중입니다.
그런데 결과가 전혀 다르게 나오는데 사용법이 잘못된건가요?
잘못됬다면 사용법의 예를 알려주시기 바랍니다.

예)
var x = 127.09063611111111;
var y = 37.55606944444445;

// bessel 좌표계를 생성합니다.
var bessel_v1 = new Tmap.LonLat(x, y);
// WGS84 좌표계로 변환합니다
var wgs84_v1 = Tmap.Projection.convertBesselToWgs84(bessel_v1);

// bessel 좌표계를 생성합니다.
var bessel_v2 = new Tmapv2.Point(y, x);
// WGS84 좌표계로 변환합니다
var wgs84_v2 = Tmapv2.Projection.convertBesselTMToWGS84GEO(bessel_v2);

/*
// 결과값
wgs84_v1: initialize
lat: 37.55886033054
lon: 127.08850844007

wgs84_v2: t
name: “skttop”
_lat: 33.47885681710164
_lng: 124.84968268659567
/*

0 Likes

#6

안녕하세요.
T map API 운영담당자입니다.

V2의 경우 위경도 좌표를 convertWGS84GEOToBesselTM()함수를 통해 bessel 좌표로
변환후 변환된 bessel 좌표를 다시 convertBesselTMToWGS84GEO() 함수를 통해 변환하시면
정상적으로 결과를 출력 받으실수 있습니다.

아래의 링크를 참고하시면 도움이 되실겁니다.


[convertWGS84GEOToBesselTM Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertWGS84GEOToBesselTM

[convertBesselTMToWGS84GEO Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertBesselTMToWGS84GEO


감사합니다.

0 Likes

#7

답변 감사합니다.

그런데 저희가 최초에 가지고 있는 좌표값이 bessel 좌표입니다.
예와 마찬가지로 동일한 좌표로 시작하여 v1과 v2가 다르게 계산됩니다.
좀 더 자세한 피드백을 요청 드립니다.

예)
var x = 127.09063611111111;
var y = 37.55606944444445;

// bessel 좌표계를 생성합니다.
var bessel_v1 = new Tmap.LonLat(x, y);
// WGS84 좌표계로 변환합니다
var wgs84_v1 = Tmap.Projection.convertBesselToWgs84(bessel_v1);

// bessel 좌표계를 생성합니다.
var bessel_v2 = new Tmapv2.Point(y, x);
// WGS84 좌표계로 변환합니다
var wgs84_v2 = Tmapv2.Projection.convertBesselTMToWGS84GEO(bessel_v2);

/*
// 결과값
wgs84_v1: initialize
lat: 37.55886033054
lon: 127.08850844007

wgs84_v2: t
name: “skttop”
_lat: 33.47885681710164
_lng: 124.84968268659567
/*

0 Likes

#8

안녕하세요.
T map API 운영담당자입니다.

현재 V2 에서 말씀 하신 bessel좌표를 Point로 입력하는 부분은
설정하신 x , y 좌표값이 위경도 좌표(x=127.xxx,y=37.xxx)를 가르키고 있습니다.
Point 생성시 Tmapv2.Point 객체는 위경도 좌표가 아닌 스크린 좌표를 나타내므로,
위경도 좌표를 넣으시고, convertBesselTMToWGS84GEO()함수를 실행 하시게 되면,
정상적인 결과를 받으실수 없습니다.
따라서, var bessel_v2 변수에 베셀 좌표를 입력하시고 위와 같은 상황을 진행하셔야
하는데, 이를위해서 convertWGS84GEOToBesselTM(new Tmapv2.LatLng(y,x))로 베셀좌표로
변환 후 convertBesselTMToWGS84GEO()함수를 실행 시키시길 바랍니다.

감사합니다.

0 Likes

#9

답변 감사합니다.

알려주신 방법으로 시도 해보았으나 역시 좌표가 맞지 않습니다.
지도상에서 v1과의 위치가 약간 오른쪽 아래로 가게 됩니다.
아래 부분에서 잘못된 부분이 있다면 알려주시기 바랍니다.

예)
// 초기 좌표
var x = 127.09063611111111;
var y = 37.55606944444445;

// bessel 좌표계를 생성합니다.
var bessel_v1 = new Tmap.LonLat(x, y);
// WGS84 좌표계로 변환합니다
var wgs84_v1 = Tmap.Projection.convertBesselToWgs84(bessel_v1);

// 위경도 좌표계를 생성합니다.
var latlng = new Tmapv2.LatLng(y,x);
// bessel 좌표계를 생성합니다.(스크린 좌표(Tmapv2.Point)로 변환)
var bessel_v2 = Tmapv2.Projection.convertWGS84GEOToBesselTM(latlng);
// WGS84 좌표계로 변환합니다
var wgs84_v2 = Tmapv2.Projection.convertBesselTMToWGS84GEO(bessel_v2);

/*
// 결과값
wgs84_v1: initialize
lat: 37.55886033054
lon: 127.08850844007

wgs84_v2: t
name: “skttop”
_lat: 37.55606997777527
_lng: 127.09063574202213
*/

0 Likes

#10

안녕하세요.
T map API 운영담당자입니다.

현재 진행하신 테스트를 보면 위경도 좌표를 bessel좌표로 변환후
다시 위경도 좌표로 변환하는 작업을 하셨습니다.
테스트 하신 결과를 보게되면, V1의 좌표는 원래 초기좌표라고 설정하신 좌표보다
좀더 위쪽으로 잡히게 되었고, 이는 좌표가 다른 좌표계로 변환되는 계산과정에서
생긴 문제로 인해 초기좌표와는 다른 좌표를 반환 하게 된것으로 보입니다.
V2의 경우는 이 오차를 최대한 좁히고자 업데이트 된 버전입니다.
V2의 결과값인 좌표를 초기 좌표와 비교해 보면 거의 같은 위치를 가르키고 있습니다.
따라서, V2의 결과값이 초기 좌표와 같고 V1의 좌표가 초기 좌표와
달라서 V2와 V1의 결과값이 다르게 나온겁니다.
아래의 링크는 각각 V1에서의 함수와 V2에서의 convertBesselToWgs84()함수입니다.


[V1 convertBesselToWgs84 Doc]
http://tmapapi.sktelecom.com/main.html#web/docs/WebDocs.Projection_convertBesselToWgs84

[V2 convertBesselTMToWGS84GEO Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertBesselTMToWGS84GEO


감사합니다.

0 Likes

#11

안녕하세요,
저도 동일한 궁금증(Bessel 좌표를 Wgs84로 변환)이 있어서 위 글들을 읽어보았습니다.
그런데 위의 글들을 종합해보면 위경도 형태의 Bessel좌표로는 Wgs84 좌표로 변환이 불가능하다는 것 같은데요.

“convertBesselTMToWGS84GEO에서 파라미터로 받고 있는 값은 Point 객체인데 이것은 스크린 좌표이기 때문에 위경도 형태의 Bessel 좌표를 입력받을 수 없다” 라는게 맞나요?

0 Likes

#12

소스코드를 직접 보다보니
convertBesselGEOToWGS84GEO function과 같이 BesselGeo 데이터를 파라미터로 입력받아 return하는 함수가 있는데 혹시 오류가 있어서 공개가 안된 함수인가요?

코드를 보면 BesselGEO가 들어간 함수들에서 x, y는 함수형이 아니라 변수여서
new Tmapv2.base.LatLng(e.y(),e.x());
=> new Tmapv2.base.LatLng(e.y,e.x);
로 변경처리하면 될 것 같다는 생각이 듭니다.

0 Likes

#13

안녕하세요.
T map API 운영담당자입니다.

위에서 보시면 위경도 형태의 bessel 좌표가 아닌 Wgs84 위경도 형태의 Point 객체가 생성된 것입니다.
이는 bessel 좌표가 아닌 x=127.xxx, y=37.xxx 라는 값(Wgs84 위경도)을 가진 Point 객체입니다.
convertBesselTMToWGS84GEO() 함수에 위와 같은 형태의 파라미터를 넣게 되면,
당연히, bessel좌표를 변환해주는 함수이기 때문에, 처음 생성한 값과 다른값이 나올수 밖에
없습니다.

따라서, 결론은 위경도 형태의 bessel좌표를 입력 못받는것이 아닌 Point 객체에
Wgs84 위경도 좌표를 넣으시면, 원하는 값이 리턴되지 않는것 입니다.
아래의 링크를 참고하시면 도움이 되실겁니다.

또한, convertBesselGEOToWGS84GEO()함수와 관련해서는 검토후 다시 답변 드리겠습니다.


[convertBesselTMToWGS84GEO Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertBesselTMToWGS84GEO


감사합니다.

0 Likes

#14

제가 말씀드린 부분은 최초 변환을 하기 위한 데이터가 BesselGEO 좌표일 경우 WGS84GEO로 변환이 가능한
여부입니다.
현재 convertBesselTMToWGS84GEO함수에서 파라미터로 받고있는 Point객체에는 위경도 형태의 데이터를 입력할 경우 어떠한 좌표를 입력하더라도 [33.47885681710164, 124.84968268659567]가 리턴됩니다.
이는 위에서 언급하신

때문일 것이라고 예상되는데요.
그래서 이야기를 종합해보면 아래와 같은게 아닐까 하여 질문드렸습니다.

일단은 임시로 V1의 Tmap.Projection.convertBesselToWgs84를 함께 사용하여 좌표변환 처리는 하였습니다.
convertBesselGEOToWGS84GEO 함수를 검토후 답변주시면 감사하겠습니다.

0 Likes

#15

안녕하세요.
T map API 운영담당자입니다.

문의하신 BesselGEO 관련 함수를 가이드에 추가하였습니다.
위경도 값을 가진 BesselGEO 좌표를 convertBesselGEOToWGS84GEO 하시게 되면,
말씀하신 것처럼 원하는 결과를 얻으실수 있으실 겁니다.
아래의 링크를 참고하여 주시기 바랍니다.


[convertBesselGEOToWGS84GEO Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertBesselGEOToWGS84GEO

[convertWGS84GEOToBesselGEO Doc]
http://tmapapi.sktelecom.com/main.html#webv2/docs/WebDocs.Projection_convertWGS84GEOToBesselGEO


감사합니다.

1 Like