ST_Distance_Spheroid — 指定した回転楕円体による、2つのジオメトリ間の最小距離を返します。PostGIS 1.5より前ではポイントのみサポートされていました。
float ST_Distance_Spheroid(
geometry geomlonlatA, geometry geomlonlatB, spheroid measurement_spheroid)
;
指定した回転楕円体による、2つのジオメトリ間の最小距離を、メートル単位で返します。回転楕円体の説明については、ST_Length_Spheroidを参照して下さい。PostGIS 1.5より前ではポイントのみサポートされていました。
![]() | |
この関数は現在のところ、ジオメトリのSRIDを見ずに、常に関数に渡される回転楕円体の座標で表現されていると仮定します。以前の版ではポイントのみのサポートでした。 |
初出: 1.5 - ポイント以外のジオメトリ型が導入されました。以前の版ではポイントでのみ動作しました。
SELECT round(CAST( ST_Distance_Spheroid(ST_Centroid(the_geom), ST_GeomFromText('POINT(-118 38)',4326), 'SPHEROID["WGS 84",6378137,298.257223563]') As numeric),2) As dist_meters_spheroid, round(CAST(ST_Distance_Sphere(ST_Centroid(the_geom), ST_GeomFromText('POINT(-118 38)',4326)) As numeric),2) As dist_meters_sphere, round(CAST(ST_Distance(ST_Transform(ST_Centroid(the_geom),32611), ST_Transform(ST_GeomFromText('POINT(-118 38)', 4326),32611)) As numeric),2) As dist_utm11_meters FROM (SELECT ST_GeomFromText('LINESTRING(-118.584 38.374,-118.583 38.5)', 4326) As the_geom) as foo; dist_meters_spheroid | dist_meters_sphere | dist_utm11_meters ----------------------+--------------------+------------------- 70454.92 | 70424.47 | 70438.00