분산 점을 찍을 때 다음 경로를 제공하는 두 개의 점 벡터가 있습니다. (각 색상은 경로의 다른 세그먼트입니다. 일부 세그먼트는 직선이며 일부 세그먼트는 구성됩니다. 일부 반경의 원의 특정 아크 길이)를 취함으로써선형 좌표 프레임을 Google 어스의 구면 좌표 프레임에 매핑
그때 이러한 점을 잡아 그래서 구글 어스의 자바 스크립트 API를 사용하여 지구 표면에 그들을 플롯 할
:
// Create the placemark
var lineStringPlacemark = ge.createPlacemark('');
// Create the LineString; set it to extend down to the ground
// and set the altitude mode
var lineString = ge.createLineString('');
lineStringPlacemark.setGeometry(lineString);
lineString.setExtrude(true);
lineString.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);
// Add LineString points
lineString.getCoordinates().pushLatLngAlt(200, 300);
lineString.getCoordinates().pushLatLngAlt(200.50505051, 300);
... all points ...
ge.getFeatures().appendChild(lineStringPlacemark);
그래서 나는 본질적으로 그것들을 위도와 경도로 취급하고 있습니다.이 시점에서 지구상의 경로가 실제로 어디에 있든 상관하지 않습니다. 제가 그렇게 할 때, 나는 그 자체로 반복되는 길을 얻습니다. 나는 지구가 구형이기 때문에 그것을 가정하고 있습니다. 내가 구글 어스 생각
이 땅의 표면에 선 투사의 모든 종류를 처리! 이 문제를 방지하거나 원하는 경로를 얻기 위해 어떤 종류의 변환을 할 수 있습니까? 원래 포인트는 x = [0,500] 및 y = [0,500] 인 좌표 프레임에서오고 있으며 지구상의 위도와 경도로 그 프레임의 포인트를 얻으려고합니다!
로 프레임 내에서 라인을 유지하는 것입니다. 정확히 무엇을 기대 했습니까? 결과를 어떻게 보이게할까요? 탁구 공과 같은 구형 표면에 원하는 것을 그려보고 거기에서 다른 세그먼트의 각도를 계산하십시오. 지구상에서 너무 큰 그림을 그려 낼 가능성이 있습니다. 단순히 크기를 축소하면 예상 한 결과에 더 가까운 결과를 얻을 수 있습니다. 구형에서는 평행선이 항상 두 번 교차한다는 것을 기억하십시오. – slebetman
어떻게 스케일링을 수행 할 수 있습니까? 원래의 점은 x = [0,500]과 y = [0,500]의 좌표에서 나옵니다. 그리고 그 점을 위도와 longtiude로 가져 오려고합니다. – Diego
첫 번째 시도는 모든 좌표 값을 반으로 줄 것입니다. x/2, y/2는 위도 경도에 매핑됩니다. 그런데 너무 크면 분기를 시도하고 너무 작 으면 0.55와 0.99 사이의 숫자를 곱하십시오. 당신이 원하는 결과를 얻을 때까지 스케일링 요소로 실험하십시오. – slebetman