잘못된 GPS 포인트를 필터링하는 방법?


11

GPS 포인트 데이터베이스가 있습니다. 트랙이없고 포인트 만 있습니다. 100 미터마다 약간의 값을 계산해야하지만 때로는 GPS가 실제 GPS 점에서 멀리 떨어진 잘못된 좌표를 제공했으며 작은 사각형의 값을 계산하는 대신 실제로 매우 큰 직사각형 영역에 대해 계산해야합니다.

잘못된 GPS 포인트를 필터링하는 가장 좋은 알고리즘은 무엇입니까?

이해를 돕기 위해 스크린 샷을 만들었습니다.

! [http://content.screencast.com/users/smirnoffs/folders/Jing/media/94624331-db6a-4171-bed9-e2183f953a1d/gps_error.png]


1
그런 특이점을 감지하기 위해 기준점으로 이동 프레임의 작은 배수 (예 : 마지막 점 10 개) 평균 거리를 기준으로 사용합니다.
lynxlynxlynx

방법을 더 자세하게 설명 할 수 있습니까? 나는 포인트의 데이터베이스를 가지고 있으며, 어떤 종류로도 정렬되지 않았습니다. 따라서 거리는 2 미터 또는 500 미터가 될 수 있습니다. 그러나 일부 요점은 매우 멀다. 이해를 돕기
smirnoffs

2
내가 참조. 이 경우 내 접근 방식이 좋지 않습니다. 대신 각 점에 가장 가까운 인접 점을 계산 한 다음 이상 치를 제거합니다.
lynxlynxlynx

2
@lynx가 제안한 두 번째 접근법은 특히 이상치 탐지 방법이 좋은 경우 샘플 데이터와 잘 작동합니다. 옵션은 통계 사이트에서 특이 치대한 질문을 참조하십시오 . 예를 들어 stats.stackexchange.com/questions/213 에서 많은 창의적이고 유효한 접근 방식이 제안됩니다 .
whuber

답변:


3

포인트에 대해 Anselin Local Moran 's I를 실행하고 -1.96 미만의 z- 점수로 아무것도 버리십시오. 그것은 공간 특이 치를 찾는 통계적 방법입니다. 모든 점의 공간 위치와 관련된 값이 있어야합니다.

그러나 whuber의 의견에 따라 10.1의 도구를 확인하면 ArcGIS 10.1을 사용하면 그룹화 분석 도구를 사용할 수 있습니다. 실제로 원하는 작업입니다.

들로네 삼각 분할 (Delaunay Triangulation) 공간 제약 조건을 사용하여 그룹화 분석을하고 싶을 것입니다. 여기서 장애물은 연결이 끊어진 그룹의 수와 같거나 그보다 많은 파티션 그룹이 필요하다는 것입니다 (이상 치가 서로 자연적인 이웃 인 경우). 그렇지 않으면 자연 이웃이없는 특이 치는 그룹화 분석에서 그룹이 나타나지 않습니다.

이를 바탕으로 Delauney 삼각 측량은 필터 알고리즘의 소스 일 수 있지만 아직 확실하지 않습니다.

또 다른 업데이트 : 그룹화 분석 도구를 실행하는 스크립트 인 Partition.py를 파고 들었을 때 NoNeighbors 부분과 결합 된 연결이 끊어진 그룹에 대해 알고리즘을 사용할 수 있다고 생각합니다. 스크립트.


(-1)이이됩니다 보장 상관없이 1의 40 점에 대한 던져 없습니다. 이상치 탐지에는 이러한 테스트를 사용하지 않는 것이 좋습니다.
whuber

1
공간 특이 치가 존재하는 경우 순수한 공간 특이 치에 대한 테스트는 사실이 아닙니다. 공간 특이 치가 존재하지 않으면 해당 문제가 발생하지만 존재하는 경우 해당 특이 치 만 z 점수가 낮아집니다. 그것은 모두 점의 공간 분포에 달려 있습니다.
blord-castillo

1
거의 : 특이 치 자체가 클러스터를 구성하는 경우 전체를 감지하지 못할 수 있습니다. (널 또는 잘못된 좌표가 (0,0)에 자동으로 매핑되는 상황을 고려하십시오.) 의견에 따르면 특이 치를 찾는 것이 까다로울 수 있으며 특이 치의 특성에 따라 달라집니다. 그들이 얼마나 멀리 떨어져있을 수 있는지; 그들이 묶을 수 있는지 여부; 일반적인 원칙으로, 분포 적 가정 (예 : Local Moran 's I 사용)을 만드는 통계는 강력하고 비모수 적 통계만큼 효과적이지 않습니다.
whuber

2
나는 당신이 "좋은"GPS 포인트를 가지고 경계 상자의 가장 먼 구석에 같은 수의 "나쁜"GPS 포인트가 쌓이는 특정한 이론적 문제를 고려하고있었습니다. "좋은"포인트에 대한 관심 영역에 대한 지식이 없으면 "좋은"세트와 "나쁜"세트를 통계적으로 분리 할 수 ​​없다고 생각합니다. 관심 영역을 수동으로 지정해야하는 문제 일 수 있습니다.
blord-castillo

2
맞습니다 : 이봉 다변량 분포를 설명했습니다. 그러한 경우에 일반적으로 수행되는 것은 혼합 모델의 추정 또는 클러스터 알고리즘의 적용입니다. 그 결과 혼합물 / 클러스터 구성 요소를 분리하지만 구성 요소를 "이상 값 :"으로 지정하지 않으면 그 의무는 사용자에게 있습니다.
whuber

3

이 특이 치 목록을 얻는 데 도움이 될 수 있습니다.

SELECT p1.point_id 
FROM p1 AS points, p2 AS points
WHERE p1.point_id <> p2.point_id AND
ST_Distance(p1.geom, p2.geom) > 10000

여기서 point_id는 포인트 테이블의 기본 키입니다. 거리 기능은 가장 가까운 곳이 10000 미터를 넘는 지점을 찾습니다. (물론 적절한 가치를 둘 수 있습니다)

위의 방법으로 작동하면 다음과 같이 DELETE 통계로 변경하십시오.

DELETE FROM points WHERE point_id IN (
-- SELECT as above
SELECT ....
);

1
1. 포인트는 정렬되지 않습니다. 2. 오류가 10000 미터보다 낮 으면 어떻게됩니까? 예를 들어 150 미터?
smirnoffs

1
어쩌면 나는 이해하지 못했다. 귀하의 이미지에서 거의 모든 지점이 한 영역에 모여 있고 매우 적은 수가 매우 멀다는 것을 알았습니다. 그게 문제가 아닙니까? 한 지점이 다른 지점에서 불과 150m 떨어진 경우 특이점을 어떻게 알 수 있습니까?
Micha

1

작업을 완료하는 데 도움이되는보다 실용적인 답변을 제공하려고합니다. (알고리즘에 대한 토론을 찾고 있다면 사과하십시오)

시나리오 1 : 'GPS 포인트'를 언급 했으므로 원래 GPS 웨이 포인트에 액세스 할 수 있으면 작업이 훨씬 쉬워집니다. 원래 HDOP / VDOP 또는 위성 수가 많을 경우 포인트를 버릴 수 있습니다. 이로 인해 원래 오류가 발생했을 수 있습니다. gpsbabel과 같은 무료 도구에는 이러한 필터가 내장되어 있습니다. http://www.gpsbabel.org/htmldoc-development/Data_Filters.html

시나리오 2 : 단순히 포인트가 있습니다. 그러면 문제는 공간 특이 치를 탐지하게됩니다. 이 분야에 대한 많은 연구가 있으며 웹 검색 에서이 주제에 대한 많은 논문을 볼 수 있습니다. 데이터를 정리하려는 경우 GRASS v.outlier 알고리즘을 사용하면 공유 한 스크린 샷을 기반으로 사례에서 작동해야합니다. http://grass.osgeo.org/gdp/html_grass63/v.outlier.html


의견 주셔서 감사합니다. 불행히도 좌표 만 있습니다. GPS는 단지 좌표의 원천이었고 원래 GPS 트랙에는 접근 할 수 없었습니다.
smirnoffs

-2

정크 데이터가 있다고 생각합니다. 실제로 일부 데이터가 잘못되었다는 사실에 관심이 있고 다른 요소를 사용하여 모든 잘못된 점을 확실하게 식별 할 수없는 경우 분석에 나쁜 데이터가있을 수 있습니다.

중요한 경우 모든 원인을 파악하고 근본 원인을 파악하고 (예 : 잘못된 GPS 지점이 다중 경로에서 비롯됨) 근본 원인을 해결 (예 : 초크 안테나 추가 또는 더 나은 유형의 GPS 또는 최상의 수정 사항) is)를 입력 한 다음 데이터 수집을 다시 실행하십시오.

잘못된 데이터가 중요하지 않은 경우 해당 데이터를 사용하고 오류를 무시하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.