QGIS 좌표 정밀도


11

QGIS는 좌표 값의 소수점 이하 자릿수 (x 번째)에 중복 된 점 집합을 정의합니까?

QGIS가 소수점 이하 15 자리를 처리한다고 생각했습니다. 그러나 Shapefile을 주로 작업했기 때문에 제한 사항이었습니다.

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

그러나 임시 스크래치 레이어와 같은 다른 데이터 소스를 선택할 때는 제한이 적용되지 않습니다.

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

아래의 더미 데이터를 사용하여 두 도구로 빠른 테스트를 수행하여 좌표 차이를 식별 할 수있는 가장 작은 값을 찾습니다.

  • QGIS 지오 프로세싱 : Delete duplicate geometries
  • MMQGIS 플러그인 : Delete Duplicate Geometries

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

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

로 출력 QGIS Delete duplicate geometries은 위의 입력 데이터와 동일하므로 (20 개의 레코드가 모두 보존 됨) QGIS가 모두 구별한다고 생각할 수도 있습니다. 이 한계는이 작은 테스트에서 볼 수있는 1e-29 (또는 1e-30)를 초과합니까?

MMQGIS Delete Duplicate Geometries아래에서 와 같이 비교하십시오 . MMQGIS가 소수점 이하 16 자리 또는 17 자리를 한계로 설정 한 것 같습니다.

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


[편집하다]

내 질문의 핵심 부분이 무엇인지 명확하지 않은 것 같습니다. 내 목표는 좌표 값과 중복 / 겹치는 관계를 이해하는 것입니다. 이러한 종류의 지식이 필드 계산기 표현식을 조정하여 겹치는 기능을 쉽게 제어하는 ​​데 도움이되기를 바랍니다.

그러나 내가 집중하려고했던 근본적인 문제는 QGIS가 데이터 소스에 따라 겹치는 것처럼 보이는 점 (노드)을 인식하는 소수점 자리입니다.

레이어에 셰이프 파일을 사용하면 QGIS는 ~ 15 번째 소수점 이하 자릿수를 처리하고 더 작은 차이 (16 번째 또는 17 번째)는 인식되지 않습니다. 임시 스크래치 레이어 또는 DB 레이어를 만들면이 제한이 30 번째를 넘어서는가? 이러한 행동의 변화는 나를 놀라게합니다.


2
데이터베이스에서 피쳐 클래스를 작성할 때 ArcGis를 사용하면 두 좌표 간의 최소 차이를 다르게 간주하도록 지정할 수 있습니다 (기본값은 미터로 투영 된 좌표의 경우 0.001m, WGS84의 경우 0,000000008983153 도인 것 같습니다). 또한 qgis에 이러한 값이 무엇인지, 값을 수정할 수 있는지 알고 싶습니다.
JR

답변:


2

QGIS 2.18의 Geoalgorithms, Vector General Tools에 있는 QGIS Delete Duplicate Geometryries 도구는 QGIS의 Python 레이어에서 내보내거나 노출 한 지오메트리 객체에서 작동하는 Python 스크립트입니다. 이 레이어 아래에는 GEOS 레이어가 있습니다.

GEO 레이어의 지오메트리 항등 연산자는 두 지오메트리를 비교할 때 공차 매개 변수 (지도 거리 단위)를 허용합니다. 불행히도이 허용 오차 매개 변수는 QGIS의 Python 레이어에 의해 노출되지 않으므로 Delete Duplicate Geometries의 경우 모든 XY 값이 완전히 동일한 경우에만 두 개의 Geometry가 동일한 것으로 간주됩니다. 예를 들어, POINT (1.000000 1.000000)은 POINT (1.00000001 1.00000001)과 다릅니다.


QGIS 지리 알고리즘을 조사해 주셔서 감사합니다! 결과에서 래퍼 도구 (예 : Python 스크립트)가 공차 매개 변수에 액세스 할 수없는 경우 공차가 전적으로 데이터 유형에 달려 있음을 의미합니까? (즉, 허용 오차가 선택한 데이터 소스에 의해 제어되는 것처럼 보이는 이유가 무엇입니까?)
Kazuhito

예. 이 시점에서 중복 감지를 수행하기 전에 X 및 Y 값을 자르거나 반올림해야합니다. 이것은 POINT에 대해 간단하지만 (여전히 여러 단계로 변환하고 이리저리 진행하지만) 다른 형상에는 (실질적인) 프로그래밍이 필요합니다.
랄프 티

내가 참조. 더 명확하게 해주셔서 감사합니다. 현재로서는 불행한 일이지만, 향후 QGIS 버전은 프로그래머가 아닌 사람들에게 더 많은 통제권을 부여 할 것입니다.
Kazuhito

