名前

ST_Distance_Sphere — 二つの経度緯度ジオメトリ間の最小距離をメートル単位で返します.半径6370986メートルの球面を用います.ST_Distance_Spheroidより早いですが精度が低くなります.PostGIS 1.5より前では,ポイントについてのみ実装されていました.

概要

float ST_Distance_Sphere(geometry geomlonlatA, geometry geomlonlatB);

説明

二つの経度緯度ジオメトリ間の最小距離をメートル単位で返します.半径6370986メートルの球面を用います.ST_Distance_Spheroidより早いですが精度が低くなります.PostGIS 1.5より前では,ポイントについてのみ実装されていました.

[注意]

この関数は現在のところ,ジオメトリのSRIDを見ずに,常にWGS84経度緯度を仮定します.以前のバージョンではポイントのみのサポートでした.

初出バージョン: 1.5 - ポイント以外のジオメトリのサポートが導入されました.以前のバージョンではポイントでのみ動作しました.

SELECT round(CAST(ST_Distance_Sphere(ST_Centroid(the_geom), ST_GeomFromText('POINT(-118 38)',4326)) As numeric),2) As dist_meters,
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,
round(CAST(ST_Distance(ST_Centroid(the_geom), ST_GeomFromText('POINT(-118 38)', 4326)) As numeric),5) As dist_degrees,
round(CAST(ST_Distance(ST_Transform(the_geom,32611),
		ST_Transform(ST_GeomFromText('POINT(-118 38)', 4326),32611)) As numeric),2) As min_dist_line_point_meters
FROM
	(SELECT ST_GeomFromText('LINESTRING(-118.584 38.374,-118.583 38.5)', 4326) As the_geom) as foo;
	 dist_meters | dist_utm11_meters | dist_degrees | min_dist_line_point_meters
	-------------+-------------------+--------------+----------------------------
		70424.47 |          70438.00 |      0.72900 |                   65871.18

	

関連情報

ST_Distance, ST_Distance_Spheroid