나는 GPS 점을 색인과 함께 저장합니다.이 점에서이 점을 참조하면 GPS [0], GPS [1]와 같이 보입니다. GPS는 GPS 위치 및 [n]은 GPS 위치 배열의 색인입니다. - 항상 첫번째 인덱스동적으로 GPS가 도로를 따라 점을 찍습니다.
GPS [에서 도로
GPS [0] = 개시 : 여기
난 (어레이는 11 개 개의 위치를 포함이 예에서) 위치를 기억 될 예정 어떻게 - 9] 점에서 캡처되지 [1 모든 : 도로 10] = 끝 - - 항상 마지막 인덱스
GPS에서 [1 9] = 길의 시작과 끝
주 사이에 점 예를 들어 GPS [1]와 GPS [2]가 월요일에 캡처되고 GPS [ 3]은 수요일에 캡처 될 수 있고 GPS [4 - 9]는 지금부터 한 달에 캡처 될 수 있습니다. 그들이 잡히지 않으면 ... 무시됩니다.
GPS 위치가 "순서가 맞지 않음"으로 캡처 될 수 있습니다 ... "순서가 틀리다"란 뜻은 도로를 따라 점이 찍히지 만 반드시 그 점을 발견 할 때와 같은 순서는 아닙니다 때 처음부터 끝까지 길을 따라 여행했다.
나는 C# 예제 코드를 찾고 있어요
//--- is there a MAP API that does this?
Set CurrentPoint = MAP.api.FindPoint(GPSArray[0])
//--- is there a MAP API that does this?
Set EndPoint = MAP.api.FindPoint(GPSArray[10])
List<int> sequencedIndicies = new List<int>;
while (CurrentPoint != EndPoint)
{
// Is there a MAP API that will travel down the road from the current point
// X feet and set the current point to that location ?
CurrentPoint = MAP.api.TravelThisManyFeetDownRoad(CurrentPoint, 100)
// loop through my points and check them against the current road point
for(int i= 1; i<10; i++)
{
// Is there a MAP API function will take a point, a "current" point
// and tell if the point is within X feet of the current point
//
// (alternatively I could use Haversine function if map api does not exist)
//
if(MAP.api.IsNear(CurrentPoint, GPSArray[i], 50)) <--- need this too
{
sequencedIndicies.Add(i);
break;
}
}
}
// move the GPS points to the new sequenced order
ReindexGPSArray(GPSArray, sequenceIndicies)
(주 'MAP API는'매핑 API가있는 모든 소프트웨어/서비스) 거래 : 내 알고리즘 질문에 날 리드
지도 API를 기능
다른 메모와 함께 ...이 모든 사용자 인터페이스 디스플레이를 필요로하지 않습니다 ...
나는 위도/경도가 ... 그러나, 어떤 공동 GPS를 사용할 수 있습니다 내가 사용하는 좌표는 그다지 중요하지 않습니다 ... 중요한 것은 도로를 여행 할 수 있고 현재 지점과 가까운 지점인지 결정할 수있는 MAP API 기능입니다. 구글지도 API를 사용하여
감사
'GPS'유형은 무엇입니까? Vector2 배열입니까? Vector3 배열? 'octopus' 타입의 배열? 어떤 "포인트"입니까? 위도 경도? (X, Y)? 원산지까지 거리에 따라 GPS 배열을 정렬 할 수 있습니다. 거리 계산에 대한이 질문을 참조하십시오 : http://stackoverflow.com/questions/6366408/calculating-distance-between-two-latitude-and-longitude-geocoordinates – arao6
수정 된 질문보기 – user3174075
Google지도 API를 확인하십시오 : https : // developers.google.com/maps/documentation/directions/ 'GPS'배열의 점에 대해 '중간 지점'을 설정할 수 있습니다. 반환 된 폴리선을 사용하여 점을 반복하면서 모든 반복에서 X 거리를 이동 한 다음 예를 들어'GeoCoordinate.GetDistanceTo()'<50과 같은지 확인할 수 있습니다. 50보다 작은 경우 해당 점을'sequencedIndicies'에 추가 할 수 있습니다. 해당 배열을 새 경유지로 사용하는 경우 Google은 올바른 순서의 정렬 된 배열을 반환합니다. – arao6