14.12. 新規作成/機能強化/変更されたPostGIS関数
14.12.1. PostGIS 3.0で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 3.0で新規作成された関数
PostGIS 3.0で機能強化された関数
- ST_AsMVT - Enhanced: 3.0 - 地物IDへの対応を追加。 行集合のMapbox Vector Tile表現を返す集約関数です。
- ST_Contains - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました Bの点がAの外部に無く、かつBの内部の少なくとも一つの点がAの内部にある場合に限って、TRUEを返します。
- ST_ContainsProperly - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました BがAの内部にインタセクトするが境界 (または外部)にインタセクトしない場合に、TRUEを返します。Aは自身には、ContainsProperlyではありませんが、Containsです。
- ST_CoveredBy - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました ジオメトリ/ジオグラフィAの点がジオメトリ/ジオグラフィBの外に無い場合に、1 (TRUE)を返します。
- ST_Covers - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました ジオメトリBにジオメトリAの外となるポイントが無い場合には、1 (TRUE)を返します。
- ST_Crosses - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 与えられたジオメトリが共通の内部の点を持ち、かつそうでない点を持つ場合に、TRUEを返します。
- ST_CurveToLine - Enhanced: 3.0.0 線形化した弧ごとの最小線分数を実装しました。トポロジ的な崩壊を防ぐためです。 CIRCULARSTRING/CURVEPOLYGON/MULTISURFACEをLINESTRING/POLYGON/MULTIPOLYGONに変換します。
- ST_Disjoint - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました ジオメトリが「空間的にインタセクトし」ていない、すなわち、空間を共有していない場合に、TRUEを返します。
- ST_Equals - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 与えられたジオメトリ表現が同じ場合にTRUEを返します。方向は無視されます。
- ST_GeneratePoints - Enhanced: 3.0.0 seedパラメータの追加 ポリゴンまたはマルチポリゴンから、元の領域の内部の、乱数で決められた位置に置かれた点からなるマルチポイントに変換します。
- ST_GeomFromGeoJSON - Enhanced: 3.0.0 パースされたジオメトリのデフォルトのSRIDは、他に指定していない場合には4326となります。 ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
- ST_LocateBetween - Enhanced: 3.0.0 - POLYGON, TIN, TRIANGLEへの対応が追加されました。 指定したM値の範囲内にある要素からなる、派生ジオメトリコレクション値を返します。
- ST_LocateBetweenElevations - Enhanced: 3.0.0 - POLYGON, TIN, TRIANGLEへの対応が追加されました。 指定したZ値の範囲内にある要素からなる派生ジオメトリ (コレクション)値を返します。
- ST_Overlaps - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました ジオメトリが共有空間を持ち、同じ次元で、かつ完全には一方に含まれていない場合にTRUEを返します。
- ST_Relate - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました intersectionMatrixPatternの値について、二つのジオメトリの内部、境界、外部のインタセクションを見て、指定したジオメトリがもうひとつのジオメトリと空間的に関係している場合に、TRUEを返します。intersectionMatrixPatternが無い場合には、二つのジオメトリについての最大のintersectionMatrixPatternを返します。
- ST_Segmentize - Enhanced: 3.0.0 ジオグラフィの分割において、現在は、同じ長さに分割しています。 与えた距離を超える線分を持たないよう変更したジオメトリ/ジオグラフィを返します。
- ST_Touches - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました ジオメトリが共通のポイントを少なくとも一つ持ち、かつ内部でインタセクトしない場合に、TRUEを返します。
- ST_Within - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました ジオメトリAが完全にジオメトリBの内側にある場合にTRUEを返します。
PostGIS 3.0で変更された関数
- PostGIS_Extensions_Upgrade - Changed: 3.0.0 緩いエクステンションを再パッケージし、また、postgis_rasterに対応しました。 インストールされたPostGISエクステンション (例: postgis_raster, postgis_topology, postgis_sfcgal)について、インストールされている最新版にアップグレードします。
- ST_3DDistance - Changed: 3.0.0 - SFCGAL版は削除されました 投影座標系の単位で、二つのジオメトリ間の3次元デカルト距離の最小値を返します (空間参照系に基づきます)。
- ST_3DIntersects - Changed: 3.0.0 SFCGALバックエンドが削除され、GEOSバックエンドではTINに対応しました。 ジオメトリが3次元で「空間的にインタセクトする場合にはTRUEを返します。ポイント、ラインストリング、ポリゴン、多面体サーフェス (面)のみ有効です。
- ST_Area - Changed: 3.0.0 - SFCGALに依存しなくなりました。 ポリゴンジオメトリの面積を返します。
- ST_AsGeoJSON - Changed: 3.0.0 レコードの入力に対応しました GeoJSON要素としてジオメトリを返します。
- ST_AsGeoJSON - Changed: 3.0.0 EPSG:4326以外の場合のSRID出力 GeoJSON要素としてジオメトリを返します。
- ST_Distance - Changed: 3.0.0 - SFCGALに依存しなくなりました。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_Intersection - Changed: 3.0.0 SFCGAL非依存になりました。 (T) geomAとgeomBの共有する部分を表現するジオメトリを返します。
- ST_Intersects - Changed: 3.0.0 SFCGAL版が削除されました。 ジオメトリ/ジオグラフィが「空間的に2次元でインタセクトする」 (空間のいずれかで共有部分がある)場合にはTRUEを返し、そうでない場合にはFALSEを返します。ジオグラフィでは許容値は0.00001メートルです (近いポイントはインタセクトするとみなされます)。
- ST_Union - Changed: 3.0.0 SFCGAL非依存になりました。 ジオメトリの結合の点集合を表現するジオメトリを返します。
14.12.2. PostGIS 2.5で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.5で新規作成された関数
PostGIS 2.5で機能強化された関数
- ST_AsBinary/ST_AsWKB - Enhanced: 2.5.0 ST_AsWKBの追加 ラスタのWell-Known Binary (WKB)表現を返します。
- ST_AsMVT - Enhanced: 2.5.0 - パラレルクエリへの対応の追加。 行集合のMapbox Vector Tile表現を返す集約関数です。
- ST_AsText - Enhanced: 2.5 - 精度の任意引数が導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
- ST_BandMetaData - Enhanced: 2.5.0 outdbラスタにoutdbbandnum, filesizeとfiletimestampを取り入れました。 指定したラスタバンドの基本的なメタデータを返します。バンド番号を指定しない場合には、1番と仮定します。
- ST_Buffer - Enhanced: 2.5.0 - ST_Bufferのジオメトリ対応版が強化され、バッファを施す側をside=both|left|rightで指定できるようになりました。 (T) このジオメトリからの距離が指定された距離以下となる点全てを表現するジオメトリを返します。
- ST_GeomFromGeoJSON - Enhanced: 2.5.0 JSONとJSONBの入力を受け付けるようになりました。 ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
- ST_GeometricMedian - Enhanced: 2.5.0 ポイントの重みとしてのM値の対応が追加されました。 マルチポイントの幾何学的中央値を返します。
- ST_Intersects - Enhanced: 2.5.0 ジオメトリコレクションに対応しました。 ジオメトリ/ジオグラフィが「空間的に2次元でインタセクトする」 (空間のいずれかで共有部分がある)場合にはTRUEを返し、そうでない場合にはFALSEを返します。ジオグラフィでは許容値は0.00001メートルです (近いポイントはインタセクトするとみなされます)。
- ST_OffsetCurve - Enhanced: 2.5 - GEOMETRYCOLLECTIONとULTILINESTRINGへの対応追加 与えられた距離と方面に入力ラインをずらしたラインを返します。中心線と平行する線を引く際に使えます。
- ST_Scale - Enhanced: 2.5.0 局所原点 (originパラメータ)を使った拡大縮小への対応を導入しました。 与えた係数でジオメトリを拡大縮小します。
- ST_Split - Enhanced: 2.5.0 マルチラインによるポリゴンの分割に対応するようになりました。 ジオメトリを分割したジオメトリのコレクションを返します。
- ST_Subdivide - Enhanced: 2.5.0 ポリゴン分割で存在するポイントを再利用して頂点数の最小値を8から5に変更。 指定した数より多い頂点を持たないジオメトリの集合を返します。
PostGIS 2.5で変更された関数
- ST_GDALDrivers - Changed: 2.5.0 - can_readカラムとcan_writeカラムを追加 使用しているGDALライブラリが対応するラスタ書式の一覧を返します。この一覧でcan_write=TrueとなっているものだけがST_AsGDALRasterで使えます。
14.12.3. PostGIS 2.4で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.4で新規作成された関数
- ST_AsGeobuf - Availability: 2.4.0 行集合のGeobuf表現を返します。
- ST_AsMVT - Availability: 2.4.0 行集合のMapbox Vector Tile表現を返す集約関数です。
- ST_AsMVTGeom - Availability: 2.4.0 ジオメトリをMapbox Vector Tileの座標空間に変換します。
- ST_Centroid - Availability: 2.4.0 ジオグラフィが導入されました。 ジオメトリの幾何学的重心を返します。
- ST_ForcePolygonCCW - Availability: 2.4.0 全ての外環を反時計回りに、全ての内環を時計回りに、それぞれ強制します。
- ST_ForcePolygonCW - Availability: 2.4.0 全ての外環を時計回りに、全ての内環を反時計回りに、それぞれ強制します。
- ST_FrechetDistance - Availability: 2.4.0 - GEOS 3.7.0以上が必要です。 二つのジオメトリのフレシェ距離を返します。
- ST_IsPolygonCCW - Availability: 2.4.0 ポリゴンが反時計回りの外環を持っていて、時計回りの内環を持っているかをテストします。
- ST_IsPolygonCW - Availability: 2.4.0 ポリゴンが時計回りの外環を持っていて、反時計回りの内環を持っているかをテストします。
- ST_MakeEmptyCoverage - Availability: 2.4.0 空のラスタタイルのグリッドでジオリファレンスを施されている領域を生成します。
PostGIS 2.4で機能強化された関数
全てのPostGIS集約関数はパラレル安全のラベル付けが施されます。これにより、並列処理を使用できるクエリプランで使うことができるようになります。
PostGIS 2.4.1のpostgis_tiger_geocoderはTiger 2017データをロードするように設定されています。必要に応じて、zip code 5-digit tabulation (zcta)をLoader_Generate_Nation_Scriptの一部としてロードすることができます。
- Loader_Generate_Nation_Script - Enhanced: 2.4.1 ZCTA5 (Zip Code 5 Tabulation Area)ロード手順は修正され、有効になった時に、ZCTA5データは、国スクリプトのロードの一部として、zcta5_allという名前の単一テーブルにロードされます。 指定したプラットフォーム用の、国と州のルックアップテーブルをロードするシェルスクリプトを生成します。
- Normalize_Address - Enhanced: 2.4.0 norm_addyオブジェクトにzip4とaddress_alphanumericが追加されました。 文字列で住所が与えられると、道路後置辞、前置辞、正規化された種別、番地、ストリート名等をフィールドに分けて持つnorm_addy複合型を返します。tiger_geocoderに同梱されているルックアップデータで動作します (Tigerデータ自体は不要です)。
- Pagc_Normalize_Address文字列のストリート住所を与えると、道路後置辞、前置辞、標準タイプ、番地、ストリート名等を複数フィールドに分解して持つnorm_addy複合型を返します。この関数は、tiger_geocoder同梱のルックアップテーブルだけを使います (Tigerデータは不要です)。住所標準化エクステンションが必要です。 - Enhanced: 2.4.0 norm_addyオブジェクトにzip4とaddress_alphanumericが追加されました。 文字列のストリート住所を与えると、道路後置辞、前置辞、標準タイプ、番地、ストリート名等を複数フィールドに分解して持つnorm_addy複合型を返します。この関数は、tiger_geocoder同梱のルックアップテーブルだけを使います (Tigerデータは不要です)。住所標準化エクステンションが必要です。
- Reverse_Geocode - Enhanced: 2.4.1 ZCTA5データセットを追加でロードする場合には、reverse_geocode関数は、特定の州データがロードされていなくても、州とZIPを解決することができます。ZTCA5データのロードに関する詳細についてはを参照して下さい。 登録されている空間参照系に基づくポイントジオメトリを引数に取り、理論的に可能性のある住所の配列と交差するストリートの配列を一つのレコードで返します。include_strnum_range = trueの場合には、交差するストリートに番地範囲を追加します。
- ST_AsTWKB - Enhanced: 2.4.0 メモリと速度の改善。 TWKB (Tiny Well-Known Binary)としてジオメトリを出力します。
- ST_Covers - Enhanced: 2.4.0 ジオグラフィ型を使う形式においてポリゴンの中のポリゴンとポリゴンの中のラインストリングへの対応を追加 ジオメトリBにジオメトリAの外となるポイントが無い場合には、1 (TRUE)を返します。
- ST_CurveToLine - Enhanced: 2.4.0 最大距離差による許容範囲と最大角度による許容範囲に対応し、対称出力に対応しました。 CIRCULARSTRING/CURVEPOLYGON/MULTISURFACEをLINESTRING/POLYGON/MULTIPOLYGONに変換します。
- ST_Project - Enhanced: 2.4.0 負の距離と非正規化方位を許容するようになりました 始点から距離と方位で算出されたポイントを返します。
- ST_Reverse - Enhanced: 2.4.0 曲線対応が導入されました。 頂点の順序を逆にしたジオメトリを返します。
PostGIS 2.4で変更された関数
全てのPostGIS集約関数はパラレル安全のラベル付けが施されます。これにより集約関数の削除と再作成が強制的に行われます。この際、ユーザ定義のビューまたはSQL関数がPostGIS集約関数に依っている場合に失敗することがあります。
- = - Changed: 2.4.0, 以前の版では、ジオメトリ自体の等価性でなくバウンディングボックスが等価かどうかを見ていました。バウンディングボックスが等価かどうかを知る必要がある場合には、替わりにを使います。 ジオメトリ/ジオグラフィ Aの座標と座標の並び順がジオメトリ/ジオグラフィ Bと同じ場合にTRUEを返します。
- ST_Node - Changed: 2.4.0 この関数は内部でGEOSUnaryUnionの替わりにGEOSNodeを使用しています。ラインストリングの並び順と方向がPostGIS 2.4より前のものと違うことになるかも知れません。 ラインストリングの集合にノードを作成します。
14.12.4. PostGIS 2.3で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
![[注記]](images/note.png) | |
---|
PostGIS 2.3.0: PostgreSQL 9.6以上で、並列クエリに対応します。 |
![[注記]](images/note.png) | |
---|
PostGIS 2.3.0:データベースのリストアにおける問題を低減するために、PostGISエクステンションの全ての関数に対してスキーマ修飾を可能にしました。 |
![[注記]](images/note.png) | |
---|
PostGIS 2.3.0: PostgreSQL 9.4以上で、BRINインデックスに対応します。「BRINインデックス」を参照して下さい。 |
![[注記]](images/note.png) | |
---|
PostGIS 2.3.0: Tigerジオコーダは、TIGER 2016データで動作するように更新されました。 |
PostGIS 2.3で新規作成された関数
- &&&(geometry,gidx) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの (キャッシュされている)n次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)とインタセクトする場合にTRUEを返します。
- &&&(gidx,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数によるn次元バウンディングボックス (GIDX)がジオメトリの (キャッシュされている)n次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&&(gidx,gidx) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)が相互にインタセクトする場合にTRUEを返します。
- &&(box2df,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)が相互にインタセクトする場合にTRUEを返します。
- &&(box2df,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数による2次元バウンディングボックスがジオメトリの (キャッシュされている)2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&(geometry,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- @(box2df,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)の一方がもう一方を包含する場合にTRUEを返します。
- @(box2df,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)がジオメトリの2次元バウンディングボックスに包含される場合にTRUEを返します。
- @(geometry,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)に包含される場合にTRUEを返します。
- Populate_Topology_Layer - Availability: 2.3.0 テーブルからメタデータを読み、topology.layerテーブルに不足しているものを追加します。
- ST_ClusterDBSCAN - Availability: 2.3.0 入力ジオメトリごとにDBSCANアルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_ClusterKMeans - Availability: 2.3.0 入力ジオメトリごとにk平均法アルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_GeneratePoints - Availability: 2.3.0 ポリゴンまたはマルチポリゴンから、元の領域の内部の、乱数で決められた位置に置かれた点からなるマルチポイントに変換します。
- ST_GeometricMedian - Availability: 2.3.0 マルチポイントの幾何学的中央値を返します。
- ST_MakeLine - Availability: 2.3.0 - マルチポイントの入力要素に対応するようになりました。 ポイント、マルチポイントまたはラインストリングのジオメトリからラインストリングを生成します。
- ST_MinimumBoundingRadius - Availability: 2.3.0 ジオメトリを完全に包含する最小円の中心ポイントと半径を返します。
- ST_MinimumClearance - Availability: 2.3.0 ジオメトリのクリアランスの最小値を返します。この値はジオメトリのロバスト性を示すものです。
- ST_MinimumClearanceLine - Availability: 2.3.0 - GEOS 3.6.0以上が必要です。 ジオメトリの最小クリアランスを示す、2点のラインストリングを返します。
- ST_Normalize - Availability: 2.3.0 標準的な形式に変えたジオメトリを返します。
- ST_Points - Availability: 2.3.0 ジオメトリの全ての座標を含むマルチポイントを返します。
- ST_VoronoiLines - Availability: 2.3.0 ジオメトリの頂点からボロノイ図のセル間の境界を返します。
- ST_VoronoiPolygons - Availability: 2.3.0 ジオメトリの頂点からボロノイ図のセルを返します。
- ST_WrapX - Availability: 2.3.0 ジオメトリをX値で回り込ませます。
- TopoGeom_addElement - Availability: 2.3 TopoGeometryの定義に要素を追加します。
- TopoGeom_remElement - Availability: 2.3 TopoGeometryの定義から要素を削除します。
- ~(box2df,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)の一方がもう一方を包含する場合にTRUEを返します。
- ~(box2df,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)をジオメトリの (キャッシュされている)2次元バウンディングボックスが包含する場合にTRUEを返します。
- ~(geometry,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)を包含する場合にTRUEを返します。
PostGIS 2.3で機能強化された関数
- ST_Contains - Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
- ST_Covers - Enhanced: 2.3.0 ジオメトリについて、PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
- ST_Expand - Enhanced: 2.3.0 異なる次元の異なる量によるボックスの拡張に対応するようになりました。
- ST_Intersects - Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
- ST_Segmentize - Enhanced: 2.3.0 ジオグラフィの分割において、現在は、同じ長さに分割しています。
- ST_Transform - Enhanced: 2.3.0 直接のPROJ.4文字列への対応が導入されました。
- ST_Within - Enhanced: 2.3.0 ジオメトリについて、PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
14.12.5. PostGIS 2.2で新規作成/機能強化された関数
次に示す関数は、追加または機能強化されたPostGIS関数です。
![[注記]](images/note.png) | |
---|
postgis_sfcgalは、現在はエクステンションとしてインストールできます。CREATE EXTENSION postgis_sfcgal;とします。 |
![[注記]](images/note.png) | |
---|
PostGIS 2.2.0:Tigerジオコーダは、TIGER 2015データで動作するように更新されました。 |
![[注記]](images/note.png) | |
---|
住所正規化のための address_standardizer, address_standardizer_data_us エクステンションの詳細情報については12章住所標準化を参照して下さい。 |
![[注記]](images/note.png) | |
---|
トポロジの多くの関数は、性能向上のためにC関数で再記述されました。 |
PostGIS 2.2で新規作成された関数
PostGIS 2.2で機能強化された関数
- AsTopoJSON - Enhanced: 2.2.1 点入力に対応するようになりました
- ST_Area - Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。
- ST_AsX3D - Enhanced: 2.2.0: GeoCoordinatesと軸 (x/y, 経度/緯度)の反転に対応しました。詳細はoptionsを見て下さい。
- ST_Azimuth - Enhanced: 2.2.0 精度とロバスト性向上のために回転楕円体面上の計測をGeographicLibで行うようにしました。この新機能を使うには、Proj 4.9.0以上が必要です。
- ST_Distance - Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。
- ST_Scale - Enhanced: 2.2.0 全ての次元の拡大縮小 (factorパラメータ)への対応が導入されました。
- ST_Split - Enhanced: 2.2.0 ライン分割をマルチライン、マルチポイントまたはポリゴンもしくはマルチポリゴンの境界で行えるようにしました。
- ST_Summary - Enhanced: 2.2.0 TINと曲線の対応が追加されました。
- <-> - Enhanced: 2.2.0 ジオメトリとジオグラフィとのKNN (k近傍法)の動作が本当のものになりました。ジオグラフィのKNNは回転楕円体面上でなく球面上の計算となることに注意して下さい。PostgreSQL 9.4以下では、ジオグラフィに対応していますが、バウンディングボックスの重心に対応するだけです。
14.12.6. PostGIS 2.2で大幅に変更された関数
次に示す関数は、PostGIS 2.2で、たぶん大幅に変更されたものです。これらを使用している場合には、既存のコードを確認する必要があるかも知れません。
- Get_Geocode_Setting - Changed: 2.2.0 : デフォルト設定をgeocode_settingsに保存するようにしました。ユーザが設定したものだけがgeocode_settings内にあります。
- ST_3DClosestPoint - Changed: 2.2.0 - 二つの2次元ジオメトリが入力である場合には、2次元ポイントが返ります (古い挙動では、存在しないZの値について0を仮定していました)。2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
- ST_3DDistance - Changed: 2.2.0 - 2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
- ST_3DLongestLine - Changed: 2.2.0 - 二つの2次元ジオメトリが入力である場合には、2次元ポイントが返ります (古い挙動では、存在しないZの値について0を仮定していました)。2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
- ST_3DMaxDistance - Changed: 2.2.0 - 2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
- ST_3DShortestLine - Changed: 2.2.0 - 二つの2次元ジオメトリが入力である場合には、2次元ポイントが返ります (古い挙動では、存在しないZの値について0を仮定していました)。2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
- ST_DistanceSphere - Changed: 2.2.0 前の版ではこの関数はST_Distance_Sphereと呼ばれていました。
- ST_DistanceSpheroid - Changed: 2.2.0 前の版ではこの関数はST_Distance_Sphereと呼ばれていました。
- ST_Equals - Changed: 2.2.0 この関数は、どちらのジオメトリも不正であっても、バイナリで同じ場合ならTRUEを返します。
- ST_LengthSpheroid - Changed: 2.2.0 これより前の版では、これはST_Length_Spheroidと呼ばれ、ST_3DLength_Spheroidという別名を持っていました。
- ST_MemSize - Changed: 2.2.0 命名規則に従うためにST_MemSizeに変更しました。以前の版では、この関数はST_Mem_Sizeと呼ばれていました。古い名前は非推奨ですが現在のところは有効です。
- ST_PointInsideCircle - Changed: 2.2.0 以前の版ではST_Point_Inside_Circleと呼ばれていました。
- ValidateTopology - Changed: 2.2.0 エラーの記述と矛盾しないように'edge crosses node'のid1とid2の値が入れ替わっています。
- <-> - Changed: 2.2.0 PostgreSQL 9.5では、古いハイブリッド書式は遅くなりる可能性があります。そのため、PostGIS 2.2以上かつPostgreSQL 9.5以上においてのみ動作させる場合には、そのやり方をり除きたくなるでしょう。
14.12.7. PostGIS 2.1で新規作成/機能強化された関数
次に示す関数は、追加または機能強化されたPostGIS関数です。
![[注記]](images/note.png) | |
---|
トポロジの効率が改善されています。詳細情報については11章トポロジを参照して下さい。 |
![[注記]](images/note.png) | |
---|
バグ訂正 (特にバンド外ラスタ)、多くの新しい関数 (しばしばユーザが共通のタスクを果たすために記述するコードを短くできます)、ラスタ機能における大規模の速度改善があります。詳細情報については9章ラスタ リファレンスを参照して下さい。 |
![[注記]](images/note.png) | |
---|
PostGIS 2.1.0: Tigerジオコーダは、TIGER 2012データで動作するように更新されました。また、デバッグと格付け設定変更のためにgeocode_settings が追加され、ローダのロード量を抑制して、現在はロードするべきテーブルをダウンロードするだけになりました。PostGIS 2.1.1: Tigerジオコーダは、TIGER 2013データで動作するように更新されました。詳細情報については、「Tigerジオコーダ」を参照して下さい。 |
PostGIS 2.1で新規作成された関数
PostGIS 2.1で機能強化された関数
- ST_AddBand - Enhanced: 2.1.0 addbandarg対応が追加されました。
- ST_AddBand - Enhanced: 2.1.0 out-dbバンドが追加されました。
- ST_AsBinary/ST_AsWKB - Enhanced: 2.1.0 outasinの追加
- ST_Aspect - Enhanced: 2.1.0 ST_MapAlgebra()を使用するようにし、interpolate_nodata任意引数を追加しました。
- ST_Clip - Enhanced: 2.1.0 C言語で記述されました
- ST_Distinct4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_HillShade - Enhanced: 2.1.0 ST_MapAlgebra()を使用するようにし、interpolate_nodata任意引数を追加しました。
- ST_Max4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_Mean4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_Min4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_PixelAsPolygons - Enhanced: 2.1.0 任意引数exclude_nodata_valueが追加されました。
- ST_Polygon - Enhanced: 2.1.0 速度を改善し (完全にC言語で記述しました)、確実に妥当なマルチポリゴンを返すようにしました。
- ST_Range4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_SameAlignment - Enhanced: 2.1.0 集約関数版の追加
- ST_SetGeoReference - Enhanced: 2.1.0 ST_SetGeoReference(raster, double precision, ...)形式を追加しました。
- ST_SetValue - Enhanced: 2.1.0 ST_SetValueでジオメトリを用いる形式が、ポイントだけでなくあらゆるジオメトリタイプに対応するようになりました。ジオメトリを用いる形式はST_SetValuesのgeomval[]を用いる形式をラップしたものです。
- ST_Slope - Enhanced: 2.1.0 ST_MapAlgebra()を使用するようにし、units, scale, interpolate_nodata任意引数を追加しました。
- ST_StdDev4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_Sum4ma - Enhanced: 2.1.0 二つ目の形式の追加
- ST_Transform - Enhanced: 2.1.0 ST_Tranfrorm(rast, alignto)の形式を追加しました。
- ST_Union - Enhanced: 2.1.0 速度が改善されました (完全にC言語で記述しました)
- ST_Union - Enhanced: 2.1.0 ST_Union(rast) (一つ目の形式)で、全ての入力ラスタの全てのバンドを結合するようになりました。以前の版のPostGISでは、一つ目のバンドと仮定していました。
- ST_Union - Enhanced: 2.1.0 ST_Union(rast, uniontype) (四つ目の形式)で、全ての入力ラスタの全てのバンドを結合するようになりました。
- ST_AsGML - Enhanced: 2.1.0 GML 3用にidが導入されました。
- ST_Boundary - Enhanced: 2.1.0で三角対応が導入されました。
- ST_DWithin - Enhanced: 2.1.0で、ジオグラフィでの速度が向上しました。詳細についてはMaking Geography fasterを参照して下さい。
- ST_DWithin - Enhanced: 2.1.0 曲線ジオメトリ対応が導入されました。
- ST_Distance - Enhanced: 2.1.0 ジオグラフィでの速度が改善されました。詳細はMaking Geography fasterをご覧ください。
- ST_Distance - Enhanced: 2.1.0 - 曲線ジオメトリ対応が導入されました。
- ST_DumpPoints - Enhanced: 2.1.0 速度向上しました。C言語で実装しなおしました。
- ST_MakeValid - Enhanced: 2.1.0 GEOMETRYCOLLECTIONとMULTIPOINTの対応の追加
- ST_Segmentize - Enhanced: 2.1.0 ジオグラフィ対応が導入されました。
- ST_Summary - Enhanced: 2.1.0 空間参照系を持つかを示すSフラグが追加されました。
- toTopoGeom - Enhanced: 2.1.0版では、既存のTopoGeometryを取る形式が追加されました。
14.12.8. PostGIS 2.1で大幅に変更された関数
次に示す関数は、PostGIS 2.1で、たぶん大幅に変更されたものです。これらを使用している場合には、既存のコードを確認する必要があるかも知れません。
- ST_Aspect - Changed: 2.1.0 以前の版では、返り値はラジアン単位でした。現在は、デフォルトでは度で返します。
- ST_HillShade - Changed: 2.1.0 以前の版ではazimuthとaltitudeはラジアン単位で表現しました。現在はazimuthとaltitudeは度単位で表現します。
- ST_Intersects - Changed: 2.1.0 ST_Intersects(raster, geometry)形式の挙動が ST_Intersects(geometry, raster)とあうように変更されました。
- ST_PixelAsCentroids - Changed: 2.1.1 exclude_nodata_valueの挙動を変更しました。
- ST_PixelAsPoints - Changed: 2.1.1 exclude_nodata_valueの挙動を変更しました。
- ST_PixelAsPolygons - Changed: 2.1.1 exclude_nodata_valueの挙動を変更しました。
- ST_Polygon - Changed: 2.1.0 以前の版では、時々ポリゴンを返しましたが、常にマルチポリゴンを返すように変更しました。
- ST_RasterToWorldCoordX - Changed: 2.1.0 以前の版ではST_Raster2WorldCoordXと呼ばれていました。
- ST_RasterToWorldCoordY - Changed: 2.1.0 以前の版ではST_Raster2WorldCoordYと呼ばれていました。
- ST_Resample - Changed: 2.1.0 srid引数を削除しました。参照ラスタを使う形式では、もはや参照ラスタのSRIDを適用しません。ラスタの投影変換にはST_Transform()を使います。SRIDなしで動作します。
- ST_Rescale - Changed: 2.1.0 SRIDなしのラスタで動作するようになりました。
- ST_Reskew - Changed: 2.1.0 SRIDなしのラスタで動作するようになりました。
- ST_Slope - Changed: 2.1.0 以前の版では、返り値はラジアン単位でした。現在は、デフォルトでは度で返します。
- ST_SnapToGrid - Changed: 2.1.0 SRIDなしのラスタで動作するようになりました。
- ST_WorldToRasterCoordX - Changed: 2.1.0 以前の版ではST_World2RasterCoordXと呼ばれていました。
- ST_WorldToRasterCoordY - Changed: 2.1.0 以前の版ではST_World2RasterCoordYと呼ばれていました。
- ST_EstimatedExtent - Changed: 2.1.0 2.0.xまではST_Estimated_Extentと呼ばれていました。
- ST_Force2D - Changed: 2.1.0 2.0.xの間はST_Force_2Dと呼ばれていました。
- ST_Force3D - Changed: 2.1.0 2.0.xの間はST_Force_3Dと呼ばれていました。
- ST_Force3DM - Changed: 2.1.0 2.0.xの間はST_Force_3DMと呼ばれていました。
- ST_Force3DZ - Changed: 2.1.0 2.0.xの間はST_Force_3DZと呼ばれていました。
- ST_Force4D - Changed: 2.1.0 2.0.xの間はST_Force_4Dと呼ばれていました。
- ST_ForceCollection - Changed: 2.1.0 2.0.xの間はST_Force_Collectionと呼ばれていました。
- ST_LineInterpolatePoint - Changed: 2.1.0 2.0.xまでではST_Line_Interpolate_Pointと呼んでいました。
- ST_LineLocatePoint - Changed: 2.1.0 2.0.xまでではST_Line_Locate_Pointと呼んでいました。
- ST_LineSubstring - Changed: 2.1.0 2.0.xではST_Line_Substringと呼ばれていました。
- ST_Segmentize - Changed: 2.1.0 ジオグラフィ対応導入の結果として、SELECT ST_Segmentize('LINESTRING(1 2, 3 4)',0.5);では、あいまいな関数呼び出しエラーとなります。確実にタイプを指定したオブジェクトを持たせる必要があります。たとえば、ジオメトリ/ジオグラフィカラムであったり、ST_GeomFromText, ST_GeogFromTextを使ったり、SELECT ST_Segmentize('LINESTRING(1 2, 3 4)'::geometry,0.5);としたりします。
14.12.9. PostGIS 2.0で新規作成/機能強化/変更された関数
次に示す関数は、2.0リリースで新規作成/機能強化/大幅な変更 (「PostGIS 2.0で変更された関数」)がなされたPostGIS関数です。
新ジオメトリタイプ: TINと多面体サーフェスが2.0で導入されました。
![[注記]](images/note.png) | |
---|
トポロジ機能の大幅な改良がありました。詳細情報については11章トポロジを参照して下さい。 |
![[注記]](images/note.png) | |
---|
PostGIS 2.0では、ラスタ型とラスタ機能がPostGISに統合されました。ここに一覧を出すには、新しいラスタ関数はあまりに多く、全ての関数が新しいので、有効なラスタ関数の詳細については9章ラスタ リファレンスを参照して下さい。2.0より前では、raster_columnsとraster_overviewsは実際のテーブルでした。2.0リリースでビューに変更されました。ST_AddRasterColumn 等の関数は削除され、AddRasterConstraints, DropRasterConstraintsに置き換えられました。結果として、ラスタテーブルを生成するアプリケーションは変更が必要になるかも知れなくなりました。 |
![[注記]](images/note.png) | |
---|
Tigerジオコーダは、TIGER 2010センサスデータで動作するように更新され、PostGISの中核文書に入れられました。また、逆ジオコーダ関数が新規作成されました。詳細情報については「Tigerジオコーダ」を参照して下さい。 |
PostGIS 2.0で機能強化された関数
- AddGeometryColumn - Enhanced: 2.0.0 use_typmod引数が導入されました。デフォルトでは制約を基にしたものでなくtypmodジオメトリカラムが生成されます。
- Box2D - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- Box3D - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- Geocode - Enhanced: 2.0.0 Tiger 2010構造のデータに対応しました。実行速度とジオコーディング精度を改善し、ストリート住所の位置を中心線から側線に移動するための改訂を行いました。また、良い結果の数を指定したり、最も良い結果だけを返すようにするのに使う新しいパラメータmax_resultsを導入しました。
- GeometryType - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- Populate_Geometry_Columns - Enhanced: 2.0.0 use_typmod任意引数が導入されました。カラムが型修飾子で生成されるか制約チェックで作られるかの制御ができます。
- ST_Intersection - Enhanced: 2.0.0 - ラスタ空間のインタセクションが導入されました。2.0.0より前の版では、ベクタ空間でのインタセクションの計算のみに対応していました。
- ST_Intersects - Enhanced: 2.0.0 ラスタ/ラスタのインタセクト対応が導入されました。
- ST_Value - Enhanced: 2.0.0 任意引数exclude_nodata_valueが追加されました。
- ST_3DExtent - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Affine - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Area - Enhanced: 2.0.0 - 2次元多面体サーフェス対応が導入されました。
- ST_AsBinary - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_AsBinary - Enhanced: 2.0.0 高次元が導入されました。
- ST_AsBinary - Enhanced: 2.0.0 ジオグラフィでのエンディアン指定が導入されました。
- ST_AsEWKB - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_AsEWKT - Enhanced: 2.0.0 ジオグラフィ対応、多面体サーフェス対応、三角形対応、TIN対応が導入されました。
- ST_AsGML - Enhanced: 2.0.0 プレフィクスが導入されました。 GML 3用であるoptionsの4は、曲線のかわりにラインストリングを使えるようにするためのものです。GML 3の多面体サーフェスとTINが導入されました。optionsの32はボックスを出力するために導入されました。
- ST_AsKML - Enhanced: 2.0.0 - プレフィクス名前空間を追加しました。デフォルトではプリフィクス無しです。
- ST_Azimuth - Enhanced: 2.0.0 ジオグラフィ対応が導入されました。
- ST_ChangeEdgeGeom - Enhanced: 2.0.0版で、トポロジ整合性の強制を追加しました。
- ST_Dimension - Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。空ジオメトリを与えた場合に例外を投げなくなりました。
- ST_Dump - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_DumpPoints - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Expand - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Extent - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Force2D - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_ForceRHR - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_Force3D - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_Force3DZ - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_ForceCollection - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_GMLToSQL - Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。
- ST_GMLToSQL - Enhanced: 2.0.0 SRID任意引数が追加されました。
- ST_GeomFromEWKB - Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。
- ST_GeomFromEWKT - Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。
- ST_GeomFromGML - Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。
- ST_GeomFromGML - Enhanced: 2.0.0 SRID任意引数が追加されました。
- ST_GeometryN - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_GeometryType - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_IsClosed - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_MakeEnvelope - Enhanced: 2.0 SRID指定なしでエンベロープを指定できるようになりました。
- ST_MakeValid - Enhanced: 2.0.1 速度の改善
- ST_NPoints - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ST_NumGeometries - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Relate - Enhanced: 2.0.0 - 境界ノード規則が追加されました。
- ST_Rotate - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Rotate - Enhanced: 2.0.0 回転の原点を指定するパラメタを追加しました。
- ST_RotateX - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_RotateY - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_RotateZ - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_Scale - Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
- ST_ShiftLongitude - Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。
- ST_Summary - Enhanced: 2.0.0でジオグラフィ対応が追加されました。
- ST_Transform - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
- ValidateTopology - Enhanced: 2.0.0では、より効果的なエッジ交差検出が可能になり、以前の版で残っていた偽陽性を解決しています。
- && - Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
14.12.10. PostGIS 2.0で変更された関数
次に示す関数は、PostGIS2.0で変更されたもので、アプリケーションの変更が必要になる場合があります。
![[注記]](images/note.png) | |
---|
ほとんどの非推奨関数は削除されました。これらは、1.2から文書には出ていないか、絶対に文書化されない内部関数です。文書に無い関数を使用している場合には、非推奨関数になっているか、非推奨になろうとしているか、内部関数の可能性があります。これらは避けるべきです。非推奨関数を使っているアプリケーションやツールの対応に関する詳細情報については問: 3.2をご覧下さい。 |
![[注記]](images/note.png) | |
---|
ジオメトリのバウンディングボックスはfloat4から倍精度浮動小数点数 (float8)に変わりました。バウンディングボックス演算子を使う場合とバウンディングボックスからジオメトリへのキャストに影響が出ます。たとえば、ST_SetSRID(abbox)は、しばしば、以前の版ではビューポートクエリの答をわずかに変更する可能性がありますが、PostGIS 2.0以上では、それとは異なる、より精度の良い答えを返します。 |
![[注記]](images/note.png) | |
---|
hasnodata引数は、同じ意味ですがより目的がはっきり分かるexclude_nodata_valueに置き換えられました。 |
- AddGeometryColumn - Changed: 2.0.0 geometry_columnsがシステムカタログを読むビューになったため、geometry_columnsを更新しないようになりました。デフォルトでは制約を生成せず、PostgreSQLの型修飾子を使います。この関数によるWGS 84のPOINTカラムの構築とALTER TABLE some_table ADD COLUMN geom geometry(Point,4326);とは等価です。
- AddGeometryColumn - Changed: 2.0.0 制約を使う必要がある場合には、use_typmodをFALSEにします。
- AddGeometryColumn - Changed: 2.0.0 ビューについては、geometry_columnsへの手動登録はできなくなりました。しかし、typmodテーブルジオメトリに対して構築されていて、かつラッパ関数が無いビューは、親テーブルカラムのtypmodの挙動を継承するので、正しく登録されます。他のジオメトリを出力するジオメトリ関数を使うビューについては、ビューのジオメトリカラムが正しく登録されるようにするため、typmodジオメトリへのキャストが必要です。を参照して下さい。
- DropGeometryColumn - Changed: 2.0.0 この関数は後方互換のためのものです。geometry_columnsは現在はシステムカタログに対するビューですので、他のテーブルのカラムと同じようにALTER TABLEを使った削除が可能です。
- DropGeometryTable - Changed: 2.0.0で この関数は後方互換のためのものです。geometry_columnsは現在はシステムカタログに対するビューですので、他のテーブルのカラムと同じようにDROP TABLEを使った削除が可能です。
- Populate_Geometry_Columns - Changed: 2.0.0 デフォルトでは、ジオメトリタイプの制限について、制約を確認する代わりに型修飾子を使います。新しいuse_typmodをFALSEに設定して使うことで、制約確認を使用することができます。
- Box3D - Changed: 2.0.0 以前の版では、box3dでなくbox2dを使っていました。box2dは非推奨型となり、box3dに変更しました。
- ST_GDALDrivers - Changed: 2.0.6, 2.1.3 - GUC (訳注: Grand Unified Configurationの略で、動的に変更できるPostgreSQLパラメータ)または環境変数gdal_enabled_driversが設定されていないデフォルトではドライバが全て無効になりました。
- ST_ScaleX - Changed: 2.0.0. WKTRaster版ではST_PixelSizeXと呼ばれていました。
- ST_ScaleY - Changed: 2.0.0. WKTRaster版ではST_PixelSizeYと呼ばれていました。
- ST_SetScale - Changed: 2.0.0 WKTRaster版では、ST_SetPixelSizeと呼ばれていました。2.0.0で変更されました。
- ST_3DExtent - Changed: 2.0.0 以前の版ではST_Extent3Dと呼ばれていました。
- ST_3DLength - Changed: 2.0.0 以前の版ではST_Length3Dと呼ばれていました。
- ST_3DMakeBox - Changed: 2.0.0以前の版ではST_MakeBox3Dと呼ばれていました。
- ST_3DPerimeter - Changed: 2.0.0 以前の版ではST_Perimeter3Dと呼ばれていました。
- ST_AsBinary - Changed: 2.0.0 この関数への入力は不明な型にすることができなくなり、必ずジオメトリでなければなりません。ST_AsBinary('POINT(1 2)')といった構築ではもはや妥当ではなく、n st_asbinary(unknown) is not unique errorが得られます。このようなコードはST_AsBinary('POINT(1 2)'::geometry);に変更する必要があります。これが不可能な場合にはlegacy.sqlをインストールして下さい。
- ST_AsGML - Changed: 2.0.0 デフォルトの名前付き引数を使います。
- ST_AsGeoJSON - Changed: 2.0.0 デフォルト引数と名前付き引数に対応しました。
- ST_AsKML - Changed: 2.0.0 - デフォルト引数と名前付き引数に対応しました。
- ST_AsSVG - Changed: 2.0.0 - デフォルト引数と名前付き引数に対応しました。
- ST_EndPoint - Changed: 2.0.0では単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。古い挙動は記載されていませんでしたが、LINESTRINGとして格納されているデータを持っていると思われる人々は2.0でNULLが返って来ることを経験することでしょう。
- ST_GeomFromText - Changed: 2.0.0 前の版ではST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')が許されていました。SQL/MM標準への適合のためPostGIS 2.0.0では不正とされます。今はST_GeomFromText('GEOMETRYCOLLECTION EMPTY')となります。
- ST_GeometryN - Changed: 2.0.0 以前の版では非マルチのジオメトリではNULLが返りました。ST_GeometryN(..,1)の場合にはジオメトリを返すよう変更されました。
- ST_IsEmpty - Changed: 2.0.0 以前の版のPostGISではST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')を許しました。PostGIS 2.0.0では、SQL/MM標準により準拠させるため、これは不正となります。
- ST_Length - Changed: 2.0.0 大幅な変更 -- 以前の版ではジオグラフィのPOLYGONやMULTIPOLYGONへの適用によってPOLYGONやMULTIPOLYGONの周囲長を返しました。2.0.0版ではジオメトリの挙動に従うため0を返すように変更しました。ポリゴンの周囲長を求める場合は、ST_Perimeterを使います。
- ST_LocateAlong - Changed: 2.0.0 以前の版ではST_Locate_Along_Measureと呼ばれていましたが、古い名前は非推奨となり、将来的には削除しますが現時点では有効です。
- ST_LocateBetween - Changed: 2.0.0 以前の版でST_Locate_Between_Measuresと呼ばれていましたが、古い名前は非推奨となり、将来的には削除しますが現時点では後方互換のため有効になっています。
- ST_ModEdgeSplit - Changed: 2.0 - 以前の版では名前を間違えてST_ModEdgesSplitになっていました。
- ST_NumGeometries - Changed: 2.0.0 前の版では、ジオメトリがコレクション/マルチ系でない場合にはNULLを返しました。2.0.0以上では、POLYGON, LINESTRING, POINTといった単一ジオメトリについては1を返します。
- ST_NumInteriorRings - Changed: 2.0.0 - 以前の版では、MULTIPOLYGONを渡して最初のPOLYGONの内環の数を返すことができました。
- ST_PointN - Changed: 2.0.0 単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。
- ST_StartPoint - Changed: 2.0.0では単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。古い挙動は記載されていませんでしたが、LINESTRINGとして格納されているデータを持っていると思われる人々は2.0でNULLが返って来ることを経験することでしょう。
14.12.11. PostGIS 1.5で新規作成/機能強化/変更された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
- PostGIS_LibXML_Version - Availability: 1.5 LibXML2ライブラリのバージョン番号を返します。
- ST_AddMeasure - Availability: 1.5.0 始点と終点の間を線型補完した、M値を持つ派生ジオメトリを返します。
- ST_AsBinary - Availability: 1.5.0 ジオグラフィが導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary (WKB)表現を返します。
- ST_AsGML - Availability: 1.5.0 ジオグラフィが導入されました。 GML第2版または第3版としてジオメトリを返します。
- ST_AsGeoJSON - Availability: 1.5.0 ジオグラフィが導入されました。 GeoJSON要素としてジオメトリを返します。
- ST_AsText - Availability: 1.5 - ジオグラフィ対応が導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
- ST_Buffer - Availability: 1.5 - ST_Bufferが強化され、様々な終端と継ぎ目に対応するようになりました。たとえば、道路ラインストリングを道路ポリゴンに変換する際に終端を丸でなく平面や四角で処理したい場合などに使えます。ジオグラフィ用の薄いラッパが追加されました。 (T) このジオメトリからの距離が指定された距離以下となる点全てを表現するジオメトリを返します。
- ST_ClosestPoint - Availability: 1.5.0 g1上の、g2に最も近い2次元ポイントを返します。これは最短ラインの始点です。
- ST_CollectionExtract - Availability: 1.5.0 (マルチ)ジオメトリを与えると、指定したタイプの要素でのみ構成される (マルチ)ジオメトリを返します。
- ST_Covers - Availability: 1.5 - ジオグラフィ対応が導入されました。 ジオメトリBにジオメトリAの外となるポイントが無い場合には、1 (TRUE)を返します。
- ST_DFullyWithin - Availability: 1.5.0 全てのジオメトリが指定したジオメトリから指定した距離内にある場合にTRUEを返します。
- ST_DWithin - Availability: 1.5.0 ジオグラフィが導入されました。 ジオメトリが指定したジオメトリから指定した距離内にある場合にTRUEを返します。ジオメトリについては、距離は空間参照系で定義されている単位になります。ジオグラフィについては、メートル単位で、デフォルトではuse_spheroid=true (回転楕円体を使った計算)となり、速いチェックをするにはuse_spheroid=falseとして球面を使って計算します。
- ST_Distance - Availability: 1.5.0 1.5でジオグラフィ対応が導入されました。大きいジオメトリや頂点の多いジオメトリについての速度が改善しました。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_DistanceSphere - Availability: 1.5 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 球面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離をメートル単位で返します。
- ST_DistanceSpheroid - Availability: 1.5 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 回転楕円体面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離を返します。
- ST_DumpPoints - Availability: 1.5.0 ジオメトリのポイントごとのgeometry_dump行の集合を返します。
- ST_Envelope - Availability: 1.5.0 挙動が変更され出力がfloat4からfloat8になりました。 ジオメトリのバウンディングボックスを表現するジオメトリを返します。
- ST_GMLToSQL - Availability: 1.5 libxml2 1.6+が必要です。 GML表現から指定したST_Geometry値を返します。これはST_GeomFromGMLの別名です。
- ST_GeomFromGML - Availability: 1.5 libxml2 1.6+が必要です。 GML表現からPostGISジオメトリオブジェクトを出力します。
- ST_GeomFromKML - Availability: 1.5 libxml2 2.6以上が必要です。 ジオメトリのKML表現の入力をとり、PostGISジオメトリオブジェクトを出力します。
- ~= - Availability: 1.5.0 挙動が変更されました AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。
- ST_HausdorffDistance - Availability: 1.5.0 二つのジオメトリ間のハウスドルフ距離を返します。
- ST_Intersection - Availability: 1.5 ジオグラフィ型が導入されました。 (T) geomAとgeomBの共有する部分を表現するジオメトリを返します。
- ST_Intersects - Availability: 1.5 ジオグラフィ対応が導入されました。 ジオメトリ/ジオグラフィが「空間的に2次元でインタセクトする」 (空間のいずれかで共有部分がある)場合にはTRUEを返し、そうでない場合にはFALSEを返します。ジオグラフィでは許容値は0.00001メートルです (近いポイントはインタセクトするとみなされます)。
- ST_Length - Availability: 1.5.0 ジオグラフィt対応が導入されました。 線系ジオメトリの2次元長を返します。
- ST_LongestLine - Availability: 1.5.0 二つのジオメトリ間の2次元最長ラインを返します。
- ST_MakeEnvelope - Availability: 1.5 座標値の最小値と最大値から矩形ポリゴンを生成します。
- ST_MaxDistance - Availability: 1.5.0 二つのジオメトリ間の2次元最長距離を空間参照系の単位で返します
- ST_ShortestLine - Availability: 1.5.0 二つのジオメトリの3次元の最短ラインを返します。
- && - Availability: 1.5.0 ジオグラフィ対応が導入されました。 Aの2次元バウンディングボックスがBの2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
14.12.12. PostGIS 1.4で新規作成/機能強化/変更された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
- Populate_Geometry_Columns - ジオメトリカラムが型修飾子で定義されるか、適切な空間制約を持つようにします。 Availability: 1.4.0
- ST_AsSVG - ジオメトリからSVGパスデータを返します。
Availability: 1.2.2. Availability: 1.4.0 PostGIS 1.4.0でhttp://www.w3.org/TR/SVG/paths.html#PathDataBNFに従うため、絶対パスにLコマンドが入りました。
- ST_Collect - ジオメトリの集合からジオメトリコレクションまたはマルチ系ジオメトリを生成します。 Availability: 1.4.0 - ST_Collect(geometry)が導入されました。ST_Collectがより多くのジオメトリをより早く扱えるよう強化されました。
- ST_ContainsProperly - BがAの内部にインタセクトするが境界 (または外部)にインタセクトしない場合に、TRUEを返します。Aは自身には、ContainsProperlyではありませんが、Containsです。 Availability: 1.4.0
- ST_Extent - ジオメトリのバウンディングボックスを返す集約関数です。
Availability: 1.4.0
- ST_GeoHash - ジオメトリのGeoHash表現を返します。 Availability: 1.4.0
- ST_IsValidReason - ジオメトリが妥当か否かを示す文字列を返し、不正な場合は理由を返します。 Availability: 1.4
- ST_LineCrossingDirection - 与えられた二つのラインストリングに関するクロスの種類を-3から3の区間の数で返します。0の場合はクロスしていません Availability: 1.4
- ST_LocateBetweenElevations - 指定したZ値の範囲内にある要素からなる派生ジオメトリ (コレクション)値を返します。 Availability: 1.4.0
- ST_MakeLine - ポイント、マルチポイントまたはラインストリングのジオメトリからラインストリングを生成します。 Availability: 1.4.0 - ST_MakeLine(geomarray)が導入されました。ST_MakeLine集約関数はより多くのポイントをより早く扱うための強化が施されています。
- ST_MinimumBoundingCircle - ジオメトリを完全に含む最小の円ポリゴンを返します。デフォルトでは、4分の1円に対して48区分を使用します。 Availability: 1.4.0
- ST_Union - ジオメトリの結合の点集合を表現するジオメトリを返します。 Availability: 1.4.0 - ST_Unionが機能強化されました。ST_Union(geomarray)が導入され、PostgreSQLの高速なコレクションの集約が導入されました。
14.12.13. PostGIS 1.3で新規作成された関数
次に示す関数は、新規作成されたPostGIS関数です。
- ST_AsGML - GML第2版または第3版としてジオメトリを返します。 Availability: 1.3.2
- ST_AsGeoJSON - GeoJSON要素としてジオメトリを返します。 Availability: 1.3.4
- ST_CurveToLine - CIRCULARSTRING/CURVEPOLYGON/MULTISURFACEをLINESTRING/POLYGON/MULTIPOLYGONに変換します。 Availability: 1.3.0
- ST_LineToCurve - LINESTRING/POLYGONをCIRCULARSTRINGかCURVEPOLYGONに変換します。 Availability: 1.3.0
- ST_SimplifyPreserveTopology - 与えられたジオメトリを「簡略化」したものを返します。Douglas-Peukerアルゴリズムを使用します。不正な派生ジオメトリ (特にポリゴン)の生成を回避します。 Availability: 1.3.3