1

이 주제에 대한 흥미로운 독서는이 빈번한 질문입니다. 위도와 경도의 정확성을 측정합니까?

중복을 식별하도록 설계된 도구는 알지 못하지만 계산 관점에서 볼 때 엔터티의 스토리지 아키텍처와이를 처리하는 소프트웨어가 숫자를 처리하는 방식에 달려 있습니다. FLASE테스트가 동일하지 않은 경우 언어가 약간의 차이를 나타내는 방식으로 언어가 숫자를 나타내는 한 두 개의 다른 숫자가 출력 됩니다. 많은 경우에, 중복의 관심은 디지털화 과정에서 오타가 얼마나되는지 아는 것이 아니라 매우 같은 값을 찾는 것입니다.

다른 맥락에서, 복제물의 관심은 충분히 가깝고 실제적인 용어로 일치하는 객체를 식별하는 것입니다.

QGIS가 Python을 주요 언어로 사용한다고 가정하면, 파이썬 문서를 통해 질문을 처리 할 수 ​​있으며 기초 2 산술이 우리의 기본 수학 책과 어떻게 다른지에 대한 흥미로운 내용을 읽을 수 있습니다 : Python : 부동 소수점 산술 : 문제 및 제한


@Marco에게 감사하지만 내 질문에 집중하고 싶었던 요점은 정확성 (따라서 중복 / 겹치는 문제와 직접 관련이 있음)이 데이터 소스 (shapefile 또는 spaceite와 같은 db)에 의해 제어되는 것 같습니다. 충분히 명확하지 않았을 수 있습니다. 명확히하기 위해 질문을 편집하겠습니다.
Kazuhito

0

저는 여러 주에 등록 된 토지 측량사입니다. 다른 투영법으로 볼 수있는 것은 Lambert 또는 Mercator Grid에서 나오는 직선 / 거리입니다. 지구에 원뿔을 놓는 것과 같습니다. 그러면 측정 값이 지구 곡률 위의 반지름에 놓입니다. 횡 메르카토르는 테네시와 같은 더 긴 동서 주를위한 원통형 투영입니다. 측량 등급 GPS 시스템을 사용하여 우리는 종종 정보를 세계 투영과 비교하고 심지어 공중에 놓일 때의 상태 투영을 비교합니다. 모든 측정은 측정 된 각 지점에서 계산에 내장 된 매개 변수를 기반으로합니다. 서브 미터 매개 변수가있는 GIS 등급 장비를 사용하면 1 마일 또는 2 마일의 스트레치에서 매우 잘 일치합니다. 각도 측정에서 소수점 이하 6 자리 정도가 최대 값이면 정확도를 기대할 수 있습니다. 1 미터의 정확도로 포인트를 몇 번이나 GPS를 사용하더라도 고정밀 측정과 일치하는 "평균"또는 "모드"를 얻을 수 없습니다. 요약하자면, 안테나 또는 위성 정보로 작업 할 때 미터가 귀찮게하지 않습니다. 오, 지구 중심점에 대한 계산 된 각도와 비교하여 필드에서 수직 각도를 계산하는 세타 각도를 사용하여 지구 측정 낮잠에 대한 구형 계산이 있습니다. 실제 측정과 같은 것은 없습니다. 1975 년에 측량을 시작했을 때 우리의 상사는 우리에게 1 마일 떨어진 언덕이 많은 도로에 2 개의 못을 박았 고 우리는 그것을 묶어서 매일 한 달 동안 거리를 쏴야했습니다. 체인과 HP 거리 측정기의 대기 보정으로 거리 측정기와 원래 거리는 3 회, 체인과는 1 회만 일치했습니다. 매우 겸손한 예이며 올해 내내 나와 함께 있습니다. 나는 그들이 토지 측량 자로 발표했을 때 GIS 컨벤션에서 한 번 비난을 받았으며 (그는) 한마디도하지 않았지만 언제 내 모자를 쓰고 언제 GIS 모자를 썼는지 알고 있습니다.


너의 의도를 알 겠어. 사실 나는 실제 정확도로 어려움을 겪은 적이 없습니다. QGIS는 나노 스케일 또는 피코 스케일에서도 다른 위치에 서 있다고 말하고 있습니다. 주어진 두 점이 중복이라고 말하기 위해 얼마나 많은 소수점 이하 자릿수가 있어야하는지 알 수 없습니다. 그런데 1970 년대의 이야기를 공유해 주셔서 대단히 감사합니다. 저는지도 및 GIS의 개척 단계, 특히 GPS 이전 시대에 대해 들어 본 적이 없습니다. 와.
Kazuhito
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.