Eu tenho uma tabela PostGIS de posições de GPS a cada cinco segundos:
2011-01-01 00:00:05, POINT(x1,y1)
2011-01-01 00:00:10, POINT(x2,y2)
2011-01-01 00:00:15, POINT(x3,y3)
...
Estou procurando uma consulta que retorne valores (carimbo de data e hora) para cada segundo. Não há problema em assumir que os pontos estão conectados por uma linha reta.
Estou procurando especificamente uma maneira de fazer isso dentro do banco de dados e não escrevendo algum script externo.
postgis
sql
interpolation
underdark
fonte
fonte
Respostas:
olá
Se sua tabela original é chamada gps_p, seu campo de carimbo de data e hora é chamado ts e os pontos são chamados th_geom:
O que ele faz é criar linhas entre os pontos e usar st_segmentize para dividir a linha em 5 segmentos.
Se não houver exatamente 5 segundos entre os pontos originais, não funcionará. Em seguida, você pode adicionar um campo de ID com uma sequência e usá-lo para ingressar automaticamente na tabela com id1 + 1 = id2.
HTH
/ Nicklas
fonte
aqui está um rascunho de código para pl / python, é apenas a idéia básica de traduzir os pontos por uma determinada distância e azimute.
Para executar funções postgis no pl / python, a única solução que encontrei é usar o plpy.prepare e o plpy.execute (muito chato).
fonte
Se não me engano ...
O que você precisa fazer é determinar a linha de conexão e, em seguida, fazer uma divisão nela.
fonte