付録A リリースノート

目次

A.1. PostGIS 3.7.0

2026/xx/xx

このバージョンでは GEOS 3.10 以上、PostgreSQL 14-19beta3、Proj 6.1 以上、libgmp が必要です。全ての PostGIS エクステンションの機能を活用するには GEOS 3.15 以上が必要です。全ての postgis_sfcgal エクステンションの機能を活用するには SFCGAL 2.3 以上が必要です。Python 3 は文書構築に新たに必要になりました。

大幅な変更

#5688, [topology] トポロジー構築関数が許容値 0 (以前のデフォルト値) を実際の 0にして、-1 (新しいデフォルト値) が「トポロジーの精度」にするようにしました (Sandro Santilli さん)

#6024, PostgreSQL 12と 13とへの対応を削除 (Regina Obe さん)

#6040, ST_GeoHash と ST_GeomFromGeoHash との往復 (Paul Ramsey さん)

#6053, [address_standardizer] エクステンションの削除とhttps://github.com/postgis/address_standardizerへの移動 (Paul Ramsey さん)

#6052, [tiger_geocoder] エクステンションの削除とhttps://git.osgeo.org/postgis/postgis_tiger_geocoderへの移動 (Regina Obe さん)

#6079, GEOS < 3.10対応を削除 (Sandro Santilli さん)

#1793, 集約関数 ST_MemCollect を削除 (Darafei Praliaskouski さん)

GH-848, CG_AlphaShape はマルチポリゴンを返すようになりました (Jean Felder さん)

[docs] 文書構築には Python 3 と SVG ラスター化ツール (rsvg-convert が好ましいが、GraphicsMagick と ImageMagick にも対応) が必要となっています (Darafei Praliaskouski さん)

新機能

#1124, #2935, #3033, #4658, #4659, [loader] ローダー引数の手直し: shp2pgsql は UNLOGGED テーブルを作ることができ、地物 ID カラム名を選択することができます。shp2pgsql --drop-table は準備より前に DROP TABLE を吐くことができます。raster2pgsql/shp2pgsql はローダーのどうさタイプを長いオプション名で指定できます。両方のローダー共に既存オプションの長い別名を受け付けることができます。また、

-if-not-exists でべき等アクションを生成します (Darafei Praliaskouski さん)

#4208, ST_MaxDistance と ST_LongestLine において単一ジオメトリーに対応する形式を追加しました。

[topology] FindVertexSegmentPairsBelowDistance 関数 (Sandro Santilli さん)

ポリゴンカバレッジの明確にエッジを共有しているマルチラインストリングを返すST_CoverageEdges (Paul Ramsey さん)

最小接続木を計算するウィンドウ関数 ST_MinimumSpanningTree (Paul Ramsey さん)

#5993, [topology] TopoGeo_AddLinestring への max_edges パラメーターの追加 (Sandro Santilli さん)

#6001, ST_MakeLine のマルチラインストリング対応 (Paul Ramsey さん)

#2858, ST_MMin と ST_MMax (Paul Ramsey さん)

#5941, [raster] GDAL ピクセルタイプ GDT_Float16対応 (Darafei Praliaskouski さん)

#5992, トポロジーでのエッジ分割の繰返しでの GiST インデックス最適化 (Darafei Praliaskouski さん)

#5702, コンパイラーが並列処理数を自動判定するために -flto=auto を使えるようにする (Darafei Praliaskouski さん)

#4798, ST_AsGeoJSON がプロパティー名の重複で警告を出す (Darafei Praliaskouski さん)

#4222, [raster] ST_DumpAsPolygons を PostgreSQL の割り込みを受け入れるようにしました (Darafei Praliaskouski さん)

#5889, [topology] トポロジー構築エラーに代表位置を含めるように変更 (Darafei Praliaskouski さん)

#2614, ST_DWithin の高速化のために GEOSPreparedDistance を使ってキャッシュを作成して (Paul Ramsey さん)

GH-839, ST_Multi が TIN とサーフェスに対応するように変更 (Loïc Bartoletti さん)

#4398, 平滑化を行うが元の頂点を維持する ST_CatmullSmoothing の追加 (Paul Ramsey さん)

