Невозможно вернуть MVT из Postgis 2.5
Я пытался заставить расширение Postgis работать с данными MVT. Я читал эту статью и сделал все, что там написано (я думаю), но все равно ничего не получается.
Старая установка
Перед попыткой поддержки данных MVT, мы используем Mapnik с Django и возвращаем PNG изображения.
Текущая установка
Я строю следующий SQL запрос (используя код из статьи) (bounds
динамически вычисляются на основе значений z,x,y)
WITH bounds AS (
SELECT ST_Segmentize(ST_MakeEnvelope(0.0, -40075016.68557839, 20037508.3427892, -20037508.3427892, 3857),
5009377.0856973) AS geom,
ST_Segmentize(ST_MakeEnvelope(0.0, -40075016.68557839, 20037508.3427892, -20037508.3427892, 3857),
5009377.0856973)::box2d AS b2d
),
mvtgeom AS (
SELECT ST_AsMVTGeom(ST_Transform(t.geom, 3857), bounds.b2d) AS geom,
original_address
FROM records_addressvalue t,
bounds
WHERE ST_Intersects(t.geom, ST_Transform(bounds.geom, 3857))
)
SELECT ST_AsMVT(mvtgeom.*)
FROM mvtgeom
Получив запрос, я выполняю его следующим образом:
from django.db import connection
cursor = connection.cursor()
cursor.execute(sql)
Но проблема в том, что он ничего не возвращает! (да, я убедился, что есть точки в этом диапазоне, я проверил это со старой реализацией, что это работает).
Модель, которую я запрашиваю, следующая:
from django.contrib.gis.db import models
class Address(models.Model):
location = models.PointField(blank=True, null=True) # for vectors
geom = models.PointField(srid=3857, blank=True, null=True) # for tile server
Я делаю что-то неправильно?