OpenStreetMap과 벡터 도로 네트워크를 사용하고 있으며 맵 매처 알고리즘을 구현하고 싶습니다.
현재 각 GPS 위치에 대해 가장 가까운 도로 구간을 검색하고이 이미지와 같이 해당 구간에 대한이 위치의 투영을 계산할 수 있습니다 (빨간색 핀은 순수한 GPS 위치입니다. 매핑 된 위치) :
그러나 GPS의 정확도 부족으로 인해 때때로 매핑 된 위치가 세그먼트에서 다른 세그먼트로 점프하여 때때로 일치하지 않는 매핑 된 위치를 제공 할 수 있습니다.
내 현재 알고리즘은 매우 기본입니다 : 순수한 GPS 위치에서 가장 가까운 세그먼트를 가져 와서 매핑 된 일치 위치 가이 위치에 있다고 결정합니다. 나는 이것이 실제로 향상 될 수 있음을 알고 있습니다.
차량 방향을 고려하면지도 일치가 개선 될 수 있지만 지도 매처를 개선 할 수있는 다른 방법을 알고 있습니까?
링크 및 / 또는 오픈 소스 소프트웨어를 찾고 있습니까?
답변
이미하고있는대로 선에 점을 투영하는 것은 PostGIS에서 직접 수행 할 수 있습니다. 나는 몇 시간 전에 여기에 썼다.
그러나 포인트가 오른쪽 세그먼트보다 잘못된 세그먼트에 더 가까운 경우 문제를 해결하려면 가능한 방법 일 수 있습니다.
답변
귀하의 질문과 다양한 답변을 읽은 후이 문제에 관심이있었습니다. Map-matching 알고리즘을 약간 읽은 후에 다음을 이해했습니다.
- GPS 위치를 도로와 일치 시키려면 실제 도로 데이터가 벡터 형식이어야합니다.
- 도로마다 무게가 다른 경우 도움이됩니다. 따라서 고속도로와 일치하는 포인트의 가능성이 높아지고 사이드 라인과 일치하는 확률이 높아집니다.
- 당신은 역사와 GPS 읽기 속도를 가져와야합니다. 예를 들어 gps 지점이 오랫동안 측면 차선과 일치 한 경우이를 고려하여 고속도로와 직접 일치시키지 않아야합니다. 실제 매칭은 다양한 통계 기법을 사용하여 수행됩니다.
자세한 내용을 보려면 다음을 제안하십시오.
답변
내 자신의 질문에 대답!
1- 이 주제에 관해 방금 찾은 멋진 .pdf :
또한 문서에 설명 된지도 매처 의 C ++ 오픈 소스 구현에 연결됩니다 :
http://eden.dei.uc.pt/~camara/files/mgemma.zip
(이것은 오프라인 맵 매처입니다. 제 이해는 입력으로 WHOLE 경로를 사용하여 맵 일치 위치를 계산하고 각 위치에 대해 즉시 수행 할 수는 없습니다).
2- 그런 다음,이 내용을 자세히 읽었으며 실제로 제 의견으로는 정말 좋습니다 :
https://dspace.lboro.ac.uk/dspace-jspui/bitstream/2134/4860/1/velaga.pdf “개발 지능형 운송 시스템을위한 강화 된 무게 기반 토폴로지 맵 매칭 알고리즘 “
알고리즘이 명확하게 설명되어 있으며 무게 조정 값도 문서에 제공됩니다.
답변
맵 매칭에 대한 많은 연구가 있습니다. 이 논문 은 2007 년 이전의 최근 연구에 대한 간략한 조사를 위해이 백서 를 참조하십시오 . 최근에는 숨겨진 Markov 모델을 기반으로 한 접근 방식이 정상적인 상황에서 잘 작동하는 것 같습니다. 예를 들어, 2009 년부터이 백서 를 확인하십시오 . 아이디어와 모델은 매우 단순하며 HMM에 익숙하지 않더라도 구현하기에 너무 많은 어려움을 겪지 않아야합니다 (이 경우 공황 상태에 빠지지 마십시오. 의 튜토리얼 및 소개 온라인)
답변
이 방법을 “벡터 conflation”이라고도합니다. Wiki 페이지 ( http://wiki.openstreetmap.org/wiki/Conflation )에는 “JOSM conflation plugin”, “Potlatch 2 merging”과 같은 도로 벡터 conflation을 수행하기위한 일반적인 개요 및 목록 (Open Source) 소프트웨어 패키지가 있습니다. 도구 “,”RoadMatcher “(OpenJUMP 용) 등
답변
맵 일치 알고리즘의 경우 실시간 또는 오프라인 처리가 필요한지 여부에 따라 다릅니다. 후자의 경우 최첨단 알고리즘은 초당 1000 포인트를 처리 할 수 있습니다. 메모리 요구 사항은 물론 적용 범위에 따라 다릅니다. 우리는 그 목적을 위해 지구의 OSM 도로 네트워크를 약 16Gb로 압축했습니다.
또한 맵 매칭 과 경로 추론 을 구별해야합니다 . 고주파 또는 저주파 데이터에 따라 두 가지 별도의 프로세스가 있습니다. 상대적으로 적은 수의 포인트 (예 : 도시 상황에서 1km 당 1 데이터) 가있는 경우 일반적으로 장치가 어디로 이동하는지 추측하기 위해 수행해야 할 몇 가지 가정이 있기 때문에 경로 유추 입니다. 경로 추론은 일반적으로 어렵지만 최신 장치 / 데이터 수집 가격에는 문제가되지 않습니다.
OSM에서 직접 맵 매칭을 수행하는 API에 대해 내 프로파일을 확인할 수 있습니다. 토폴로지 매칭을 사용하고 예를 들어 플로팅 카 데이터와 잘 작동합니다.
답변
Strava Slide 는 도로 네트워크를 통한 누적 트랙 데이터가 “밸리”처럼 동작 할 수있는 방법과 제안 된 경로가 일련의 구슬처럼 “제자리에 떨어지는”방법을 설명합니다.