#4560, XYZ 入力から M 値の補間を行う ST_3DInterpolatePoint (Paul Ramsey さん)

#1291, ST_MakePolygon の曲線リング対応 (Darafei Praliaskouski さん)

GT-270, NURBS 曲線の追加 (Loïc Bartoletti さん)

#2863, 次元補助 ST_XSize, ST_YSize, ST_ZSize, ST_MSize の追加 (Darafei Praliaskouski さん)

性能強化

#2045, pgsql2shp のクエリーのダンプで、一時テーブル作成権限が不要になりました (Darafei Praliaskouski さん)

#1577, [loader] シェープファイルの付随ファイルを開く前に対応していない .zip アーカイブ入力を報告する (Darafei Praliaskouski さん)

#3158, ジオメトリーとジオグラフィーの型修飾子のビット関係のマクロを公開の liblwgeom ヘッダファイルに移動させました (Darafei Praliaskouski さん)

#3776, [raster] ST_DumpAsPolygons で異なる 32ビット整数ピクセル値を分かれた状態で維持するように改善 (Darafei Praliaskouskiさん)

#4678, [raster] st_sum4ma のコールバック関数を C に移動しました (Darafei Praliaskouski さん)

#2116, [raster] ST_Value 最近傍補間の境界オプション (Darafei Praliaskouski さん)

#2804, #4315, [raster] ST_MapAlgebra の 2引数コールバック関数対応とコールバックのデータを実引数で渡す (Darafei Praliaskouski さん)

#6062, [topology] 堅牢性向上のためスナップの再帰実行をしないように変更 (Sandro Santilli さん)

#6065, 崩壊した要素を持つリングに対する巻き方向計算の堅牢性向上 (Sandro Santilli さん)

#2137, [raster] raster2pgsql -l で対応する元ラスターの既存オーバービューを再利用する (Darafei Praliaskouski さん)

#4749, ポイントのみのジオメトリーコレクションで速度向上のためにポリゴン内のポイント述語を仕様 (Darafei Praliaskouski さん)

#2807, [raster] ST_MapAlgebra 出力で NODATA 値なしを維持する (Darafei Praliaskouski さん)

#2832, [raster] raster2pgsql のオーバービューにパディングを求めていない時に、単一タイルへパディングを付加するのを避ける (Darafei Praliaskouski さん)

#2623, pgsql2shp でジオメトリーだけのシェープファイルを出力する際に GID フィールドを生成するように変更 (Darafei Praliaskouski)

#2850, pgsql2shp の数値の精度とスケールが DBF メタデータ保持されるように変更 (Darafei Praliaskouski さん)

PostgreSQL エクステンションモジュールのビルドにおいて可能なら `-fno-semantic-interposition` 付でビルドします。これにより、LTO (Link Time Optimization) は同じ DSO (Dynamic Shared Object) 内のエクスポート済の PostGIS エントリーポイントへの呼出しをモジュールの PLT (Procedure Linkage Table) を介さず直接に最適化できます。手持ちの PostgreSQL 18 でマイクロベンチマーク `pgbench` によって `ST_Collect` のレイテンシーを調べたところ、4点 1組のデータを 100k 組与える場合には約 4%削減できました (Darafei Praliaskouski さん)

#5973, デフォルトで `pg_config --bindir`のフォルダの下に PostGIS ユーティリティをインストールし、`pg_config` 関連のインストールパスの記述の精度を上げました (Darafei Praliaskouski さん)

#2808, インストールされているコンポーネントのスクリプトが中核のスクリプトより新しい時には postgis_full_version() の出力でその旨を明示します (Darafei Praliaskouski)

#2838,2次元ポリゴン出力の X3D 座標ノードについて妥当なものを出します (Darafei Praliaskouski さん)

GH-899, [raster] GDAL で長時間実行する際の進捗コールバックで PostgreSQL の割込みを処理するよう変更 (Darafei Praliaskouski さん)

#6073, #6074, Stabilize geography LRS endpoint interpolation and pole centroid regressions on 32-bit systems (Darafei Praliaskouski)

#2583, TIN の ST_AsEWKT 出力での座標次元の修飾子 Z/ZM を維持するように変更 (Darafei Praliaskouski さん)

