QGIS를 사용하여 여러 줄에서 "평균"줄 만들기


12

다양한 GPS 정밀도를 가진 유사한 경로 (이 경우 마운틴 트레일)를 나타내는 여러 줄 기능이 있습니다 (이 경우 멀티 트레일에도 있습니다 ...).

이 프로젝트의 목적을 위해, 나는 그들 모두에서 "평균"라인을 계산하고 가장 가능성이 높은 트레일 위치의 결과 라인을 생성하는 방법을 찾고 있습니다.

QGIS 또는 다른 도구를 사용하여 어떻게 진행 하시겠습니까 (OGR에 대해 생각했습니다 ...)?

여기에 이미지 설명을 입력하십시오


R을 사용하는 방법을 설명하는 OpenStreetMap 위키의 평균 트랙 을 살펴보십시오 .
Jake

2
이것은 "conflation"과 비슷하게 들리며이 사이트에는 몇 가지 스레드가 있습니다. gis.stackexchange.com/search?q=conflation 질문과 대답이 있습니까?
SaultDon

오늘 "conflation"을 살펴 보 겠지만, 지금까지 제안 된 "Average tracks"는 그 트릭을 수행하는 것 같습니다. QGIS를 통해 직접 수행 할 수 있는지 좀 더 살펴보고 싶지만 두 답변 모두 훌륭합니다. 감사합니다!
Horizen

이 글과 그 링크를 볼 수 있습니다 : gis.stackexchange.com/questions/70623/…
johns

답변:


9

테스트 데이터 :

  • QGIS 2.18.16, GRASS GIS 7
  • 4 개의 GPS 트랙
  • 1x1km의 그리드 내

나는.)

QGIS 플러그인 Locate Points Along Lines( https://plugins.qgis.org/plugins/LocatePoints/ ) 을 사용하여 GPS 트랙을 따라 점을 만듭니다 . 나는 내 예에서 5m의 간격을 사용했습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

II.)

만들기 Concave HullProcessing > Toolbox > QGIS geoalgorithms >Vector geometry tools > Concave hull. 0.1예제에서 임계 값을 사용했습니다 . 임계 값이 낮 으면 출력 다각형 내에 구멍이있을 수 있습니다.

여기에 이미지 설명을 입력하십시오

III.)

이제 스켈레톤 알고리즘을 사용하여 "평균"라인을 계산할 수 있습니다. 에서 골격을 검색하십시오 Processing Toolbox. 의 v.voronoi.skeleton도구를 사용하십시오 GRASS GIS 7 commands.

여기에 이미지 설명을 입력하십시오


7

히트 맵 접근 방식 :

처리 단계의 계산 시간으로 인해이 방법은 시간이 더 걸립니다. 더 일반적인 솔루션에 더 가까이 다가가는 아이디어로 볼 수 있습니다.

테스트 데이터 :

  • QGIS 2.18.16, GRASS GIS 7
  • 4 개의 GPS 트랙
  • 1x1km의 그리드 내

나는.)

QGIS 플러그인으로 선을 따라 점 찾기 ( https://plugins.qgis.org/plugins/LocatePoints/ )로 GPS 트랙을 따라 점을 만듭니다 . 히트 맵 접근법에는 2m 간격을 사용했습니다 .

II.)

QGIS 히트 맵 플러그인으로 히트 맵을 생성하십시오. 반경 40m를 사용했습니다. 출력 래스터에 구멍이 없을 때까지 반지름을 증가시킵니다. 다른 반지름 값으로 시도해야합니다.

여기에 이미지 설명을 입력하십시오

III.)

편집 정확한 히트 맵 래스터 값을 유지할 필요가 없습니다.

이제 가장 많은 점이 집중되어있는 "백색"영역으로 래스터를 얇게 만들고 싶습니다. 따라서 출력 래스터를 다시 계산합니다. 출력 래스터의 최소 / 최대 값은 089.7935입니다. 위의 값만 사용합니다 44. 이를 위해 "엄지 손가락 규칙"을 사용했습니다. 최대 값을 내림하고 2로 나눕니다. 이 값을 다시 반올림하십시오. 89/2 = 44,5-> 44. OSGeo4W Shell을 사용했습니다 : gdal_calc -A heatmap.tif --calc="A>=44" --NoDataValue=0 --outfile=heatmap_44_NoData.tif.

여기에 이미지 설명을 입력하십시오

IV.)

편집

a) 재 계산 된 열지도를 다각형 화 Raster > Conversion > Polygonize ...

b) 다각형을 단순화합니다 Vector > Geometry Tools > Simplify geometries. 의 공차를 사용했습니다 2. 더 간단한 다각형은 스켈레톤의 처리 시간을 줄입니다.

c) 골격 계산 : 처리 도구 상자에서 골격을 검색하십시오. v.voronoi.skeletonGRASS GIS 7 명령에서 도구를 사용하십시오 .

여기에 이미지 설명을 입력하십시오

결과 라인이 첫 번째 답변보다 트레일의 가장 가능성이 높은 위치를 나타냅니다. 특히 북쪽의 굴곡의 경우 평균선은 서로 더 가까운 3 개의 트랙을 따릅니다. 동쪽의 굽힘에 대해서도 동일합니다.

접근 방식의 장점 :

  • QGIS를 독점적으로 사용하여 합리적인 좋은 결과

단점 :

  • 빅 데이터 세트의 처리 시간
  • 매개 변수를 우선적으로 시도해야합니다 (히트 맵 반경, 최소 / 최대 값)
  • 처리 단계를 자동화하기 어렵다
  • 좁은 굽힘 / 곡선 및 실제로 선 밖으로 나가는 트랙에 대해서는 테스트되지 않았습니다.

누군가가 처리 단계를 최적화 할 수 있다면 환영합니다!


+1. 이것은 "평균 라인"을 찾는 효과적인 방법입니다. 그러나 반드시 올바른 줄을 가장 잘 추정하는 것은 아닙니다 . 왜 그렇지 않은지 알기 위해 대부분의 경로가 매우 빠르게 통과했지만 경로가 매우 느리게 통과하여 어느 위치에서나 오류가 평균화 될 정도로 느리게 통과했다고 가정합니다. 이 단일 경로는 진실을 가장 확실하게 표현할 수 있지만 각 경로를 리샘플링하면이 정보가 손실되고 많은 빈약 한 표현으로 평균화됩니다. 분명히 이것은 극단적 인 경우이지만 실제로 일부 경로는 다른 경로보다 낫습니다.
whuber

이해 했어요. 당신의 응답을 주셔서 감사합니다. QGIS의 Heat Map Plugin은 몇 가지 고급 옵션을 제공합니다 use weight from field. 속도와 같은 정보 (약간 느린 / 빠른 속도) 나 다른 방법으로 데이터에 가중치를 부여 할 수 있습니까? 가중치는 열지도를 개선하는 데 사용될 수 있습니다.
Stefan

예, 그렇게 할 수 있지만 이러한 기술 중 어느 것도 데이터에 강한 자기 상관 관계가있을 수 있다는 우려를 해결하지 못합니다. 이를 다루려면 개별 경로의 시계열 분석과 같은 것이 필요합니다.
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.