2011-05-03 4 views
1

기존 선을 일정한 길이만큼 확장 한 점의 좌표를 계산해야합니다.C# - 일정한 양의 킬로미터를 기준으로 선을 연장 할 좌표 찾기

주어진 입력 : (1) 기존 라인의 시작 및 종료 좌표 (도). (2) 새 줄이 위에서 주어진 "끝"좌표를 지나서 연장되어야하는 길이 (km).

출력 : 라인

I은 ​​그 경우 도움 좌표 2 개 세트 사이의 관계를 계산하는 방법을 확장 위도 및 점 (도) 경도. 또한 선상에 점을 찾는 메소드가 있지만, 기존 좌표계를 확장하지 않고 주어진 좌표의 두 세트 사이의 점입니다. 내 요구에 맞게 변경하는 방법을 알아낼 수 없습니다.

또한 WGS-84를 사용하고 있기 때문에 지구의 곡률을 고려할 필요가 없습니다.

도움을 주시면 감사하겠습니다.

편집 : 내가 본

그럼 문제가 좌표를 GPS 학위 동안의 거리가 킬로미터이었다이었다. 하지만 단지 그것을 해결하는 벡터를 이용 끝났다

C를 = B - K ( - B) 거리 K = 비율 C

참고 배치 : K = 1.5라고 생각했기 때문에 새로운 점을 원래의 선 밖의 거리의 반으로하고 싶었습니다. 0 점은 A 지점에 있고 1 점은 B 지점에 있습니다.

Google 어스에서 플롯했는데 제대로 작동하는 것 같습니다.

+0

지금까지 가지고있는 코드를 게시 할 수 있습니까? –

답변

1

직선의 방정식을보고 싶습니다. 크기와 시작점을 사용하면 주어진 길이에 대한 끝점을 쉽게 계산할 수 있습니다.

Y = MX + B

여기에 빠른 튜토리얼 :

http://www.mathsisfun.com/equation_of_line.html

당신은 또한 당신이 찾고있는 것을 실제로있는 선상 점에 대한 구글 수는.

+0

글쎄, 내가 보았던 문제는 좌표가 GPS 도인 동안 거리가 킬로미터라는 것입니다.C = B - k (A - B), 여기서 k = C를 놓을 거리의 비율 (k = 1.5는 내 경우에 새로운 점을 바깥 거리의 반으로하고 싶었 기 때문입니다. 원래 줄). 나는 음모를 꾸미고 작동하는 것 같습니다. – Tara

+0

듣기 좋다! –

0

지구의 곡률을 고려해야합니다. 큰 원 (최단 거리) 또는 선 (rhumb)을 사용할지 결정해야합니다. 전자의 경우 최종 베어링을 계산 한 다음이 베어링에서 연장해야합니다. 다음 링크는 필요한 수식을 포함합니다.

http://www.movable-type.co.uk/scripts/latlong.html