#4616, pgsql2shp がクエリーのキーワードを大文字小文字の区別なく検出するように変更 (Darafei Praliaskouski)

#1986, ST_GeomFromGML で GML ArcString と曲線ポリゴンに対応するように変更 (Darafei Praliaskouski さん)

#4749, ポイントだけで構成されるジオメトリーコレクションに対するテスト関数においてポリゴン内ポイントの高速処理に変更、ST_Disjoint を含みます(Darafei Praliaskouski さん)

#3676, Mark geometry and geography btree comparison support functions as leakproof (Darafei Praliaskouski)

GH-875, ST_OrderingEquals がハッシュ結合計画とマージ結合計画を使用して結合できるようにしました。 (Darafei Praliaskouski さん)

#1168, [raster] ST_AsRaster で、曲線ジオメトリの入力に対応するように変更 (Darafei Praliaskouski)

#1416, ST_AsX3D で NURBSCURVE を X3D NurbsCurve として出力するように変更、他の曲線ジオメトリーは線形化します (Darafei Praliaskouski さん)

#3705, ST_AsX3D で 2次元マルチ系ジオメトリーとジオメトリーコレクションについて妥当な Coordinate ノードを出力するように変更 (Darafei Praliaskouski さん)

GT-484, メタデータビューでカラムレベルの SELECT 権限を使用 (Arthur Bazin さん)

#1408, #2386, #2557, #2805, #2898, #3743, #4323, #4332, #4385, #5109, #5532, #5593, #5638, #5645, #5950, #6022, #6082, GH-1161, GT-584, ドキュメントの多数の強化 (Darafei Praliaskouski さん)

誤り訂正

GH-1175, Guard missing operands before reading node tags in spatial selectivity estimation (Maksim Korotkov)

#6118, 空のジオメトリー型修飾子は範囲外を読むことなく拒絶するよう変更 (Egor Ivkov さん)

WKB と TWKB のパーサーが不正な入力があると資源枯渇に陥る問題を修正 (Darafei Praliaskouski さん)

#6038, トポロジーオブジェクトが削除された後に geometry_columns の古いリレーション参照を避けるよう変更 (Darafei Praliaskouski さん)

#5487, 非推奨関数の不完全な消去の後に反復してアップグレードする時に出るエラー詳細表示の改善 (Darafei Praliaskouski さん)

#5975, Initialize skipped union-find cluster ids deterministically (Darafei Praliaskouski)

#5904, [topology] トポロジー ID のログを出力する時 MinGW ではフォーマット警告が出るのを回避するよう変更 (Darafei Praliaskouski さん)

GH-888, [sfcgal] Avoid stale detoasted geometry access in CG_Visibility empty-input handling for SFCGAL < 2.2 (Darafei Praliaskouski)

#3179, Mark truncated libpgcommon PostgreSQL messages instead of silently dropping the tail (Darafei Praliaskouski)

#6003, MinGW ビルドにおける liblwgeom のログ/エラーのラッパーで size_t のフォーマットの回避 (Darafei Praliaskouski さん)

GH-886, ST_ClusterRelateWin validates NULL relate matrices before detoasting them (Darafei Praliaskouski)

GH-889, ST_Relate pattern inversion avoids out-of-bounds access on short DE-9IM patterns (Darafei Praliaskouski)

GH-890, Avoid GIDX BRIN summary merges across mismatched dimensions (Darafei Praliaskouski)

#5959, Prevent histogram target overflow when analysing massive tables (Darafei Praliaskouski)

#6080, Avoid out-of-bounds hex WKB lookup for high-bit input bytes (Darafei Praliaskouski)

#4828, geometry_columns が「妥当でない SRID」確認をエラーなしで処理するよう変更 (Darafei Praliaskouski さん)

#6048, [raster] バンド選択がまとまっていない場合の ST_Clip の異常終了が無くなるよう変更 (Darafei Praliaskouski さん)

GH-894, [raster] Fix Float16 import, mixed nodata warping, band replacement cleanup, GDAL credential redaction, and Python GDAL compatibility (Darafei Praliaskouski)