QGIS로 xkm 내에 다른 점이없는 쉐이프 파일에서 점을 식별


11

이것은 아마도 순진한 질문이지만 QGIS의 새로운 사용자로 어려움을 겪고 있습니다.

나는 매우 큰 shapefile (275,000 점)을 가지고 있지만 더 빠른 처리를 위해 필요한 경우 약 10 개의 하위 영역으로 나눌 수 있습니다.

200 미터 내에 다른 점이없는 모든 점을 식별 한 다음 파일의 필드에서 "unique"값으로 각 점을 코딩하려고합니다.

로컬 클러스터의 일부인 다른 모든 지점에 대해서는 "클러스터"로 코딩하려고합니다.

이를 달성 한 후 데이터 세트에 유지하기 위해 무작위로 각 클러스터에 대해 하나만 선택하고 나머지는 버리고 싶습니다.

현재 1 단계를 달성하지 못해 도움을받을 수 있습니다.

답변:


0

QGIS 에서 NNJoin 플러그인을 사용하여 자체 조인을 시도 할 수도 있습니다 .

입력 레이어의 각 지형지 물에 대해 가장 가까운 지형지 물을 찾고 (자체 결합의 경우 자체 제외) 생성 된 데이터 세트에 가장 가까운 지형지 물의 거리와 모든 속성을 포함합니다. 데이터 세트에 약간의 시간이 걸릴 것입니다 (약 175000 개의 기능을 갖춘 포인트 데이터 세트로 시도했지만 몇 분이 걸립니다 ...).


9

벡터> 분석 도구> 거리 행렬 및 조인을 사용하여 원하는 것을 얻을 수 있습니다.

qgis 샘플 데이터 공항 레이어를 사용하여 예시 하겠습니다 . 이것은 작은 데이터 세트이므로 275000 점 모양 파일을 어떻게 사용할지 잘 모르겠습니다.

1. 레이어를 대상과 대상으로 사용하여 거리 행렬을 만듭니다.

"가장 가까운 (k) 대상 포인트 만 사용"을 선택하고 1로 설정하는 것을 잊지 마십시오.

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

2. 구분 된 텍스트 레이어를 추가하여 CSV를 엽니 다.

구분 기호로 "쉼표"를 선택하고 형상 정의를 형상 없음으로 설정하십시오.

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

3. 새로 생성 된 테이블을 사용하여 원래 레이어에 조인을 만듭니다.

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

4. 필드 계산기를 사용하여 원하는 값으로 필드를 채 웁니다.

조인으로 인해 이제 Airports 속성 테이블에서 거리 테이블 값에 액세스 할 수 있으므로 거리 필드 값에 따라 새 필드를 작성하고 "클러스터"및 "고유"값으로 채울 수 있습니다. . 내 예제 데이터 때문에 1200000 (1200 km) 값을 사용했기 때문에 귀하의 경우 (200)에 맞게 조정해야합니다.

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

결국 레이어에는 가장 가까운 점까지의 최소 거리에 따라 다른 값을 가진 point_type이라는 새 필드가 있어야합니다.

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


그것은 우아한 해결책처럼 보입니다. 그러나 하나의 합병증이 있습니다. IDENTICAL 위치가있는 몇 가지 점이 있습니다 (이는 원래 데이터 캡처 중 이름 동의어의 결과). 어떤 경우에는 같은 지점에서 3을 식별했습니다. 귀하의 솔루션은 모든 지점이 고유하게 있다고 가정합니다. 동일한 위치 지점을 먼저 제거하기 위해 적용 범위를 선별 할 수있는 확실한 방법이 있습니까?
— Leigh Bettenay

@LeighBettenay이 답변이 귀하의 원래 질문에 대한 답변이라면, 답변을 수락하고, 추가 질문을 새로운 질문으로 연구 / 제안하기 위해 귀하가 그 질문을 수락 (녹색 체크)해야한다고 생각합니다. 좋은 첫 번째 질문에 +1!
— PolyGeo

@PolyGeo 죄송합니다.이 포럼을 처음 접했고 프로토콜을 모르고 있습니다. 멋진 답변을 "녹색 틱"에 만족하지만 슬프게도 방법을 모릅니다 !!
— Leigh Bettenay

질문 투표 (질문의 왼쪽 모서리) 아래에있는 회색 체크 표시를 클릭하면됩니다. 감사합니다
— Alexandre Neto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.