ST_AsMVT — Fonction d'agrégation renvoyant une représentation MVT d'un ensemble de lignes.
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)
;
Une fonction agrégée qui renvoie une représentation binaire Mapbox Vector Tile d'un ensemble de lignes correspondant à une couche de tuiles. Les lignes doivent contenir une colonne de géométrie qui sera encodée comme une géométrie d'élément. La géométrie doit être dans l'espace de coordonnées de la tuile et valide conformément à la spécification MVT. ST_AsMVTGeom peut être utilisé pour transformer la géométrie dans l'espace de coordonnées des tuiles. Les autres colonnes de la ligne sont encodées en tant qu'attributs de caractéristiques.
Le format Mapbox Vector Tile peut stocker des éléments avec différents ensembles d'attributs. Pour utiliser cette fonctionnalité, il convient de fournir une colonne JSONB dans les données de la ligne contenant des objets Json à un niveau de profondeur. Les clés et les valeurs des valeurs JSONB seront encodées en tant qu'attributs d'entités.
Les tuiles à couches multiples peuvent être créées en concaténant plusieurs appels à cette fonction en utilisant ||
ou STRING_AGG
.
Ne pas appeler avec un |
row
données de ligne avec au moins une colonne de géométrie.
name
est le nom de la couche. La valeur par défaut est la chaîne de caractères "default".
extent
est l'étendue de la tuile dans l'espace de l'écran tel que défini par la spécification. La valeur par défaut est 4096.
geom_name
est le nom de la colonne géométrique dans les données de la ligne. La valeur par défaut est la première colonne géométrique. Notez que PostgreSQL, par défaut, plie automatiquement les identifiants non cités en minuscules, ce qui signifie qu'à moins que la colonne géométrique ne soit citée, par exemple "MyMVTGeom"
, ce paramètre doit être fourni en minuscules.
feature_id_name
est le nom de la colonne Feature ID dans les données de la ligne. S'il est NULL ou négatif, l'identifiant de la caractéristique n'est pas défini. La première colonne correspondant au nom et au type valide (smallint, integer, bigint) sera utilisée comme Feature ID, et toute colonne suivante sera ajoutée en tant que propriété. Les propriétés JSON ne sont pas prises en charge.
Amélioration : 3.0 - ajout de la prise en charge du Feature ID.
Amélioration : 2.5.0 - ajout de la prise en charge des requêtes parallèles.
Disponibilité : 2.4.0
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;