QGIS에서 다각형 내에서 규칙적으로 간격을두고 정의 된 점 수 생성


12

리서치 도구 "Regular Points"를 사용하여 다각형 내에서 특정 수의 점을 생성했지만 다각형 모양 내 에서만가 아니라 사각형의 격자 그리드를 형성합니다. 다각형 내에 특정 개수의 점이 필요하므로 시행 착오없이 그렇게 할 수있는 방법이 있습니까?

예를 들어 현재 25 포인트 중 8 포인트 만 다각형 내에 있지만 25 포인트를 원하므로 50 포인트까지 늘려서 다각형 내에 나타나는 포인트 수를 볼 수 있습니다

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


QGIS에서 다각형 내에 규칙적으로 간격을두고 정의 된 점 수를 만들고 싶습니다. 이것에 대한 플러그인이 있습니까? ET GEOWIZARD (다각형의 균일 점)라는 Arcgis의 확장으로 할 수 있지만 QGIS에서해야합니다! 도와주세요?
아나 마리아

답변:


3

레이어 경계면에서 QGIS가 참조하는 것은 실제로 지오메트리의 봉투 또는 경계 상자입니다.

나는 당신이 이것을 자동화하는 가장 가까운 해결책을 문서화했습니다 (버그 / 기능 요청을 제출하는 것이 부족합니다).

프로세스는 두 객체의 영역 간 비율 (특징 형상 및 경계 상자)에 따라 작동합니다.

아래의 단계를 확인하십시오.

  1. 작업하려는 레이어를 선택하십시오.

  2. 작업하려는 기능을 선택하십시오. 다른 항목이 선택되어 있지 않은지 확인하십시오.

  3. Python 콘솔 내에서 다음 스 니펫을 실행하십시오.

    layer = qgis.utils.iface.activeLayer()
    features = layer.selectedFeatures()
    feature = features[0]
    geom = feature.geometry()
    env_rect = geom.boundingBox()
    env_geom = QgsGeometry.fromRect(env_rect)
    env_geom.area() / geom.area()
    

    마지막 줄이 자동으로 반환되지 않으므로 Enter 키를 누르십시오.

  4. Regular Points도구를 다시 실행 하되 상자 내부에 원하는 포인트 수를 스크립트가 제공 한 출력으로 곱한 값 을 입력하십시오.

아래 샘플에서 출력에서받은 결과는 ~ 2의 값이었습니다. 실제로 10 개만 원했던 프로세스에서 20 개의 점을 출력하도록 요청했습니다. 8 개를 돌려주었습니다. 실제 모양에 따라 결과가 달라질 수 있습니다.

너무 기울어지면 원하는 수에 도달 할 때까지 변수를 수정하는 정규 포인트 프로세스를 (재귀 적으로) 자동화 할 수 있습니다.

견본


+1 당신의 제안은 가까이 있지만 수렴하지 못할 수 있습니다. 원하는 것은 (a) 원하는 수의 점이 다각형에 포함되는 간격을 추정하고 (b) 임의 오프셋 (스크린 샷에 표시 )으로 반복하는 것 입니다.
whuber

임의의 오프셋을 수행하면 더 이상 그리드가 아닙니다. 특정 수의 점이있는 다각형 내의 격자는 영역 전체에서 샘플링하기를 원합니다. 또는 하나의 시작 지점을 선택하고 거기에서 시작하는 것이 충분하지 않기 때문에 내가 원하는 것이 아닐 수도 있습니다.
coelacanth

@coelacanth 아마도 당신은 당신의 문제에 대한 충분한 정보를 밝히지 않았습니까? 분석의 다음 단계는 무엇입니까? 포인트 그리드를 사용하는 것 외에 목표를 달성하는 다른 방법이있을 수 있습니다.
nagytech

흠, 전 GPS / GIS 및 측량 설계에 익숙하지 않으므로 더 좋은 방법이 있는지 알려주십시오. 식물을 채취하기 위해 다각형 (예 : 숲의 한 부분) 내에 일정한 수의 샘플링 영역을 설정하고 싶습니다. 전체 사이트를 표현할 수 있도록 사이트 전체에 영역을 분산시키고 싶습니다. 이 기능을 사용하려면 경계 내에서 해당 샘플링 영역의 위치를 ​​설정해야합니다. 그런 다음 GPS 장치를 사용하여 해당 지점으로 이동하여 데이터를 수집합니다.
실러캔스

0

클리핑과 같은 작업을 쉽게 수행 할 수 있습니다. 이전과 마찬가지로 일반적인 점 그리드를 생성 한 다음 벡터> 지오 프로세싱 도구> 클립을 사용하고 생성 된 포인트 그리드를 입력하고이 기능을 클립 마스크로 사용하십시오.


-1

스크린 샷에서 간단한 솔루션을 제안합니다. 을 사용하여 다각형을 새 레이어로 추출하고 Vector -> Data Managment Tools -> Split vector layer가져온 다음 "정규 포인트"샘플러의 입력 레이어로 원하는 피처 (ID)가있는 레이어를 선택할 수 있습니다.

소수의 다각형에 대해서만이 작업을 수행해야하는 경우 다각형을 찾아 별도로 내보내는 것이 더 효율적일 수 있습니다. 하나를 선택했으면 레이어 이름을 마우스 오른쪽 버튼으로 클릭 Save Selection As ...하고을 선택하고 shapefile을 선택한 다음 나머지를 채우고 이전과 같이 반복하십시오.

편집 : 이미 단일 기능을 가지고 있기 때문에 더 단순한 것을 생각할 수는 없지만 밀도가 높은 그리드를 사용하여 다각형과 다시 교차하고 마지막으로 모든 외부 점을 제거합니다 (속성 테이블을 통해 가장 쉽게 센터링 할 수 있음) 총 합계).


쉐이프 파일에는 이미 하나의 다각형이 있습니다.
coelacanth

오, 얼마나 귀찮은가 (25 점 대신 20 점을 만들었다는 사실과 같이). hub.qgis.org/projects/quantum-gis/issues 에서 기능 요청을 여는 것이 좋습니다 . 실제 레이어 경계를 사용하려면 추가 확인란이 있어야한다고 생각합니다.
lynxlynxlynx

-2

정의 쿼리를 다각형에 적용합니다 (1.8에서 레이어를 마우스 오른쪽 버튼으로 클릭하고 쿼리 선택). 그런 다음 도구를 실행하십시오. 쿼리를 제거하십시오.


이것이 어떻게 도움이됩니까? 선택을하는 것과 같습니다.
Nathan W

거의 요 그러나 이것은 현재 QGIS에서 작동하지만 선택은 적어도 내 컴퓨터에서는 작동하지 않습니다.
John
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.