ST_Distance ()에서 사용되는 단위는 무엇입니까?


24

에서 반환되는 float의 단위가 무엇인지 궁금합니다 ST_Distance.

설명서에서 다음과 같이 말합니다.

... 투영 된 단위의 두 기하학 사이의 카테 시안 최소 거리 (공간 참조에 기초).

이 예상 단위는 무엇입니까?

형상은 필드에 저장됩니다 geometry(Point,4326).

답변:


36

나는 이것이 시간이 지남에 따라 PostGIS 목록에서 가장 자주 묻는 질문이라고 생각합니다 :-)

데이터가 SRID 4326에 있고 geometrytype 을 사용 하면 결과에 의미가 없습니다. 도 단위입니다.

단지 캐스팅 미터의 결과를 얻으려면 geography입력을하고 ST_Distance대신 큰 원을 따라 거리를 계산하고 미터에 반환합니다.

geometry(Point,4326)::geography

다른 옵션은 적절한 단위를 기반으로 데이터를 로컬 프로젝션에 투영하는 것입니다. 그러면 그 단위로 답이 될 것입니다.


2
다음은 테이블에서 두 행 사이의 거리를 찾는 예입니다. SELECT ST_Distance (a.geom :: geography, b.geom :: geography) FROM pure_gis a, pure_gis b WHERE a.id = '1'AND b.id = '2';
Brian McCall

4

에서 http://postgis.net/docs/ST_Distance.html

-기하학적 예-평면도 4326의 단위는 WGS 84 롱 위도 단위입니다.

ST_Distance두 개의 지오메트리가 제공 되면 해당 지오메트리가 실제로 직교 좌표계 (또는 평면) 좌표에 있다고 가정합니다. 따라서 단위는 좌표계와 동일하며 일반적으로 미터 또는 피트입니다.

문제는 공간 참조 시스템 인 4326이 실제로 (각도) 지리 좌표 (길이가 긴 각도)를 사용하므로 결과가 (어떤 의미가없는) 도인 것으로 보입니다.


1
결과는 전혀 의미가 없으며 다소도 의미가 없습니다.
Paul Ramsey 2013

@PaulRamsey. 그들은 PlateCaree 투영에서 "측정"거리를 얻는 것과 동일하지 않습니까?
Martin F

PC에서는 선형 장치를 다시 사용할 수 있으며 최소한 "확인합니다.이 장치가 심하게 왜곡 될 수 있습니다."라고 말할 수 있습니다. "도"를 되 찾으면 사람들은 "아하, 여기에 각거리가 있고, 2R을 곱하면 선형 거리가 있습니다"라고 생각할 수도 있습니다. 이 장치는 잘못된 측정으로 인해 훨씬 ​​더 오해의 소지가 있습니다. 그리고 PC는 너무 끔찍합니다. 왜 투영 이름을 얻었는지 모르겠습니다. 거리를 유지하지 않고, 방향을 유지하지 않고, 영역을 유지하지 않습니다 ...
Paul Ramsey

PC는 적도를 따라 적도에 수직 인 거리를 유지합니다. 필요한 라디안 및 반지름 변환 (매우 큰 불편 함) 외에, 4326 지오메트리에서 ST_Distance를 사용한 결과는 투영 지오메트리와 함께 ST_Distance를 사용할 때 고려해야하는 동일한 단점과 이점의 일반적인 혼합을 갖습니다. 아마도 더 나은 논쟁은 "무언가"대 "완전히"무의미한 것이 아니라 ""ST_Distance와 ST_Area가 심지어 4326의 지오메트리에서 결과를 반환하도록 허용되어야 하는가? "
Martin F
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.