第8章 SFCGAL 関数リファレンス

目次

SFCGAL は CGAL の C++ラッパライブラリです。CGAL は高度な 2次元と 3次元の空間関数を提供します。堅牢性のためにジオメトリー座標は正確な有理数表現を持ちます。

このライブラリのインストール手順は SFCGAL サイト (http://www.sfcgal.org) にあります。機能を有効にするにはcreate extension postgis_sfcgalとします。

8.1. SFCGAL 管理関数

概要

このセクションでは、SFCGAL のバージョンとライブラリの依存関係を確認するための関数の一覧を示します。

8.2. SFCGAL アクセサとセッター

概要

これらの関数はジオメトリーのプロパティに対するアクセスと設定を行います。これらの関数が主に対応するジオメトリーは、TIN と多面体サーフェスです。

  • CG_ForceLHR — LHR (Left Hand Rule) 方向に強制します。
  • CG_IsPlanar — サーフェスが平面であるかないかをチェックします。
  • CG_IsSolid — ジオメトリーが立体であるかどうかをテストします。妥当性チェックは行いません。
  • CG_MakeSolid — ジオメトリーを立体にキャストします。チェックはしません。妥当な立体を得るには、入力ジオメトリーは閉じた多面体サーフェスか閉じた TIN でなければなりません。
  • CG_Orientation — サーフェスの方向を判定します。
  • CG_Area — ジオメトリーの面積を計算します
  • CG_3DArea — 3次元の面ジオメトリーの面積を計算します。立体の場合は 0を返します。
  • CG_Volume — 3次元ジオメトリーの体積を計算します。閉じたサーフェスはゼロでない体積となります。

8.3. SFCGAL 処理関数および関係関数

  • CG_Intersection — 二つのジオメトリーのインタセクトする (共有する) 部分を計算します
  • CG_Intersects — 二つのジオメトリーがインタセクトしている (少なくとも一つの共有点がある) かどうかテストします。
  • CG_3DIntersects — 二つの 3次元ジオメトリーがインタセクトするかどうかをテストします
  • CG_Difference — 二つのジオメトリーの幾何学的な差を計算します
  • CG_3DDifference — 3次元の差分を計算します。
  • CG_Distance — 二つのジオメトリーの最小距離を返します
  • CG_3DDistance — 二つのジオメトリーの最小 3次元距離を返します
  • CG_3DConvexHull — ジオメトリーの 3次元の凸包を計算します。
  • CG_3DIntersection — 3次元のインタセクトした (共有する) 部分を計算します。
  • CG_Union — 二つのジオメトリーの結合を計算します
  • CG_3DUnion — postgis_sfcgal を使用して 3次元結合を実行します。
  • CG_AlphaShape — ジオメトリーを囲むアルファシェイプを計算します。
  • CG_ApproxConvexPartition — ポリゴンジオメトリーの近似凸分割を計算します
  • CG_ApproximateMedialAxis — 面ジオメトリーの近似的な中心軸を計算します。
  • CG_GenerateFlatRoof — 接地部ポリゴンから平らな (箱の) 屋根を生成します。
  • CG_GenerateHippedRoof — 接地部ポリゴンから寄棟屋根を生成する。
  • CG_GenerateGableRoof — 接地部ポリゴンから切妻屋根を生成します。
  • CG_GenerateSkillionRoof — 水平面に投影したポリゴンから片流れ屋根 (一方に傾斜する屋根) を生成します。
  • CG_GenerateRoof — 接地部ポリゴンから求める形式の屋根を生成します。
  • CG_PolygonRepair — 不正な POLYGON または MULTIPOLYGON を修復します。
  • CG_ConstrainedDelaunayTriangles — 入力ジオメトリーの周りの制約付きドロネー三角形を返します。
  • CG_Extrude — 関連するボリュームにサーフェスを押し出します。
  • CG_ExtrudeStraightSkeleton — ストレートスケルトンの押し出し
  • CG_GreeneApproxConvexPartition — ポリゴンジオメトリーの近似凸分割を計算します
  • CG_MinkowskiSum — ミンコフスキー和を求めます。
  • CG_OptimalAlphaShape — 「最適」アルファ値を使ってジオメトリーを囲むアルファシェイプを計算します。
  • CG_OptimalConvexPartition — ポリゴンジオメトリーの最適凸分割を計算します
  • CG_StraightSkeleton — ジオメトリーからストレートスケルトンを計算します。
  • CG_Tesselate — ポリゴンまたは多面体サーフェスのテッセレーションを計算し、TIN または TIN コレクションを返します。
  • CG_Triangulate — ポリゴンジオメトリーを三角形にします
  • CG_Visibility — ポリゴンジオメトリー内のポイント又は辺から可視領域ポリゴンを計算する
  • CG_YMonotonePartition — ポリゴンジオメトリーの Y 単調分割を計算します
  • CG_StraightSkeletonPartition — ポリゴンのストレートスケルトン分割を計算します。
  • CG_3DBuffer — ジオメトリーの周りの 3次元バッファを計算します。
  • CG_Rotate — ジオメトリーを (0,0) を中心に指定した角度で回転させます。
  • CG_2DRotate — ジオメトリーを指定した 2次元ポイントを中心に指定した角度で回転させます。
  • CG_3DRotate — ジオメトリーを指定したベクトルを軸に 3次元空間で回転させます。
  • CG_RotateX — ジオメトリーを X 軸を軸に指定した角度で回転させます。
  • CG_RotateY — ジオメトリーを Y 軸を軸に指定した角度で回転させます。
  • CG_RotateZ — ジオメトリーを Z 軸を軸に指定した角度で回転させます。
  • CG_Scale — ジオメトリーを全ての次元で与えられた係数で均一に拡大縮小します。
  • CG_3DScale — ジオメトリーを X,Y,Z 軸に沿って個別の係数で拡大縮小します。
  • CG_3DScaleAroundCenter — ジオメトリーを 3次元空間で指定した点を中心として拡大縮小します。
  • CG_Translate — ジオメトリーを与えたオフセットで 2次元で移動させます。
  • CG_3DTranslate — ジオメトリーを与えたオフセットで 3元で移動させます。
  • CG_Simplify — 主要な地物と Z/M 値を維持しつつジオメトリーの複雑さを減らします。
  • CG_3DAlphaWrapping — 厳密にジオメトリーを囲む 3次元アルファラッピングを計算します。
  • CG_NurbsCurveInterpolate — 全ての与えられたデータのポイントを通る補間 NURBS 曲線を生成します。
  • CG_NurbsCurveApproximate — データポイントに許容値範囲内で近似する NURBS 曲線を生成します。
  • CG_NurbsCurveDerivative — 与えたパラメーターの NURBS 曲線の導関数 (正接、曲率) を計算します。

8.4. Deprecated SFCGAL Function Aliases

These ST_ names remain available for compatibility and emit deprecation notices. Their entries contain only the legacy signature and migration link. Use the corresponding CG_ pages for behavior, examples, and geometry support details.