ST_DistanceSpheroid — 특정 회전타원체가 주어진 두 경위도 도형 사이의 최단 거리를 반환합니다. PostGIS 1.5 미만 버전은 포인트만 지원했습니다.
float ST_DistanceSpheroid(geometry geomlonlatA, geometry geomlonlatB, spheroid measurement_spheroid=WGS84);
특정 회전타원체가 주어진 두 경위도 도형 사이의 최단 거리를 반환합니다. 주어진 회전타원체에 대한 설명은 ST_LengthSpheroid 를 참조하십시오. PostGIS 1.5 미만 버전은 포인트만 지원했습니다.
|
|
|
현재 이 함수는 도형의 SRID를 찾아보지 않고 주어진 회전타원체의 좌표로 쓰여 있다고 가정할 것입니다. 이 함수의 이전 버전은 포인트만 지원했습니다. |
1.5 버전부터 포인트가 아닌 다른 도형 유형을 지원하기 시작했습니다. 1.5 미만 버전에서는 포인트에 대해서만 구현돼 있었습니다.
변경 사항: 2.2.0 미만 버전에서는 ST_Distance_Spheroid라는 명칭이었습니다.
WITH input AS (
SELECT ST_Centroid(
ST_GeomFromText(
'LINESTRING(-118.584 38.374,-118.583 38.5)', 4326
)
) AS source,
ST_GeomFromText('POINT(-118 38)', 4326) AS target
)
SELECT round(
ST_DistanceSpheroid(
source,
target,
'SPHEROID["WGS 84",6378137,298.257223563]'
)::numeric,
2
) AS dist_meters_spheroid,
round(ST_DistanceSphere(source, target)::numeric, 2)
AS dist_meters_sphere,
round(
ST_Distance(
ST_Transform(source, 32611),
ST_Transform(target, 32611)
)::numeric,
2
) AS dist_utm11_meters
FROM input;
dist_meters_spheroid | dist_meters_sphere | dist_utm11_meters
----------------------+--------------------+-------------------
70454.92 | 70424.71 | 70438.00