PostGIS関数サンプル集 †
Geometry Relationship Functions †
disjoint(Geometry, Geometry) †
二つのGeometryが同じ空間を共有していなければt(TRUE)を返す。
intersects(Geometry, Geometry) †
二つのGeometryが同じ空間を共有していればt(TRUE)を返す。
touches(geometry, geometry) †
二つのGeometryが接していればt(TRUE)を返す。
Geometry Processing Functions †
Centroid(geometry) †
図心を返す。ポリゴン内に位置するとは限らないことに注意。ポリゴン内の点を取得したいときはPointOnSurfes()を使用するとよい。
difference(Geoemtry, Geometry) †
PointOnSurface(geometry) †
Geometry上の点を返す。
buffer(geometry, float8, [integer]) †
指定した距離とセグメント数によりバッファを返す。
Point †
^X() †
Y() †
makePoint(float8, float8) †
座標を指定してPoint Geometry を作成する。
LineString †
LineStringFromText(text, [float4]) †
WKT書式の文字列とSRIDよりLineStringを生成する。SRIDが与えられない場合には,デフォルト値(-1)となる。
Length() †
StartPoint?() †
EndPoint?() †
IsClosed?() †
IsRing?() †
NumPoints?() †
PointN(Integer) †
Linear Referencing(線形参照) †
line_interpolate_point(LineString, float8) †
線分に沿った点を返す。
line_substring(LineString, float8, float8) †
LineStringより,始点と終点で指定した範囲のLineStringを取り出す。始点終点は第1引数で渡した元のLineStringの全延長(2d length)を1として,始点からの距離で指定する(0〜1.0)。
line_locate_point(LineString, Point) †
第2引数で渡したPOINTに最も近いLineString上の位置を,LineString全延長(2d length)を1とした距離の割合で返す(0.0〜1.0)。
locate_along_measure(geometry, float8) †
locate_between_measures(geometry, float8, float8) †
Polygon †
Area() †
ExteriorRing?(Polygon) †
| 分類 | OpenGIS標準 |
| 戻値型 | LineString |
Polygonに含まれるExteriorRing?をLineStringで返す。パラメータがPolygonでは無い場合にはNULLを返す。
NumInteriorRings?(Polygon) †
| 分類 | OpenGIS標準 |
| 戻値型 | Integer |
Polygonに含まれるInteriorRing?の数を返す。パラメータがPolygonでは場合にはNULLを返す。
InteriorRingN(Polygon, Integer) †
| 分類 | OpenGIS標準 |
| 戻値型 | LineString |
引数で渡した整数N番目のInteriorRing?を返す。
MultiLineString? †
IsClosed?() †
Length() †
MultiPoint? †
MultiPolygon? †
Area() †
GeometryCollection †
NumGeometries?(GeometryCollection) †
| 分類 | OpenGIS標準 |
| 引数 | GeometryCollection |
| 戻値型 | Integer |
GeometryがGeometryCollectionかMultiXXXの場合は,含まれるGeometryの数を返す。そうでない場合にはNULLを返す。
select NumGeometries(the_geom) from テーブル名
GeometryN(GeometryCollection, Integer) †
| 分類 | OpenGIS標準 |
| 引数 | GeometryCollection |
| 戻値型 | Geometry |
引数で渡した整数N番目のGeometryを返す。
ジオメトリ出力 †
ST_AsGeoJSON(Geometry) †
引数で渡したGeometryをGeoJSON形式に変換する。
-- ポイントデータをJSON形式で表示
SELECT ST_AsGeoJson(ST_GeomFromText('POINT(123.4 234.5)')) AS JSON;
-- 出力
JSON
------------------------------------------------------------------------
{"type":"Point","coordinates":[123.400000000000006,234.500000000000000]}
AsKML(Geometry, int4) †
引数1で渡したGeometoryをKMLのエレメント形式に変換する。引数2で出力する有効桁数を指定(デフォルト値は15)。
座標投影変換 †
Transform(Geometry, Integer) †
| 分類 | PostGIS拡張 |
| 引数1 | Geometry |
| 引数2 | SRID |
| 戻値型 | Geometry |
引数1で渡したGeometryを引数2で指定したSRIDへ変換する。
SRID関連 †
SetSRID(Geometry, integer) †
| 分類 | PostGIS拡張 |
| 引数1 | Geometry |
| 引数2 | SRID |
| 戻値型 | - |
引数2で渡したSRID番号によりGeometryにSRIDをセットする。
-- 旧公共座標II系をBOX3Dにセットし,
-- バウンディングボックス内の点を検索する例
SELECT the_geom
FROM point
WHERE the_geom_pl &&
SetSRID('BOX3D(-74000 63000, -72000 64500)'::box3d, 30162);
バージョン表示 †
postgis_version() †
| 分類 | PostGIS拡張 |
| 戻値型 | PostGISバージョン |
PostGISのバージョンを表示。
-- PostGISのバージョンを表示する。
SELECT postgis_version();
-- 結果表示
postgis_version
---------------------------------------
1.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)
PostGIS以外(PostgreSQL dbsize) †
pg_tablespace_size() †
pg_database_size() †
pg_relation_size() †
pg_total_relation_size() †
pg_size_pretty() †
参考資料 †
PostGIS Manual
OpenGIS Simple Features Specification For SQL Revision 1.1
Last-modified: Fri, 07 Nov 2008 17:32:41 JST (631d)










