Posso usar as funções do Postgres para encontrar pontos dentro de um retângulo rotativo de tamanho fixo?

Estou usando o Postgres 9.5 e acabei de instalar o PostGIS para algumas funções estendidas. Eu tenho uma tabela com (x, y) pontos e quero encontrar o retângulo que se encaixa no número máximo de pontos. A restrição é que os comprimentos laterais do retângulo sejam fixos. Até agora, estou contando quantos pontos há na caixa sem rotação. Meus pontos estão centrados em torno da origem,(0,0).

SELECT Sum(CASE
             WHEN x > -5
                  AND x < 5
                  AND y > -10
                  AND y < 10 THEN 1
             ELSE 0
           END) AS inside_points,
       Count(1) AS total_points
FROM   track_t;  

Essa consulta me fornece a contagem de pontos dentro de um retângulo com origem(0,0) e comprimentosx = 10 ey = 20.

A partir daqui, eu criaria uma tabela auxiliar de pontos de canto retangulares girados (ângulo, x1, y1, x2, y2), depois cruzaria a junção aos meus dados e contaria os pontos por ângulo, enquanto o GROUP BY angle. Então eu posso selecionar qual ângulo me dá mais pontos dentro do retângulo.

Mas isso parece um pouco antiquado, e talvez não-desempenho. Além disso, a contagem de pontos dentro de um retângulo girado não é umacálculo trivial.

Existem maneiras mais eficientes e elegantes, talvez usando o PostgresTipos de dados geométricos ou PostGISBox2D, girar um retângulo com comprimento lateral fixo e depois contar o número de pontos dentro? As funções geométricas parecem boas, mas parecem fornecer caixas delimitadoras mínimas e não o contrário.

Além do Postgresql, estou usando uma estrutura Python que pode ser usada no caso do SQL não conseguir fazer isso funcionar.

Atualização: Uma coisa que tentei é usarTipos geométricos, especificamente CAIXA

  SELECT deg, Box(Point(-5, -10), Point(5, 10)) * Point(1, Radians(deg)) 
        FROM   Generate_series(0, 360, 90) AS deg

Infelizmente, oFunção de rotação por um pontonão funciona para polígonos.

questionAnswers(1)

yourAnswerToTheQuestion