名前

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);

説明

レイヤに対応する行集合のMapbox Vector Tile表現を返します。複数回呼び出しで複数レイヤの接続が可能です。ジオメトリはタイル座標空間にあり、specificationにつき妥当であると仮定します。一般的にはST_AsMVTGeomはジオメトリのタイル座標空間への変換に使います。他の行データは属性としてエンコードされます。

Mapbox Vector Tile書式は、異なる地物ごとに異なる属性集合を持つ地物を格納できます。この機能を使うには、JSONオブジェクトを含む行データ内のJSONBカラムを一段深くします。オブジェクトのキーと値は地物の属性にパースされます。

[重要]

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

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

nameは、レイヤ名です。NULLの場合には、"default"という文字列を使います。

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

geom_name 行データにおけるジオメトリカラムのカラム名。NULLの場合には、最初に見つけたジオメトリカラムとします。

Enhanced: 2.5.0 - パラレルクエリ対応が追加されました。

Availability: 2.4.0

SELECT ST_AsMVT(q, 'test', 4096, 'geom') FROM (SELECT 1 AS c1,
    ST_AsMVTGeom(ST_GeomFromText('POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30))'),
    ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096)), 4096, 0, false) AS geom) AS q;
                              st_asmvt
--------------------------------------------------------------------
 \x1a320a0474657374121d12020000180322150946ec3f1a14453b0a09280f091413121e09091e0f1a026331220228012880207802

                
                

関連情報

ST_AsMVTGeom