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.