Is het het wkb-formaat dat je wilt?
select ST_AsWKB('geog') from locations
Maar waarom wil je eerst de gegevens eruit halen om de afstand te berekenen?
/Nicklas
Bijwerken
Oké
Ik weet niet waarom u geen goed resultaat krijgt op uw vragen. Ik ben te slecht in php. Ik vermoed dat het resultaat om de een of andere reden in een gegevenstype wordt geduwd dat niet het juiste is. Ik bedoel, van ST_AsText zou je gewoon een string moeten krijgen, niets vreemder dan dat.
Maar om je afstand te krijgen, moet je de punten niet eruit trekken. Hiervoor doe je een self-join. Dat is wat u altijd doet als u PostGIS gebruikt en verschillende geometrieën in één enkele tabel vergelijkt.
Laten we zeggen dat de eerste geografie id=1 heeft en de tweede id=2. De zoekopdracht kan zoiets zijn als:
SELECT ST_Distance(a.the_geog, b.the_geog) as dist
from locations a, locations b WHERE a.id=1 and b.id = 2;
Als u de afstand tot alle punten (of wat het ook is) vanaf een punt met id=1 wilt, kunt u schrijven:
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;
enzovoort.
Dat zal veel effectiever zijn.
/Nicklas