다각형의 중심을 결정하는 방법은 무엇입니까?


34

다각형 벡터가 있고 텍스트 문서에 삽입하기 위해이 다각형의 중심을 빠르게 얻고 싶습니다. QGIS와 협력하고 있습니다. 나는 다른 질문을 통해 검색했으며 일부는 다소 가깝지만 내 질문에 대답하지 않습니다.

이상적으로는 중심 좌표가 다각형의 속성 테이블에 있고 좌표를 복사하여 붙여 넣을 수 있습니다.

중심을 나타내는 별도의 점 벡터 파일을 만든 다음 이러한 좌표를 찾아 복사하여 붙여넣고 싶지 않습니다.


텍스트 문서는 어떤 형식입니까?
Nathan W

MS 워드 문서이지만 실제로는 무엇이든 될 수 있습니다.
David

답변:


34

중심은 정의에 따라 다각형이 아닌 점 레이어입니다. 따라서 QGIS 1.8 이상 버전에서는 쉽게 만들 수있는 새 레이어를 만들어야합니다.

  • 다각형에로드
  • 메뉴-> 벡터-> 기하학 도구-> 다각형 중심으로 이동하여 중심 점 레이어를 만듭니다.
  • -> 벡터 메뉴-> 형상 도구-> 형상 내보내기 / 추가를 클릭하여 작성된 중심의 좌표를 속성 테이블로 내 보냅니다.

그런 다음 공간 조인을 수행하여 다각형에 중심 열을 추가하고 점 레이어를 다시 삭제할 수 있습니다.


답장을 보내 주셔서 감사합니다. 도움을 주셔서 감사합니다. 여전히 이것은 중심의 좌표가 무엇인지 아는 간단한 작업입니다. QGIS에는 더 간단한 방법이 없습니다.
David

여전히 더 쉽게 원한다면 PostGIS와 아래 언급 된 ST_Centroid 함수를 살펴보십시오. 이런 식으로 임시 파일을 만들 필요가 없습니다. 또는 QGIS 용 Python 스크립트를 작성하거나 SEXTANTE Modeler를 사용할 수도 있습니다.
Curlew

10

실제로 새 모양 파일을 만드는 것이 가장 쉬운 옵션 중 하나입니다. 그러나 좌표를 복사하여 붙여 넣을 필요는 없습니다. 이 작업을 수행:

  • 다각형 중심 도구를 사용하여 중심 파일을 만듭니다.
  • 중심 속성 테이블을 열고 편집 가능하게 만드십시오 (하단에 연필 아이콘).
  • 필드 계산기 (하단에 계산기 아이콘)를 열고 새 필드 만들기 옵션을 선택하고 의미있는 것으로 부르십시오 (예 : Easting).
  • 함수 목록에서 Geometry 메뉴를 확장하고 $ x를 선택한 다음 $ y에 대해 새 열로 반복하십시오 (예 : Northing이라고 함).
  • 편집 내용을 저장하면 이제 중심점 도구를 사용한 경우 속성 테이블의 일부로 모든 좌표가 원래 다각형 ID 및 속성으로 완성됩니다.

또는 ST_Centroid 함수를 사용하여 데이터를 PostGIS로 가져온 다음 다각형을 반복 하고 결과를 새 필드에 저장해야합니다. 관련된 작업은 거의 동일하지만 두 번째 옵션은 별도의 중심점 파일이 없다는 것을 의미합니다.


답변 해주셔서 감사합니다. 도와 주셔서 감사합니다. Curlew의 대답이 좀 더 쉬운 것 같습니다. 여전히이 두 가지 답변은 내가 원했던 것보다 훨씬 더 많은 일입니다. 결국 이름, 삭제, 편집 등을해야하는 다양한 shapefile이 생깁니다.
David

8

마이크의 대답에 대한 더 강력한 해결책 : long = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '(-?\\d+\\.?\\d*) -?\\d+\\.?\\d*')) lat = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '-?\\d+\\.?\\d* (-?\\d+\\.?\\d*)'))


1
Underrated answer;)
Fernando Irarrázaval G

6

2.2 필드 계산기에서 이것을 사용하는 것은 어떻습니까?

장거리 = substr (geomToWKT (centroid ($ geometry)), 7, 12)

위도 필드 = substr (geomToWKT (centroid ($ geometry)), strpos (geomToWKT (centroid ($ geometry)), '') +2, 12)

이것은 xmin 옵션 xmin (centroid ($ geometry))으로 2.6에서 해결 된 것으로 보입니다.


5

나는 거의 5 년 늦게이 게시물을 보았습니다 (!). 그러나 버전 2.18.14에서 다각형 중심을 계산하기 위해 수행하는 작업은 다음과 같습니다.

  1. 다각형 레이어 편집 시작
  2. 새로운 텍스트 필드를 만들고 centroidxy 라고 부릅니다.
  3. 필드 계산기를 사용하여 centroidxy = x ($ geometry) || ','|| y ($ 형상)
  4. 결과는 다음과 같습니다. 397640.915545362, 2126924.53637653
  5. 편집 내용을 저장하십시오.
  6. 다각형 레이어는 이제 x, y 중심 값을 가진 필드를 포함합니다

간단하고 훌륭한
Kazuhito

3

중심점 테이블을 다각형 테이블과 연결 한 다음 좌표를 다각형 이름 및 모양으로 배치합니다. 다각형 자체는 하나의 위도를 갖지 않습니다.


답변 주셔서 감사합니다. 예, 다각형에는 길이가 길지 않으며 그 자체로는 단순히 계산할 수있는 것이 있습니다. 불행히도 QGIS에서는 이보다 쉽지 않습니다. 답변에 다시 한 번 감사드립니다. 그리고 너무 빨리. 감사!
David

2

이 게시물을 보았고 따르기가 어려웠으며 제안 된 업데이트 :

참고 : 투영 좌표의 위도와 경도를 계산합니다 (미터 일 수 있음). 십진수 각도로 좌표를 원한다면 (내가 생각하거나 대부분 이해할 수 없다고 가정하면) 먼저이 CRS에 레이어를 저장하십시오 : EPSG : 4326, WGS 84.

  1. 오픈 필드 계산기
  2. 새로운 필드 만들기
  3. 이름을 입력하십시오 (위도 또는 경도)
  4. 출력 필드 유형으로 10 진수를 선택하십시오.
  5. 위도의 경우 y ($ geometry) 및 경도의 경우 : x ($ geometry)
  6. OK를 누릅니다

-2

lon = ToReal (regexp_substr (geomToWKT (centroid ($ geometry)), '([\ s]')) lat = ToReal (regexp_substr (geomToWKT (centroid ($ geometry)), '\ s [)]'))


1
이것은 전혀 답이 아닙니다. 질문에 대답하는 방법을 더 잘 이해하려면 둘러보기를 방문하십시오 ...
Nightwatch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.