Name

ST_AsMVT — Aggregatfunktion, die eine MVT-Darstellung einer Reihe von Zeilen zurückgibt.

Synopsis

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

Beschreibung

Eine Aggregatfunktion, die eine binäre Mapbox Vector Tile-Darstellung eines Satzes von Zeilen zurückgibt, die einer Kachelebene entsprechen. Die Zeilen müssen eine Geometriespalte enthalten, die als Feature-Geometrie kodiert wird. Die Geometrie muss im Kachelkoordinatenraum vorliegen und gemäß der MVT-Spezifikation gültig sein. ST_AsMVTGeom kann zur Transformation der Geometrie in den Kachelkoordinatenraum verwendet werden. Andere Zeilenspalten werden als Feature-Attribute kodiert.

Das Mapbox Vector Tile Format kann Geoobjekte mit unterschiedlichen Attributen speichern. Um diese Möglichkeit zu nutzen, muss eine JSONB-Spalte in den Datensätzen mitgeliefert werden, welche in einer tieferen Ebene die JSON-Objekte enthält. Die Schlüssel und Werte im JSONB werden als Featureattribute kodiert.

Durch das Aneinanderhängen mehrerer Funktionsaufrufe mittels ||, können Tiles mit mehreren Ebenen erstellt werden.

[Important]

Darf nicht mit einer GEOMETRYCOLLECTION im Datensatz aufgerufen werden. Es kann aber ST_AsMVTGeom verwendet werden, um eine Sammelgeometrie einzubinden.

row Datenzeilen mit zumindest einer Geometriespalte.

name ist die Bezeichnung der Ebene. Standardmäßig die Zeichenkette "default".

extent ist die Ausdehnung der Tiles in Bildschirmeinheiten. Standardmäßig 4096.

geom_name ist der Name der Geometriespalte in den Zeilendaten. Standard ist die erste Geometriespalte. Beachten Sie, dass PostgreSQL standardmäßig automatisch unquotierte Bezeichner in Kleinbuchstaben umwandelt, was bedeutet, dass dieser Parameter in Kleinbuchstaben angegeben werden muss, es sei denn, die Geometriespalte ist in Anführungszeichen gesetzt, z. B. "MyMVTGeom".

feature_id_name ist die Bezeichnung der Feature-ID Spalte im Datensatz. Ist der Übergabewert NULL oder negativ, dann wird die Feature-ID nicht gesetzt. Die erste Spaltee mit einem passenden Namen und einem gültigen Datentyp (Smallint, Integer, Bigint) wird als Feature-ID verwendet, alle nachfolgenden Spalten werden als Eigenschaften hinzugefügt. JSON-Properties werden nicht unterstützt.

Erweiterung: 3.0 - Unterstützung für eine Feature-ID.

Erweiterung: 2.5.0 - Unterstützung von nebenläufigen Abfragen.

Verfügbarkeit: 2.4.0

Beispiele

WITH mvtgeom AS
(
  SELECT ST_AsMVTGeom(geom, ST_TileEnvelope(12, 513, 412), extent =
> 4096, buffer =
> 64) AS geom, name, description
  FROM points_of_interest
  WHERE geom && ST_TileEnvelope(12, 513, 412, margin =
> (64.0 / 4096))
)
SELECT ST_AsMVT(mvtgeom.*)
FROM mvtgeom;