名前

ST_AsMVT — 行集合のMapbox Vector Tile表現を返す集約関数です。

概要

bytea ST_AsMVT(anyelement set row);

bytea ST_AsMVT(anyelement row, text name);

bytea ST_AsMVT(anyelement row, text name, integer extent);

bytea ST_AsMVT(anyelement row, text name, integer extent, text geom_name);

bytea ST_AsMVT(anyelement row, text name, integer extent, text geom_name, text feature_id_name);

説明

タイルレイヤに対応する行集合のMapbox Vector Tile表現をバイナリで返す集約関数です。行には、地物ジオメトリとして符号化されるジオメトリカラムを含ませるべきです。

Mapbox Vector Tile書式は、様々な属性就業を持つ地物を格納することができます。この能力を使うには、JSONオブジェクトを1レベルの深さで持っている行データ内のJSONBカラムを提供します。JSONB値のキーと値は地物の属性として符号化されます。

複数レイヤのタイルは、この関数の複数の呼び出しを||で繋げて作成することができます。

[重要]

GEOMETRYCOLLECTIONを行の要素として、この関数を呼ばないでください。しかしながら、ジオメトリコレクションを含ませるための準備として、ST_AsMVTGeomを使うことができます。

row 少なくとも一つのジオメトリカラムを持つ行データ

nameはレイヤ名です。デフォルトは"default"という文字列です。

extentは、仕様で定義されている画面空間内のタイル範囲です。NULLの場合には、4096をデフォルト値とします。

geom_nameは行データのジオメトリカラムの名前です。デフォルトは最初のジオメトリカラムです。

feature_id_nameは行データの地物IDカラムの名前です。NULLまたは負数の場合には地物IDは設定されません。名前が合致し、妥当な型 (smallint, integer, bigint)である最初のカラムが地物IDに使われます。後続のカラムは全てプロパティとして追加されます。JSONプロパティには対応していません。

Enhanced: 3.0 - 地物IDへの対応を追加。

Enhanced: 2.5.0 - パラレルクエリへの対応の追加。

Availability: 2.4.0

WITH mvtgeom AS
(
  SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(12,513,412)) AS geom, name, description
  FROM points_of_interest
  WHERE ST_Intersects(geom, ST_TileEnvelope(12,513,412)
)
SELECT ST_AsMVT(mvtgeom.*)
FROM mvtgeom;

関連情報

ST_AsMVTGeom, ST_TileEnvelope