PostGIS에서 두 기하학 사이의 거리 측정기 값을 어떻게 얻습니까?


14

PostGIS에서 거리를 계산하는 것에 대한 간단한 질문이 있습니다.

두 기하학 사이의 거리를 얻고 싶습니다. 나는이 sid를 사용하고 있습니다 : 4269 미터에서 내가 지금하고있는 것은 이것입니다 : ST_Distance((a.geom,b.geom)) FROM ...하지만 나는 결과를 얻었습니다. 지리와 함께 작업해야한다고 생각하지만 어떻게 지리를 지리에 캐스트 할 수 있습니까? (a.geom :: geography) 시도했지만 오류가 발생합니다.

결과를 미터 단위로 얻으려면 어떻게해야합니까?

감사합니다

답변:


20

ST_Distance_Sphere 당신은 그것을 얻을 수 있습니다 :

ST_Distance_Sphere(a.geom,b.geom)

ERREUR : la fonction st_distance_spheroid (형상, 기하학) n'existe pas ... 방금 추가했습니다 (a.geom, b.geom, 'SPHEROID [ "WGS 84", 6378137,298.257223563]'). 이제 제대로 작동합니다. 당신이 아주 많이 !
YassineGeoma

1
st_distance_spheroid보다 느리지 만 더 정확한 st_distance_spheroid 함수를 사용했습니다.
Francisco Valdez

두 도형 사이의 최대 거리는 어떻습니까?
vasilakisfil 2016 년

최대 거리는 earth_radius-minimum_distance이며 반대 방향으로 이동합니다. (제목 + 180º)
Francisco Valdez

1
@ don-prog 3D 및 2D 포인트에서 작동합니다.SELECT ST_Distance_Sphere(ST_GeomFromEWKT('SRID=4326;POINT(-72.1235 42.3521 4)'), ST_GeomFromEWKT('SRID=4326;POINT(-72.1260 42.45 15)'))
Francisco Valdez

3

SRID 4269 ( NAD 83 ) 의 단위는 미터가 아닙니다. 이것은 측지 투영법입니다 . 즉, 좌표는도 (지리 좌표)입니다.

pacofvf의 대답은 미터 단위의 거리를 제공하지만 실제로 초기 좌표를 미터 단위로 지정한 경우 투영 좌표계를 사용해야합니다. 아마도 북미 지역의 경우 매핑하려는 지역에 따라 여러 가지 다른 투영법을 가진 State Plane Coordinate System 과 같은 것을 원할 것 입니다.

위도 / 경도 값을 사용하고 있다고 생각 하므로이 두 번째 단락은 관련이 없습니다 ST_Distance_Sphere. 위 의 함수를 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.