sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

PHP para recuperar tipos de geografía de PostGIS

¿Es el formato wkb que desea?

select ST_AsWKB('geog') from locations

Pero, ¿por qué quieres sacar los datos primero para hacer el cálculo de la distancia?

/Nicklas

Actualizar

Está bien

No sé por qué no obtiene un resultado adecuado en sus consultas. Soy demasiado malo en php. Supongo que el resultado, por alguna razón, se inserta en algún tipo de datos que no es el correcto. Quiero decir, de ST_AsText deberías obtener una cadena, nada más extraño que eso.

Pero para obtener su distancia no debe sacar los puntos. Haces una unión automática para hacer eso. Eso es lo que hace todo el tiempo cuando usa PostGIS y compara diferentes geometrías en una sola tabla.

Digamos que la primera geografía tiene id=1 y la segunda tiene id=2, la consulta podría 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;

Si desea la distancia a todos los puntos (o lo que sea) desde el punto con id=1, puede escribir:

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;

y así sucesivamente.

Eso será mucho más efectivo.

/Nicklas