Выполнение географического запроса в PostGIS с помощью Superset

В настоящее время я использую Apache Superset поверх базы данных PostgreSQL с PostGIS для своего веб-сайта, но возник случай, когда я не могу найти решение с помощью этого инструмента.

У меня есть события, которые связаны с местоположением, и мой веб-сайт позволяет пользователям создавать настраиваемые регионы, которые можно использовать в качестве фильтров в Superset (т. Е. Они могут фильтровать события, чтобы отображались только те, которые находятся в настраиваемом регионе).

Я могу легко сделать это с помощью SQL, используя метод PostGIS ST_WITHIN, но, похоже, нет способа сделать это динамически в Superset.

Другая идея, которая у меня была, заключалась в том, чтобы рассчитать это заранее, добавив поле массива в таблицу событий, которое будет содержать все настраиваемые регионы, к которым они принадлежат. Когда пользователь создает регион, запускается задача, чтобы увидеть, какие события принадлежат этому региону, и добавить регион в массив событий. Теперь, помимо плохого масштабирования, Superset также, похоже, не может фильтровать списки массивов (он интерпретирует их как одну строку).

Есть идеи по решению этой проблемы? Спасибо!


person Joao Garcia    schedule 05.03.2020    source источник


Ответы (1)


Вы можете использовать шаблон Jinja для фильтрации по элементам массива.

person Daniel    schedule 03.02.2021