PostGIS 3.5.0dev マニュアル

DEV (Thu 21 Sep 2023 07:23:39 AM UTC rev. 4395b1f )

PostGIS開発グループ

Abstract

PostGISは、オブジェクトRDBであるPostgreSQLの拡張で、GIS (地理情報システム)オブジェクトを格納することができます。PostGISは、GiSTベースのR木空間インデクスをサポートし、GISオブジェクトの解析および処理を行う機能を持ちます。

本マニュアルは、3.5.0dev版のマニュアルです。

この作品はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下に提供されています。好きなようにこの材料を使うことができますが、PostGIS Project のクレジット提示を求めます。また可能な限りhttp://postgis.netへのリンクを求めます。


Table of Contents
1. 導入
1.1. プロジェクト運営委員会
1.2. 現在の中核貢献者
1.3. 過去の中核貢献者
1.4. 他の貢献者
2. PostGISインストール
2.1. 簡略版
2.2. ソースからのコンパイルとインストール
2.2.1. ソースの取得
2.2.2. インストール要件
2.2.3. コンフィギュレーション
2.2.4. ビルド
2.2.5. PostGISエクステンションのビルドとデプロイ
2.2.6. テスト
2.2.7. インストール
2.3. PAGC住所標準化ツールのインストールと使用
2.4. Tigerジオコーダのインストールとアップグレードとデータロード
2.4.1. TigerジオコーダをPostGISデータベースで有効にする
2.4.2. TigerジオコーダをPostGISデータベースで有効にする: エクステンションを使用
2.4.3. Tigerデータのロードに必要なツール
2.4.4. Tigerジオコーダとデータのアップグレード
2.5. 共通の問題
3. PostGIS管理
3.1. パフォーマンスチューニング
3.1.1. 起動時
3.1.2. 実行時
3.2. ラスタ機能の設定
3.3. 空間データベースの作成
3.3.1. エクステンションを使って空間データベースを有効にする
3.3.2. エクステンションを使わずに空間データベースを有効にする (お勧めできません)
3.4. 空間データベースのアップグレード
3.4.1. ソフトアップグレード
3.4.2. ハードアップグレード
4. データ管理
4.1. 空間データ モデル
4.1.1. OGC ジオメトリ
4.1.2. SQL/MM Part 3 - 曲線
4.1.3. WKTとWKB
4.2. ジオメトリデータタイプ
4.2.1. PostGIS EWKBとEWKT
4.3. ジオグラフィデータタイプ
4.3.1. ジオグラフィテーブルの生成
4.3.2. ジオグラフィテーブルの使用
4.3.3. ジオグラフィ型を使用すべき時
4.3.4. ジオグラフィに関する高度なよくある質問
4.4. ジオメトリ検証
4.4.1. 単純ジオメトリ
4.4.2. 妥当なジオメトリ
4.4.3. 妥当性の管理
4.5. 空間参照系
4.5.1. SPATIAL_REF_SYSテーブル
4.5.2. ユーザ定義空間参照系
4.6. 空間テーブル
4.6.1. 空間テーブルを作る
4.6.2. GEOMETRY_COLUMNSビュー
4.6.3. 手動でジオメトリカラムをgeometry_columnsに登録する
4.7. 空間データのロード
4.7.1. SQLを使ってロードする
4.7.2. シェープファイルローダを使う
4.8. 空間データの抽出
4.8.1. SQLを使ってデータを抽出する
4.8.2. ダンパを使う
4.9. 空間インデックス
4.9.1. GiSTインデックス
4.9.2. BRINインデックス
4.9.3. SP-GiSTインデックス
4.9.4. インデックス使用のチューニング
5. 空間クエリ
5.1. 空間関係の決定
5.1.1. Dimensionally Extended 9-Intersection Model
5.1.2. 名前付き空間関係
5.1.3. 一般的な空間関係
5.2. 空間インデックスを使う
5.3. 空間SQLの例
6. 性能向上に関する技法
6.1. 大きなジオメトリを持つ小さなテーブル
6.1.1. 問題の説明
6.1.2. 応急処置
6.2. ジオメトリインデックスでCLUSTERを実行する
6.3. 次元変換の回避
7. PostGISリファレンス
7.1. PostGIS Geometry/Geography/Box データ型
box2d — 2次元バウンディングボックスを表現する型。
box3d — 3次元バウンディングボックスを表現する型。
geometry — 平面座標系を持つ空間地物を表現する型。
geometry_dump — 複雑なジオメトリの部品を記述するために使われる複合型です。
geography — 地理座標系 (回転楕円体)座標系を持つ空間地物を表現する型です。
7.2. テーブル管理関数
AddGeometryColumn — ジオメトリカラムを既存のテーブルに追加します。
DropGeometryColumn — ジオメトリカラムを空間テーブルから除去します。
DropGeometryTable — テーブルとgeometry_columnsの当該テーブルへの参照の全てを削除します。
Find_SRID — ジオメトリカラムで定義されているSRIDを返します。
Populate_Geometry_Columns — ジオメトリカラムが型修飾子で定義されるか、適切な空間制約を持つようにします。
UpdateGeometrySRID — ジオメトリカラム内の全ての地物のSRIDを更新し、テーブルのメタデータを更新します。
7.3. ジオメトリ コンストラクタ
ST_Collect — ジオメトリの集合からジオメトリコレクションまたはマルチ系ジオメトリを生成します。
ST_LineFromMultiPoint — マルチポイントジオメトリからラインストリングを生成します。
ST_MakeEnvelope — 座標値の最小値と最大値から矩形ポリゴンを生成します。
ST_MakeLine — POINT、MULTIPOINT、LINESTRINGからLINESTRINGを生成します。
ST_MakePoint — 2次元、3次元 (XYZ)、4次元のポイントを生成します。
ST_MakePointM — X, Y, M値からポイントを生成します。
ST_MakePolygon — 外殻と穴のリストからポリゴンを生成します。
ST_Point — X, YとSRIDの値からポイントを生成します。
ST_PointZ — X, Y, ZとSRIDの値からポイントを生成します。
ST_PointM — X, Y, MとSRIDの値からポイントを生成します。
ST_PointZM — X, Y, Z, MとSRIDの値からポイントを生成します。
ST_Polygon — ラインストリングから指定したSRIDを持つポリゴンを生成します。
ST_TileEnvelope — Webメルカトル (SRID:3857)上で XYZタイルを使った矩形ポリゴンを生成します。
ST_HexagonGrid — 引数ジオメトリの境界を完全にカバーする六角形とセルインデックスを返します。
ST_Hexagon — 与えられたエッジサイズと六角形グリッド空間内のセル座標を使って単一の六角形を返します。
ST_SquareGrid — 引数ジオメトリの境界を完全にカバーするグリッド正方形とセルインデックスを返します。
ST_Square — 与えられたエッジサイズと六角形グリッド空間内のセル座標を使って単一の正方形を返します。
ST_Letters — デフォルトの開始位置を原点とし、デフォルトの高さを100とする、ジオメトリとして描画された文字を返します。
7.4. ジオメトリアクセサ
GeometryType — ジオメトリのタイプを文字列で返します。
ST_Boundary — ジオメトリの境界を返します。
ST_BoundingDiagonal — ジオメトリのバウンディングボックスの対角線を返します。
ST_CoordDim — ジオメトリの座標次元を返します。
ST_Dimension — ST_Geometry値の座標次元を返します。
ST_Dump — ジオメトリの要素となるgeometry_dump行の集合を返します。
ST_DumpPoints — ジオメトリ内の座標の行であるgeometry_dump行の集合を返します。
ST_DumpSegments — ジオメトリ内の辺の行であるgeometry_dump行の集合を返します。
ST_DumpRings — ポリゴンのリングごとのgeometry_dump行の集合を返します。
ST_EndPoint — LINESTRINGまたはCIRCULARLINESTRINGの終端のポイントを返します。
ST_Envelope — ジオメトリのバウンディングボックスを表現するジオメトリを返します。
ST_ExteriorRing — ポリゴンの外環を表現するラインストリングを返します。
ST_GeometryN — ジオメトリコレクションの要素を一つ返します。
ST_GeometryType — ジオメトリのSQL-MM型を文字列で返します。
ST_HasArc — ジオメトリに円弧が含まれているかどうかテストします。
ST_InteriorRingN — ポリゴンのN番目の内環 (穴)を返します。
ST_IsClosed — ラインストリングの始点と終点が一致しているかをテストします。多面体サーフェスについては閉じているか (立体であるか)をテストします。
ST_IsCollection — ジオメトリのタイプがジオメトリコレクションかをテストします。
ST_IsEmpty — ジオメトリが空かをテストします。
ST_IsPolygonCCW — ポリゴンが反時計回りの外環を持っていて、時計回りの内環を持っているかをテストします。
ST_IsPolygonCW — ポリゴンが時計回りの外環を持っていて、反時計回りの内環を持っているかをテストします。
ST_IsRing — ラインストリングが閉じていてかつ単純であるかをテストします。
ST_IsSimple — ジオメトリが自己インタセクトまたは自己接触となるポイントが無いかをテストします。
ST_M — ポイントのM値を返します。
ST_MemSize — ジオメトリが取るメモリ空間の合計を返します。
ST_NDims — ST_Geometry値の座標次元を返します。
ST_NPoints — ジオメトリのポイント (頂点)の数を返します。
ST_NRings — ポリゴンジオメトリのリング数を返します。
ST_NumGeometries — ジオメトリコレクションの要素数を返します。
ST_NumInteriorRings — ポリゴンの内環 (穴)の数を返します。
ST_NumInteriorRing — ポリゴンの内環 (穴)の数を返します。ST_NumInteriorRingsの別名です。
ST_NumPatches — 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
ST_NumPoints — ラインストリングまたは曲線ストリングのポイント数を返します。
ST_PatchN — 多面体サーフェスのN番目のジオメトリ (フェイス)を返します。
ST_PointN — ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。
ST_Points — ジオメトリの全ての座標を含むマルチポイントを返します。
ST_StartPoint — ラインストリングの始点を返します。
ST_Summary — ジオメトリについての要約文を返します。
ST_X — ポイントのX値を返します。
ST_Y — ポイントのY値を返します。
ST_Z — ポイントのZ値を返します。
ST_Zmflag — ジオメトリのZM座標次元を示す符号を返します。
7.5. ジオメトリエディタ
ST_AddPoint — ラインストリングにポイントを追加します。
ST_CollectionExtract — ジオメトリコレクションを与えると、指定されたタイプの要素だけからなるマルチジオメトリを返します。
ST_CollectionHomogenize — ジオメトリコレクションを与えると、最も単純な表現を返します。
ST_CurveToLine — 曲線を含むジオメトリを線ジオメトリに変換します。
ST_Scroll — 閉じたLINESTRINGの開始点を変更する。
ST_FlipCoordinates — X値とY値を入れ替えたジオメトリを返します。
ST_Force2D — ジオメトリを2次元モードに強制します。
ST_Force3D — ジオメトリをXYZモードに強制します。これはST_Force3DZの別名です。
ST_Force3DZ — ジオメトリをXYZモードに強制します。
ST_Force3DM — ジオメトリをXYMモードに強制します。
ST_Force4D — ジオメトリをXYZMモードに強制します。
ST_ForcePolygonCCW — 全ての外環を反時計回りに、全ての内環を時計回りに、それぞれ強制します。
ST_ForceCollection — ジオメトリをジオメトリコレクションに変換します。
ST_ForcePolygonCW — 全ての外環を時計回りに、全ての内環を反時計回りに、それぞれ強制します。
ST_ForceSFS — SFS 1.1ジオメトリタイプのみ使うようジオメトリに強制します。
ST_ForceRHR — ポリゴンの頂点の方向を右回りに強制します。
ST_ForceCurve — 該当する場合は、ジオメトリを曲線タイプに変換します。
ST_LineToCurve — 曲線を含むジオメトリを線ジオメトリに変換します。
ST_Multi — マルチ系ジオメトリを返します。
ST_LineExtend — 最後の辺と最初の辺を指定した距離だけ延長されたラインを返します。
ST_Normalize — 標準的な形式に変えたジオメトリを返します。
ST_Project — 始点から距離と方位で算出されたポイントを返します。
ST_QuantizeCoordinates — 座標値の最下位ビットを0にします。
ST_RemovePoint — ラインストリングからポイントを削除します。
ST_RemoveRepeatedPoints — 重複ポイントを除いたジオメトリを返します。
ST_Reverse — 頂点の順序を逆にしたジオメトリを返します。
ST_Segmentize — 与えた長さを超える線分を持たないよう変更したジオメトリ/ジオグラフィを返します。
ST_SetPoint — ラインストリングのポイントを与えられたポイントに置き換えます。
ST_ShiftLongitude — 経度座標値を-180度から180度の範囲と0度から360度の範囲との二つの範囲を行き来するようシフトします。
ST_WrapX — ジオメトリをX値で回り込ませます。
ST_SnapToGrid — 入力ジオメトリの全ての点を規則的なグリッドにスナップします。
ST_Snap — 入力ジオメトリの辺と頂点を参照ジオメトリの頂点にスナップします。
ST_SwapOrdinates — 与えられたジオメトリにおいて与えられた座標の値を入れ替えたジオメトリを返します。
7.6. ジオメトリ検証
ST_IsValid — ジオメトリが2次元で整形されているかのテスト。
ST_IsValidDetail — ジオメトリが妥当か、妥当でないなら理由と位置をそれぞれ示すvalid_detail行を返します。
ST_IsValidReason — ジオメトリが妥当か否かを示す文字列を返し、不正な場合は理由を返します。
ST_MakeValid — 頂点を失うことなしに不正なジオメトリを妥当なジオメトリにしようと試みます。
7.7. 空間参照系関数
ST_InverseTransformPipeline — 定義した座標変換パイプラインの逆変換を使って、異なる空間参照系に座標値を変換した新しいジオメトリを返します。
ST_SetSRID — ジオメトリにSRIDを設定します。
ST_SRID — ジオメトリの空間参照系識別子を返します。
ST_Transform — 異なる空間参照系に投影変換された新しいジオメトリを返します。
ST_TransformPipeline — 定義されている座標変換パイプラインを使用して異なる空間参照系に変換された新しいジオメトリを返します。
postgis_srs_codes — 指定した機関に関連付けられたSRSコードの一覧を返します。
postgis_srs — 求める機関と空間参照識別子に関するメタデータレコードを返します。
postgis_srs_all — Projデータベース内のあらゆる空間参照系のメタデータレコードを返します。
postgis_srs_search — boundsパラメータを完全に含む適用範囲を持つ投影座標系のメタデータレコードを返します。
7.8. ジオメトリ入力
7.8.1. Well-Known Text (WKT)
7.8.2. Well-Known Binary (WKB)
7.8.3. その他の書式
7.9. ジオメトリ出力
7.9.1. Well-Known Text (WKT)
7.9.2. Well-Known Binary (WKB)
7.9.3. その他の書式
7.10. 演算子
7.10.1. バウンディングボックス演算子
7.10.2. 距離演算子
7.11. 空間関係関数
7.11.1. トポロジ関係関数
7.11.2. 距離関係関数
7.12. 計測関数
ST_Area — ポリゴンジオメトリの面積を返します。
ST_Azimuth — 北を基準とした2点間の線の方位角を返します。
ST_Angle — 3点もしくは4点、または2線で定義される二つのベクタ間の角度を返します。
ST_ClosestPoint — g1上にある、g2と最近傍となる2次元ポイントを返します。これは、あるジオメトリから他のジオメトリへの最短ラインの一つ目のポイントです。
ST_3DClosestPoint — g1上の、g2に最も近い3次元ポイントを返します。これは3次元の最短ラインの始点です。
ST_Distance — 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
ST_3DDistance — 投影座標系の単位で、二つのジオメトリ間の3次元デカルト距離の最小値を返します (空間参照系に基づきます)。
ST_DistanceSphere — 球面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離をメートル単位で返します。
ST_DistanceSpheroid — 回転楕円体面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離を返します。
ST_FrechetDistance — 二つのジオメトリのフレシェ距離を返します。
ST_HausdorffDistance — 二つのジオメトリ間のハウスドルフ距離を返します。
ST_Length — 線系ジオメトリの2次元長を返します。
ST_Length2D — LINESTRINGまたはMULTILINESTRINGに対して、ジオメトリの2次元長を返します。これはST_Lengthの別名です。
ST_3DLength — 線ジオメトリの3次元長を返します。
ST_LengthSpheroid — 回転楕円体面上の経度緯度のジオメトリの2次元または3次元の長さ/周長を返します。
ST_LongestLine — 二つのジオメトリ間の2次元最長ラインを返します。
ST_3DLongestLine — 二つのジオメトリ間の3次元最長ラインを返します。
ST_MaxDistance — 二つのジオメトリ間の2次元最長距離を空間参照系の単位で返します。
ST_3DMaxDistance — 二つのジオメトリ間の3次元最大デカルト距離 (空間参照系に基づく)を空間参照系の単位で返します。
ST_MinimumClearance — ジオメトリのクリアランスの最小値を返します。この値はジオメトリのロバスト性を示すものです。
ST_MinimumClearanceLine — ジオメトリの最小クリアランスを示す、2点のラインストリングを返します。
ST_Perimeter — ポリゴンジオメトリまたはジオグラフィの境界の長さを返します。
ST_Perimeter2D — ポリゴンジオメトリの2次元周長を返します。ST_Perimeterの別名です。
ST_3DPerimeter — ポリゴンジオメトリの3次元周長を返します。
ST_ShortestLine — 二つのジオメトリの3次元の最短ラインを返します。
ST_3DShortestLine — 二つのジオメトリの3次元の最短ラインを返します。
7.13. 重ね合わせ関数
ST_ClipByBox2D — 長方形内に落ちるジオメトリの一部を返します。
ST_Difference — ジオメトリBとインタセクトしていないジオメトリAの一部を表現するジオメトリを計算します。
ST_Intersection — ジオメトリAとジオメトリBの共通部分を表現するジオメトリを返します。
ST_MemUnion — ジオメトリを結合する集約関数で、メモリを効率的に使いますが処理時間のかかるものです。
ST_Node — ラインストリングの集合にノードを作成します。
ST_Split — ジオメトリを他のジオメトリで分割してできたジオメトリのコレクションを返します。
ST_Subdivide — ジオメトリの線の分割を計算します。
ST_SymDifference — ジオメトリAとジオメトリBがインタセクトしていない部分を表現するジオメトリを返します。
ST_UnaryUnion — 単一のジオメトリの要素の結合を計算します。
ST_Union — 入力ジオメトリのポイント集合の結合を表現するジオメトリを返します。
7.14. ジオメトリ処理関数
ST_Buffer — あるジオメトリからの距離が指定された距離以下となる点全ての集合となるジオメトリを返します。
ST_BuildArea — 与えられたジオメトリの構成ラインワークから面ジオメトリを生成します。
ST_Centroid — ジオメトリの幾何学的重心を返します。
ST_ChaikinSmoothing — チャイキンのアルゴリズムを使って、与えられたジオメトリの平滑化されたものを返します。
ST_ConcaveHull — 全ての入力ジオメトリの頂点を含む凹ジオメトリを計算します。
ST_ConvexHull — ジオメトリの凸包を計算します。
ST_DelaunayTriangles — ジオメトリの頂点のドローネ三角形を返します。
ST_FilterByM — M値に基づいて頂点を削除します。
ST_GeneratePoints — ポリゴン内やマルチポリゴン内にランダムなマルチポイントを生成します。
ST_GeometricMedian — マルチポイントの幾何学的中央値を返します。
ST_LineMerge — MULTILINESTRINGを縫い合わせて形成したラインを返します。
ST_MaximumInscribedCircle — ジオメトリに含まれる最大の円を計算します。
ST_LargestEmptyCircle — ジオメトリとオーバラップ市内最大の円を計算します。
ST_MinimumBoundingCircle — 入力ジオメトリを含む最小の円を返します。
ST_MinimumBoundingRadius — ジオメトリを完全に包含する最小円の中心ポイントと半径を返します。
ST_OrientedEnvelope — ジオメトリを囲む最小の回転四角形を返します。
ST_OffsetCurve — 与えられた距離と方面に入力ラインをずらしたラインを返します。
ST_PointOnSurface — ポリゴン内またはジオメトリ上にあるのが保証されたポイントを返します。
ST_Polygonize — ジオメトリ集合のラインワークから形成されるポリゴンのコレクションを計算します。
ST_ReducePrecision — 全ての与えられたグリッド許容値に丸められたポイントからなる妥当なジオメトリを返します。
ST_SharedPaths — 二つのLINESTRING/MULTILINESTRINGの入力が共有するパスのコレクションを返します。
ST_Simplify — Douglas-Peukerアルゴリズムを使用して、与えられたジオメトリを簡略化したものを返します。
ST_SimplifyPreserveTopology — Douglas-Peukerアルゴリズムを使用して、与えられたジオメトリを簡略化したものを返します。
ST_SimplifyPolygonHull — ポリゴンジオメトリに対してトポロジを保存した状態で簡略化した外側または内側の凹包を計算します。
ST_SimplifyVW — Visvalingam-Whyattアルゴリズムを使用して、入力ジオメトリを簡略化したジオメトリを返します。
ST_SetEffectiveArea — Visvalingam-Whyattアルゴリズムを使って有効範囲となる個々の頂点を置きます。
ST_TriangulatePolygon — ポリゴンの制約付きドロネー三角分割を計算します。
ST_VoronoiLines — ジオメトリの頂点からボロノイ図のセルを返します。
ST_VoronoiPolygons — ジオメトリの頂点からボロノイ図のセルを返します。
7.15. カバレッジ
ST_CoverageInvalidEdges — ポリゴンが妥当なカバレッジの形成に失敗する位置を検索するウィンドウ関数。
ST_CoverageSimplify — ポリゴンカバレッジのエッジを単純化するウィンドウ関数。
ST_CoverageUnion — 共有しているエッジを除去することでカバレッジを形成するポリゴンの集合の結合を計算します。
7.16. アフィン変換
ST_Affine — ジオメトリに3次元アフィン変換を適用します。
ST_Rotate — ジオメトリを原点について回転させます。
ST_RotateX — ジオメトリをX軸について回転させます。
ST_RotateY — ジオメトリをY軸について回転させます。
ST_RotateZ — ジオメトリをZ軸について回転させます。
ST_Scale — 与えた係数でジオメトリを拡大縮小します。
ST_Translate — 与えられたオフセットでジオメトリを変換します。
ST_TransScale — 与えられた係数とオフセットでジオメトリを変換します。
7.17. クラスタリング関数
ST_ClusterDBSCAN — 入力ジオメトリごとにDBSCANアルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
ST_ClusterIntersecting — 入力ジオメトリを接続関係にある集合にクラスタリングする集約関数です。
ST_ClusterIntersectingWin — 入力ジオメトリごとに接続された集合にクラスタリングを行い、クラスタIDを返すウィンドウ関数です。
ST_ClusterKMeans — 入力ジオメトリごとにk平均法アルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
ST_ClusterWithin — 分離距離でジオメトリのクラスタリングを行う集約関数です。
ST_ClusterWithinWin — 入力ジオメトリごとに分離距離を使ったクラスタリングを行い、クラスタIDを返すウィンドウ関数です。
7.18. バウンディングボックス関数
Box2D — ジオメトリの2次元範囲を表現するBOX2Dを返します。
Box3D — ジオメトリの3次元範囲を表現するBOX3Dを返します。
ST_EstimatedExtent — 空間テーブルの推定範囲を返します。
ST_Expand — 他のバウンディングボックスまたはジオメトリから拡張されたバウンディングボックスを返します。
ST_Extent — ジオメトリのバウンディングボックスを返す集約関数です。
ST_3DExtent — ジオメトリの3次元バウンディングボックスを返す集約関数です。
ST_MakeBox2D — 二つの2次元のポイントジオメトリで定義されるBOX2Dを生成します。
ST_3DMakeBox — 二つの3次元のポイントジオメトリで定義されるBOX3Dを生成します。
ST_XMax — 2次元または3次元のバウンディングボックスまたはジオメトリのXの最大値を返します。
ST_XMin — 2次元または3次元のバウンディングボックスまたはジオメトリのXの最小値を返します。
ST_YMax — 2次元または3次元のバウンディングボックスまたはジオメトリのYの最大値を返します。
ST_YMin — 2次元または3次元のバウンディングボックスまたはジオメトリのYの最小値を返します。
ST_ZMax — 2次元または3次元のバウンディングボックスまたはジオメトリのZの最大値を返します。
ST_ZMin — 2次元または3次元のバウンディングボックスまたはジオメトリのZの最小値を返します。
7.19. 線型参照
ST_LineInterpolatePoint — ラインに沿って、割合で示された位置の補間ポイントを返します。
ST_3DLineInterpolatePoint — 3次元ラインに沿って、割合で示された位置の補間ポイントを返します。
ST_LineInterpolatePoints — ラインに沿って、割合で示された複数の位置の補間ポイントを返します。
ST_LineLocatePoint — ポイントに最も近いライン上のポイントの位置を割合で返します。
ST_LineSubstring — 二つの割合位置からラインの一部を返します。
ST_LocateAlong — M値に一致するジオメトリ上のポイントを返します。
ST_LocateBetween — M値の範囲に合致する部分ジオメトリを返します。
ST_LocateBetweenElevations — 標高 (Z値)範囲にある部分ジオメトリを返します。
ST_InterpolatePoint — ジオメトリのポイントに最も近いポイント上の補間M値を返します。
ST_AddMeasure — ラインに沿ったM値を補間します。
7.20. トラジェクトリ関数
ST_IsValidTrajectory — ジオメトリが妥当なトラジェクトリであるかどうかをテストします。
ST_ClosestPointOfApproach — 二つのトラジェクトリの最接近時の距離を返します。
ST_DistanceCPA — 二つのトラジェクトリの最接近する時の距離を返します。
ST_CPAWithin — 二つのトラジェクトリの最接近時の距離が指定距離内であるかどうかをテストします。
7.21. SFCGAL関数
postgis_sfcgal_version — 使用しているSFCGALのバージョンを返します
postgis_sfcgal_full_version — CGALとBoostのバージョンを含む、使用しているSFCGALの完全なバージョンを返します
ST_3DArea — 3次元の面ジオメトリの面積を計算します。立体の場合は0を返します。
ST_3DConvexHull — ジオメトリの3次元の凸包を計算します。
ST_3DIntersection — 3次元のインタセクトした (共有する)部分を計算します。
ST_3DDifference — 3次元の差分を計算します。
ST_3DUnion — 3次元の結合を計算します。
ST_AlphaShape — ジオメトリを囲むアルファシェイプを計算します。
ST_ApproximateMedialAxis — 面ジオメトリの近似的な中心軸を計算します。
ST_ConstrainedDelaunayTriangles — 入力ジオメトリの周りの制約付きドロネー三角形を返します。
ST_Extrude — 関連するボリュームにサーフェスを押し出します。
ST_ForceLHR — LHR (Left Hand Rule)方向に強制します。
ST_IsPlanar — サーフェスが平面であるかないかをチェックします。
ST_IsSolid — ジオメトリが立体であるかどうかをテストします。妥当性チェックは行いません。
ST_MakeSolid — ジオメトリを立体にキャストします。チェックはしません。妥当な立体を得るには、入力ジオメトリは閉じた多面体サーフェスか閉じたTINでなければなりません。
ST_MinkowskiSum — ミンコフスキー和を求めます。
ST_OptimalAlphaShape — 「最適」アルファ値を使ってジオメトリを囲むアルファシェイプを計算します。
ST_Orientation — サーフェスの方向を判定します。
ST_StraightSkeleton — ジオメトリからストレートスケルトンを計算します。
ST_Tesselate — ポリゴンまたは多面体サーフェスのテッセレーションを計算し、TINまたはTINコレクションを返します。
ST_Volume — 3次元立体の体積を計算します。面ジオメトリは (閉じていても)0を返します。
7.22. ロングトランザクション機能
AddAuth — 現在のトランザクションで使用する認可トークンを追加します。
CheckAuth — 認可トークンを基に行の更新と削除とを禁止/許可するためにテーブル上にトリガを生成します。
DisableLongTransactions — ロングトランザクション機能を無効にします。
EnableLongTransactions — ロングトランザクション機能を有効にします。
LockRow — テーブル内の行にロック/認可を設定します。
UnlockRows — 認可トークンによって保持されているロックをすべて削除します。
7.23. バージョン関数
PostGIS_Extensions_Upgrade — PostGISエクステンション (例: postgis_raster, postgis_topology, postgis_sfcgal)について、指定したバージョンまたは最新版にパッケージ化し、アップグレードします。
PostGIS_Full_Version — 完全なPostGISのバージョン情報とコンフィギュレーション情報を報告します。
PostGIS_GEOS_Version — GEOSライブラリのバージョン番号を返します。
PostGIS_GEOS_Compiled_Version — PostGISのビルドに使われたGEOSライブラリのバージョン番号を返します。
PostGIS_Liblwgeom_Version — liblwgeomライブラリのバージョン番号を返します。PostGISのバージョンと同じになるべきものです。
PostGIS_LibXML_Version — LibXML2ライブラリのバージョン番号を返します。
PostGIS_Lib_Build_Date — PostGISライブラリのビルド日付を返します。
PostGIS_Lib_Version — PostGISのバージョン番号を返します。
PostGIS_PROJ_Version — PROJ4のバージョン番号を返します。
PostGIS_Wagyu_Version — 内部のWagyuライブラリのバージョン番号を返します。
PostGIS_Scripts_Build_Date — PostGISスクリプトのビルド日付を返します。
PostGIS_Scripts_Installed — このデータベースにインストールしたPostGISスクリプトのバージョンを返します。
PostGIS_Scripts_Released — インストールしたPostGISライブラリとともにリリースされたpostgis.sqlスクリプトのバージョン番号を返します。
PostGIS_Version — PostGISバージョン番号とコンパイルオプションを返します。
7.24. Grand Unified Custom変数 (GUC)
postgis.backend — GEOSとSFCGALで重複する関数を提供するバックエンドです。GEOSまたはSFCGALを選択します。デフォルトはGEOSです。
postgis.gdal_datapath — GDALのGDAL_DATAオプションの値を設定するためのコンフィギュレーションオプションです。設定しない場合には、GDAL_DATA環境変数が使われます。
postgis.gdal_enabled_drivers — PostGIS環境でGDALドライバを有効にするコンフィギュレーションオプションです。GDALコンフィギュレーション変数GDAL_SKIPに影響を与えます。
postgis.enable_outdb_rasters — データベース外ラスタのバンドにアクセスできるようにする、真偽型のコンフィギュレーションオプション。
postgis.gdal_config_options — データベース外ラスタを操作する時に使用するオプションを設定するためのコンフィギュレーション。
7.25. トラブルシューティング関数
PostGIS_AddBBox — ジオメトリにバウンディングボックスを追加します。
PostGIS_DropBBox — ジオメトリからバウンディングボックスのキャッシュを削除します。
PostGIS_HasBBox — ジオメトリのバウンディングボックスがキャッシュされている場合にはTRUEを返し、他の場合にはFALSEを返します。
8. トポロジ
8.1. トポロジ型
getfaceedges_returntype — 順序番号とエッジ番号で構成される複合型。
TopoGeometry — トポロジとして定義されたジオメトリを表現する型です。
validatetopology_returntype — エラーメッセージとエラーの場所を示すid1とid2からなる複合型です。これはValidateTopologyが返す型です。
8.2. トポロジドメイン
TopoElement — 二つの整数の配列で、通常TopoGeometry要素を識別するために使われます。
TopoElementArray — TopoElementオブジェクトの配列。
8.3. トポロジ管理とTopoGeometry管理
AddTopoGeometryColumn — 既存のテーブルにTopoGeometryカラムを追加し、topology.layer内に新しいレイヤとして新しいカラムを登録して、新しい layer_id を返します。
RenameTopoGeometryColumn — TopoGeometryカラムの名前を変更します
DropTopology — 使用上の注意: この関数によって、トポロジスキーマが削除され、topology.topologyテーブルからの参照が削除され、geometry_columnsテーブルから削除対象スキーマ内のテーブルへの参照が削除されます。
RenameTopology — トポロジ名を変更します
DropTopoGeometryColumnschema_nameで指定されたスキーマ内にあるtable_nameで指定されたテーブルからTopoGeometryカラムを削除し、topology.layerテーブルにある登録を解除します。
Populate_Topology_Layer — テーブルからメタデータを読み、topology.layerテーブルに不足しているものを追加します。
TopologySummary — トポロジ名を取り、トポロジ内のオブジェクトの型に関する概要の全体を提供します。
ValidateTopology — トポロジの問題についての詳細を示すvalidatetopology_returntypeの集合を返します。
ValidateTopologyRelation — 不正なトポロジ関係の行に関する情報を返します。
FindTopology — 異なる方法でトポロジ行を返します。
FindLayer — 様々な方法でtopology.layer行を返します。
8.4. トポロジ統計管理
8.5. トポロジコンストラクタ
CreateTopology — 新しいトポロジスキーマを生成し、topology.topologyテーブルに登録します。
CopyTopology — トポロジ (ノード、エッジ、フェイス、レイヤとTopoGeometry)の新しいスキーマに複写します。
ST_InitTopoGeo — 新しいトポロジスキーマを生成し、topology.topologyテーブルに登録します。
ST_CreateTopoGeo — 空のトポロジにジオメトリのコレクションを追加し、成否を示すメッセージを返します。
TopoGeo_AddPoint — 許容差を使って既存のトポロジにポイントを追加し、可能ならエッジを分割します。
TopoGeo_AddLineString — 許容差を使って既存のトポロジにラインストリングを追加し、可能ならエッジ/フェイスを分割します。エッジ識別番号を返します。
TopoGeo_AddPolygon — 許容差を使って既存のトポロジにラインストリングを追加し、可能ならエッジ/フェイスを分割します。エッジ識別番号を返します。
8.6. トポロジエディタ
ST_AddIsoNode — フェイスに孤立ノードを追加し、新しいノードの識別番号を返します。フェイスがNULLの場合でもノードは生成されます。
ST_AddIsoEdgeanodeanothernodeで指定される二つの既存孤立ノードを接続するトポロジに、ジオメトリalinestringで定義される孤立エッジを追加し、新しいエッジの識別番号を返します。
ST_AddEdgeNewFaces — 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを削除して、分割した二つのフェイスに置き換えます。
ST_AddEdgeModFace — 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを編集し、一つのフェイスを追加します。
ST_RemEdgeNewFace — エッジを削除し、消去対象エッジでフェイスが二つに分割されているなら元の二つのフェイスを削除し、一つの新しいフェイスに置き換えます。
ST_RemEdgeModFace — エッジを削除します。削除されるエッジが二つのフェイスを分割していたなら、一方のフェイスを削除し、もう一方のフェイスを両方の空間を覆うように編集します。
ST_ChangeEdgeGeom — トポロジ構造に影響を与えることなくエッジの形状を変更します。
ST_ModEdgeSplit — 既存のエッジに沿って新しいノードを生成してエッジを分割します。もとのエッジは変更され、新しいエッジが一つ追加されます。
ST_ModEdgeHeal — 二つのエッジについて、接続しているノードを削除して修復します。1番目のエッジを編集して、2番目のエッジを削除します。削除されたノードの識別番号を返します。
ST_NewEdgeHeal — 二つのエッジについて、接続しているノードを削除して修復します。両方のエッジを削除し、1番目のエッジと同じ方向のエッジに置き換えます。
ST_MoveIsoNode — トポロジ内の孤立ノードを別の位置に移動させます。新しいapointジオメトリがノードとして存在しているなら、エラーが投げられます。移動に関する説明を返します。
ST_NewEdgesSplit — 新しいノードを既存のエッジに沿って作成して、エッジを分割します。もとのエッジは削除され、二つのエッジに置き換えられます。二つの新しいエッジに接続する新しいノードの識別番号を返します。
ST_RemoveIsoNode — 孤立ノードを削除し、実行結果が返されます。ノードが孤立していない (エッジの始端または終端である)場合には、例外が投げられます。
ST_RemoveIsoEdge — 孤立エッジを削除し、実行結果の記述を返します。エッジが孤立していない場合には、例外が投げられます。
8.7. トポロジアクセサ
GetEdgeByPoint — 与えられたポイントにインタセクトするエッジの識別番号を探索します。
GetFaceByPoint — 与えたポイントとインタセクトするフェイスを見つけます。
GetFaceContainingPoint — ポイントを含むフェイスを見つけます。
GetNodeByPoint — ポイント位置にあるノードの識別番号を探索します。
GetTopologyID — トポロジ名からtopology.topologyテーブル内にあるトポロジの識別番号を返します。
GetTopologySRID — トポロジ名からtopology.topologyテーブル内にあるトポロジのSRIDを返します。
GetTopologyName — 識別番号からトポロジ (スキーマ)の名前を返します。
ST_GetFaceEdges — 順序番号を含む、afaceの境界となる、整列したエッジの集合を返します。
ST_GetFaceGeometry — 指定されたトポロジの中の、フェイス識別番号で指定されたポリゴンを返します。
GetRingEdges — 与えられた側を歩いて得られた、正負符号付きエッジ識別番号の集合を、順序通りに返します。
GetNodeEdges — 与えられたノードに付随するエッジの集合を整列して返します。
8.8. トポロジ処理
Polygonize — トポロジエッジで定義される全てのフェイスを探索し、追加します。
AddNode — 指定したトポロジスキーマのノードテーブルにポイントノードを追加し、新しいノードの識別番号を返します。指定したポイントに既にノードがある場合は既存のノード識別番号を返します。
AddEdge — 指定したラインストリングジオメトリを使って、ラインストリングエッジをエッジテーブルに追加し、指定したトポロジスキーマの始点終点をポイントノードテーブルに追加し、新しい (または既存の)エッジの識別番号を返します。
AddFace — フェイスプリミティブをトポロジに登録し、その識別番号を得ます。
ST_Simplify — 与えたTopoGeometryを「シンプル化した」ジオメトリを返します。ダグラス-ポーカーのアルゴリズムを使います。
RemoveUnusedPrimitives — 存在するTopoGeometryオブジェクトを定義するのに必要でないトポロジプリミティブを削除します。
8.9. TopoGeometryコンストラクタ
CreateTopoGeom — 新しいTopoGeometryオブジェクトをtopoエレメント配列から生成します - tg_type: 1:[multi]point, 2:[multi]line, 3:[multi]poly, 4:collection
toTopoGeom — 単純なジオメトリからTopoGeometryを生成します。
TopoElementArray_Agg — element_idとタイプの配列 (topoelements)からなるtopoelementarrayを返します。
TopoElement — TopoGeometryをTopoElementに変換します。
8.10. TopoGeometryエディタ
clearTopoGeom — TopoGeometryの中身を消去します。
TopoGeom_addElement — TopoGeometryの定義に要素を追加します。
TopoGeom_remElement — TopoGeometryの定義から要素を削除します。
TopoGeom_addTopoGeom — TopoGeometryの要素を他のTopoGeometryの定義に追加します。
toTopoGeom — ジオメトリの形状を既存のTopoGeometryに追加します。
8.11. TopoGeometryアクセサ
GetTopoGeomElementArray — 与えられたTopoGeometry (プリミティブ要素)のトポロジ要素とタイプを含むtopoelementarray (topoelementの配列)を返します。
GetTopoGeomElements — 与えられたTopoGeometry (プリミティブ要素)の、トポロジのelement_idとelement_typeを含むtopoelementオブジェクトの集合を返します。
ST_SRID — TopoGeometryの空間参照識別子を返します。
8.12. TopoGeometry出力
AsGML — TopoGeometryのGML表現を返します。
AsTopoJSON — opoGeometryのTopoJSON表現を返します。
8.13. トポロジ空間関係関数
Equals — 二つのTopoGeometryが同じトポロジプリミティブで成っている場合にtrueを返します。
Intersects — 二つのTopoGeometryからのプリミティブの組がインタセクトする場合にtrueを返します。
8.14. トポロジのインポートとエクスポート
8.14.1. トポロジエクスポータの使用
8.14.2. トポロジインポータの使用
9. ラスタデータの管理、クエリ、アプリケーション
9.1. ラスタのロードと生成
9.1.1. raster2pgsqlを使ってラスタをロードする
9.1.2. PostGISラスタ関数を用いたラスタの生成
9.1.3. 「データベース外」クラウドラスタの使用
9.2. ラスタカタログ
9.2.1. ラスタカラムカタログ
9.2.2. ラスタオーバビュー
9.3. PostGISラスタを使ったカスタムアプリケーションの構築
9.3.1. ST_AsPNG を他の関数とあわせて使った PHP 出力例
9.3.2. ST_AsPNGを他の関数とあわせて使ったASP.NET C#出力例
9.3.3. rasterクエリを画像ファイルで出力するJavaコンソールアプリケーション
9.3.4. PLPython を使って SQL を介して画像をダンプする
9.3.5. PSQLでラスタを出力する
10. ラスタ リファレンス
10.1. ラスタサポートデータ型
geomval — geom (ジオメトリオブジェクトを保持)とval (ラスタバンドからのピクセル値を倍精度浮動小数点数で保持)の2フィールドからなるデータ型。
addbandarg — ST_AddBandの入力に使われる複合型で、新しいバンドの属性と初期値からなります。
rastbandarg — ラスタとそのバンドインデックスを表現する必要がある時に使われる複合型。
raster — ラスタ空間データ型。
reclassarg — ST_Reclass関数への入力として使用する複合型です。再分類の挙動を定義します。
summarystats — ST_SummaryStats関数とST_SummaryStatsAgg関数の出力として使う複合型です。
unionarg — ST_Union関数の入力に使う複合型です。処理するバンドと結合処理の挙動を定義します。
10.2. ラスタ管理
AddRasterConstraints — ロードされたラスタテーブルの特定のカラムにラスタ制約を追加します。制約には空間参照系、スケール、ブロックサイズ、アラインメント、バンド数、バンド型、ラスタカラムが規則正しいブロックかどうかを示すフラグがあります。テーブルは制約が推論されるためのデータがロードされなければなりません。制約の設定が完了するとtrueを返し、問題があると通知を返します。
DropRasterConstraints — ラスタテーブルカラムを参照するPostGISラスタ制約を削除します。データの再読み込みやラスタカラムデータの更新の際に使えます。
AddOverviewConstraints — ラスタカラムに対して、他のオーバビューであることをタグ付けします。
DropOverviewConstraints — ラスタカラムに対して他のオーバビューであることをタグ付けしているのを解除します。
PostGIS_GDAL_Version — PostGISで使っているGDALライブラリの版を報告します。
PostGIS_Raster_Lib_Build_Date — 完全なラスタライブラリをビルドした日付を報告します。
PostGIS_Raster_Lib_Version — 完全なラスタの版とビルドコンフィギュレーション情報を報告します。
ST_GDALDrivers — 使用しているGDALライブラリが対応するラスタ書式の一覧を返します。この一覧でcan_write=TrueとなっているものだけがST_AsGDALRasterで使えます。
ST_Contour — 与えられたラスタバンドから等高線ベクタを生成します。GDAL等高線生成アルゴリズムを使います。
ST_InterpolateRaster — X値とY値を使用してグリッド上のポイントを配置し、ポイントのZ値をサーフェス標高として配置し、3次元ポイントの入力セットに基づいてグリッドサーフェスを補間します。
UpdateRasterSRID — ユーザが指定したカラムとテーブルにあるラスタの全てについてSRIDを変更します。
ST_CreateOverview — 与えられたラスタカバレッジから解像度を落としたものを生成します。
10.3. ラスタコンストラクタ
ST_AddBand — 与えられたタイプで、与えられた初期値にした新しいバンドを、与えられたインデックス位置に追加したラスタを返します。インデックス位置を指定していない場合には、バンドは末尾に追加されます。
ST_AsRaster — PostGISジオメトリをPostGISラスタに変換します。
ST_Band — 既存のラスタの、一つ以上のバンドを新しいラスタとして返します。既存のラスタから新しいラスタを構築する際に使えます。
ST_MakeEmptyCoverage — 空のラスタタイルのグリッドでジオリファレンスを施されている領域を生成します。
ST_MakeEmptyRaster — 与えられたピクセル範囲 (width & height)、左上のX,Y、ピクセルサイズ、回転 (scalex, scaley, skewx, skewy)と空間参照系 (srid)が指定された空ラスタ (バンドを持たないラスタ)を返します。ラスタが渡されると、新しいラスタは渡されたラスタと同じサイズ、アラインメント、SRIDになります。SRIDが指定されていない場合には、空間参照系は不明 (0)とされます。
ST_Tile — 求められた出力ラスタのピクセル数に基づいて入力ラスタを分割した結果のラスタ集合を返します。
ST_Retile — 任意のタイル化されたラスタカバレッジから構成されたタイルの集合を返します。
ST_FromGDALRaster — 対応するGDALラスタファイルからラスタを返します。
10.4. ラスタアクセサ
ST_GeoReference — GDAL書式または一般的にワールドファイルでみられるESRI書式の地理参照メタデータを返します。デフォルトはGDALです。
ST_Height — ラスタの高さをピクセル単位で返します。
ST_IsEmpty — ラスタが空 (幅が0で高さが0)の場合にはTRUEを返します。他の場合には、FALSEを返します。
ST_MemSize — ラスタが取る領域の合計をバイト単位で返します。
ST_MetaData — ピクセル数、回転 (スキュー)、左上隅位置等のラスタオブジェクトに関する基本的なメタデータを返します。
ST_NumBands — ラスタオブジェクトのバンド数を返します。
ST_PixelHeight — 空間参照系の地理的な単位でのピクセルの高さを返します。
ST_PixelWidth — 空間参照系の地理的な単位でのピクセルの幅を返します。
ST_ScaleX — 空間参照系の地理的な単位でのピクセル幅のX成分を返します。
ST_ScaleY — 空間参照系の地理的な単位でのピクセル幅のY成分を返します。
ST_RasterToWorldCoord — ラスタの指定した列と行における左上隅の地理座標X値とY値 (経度と緯度)を返します。列と行の番号は1始まりです。
ST_RasterToWorldCoordX — ラスタの指定した列と行における左上隅の地理座標のX値を返します。列と行の番号は1始まりです。
ST_RasterToWorldCoordY — ラスタの指定した列と行における左上隅の地理座標のY値を返します。列と行の番号は1始まりです。
ST_Rotation — ラスタの回転をラジアンで返します。
ST_SkewX — 空間参照のXスキュー (回転パラメータ)を返します。
ST_SkewY — 空間参照のYスキュー (回転パラメータ)を返します。
ST_SRID — ラスタのspatial_ref_sysテーブルで定義されている空間参照系識別番号を返します。
ST_Summary — ラスタの中身の概要が文字列で返されます。
ST_UpperLeftX — 適用されている空間参照系でのラスタの左上隅のX座標値を返します。
ST_UpperLeftY — 適用されている空間参照系でのラスタの左上隅のY座標値を返します。
ST_Width — ラスタの幅をピクセル単位で返します。
ST_WorldToRasterCoord — ラスタの空間参照系による地理座標のX値とY値 (経度と緯度)またはポイントジオメトリに対応するピクセルの左上隅を返します。
ST_WorldToRasterCoordX — ラスタの空間参照系に基づくポイントジオメトリ (pt)またはX,Y座標値 (xw,yw)に対応するラスタの列を返します。
ST_WorldToRasterCoordY — ラスタの空間参照系に基づくポイントジオメトリ (pt)またはX,Y座標値 (xw,yw)に対応するラスタの行を返します。
10.5. ラスタバンドアクセサ
ST_BandMetaData — 指定したラスタバンドの基本的なメタデータを返します。バンド番号を指定しない場合には、1番と仮定します。
ST_BandNoDataValue — 指定されたバンドについてデータが無いことを表現する値を返します。バンド番号を指定しない場合には、1番と仮定します。
ST_BandIsNoData — 指定したバンドがNODATA値だけで満たされている場合には、TRUEを返します。
ST_BandPath — ファイルシステムに格納されているバンドのシステムファイルパスを返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_BandFileSize — ファイルシステムに格納されているバンドのファイルサイズを返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_BandFileTimestamp — ファイルシステムに格納されているバンドのファイルタイムスタンプ返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_BandPixelType — 指定したバンドのピクセルタイプを返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_MinPossibleValue — このピクセルタイプが格納できる最小値を返します。
ST_HasNoBand — 指定したバンド番号のバンドが無い場合には、TRUEを返します。バンド番号を指定していない場合には、1番と仮定します。
10.6. ラスタピクセルアクセサとセッター
ST_PixelAsPolygon — 指定した行と列のピクセルの境界となるジオメトリを返します。
ST_PixelAsPolygons — 全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。
ST_PixelAsPoint — ピクセルの左上隅のポイントジオメトリを返します。
ST_PixelAsPoints — 全てのピクセルについてポイントジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。ポイントジオメトリの座標はピクセルの左上隅です。
ST_PixelAsCentroid — ピクセルで表現される面の重心 (ポイントジオメトリ)を返します。
ST_PixelAsCentroids — 全てのピクセルについて重心 (ポイントジオメト)リを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。ポイントジオメトリの座標はピクセルで表現される面の重心です。
ST_Value — 指定したバンドにおけるcolumnx, rowyで指定したピクセルまたは指定したジオメトリポイントに対応するピクセルの値を返します。 バンド番号は1始まりで、指定しない場合には、1番と仮定します。exclude_nodata_valueがFALSEに設定された場合には、NODATA ピクセルを含む全てのピクセルがインタセクトするかが考慮され、値を返します。exclude_nodata_valueを渡さない場合には、ラスタのメタデータから読みます。
ST_NearestValue — 与えられたバンドの、columnxとrowyで指定されるか、またはラスタと同じ空間参照系で表現されたポイントで指定されたピクセルに最も近いNODATAでない値を返します。
ST_SetZ — 入力ジオメトリと同じX/y座標値と、指定されたリサンプリングアルゴリズムを使ってラスタから複写されたZ値とを持つジオメトリを返します。
ST_SetM — 入力ジオメトリと同じX/Y値を持ち、かつ、指定されたリサンプリングアルゴリズムを使ってラスタから複写されたM値を持つジオメトリを返します。
ST_Neighborhood — 与えられたバンドのcolumnX, columnYか、ラスタと同じ空間参照系のジオメトリポイントで指定されたピクセルの周囲にある、NODATAでない2次元倍精度浮動小数点数配列を返します。
ST_SetValue — 与えられたバンドのcolumnX, columnYか、ラスタと同じ空間参照系のジオメトリポイントで指定されたピクセルの値または指定したジオメトリとインタセクトするピクセル群の値を設定することから得られる、変更されたラスタを返します。バンド番号は1始まりで、指定しない場合には、1番と仮定します。
ST_SetValues — 与えられたバンドに複数の値を設定して、変更されたラスタを返します。
ST_DumpValues — 指定したバンドの値を2次元で得ます。
ST_PixelOfValue — 検索値と同じ値を持つピクセルのcolumnx, rowyピクセル座標を得ます。
10.7. ラスタエディタ
ST_SetGeoReference — 地理参照6パラメタを一度に設定します。数値は空白で区切ります。GDALまたはESRI書式の入力を受け付けます。デフォルトはGDALです。
ST_SetRotation — ラスタの回転をラジアン単位で設定します。
ST_SetScale — ピクセルサイズのX値とY値を空間参照系の単位で設定します。数値は単位/ピクセルの幅または高さです。
ST_SetSkew — 地理参照のスキュー (回転パラメタ)のX値とY値を設定します。一つだけ渡した場合には、X値とY値は同じ値に設定されます。
ST_SetSRID — スタのSRIDをspatial_ref_sysに定義されている特定の整数値に設定します。
ST_SetUpperLeft — ラスタの左上隅の投影座標系のX値とY値を設定します。
ST_Resample — 指定したリサンプリングアルゴリズム、新しいピクセル範囲、グリッドの隅、定義するか他のラスタから借りてきた地理参照属性を使ってリサンプリングを行います。
ST_Rescale — スケール (ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (英語または米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos')を用います。デフォルトは最近傍補間です。
ST_Reskew — キュー (回転パラメタ)だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos')を用います。デフォルトは最近傍補間です。
ST_SnapToGrid — グリッドにスナップすることでラスタをリサンプリングします。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間('Lanczos')を用います。デフォルトは最近傍補間です。
ST_Resize — ラスタを新しい幅、高さにサイズ再設定を行います。
ST_Transform — ラスタを既知の空間参照系から他の既知の空間参照系に、指定したリサンプリングアルゴリズムで投影変換します。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos')を用います。デフォルトは最近傍補間です。
10.8. ラスタバンドエディタ
ST_SetBandNoDataValue — 指定したバンドにNODATAを表現する値を設定します。バンドを指定しない場合には、1番と仮定します。NODATA値を持たないようにするには、nodatavalueにNULLを指定します。
ST_SetBandIsNoData — バンドのisnodataフラグをTRUEにします。
ST_SetBandPath — データベース外バンドの外部パスとバンド番号を更新します。
ST_SetBandIndex — データベース外バンドの外部バンド番号の更新
10.9. ラスタバンド統計情報と解析
ST_Count — ラスタまたはラスタカバレッジの指定したバンドのピクセル数を返します。バンドを指定しない場合には、1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
ST_CountAgg — 集約関数です。ラスタ集合の与えられたバンドのピクセル数を返します。バンドが指定されていない場合には、1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
ST_Histogram — ラスタまたはラスタカバレッジのビン範囲で分割したデータ分布をまとめるヒストグラムの集合を返します。ビン数を指定しない場合には自動計算されます。
ST_Quantile — ラスタまたはラスタテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスタの25%,50%,75%にあるかを調べることができます。
ST_SummaryStats — ラスタまたはラスタカバレッジの指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、1番と仮定します。
ST_SummaryStatsAgg — 集約関数です。ラスタ集合の指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、1番と仮定します。
ST_ValueCount — ラスタ (またはラスタカバレッジ)の指定されたバンドで、指定した値を持つピクセルを対象として、ピクセルバンド値とピクセル数からなるレコードの集合を返します。バンドを指定しない場合には、1番と仮定します。デフォルトではNODATA値のピクセルは数えられず、ピクセルの他の値は出力され、ピクセルバンド値は最も近い整数に丸められます。
10.10. ラスタ入力
ST_RastFromWKB — Well-Known Binary (WKB)ラスタからラスタ値を返します。
ST_RastFromHexWKB — Well-Knownバイナリ (WKB)ラスタの16進数表現からラスタを返します。
10.11. 出力
ST_AsBinary/ST_AsWKB — ラスタのWell-Known Binary (WKB)表現を返します。
ST_AsHexWKB — Well-Known Binary (WKB)ラスタを16進数表現で返します。
ST_AsGDALRaster — 指定されたGDALラスタ書式でラスタタイルを返します。ラスタ書式はコンパイルしたライブラリが対応するものです。ライブラリが対応する書式の一覧を得るにはST_GDALRasters()を使います。
ST_AsJPEG — ラスタの選択されたバンドを、単一のJoint Photographic Exports Group (JPEG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3より多いバンドがある場合には、1番バンドを使用します。3バンドのみ指定した場合には、3バンドを使用し、RGBに対応付けます。
ST_AsPNG — ラスタの選択されたバンドを、単一のportable network graphics (PNG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3バンドか4バンドある場合には、全てのバンドを使用します。バンドを指定せず、2バンドか4より多いバンドがある場合には、1番バンドを使用します。対象バンドはRGBまたはRGBAに対応付けられます。
ST_AsTIFF — ラスタの選択されたバンドを、単一のTIFF画像 (バイト配列)として返します。バンドを指定しないか指定したバンドがラスタ内に無い場合には、全てのバンドの使用を試みます。
10.12. ラスタ処理: 地図代数
ST_Clip — 入力ジオメトリで切り取ったラスタを返します。バンドが指定されていない場合には、全てのバンドが返されます。cropが指定されていない場合には、TRUEと仮定され、出力ラスタをクロップします。
ST_ColorMap — 元のラスタと指定したバンドから4個までの8BUIバンド (grayscale, RGB, RGBA)からなる新しいラスタを生成します。
ST_Grayscale — 元のラスタと指定したバンドを赤、緑、青バンドとして一つの8BUIバンドを持つラスタを生成します。
ST_Intersection — 二つのラスタの共有部分またはベクタ化したラスタとジオメトリとのインタセクトした部分を表現する、ラスタまたはジオメトリとピクセル値の組の集合を返します。
ST_MapAlgebra (callback function version) — コールバック関数版 - 一つ以上の入力ラスタ、バンドインデックスと一つのユーザ定義コールバック関数から、一つのバンドからなるラスタを返します。
ST_MapAlgebra (expression version) — 数式版 - 一つか二つの入力ラスタ、バンド番号、一つ以上のユーザ定義SQL式から一つのバンドを持つラスタを返します。
ST_MapAlgebraExpr — 1バンド版: 入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、1番を仮定します。
ST_MapAlgebraExpr — 2バンド版: 二つの入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、どちらも1番と仮定します。結果ラスタは、一つ目のラスタのアラインメント (スケール、スキュー、ピクセル角位置)にあわされます。範囲は"extenttype"引数で定義されます。取りうる"extenttype"の値はINTERSECTION, UNION, FIRST, SECONDです。
ST_MapAlgebraFct — 1バンド版 - 入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、1番と仮定します。
ST_MapAlgebraFct — 2バンド版 - 二つの入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、1番と仮定します。"extenttype"のデフォルトはINTERSECTIONです。
ST_MapAlgebraFctNgb — 1バンド版: ユーザ定義PostgreSQL関数を使用する最近傍地図代数関数です。入力ラスタバンドの近傍の値を与えたPL/pgSQLユーザ定義関数の結果からなるラスタを返します。
ST_Reclass — 元のラスタから再分類したバンドタイプからなるラスタを生成します。nbandは変更するバンドです。nbandが指定されていない場合には、1と仮定します。他の全てのバンドは変更せずに返します。可視画像の書式としてより単純な描画を行うために、16BUIバンドを8BUIバンドに変換する、等のために使います。
ST_Union — ラスタタイルの集合を結合して1以上のバンドからなる単一ラスタを返します。
10.13. 組み込み地図代数コールバック関数
ST_Distinct4ma — 近隣のピクセル値のうち一意となるものを数えるラスタ処理関数です。
ST_InvDistWeight4ma — 近隣のピクセル値の内挿補間を行うラスタ処理関数です。
ST_Max4ma — 近隣のピクセル値の最大値を計算するラスタ処理関数です。
ST_Mean4ma — 近隣のピクセル値の平均値を計算するラスタ処理関数です。
ST_Min4ma — 近隣のピクセル値の最小値を計算するラスタ処理関数です。
ST_MinDist4ma — 対象ピクセルと値を持つ近隣ピクセルとの最短距離をピクセル単位で返すラスタ処理関数です。
ST_Range4ma — 近隣のピクセル値の範囲を計算するラスタ処理関数です。
ST_StdDev4ma — 近隣のピクセル値の標準偏差を計算するラスタ処理関数です。
ST_Sum4ma — 近隣のピクセル値の合計を計算するラスタ処理関数です。
10.14. ラスタ処理: DEM (標高)
ST_Aspect — 標高ラスタバンドの傾斜方向 (デフォルトの単位は度)を返します。地形解析に使えます。
ST_HillShade — 与えられた方位、高度、明度、スケールの入力を使って標高ラスタバンドの仮想照明を返します。
ST_Roughness — DEMの「粗度」を計算したラスタを返します。
ST_Slope — 標高ラスタバンドの傾斜角 (デフォルトでは度単位)を返します。地形解析に使えます。
ST_TPI — 地形的位置指数を計算したラスタを返します。
ST_TRI — 起伏指標を計算したラスタを返します。
10.15. ラスタ処理: ラスタからジオメトリ
Box3D — ラスタを囲むボックスのbox3d表現を返します。
ST_ConvexHull — BandNoDataValueと等しいピクセル値を含むラスタの凸包ジオメトリを返します。一般的な形状でスキューのないラスタでは、ST_Envelopeと同じ結果になります。不規則な形状をしているか回転しているラスタでのみ使います。
ST_DumpAsPolygons — 指定されたラスタバンドからgeomval (geom,val)行の集合を返します。バンドを指定しない場合のデフォルトは1です。
ST_Envelope — ラスタの範囲のポリゴン表現を返します。
ST_MinConvexHull — NODATA値を除いたラスタの凸包ジオメトリを返します。
ST_Polygon — NODATA値でないピクセル値を持つピクセルの結合で形成されるマルチポリゴンジオメトリを返します。バンドを指定しない場合のデフォルトは1です。
10.16. ラスタ演算子
&& — AのバウンディングボックスがBのバウンディングボックスとインタセクトする場合にTRUEを返します。
&< — AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの左にある場合にTRUEを返します。
&> — AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの右にある場合に TRUE を返します。
= — AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
@ — AのバウンディングボックスがBのバウンディングボックスに含まれる場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
~= — AのバウンディングボックスがBのバウンディングボックスと同じ場合に TRUEを返します。
~ — AのバウンディングボックスがBのバウンディングボックスを含む場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
10.17. ラスタとラスタバンドの空間関係関数
ST_Contains — rastAの外にrastBの点が無く、rastAの内部にrastBの内部の点が一つ以上ある場合にTRUEを返します。
ST_ContainsProperly — rastBがrastAの内部でインタセクトし、かつrastAの境界とも外部ともインタセクトしない場合にTRUEを返します。
ST_Covers — rastBがrastAの外部に点を持たない場合にTRUEを返します。
ST_CoveredBy — rastAがrastBの外部に点を持たない場合にTRUEを返します。
ST_Disjoint — rastAがrastBとインタセクトしない場合にTRUEを返します。
ST_Intersects — rastAがrastBとインタセクトする場合にTRUEを返します。
ST_Overlaps — rastAとrastBがインタセクトして、かつ一方がもう一方に完全には包含されない場合にはTRUEを返します。
ST_Touches — rastAとrastBが少なくとも一つの共通の点を持ち、かつ二つのラスタの内部同士がインタセクトしない場合にTRUEを返します。
ST_SameAlignment — ラスタが同じスキュー、スケール、空間参照系、オフセットを持つ (ピクセルが分割されることなく同じグリッドに置かれている)場合にTRUEを返し、そうでない場合は問題を詳述する通知とともにFALSEを返します。
ST_NotSameAlignmentReason — ラスタが同じアラインメントを持つかどうか、また、持たない場合にはその理由を示す文字列を返します。
ST_Within — rastAがrastBの外部に点を持たず、rastAの内部の少なくとも一つの点がrastBの内部にある場合にTRUEを返します。
ST_DWithin — rastAとrastBが指定した距離内にある場合にTRUEを返します。
ST_DFullyWithin — rastAとrastBが指定した距離内に完全に収まる場合にTRUEを返します。
10.18. ラスタに関する技法
10.18.1. データベース外ラスタ
11. PostGIS追加機能
11.1. 住所標準化
11.1.1. パーサの動作
11.1.2. 住所標準化の型
11.1.3. 住所標準化テーブル
11.1.4. 住所標準化関数
11.2. Tigerジオコーダ
Drop_Indexes_Generate_Script — tigerスキーマとユーザが指定したスキーマ上の、全ての主キーでなく、かつユニークでないインデックスを削除します。スキーマを指定しない場合のデフォルトスキーマは、tiger_dataです。
Drop_Nation_Tables_Generate_Script — 指定したスキーマ内のテーブルのうち、county_all, state_allまたは、county or stateを削除するスクリプトを生成します。
Drop_State_Tables_Generate_Script — 指定したスキーマ内の、名前が州コードから始まるテーブルを全て削除するスクリプトを生成します。スキーマが指定されていない場合のデフォルトスキーマはtiger_dataです。
Geocode — 住所を文字列 (もしくは他の正規化された住所)として取り、可能性のある位置の集合を返します。返される集合の要素は、NAD 83経度緯度のポイントジオメトリ、正規化された住所と評価値を持ちます。評価値は低いほど可能性が高いことを示しています。結果は評価値の低い順に並べ替えられます。オプションにmax_result (最大結果数、デフォルトは10)とrestrict_region (制限領域、デフォルトはNULL)を渡すことができます。
Geocode_Intersection — インタセクトする二つのストリート、州コード、市名、郵便番号を引数に取り、最初の交差点の可能性のある位置の集合を出力します。geomoutにNAD83経度緯度のポイント、normalized_addressにそれぞれの位置、ratingに評価値がそれぞれ入ります。評価値が低いほど合致度が高くなります。結果は評価値の低い順にソートされます。最大結果数を渡すことができ、デフォルトは10です。Tigerデータ (エッジ、フェイス、住所)と、PostgreSQLあいまい文字列合致 (soundex, levenshtein)を使います。
Get_Geocode_Setting — tiger.geocode_settingsテーブルに格納されている設定のうち指定したものの値を返します。
Get_Tract — ジオメトリで指定した位置の米国国勢調査統計区またはtractテーブルのフィールドを返します。デフォルトでは、統計区の短縮名を返します。
Install_Missing_Indexes — ジオコーダで結合や検索条件に使われ、インデックスが付いていなキーカラムを持つ全てのテーブルを探し、インデックスを追加します。
Loader_Generate_Census_Script — 指定した州について、tract (統計区)、bg (block group, 細分区グループ)、tabblock (ブロック)をダウンロードし、tiger_dataに格納するための、指定したプラットフォーム用のシェルスクリプトを生成します。行ごとに州ごとのスクリプトが返されます。
Loader_Generate_Script — 指定したプラットフォーム用の、指定した州のTigerデータをダウンロードし、格納準備を行い、tiger_dataスキーマに格納するシェルスクリプトを生成します。行ごとに州ごとのスクリプトが返ります。最新版ではTiger 2010のデータ構造変更に対応していて、国勢統計区、細分区グループ、細分区 (tabblocks)テーブルをダウンロードすることができます。
Loader_Generate_Nation_Script — 指定したプラットフォーム用の、国と州のルックアップテーブルをロードするシェルスクリプトを生成します。
Missing_Indexes_Generate_Script — ジオコーダで結合に使われるキーカラムを持ち、インデックスが付いていないキーカラムを持つすべてのテーブルを検索し、インデックスを追加するSQLデータ定義言語を出力します。
Normalize_Address — 文字列で住所が与えられると、道路後置辞、前置辞、正規化された種別、番地、ストリート名等をフィールドに分けて持つnorm_addy複合型を返します。tiger_geocoderに同梱されているルックアップデータで動作します (Tigerデータ自体は不要です)。
Pagc_Normalize_Address — 文字列のストリート住所を与えると、道路後置辞、前置辞、標準タイプ、番地、ストリート名等を複数フィールドに分解して持つnorm_addy複合型を返します。この関数は、tiger_geocoder同梱のルックアップテーブルだけを使います (Tigerデータは不要です)。住所標準化エクステンションが必要です。
Pprint_Addynorm_addy複合型オブジェクトを与えると、印刷表現を返します。通常はnormalize_addressと併用します。
Reverse_Geocode — 登録されている空間参照系に基づくポイントジオメトリを引数に取り、理論的に可能性のある住所の配列と交差するストリートの配列を一つのレコードで返します。include_strnum_range = trueの場合には、交差するストリートに番地範囲を追加します。
Topology_Load_Tiger — Tigerデータの定義領域をPostGISトポロジにロードして、Tigerデータをトポロジの空間参照系に投影変換し、トポロジの許容精度にスナップします。
Set_Geocode_Setting — ジオコーダ関数の振る舞いに影響を与える設定を行います。
12. PostGIS関数索引
12.1. PostGIS集約関数
12.2. PostGISウィンドウ関数
12.3. PostGIS SQL-MM準拠関数
12.4. PostGISジオグラフィ対応関数
12.5. PostGISラスタ機能関数
12.6. PostGISジオメトリ/ジオグラフィ/ラスタのダンプ関数
12.7. PostGISボックス関数
12.8. 3次元対応PostGIS関数
12.9. PostGIS曲線ジオメトリ対応関数
12.10. PostGIS多面体サーフェス対応関数
12.11. PostGIS関数対応マトリクス
12.12. 新規作成/機能強化/変更されたPostGIS関数
12.12.1. PostGIS 3.4 で新規作成/機能強化された関数
12.12.2. PostGIS 3.3 で新規作成/機能強化された関数
12.12.3. PostGIS 3.2 で新規作成/機能強化された関数
12.12.4. PostGIS 3.1 で新規作成/機能強化された関数
12.12.5. PostGIS 3.0 で新規作成/機能強化された関数
12.12.6. PostGIS 2.5 で新規作成/機能強化された関数
12.12.7. PostGIS 2.4 で新規作成/機能強化された関数
12.12.8. PostGIS 2.3 で新規作成/機能強化された関数
12.12.9. PostGIS 2.2 で新規作成/機能強化された関数
12.12.10. PostGIS 2.1 で新規作成/機能強化された関数
12.12.11. PostGIS 2.0 で新規作成/機能強化された関数
12.12.12. PostGIS 1.5 で新規作成/機能強化された関数
12.12.13. PostGIS 1.4 で新規作成/機能強化された関数
12.12.14. PostGIS 1.3 で新規作成/機能強化された関数
13. 問題を報告する
13.1. ソフトウェアのバグを報告する
13.2. 文書の問題を報告する
A. 付録
A.1. PostGIS 3.4.0