phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

PHP para recuperar tipos de geografia PostGIS


É o formato wkb que você quer?
select ST_AsWKB('geog') from locations

Mas por que você quer extrair os dados primeiro para fazer o cálculo da distância?

/Níquel

Atualizar

OK

Não sei por que você não obtém um resultado adequado em suas consultas. Eu sou muito ruim em php. Eu acho que o resultado por algum motivo é empurrado para algum tipo de dados que não é o correto. Quero dizer, de ST_AsText você deve obter apenas uma string, nada mais estranho que isso.

Mas para obter sua distância, você não deve retirar os pontos. Você faz uma auto-junção para fazer isso. Isso é o que você faz o tempo todo ao usar o PostGIS e comparar diferentes geometrias em uma única tabela.

Digamos que a primeira geografia tenha id=1 e a segunda tenha id=2, a consulta poderia ser algo como:
SELECT ST_Distance(a.the_geog, b.the_geog) as dist 
from locations a, locations b WHERE a.id=1 and b.id = 2;

Se você quiser a distância de todos os pontos (ou seja lá o que for) do ponto com id =1, você pode escrever:
SELECT  ST_Distance(a.the_geog, b.the_geog) as dist
from locations a inner join locations b on a.id != b.id WHERE a.id=1;

e assim por diante.

Isso será muito mais eficaz.

/Níquel