2012-05-05 2 views
3

Google 어스 API가 특정 위치에 대해 정확한 고도를 가져온 것으로 프로그램에서 결정해야하는 방법은 무엇입니까?신뢰할 수있는 방법으로 지상 고도 가져 오기

double GEGlobe.getGroundAltitude(double lat, double lon) 

그러나,이 기능은 경도, 대상 위도에서 카메라의 거리에 따라 다른 결과를 반환

Google 어스 플러그인 API는 지상 고도를 얻을 수있는 다음과 같은 방법이있다. 예를 들어, 위치에 대한 진정한 고도 인 경우 : 다른 카메라 위치에서 getGroundAltitude의

반환 값 : 카메라가 위치에서 다른 거리에있을 때 함수를 호출 181.60이

다음과 같은 고도를 반환

-19.38는

06.11이

89.13 (...)

0 (카메라 지금 가까운) (카메라의 위치로부터 매우 멀리)

177.47

181.

166.82

반환 값 181.53이 질문은 181.60

의 진정한 고도에 충분히 가까운 (카메라 v.close 위치에 지금이다) 프로그램이 가장 정확한 고도를 신뢰할 수 있다고 판단하는 방법은 무엇입니까?

답변

2

이것은 Google 어스의 함정 중 하나입니다. 지상 고도는 해당 지점에서 사용할 수있는 이미지의 품질에 따라 다릅니다. 따라서 이미지가 좋고 값이 정확하며 이미지가 나쁜 경우 값이 잘못 될 수 있습니다.

얼마나 많은 이미지가로드되었는지 확인할 수 있습니다. getStreamingPercent() - 스트리밍 비율이 증가함에 따라 지상 고도 값이 더 정확해야합니다.

실제로 외부 서버에서 데이터를 가져 오기 위해 호출하는 Google의 Elevation API를 사용하는 것이 좋습니다 (이 경우로드 된 비율은 작동하지 않습니다).이 방법의 단점은 인터넷 연결이 필요하다는 것입니다. 그래서 명심해야 할 것이 있습니다.

https://developers.google.com/maps/documentation/elevation/

편집

또 다른 것은 getGroundAltitude() 호출이 매우 까다로운 것을 기억합니다. 그것은 지구상의 단일 점에 대한 가치를 얻으려고 시도합니다. 그러나 아주 좋은 오류 검사를하지는 않습니다 (즉, 점 X, Y에 대한 값을 알지 못할 수도 있습니다. X, Y는 유효한 데이터를 가지고 있습니다.)

+0

내 의구심에 대답했습니다. 고맙습니다! –

+0

"아주 좋은 오류 검사가 없습니다."- 무슨 뜻인지 알 겠어. 문서는'getGroundAltitude'가 위치에 대한 고도 데이터가 아직로드되지 않은 경우 0을 반환한다고 말합니다. 이 방법으로 작동하면 (더 나은 결과, NaN을 반환하면) 나에게 유용 할 수 있습니다. 'getGroundAltitude'는 이미지 인 주요 부분에 대한 보완적인 데이터처럼 보입니다. 말씀 드린대로 Google의 Elevation API를 살펴 보았습니다. 나는 또한 [Map Quest] (http : //open.mapquestapi.com/elevation /)을 사용하여 고도 및 기타 지구 데이터를 읽을 수있는 웹 엔드 포인트를 제공합니다. –

+0

다른 사람들에게 유용한 Incase : MapQuest는 웹 서비스를 제공하며 브라우저 기반 자바 스크립트 (예 : MapQuest는 콜백 함수로 래핑 된 데이터를 반환 할 수 있음)에 유용한 JSONP를 지원합니다. Google Elevation 서비스가 JSONP 콜백을 지원하지 않는 것 같습니다. MapQuest의 고도는 Google Elevation Service와 최대 11 ~ 11 미터까지 다를 수 있습니다. 때로는 더 많거나 때로는 적거나 때로는 거의 동일합니다. 이것은 반드시 어느 것이 더 정확한지에 관해 말할 필요는 없습니다. 그것은 전문가가 더 잘 대답 할 수 있습니다. 결국 내 생각에 둘 다 데이터를 어느 정도 보간했을 것입니다. –

관련 문제