sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

PHP för att hämta PostGIS Geografityper

Är det wkb-formatet du vill ha?

select ST_AsWKB('geog') from locations

Men varför vill du först ta ut data för att göra avståndsberäkningen?

/Nicklas

Uppdatera

Okej

Jag vet inte varför du inte får ett korrekt resultat på dina frågor. Jag är för dålig på php. Jag skulle gissa att resultatet av någon anledning trycks in i någon datatyp som inte är rätt. Jag menar från ST_AsText ska du bara få en sträng, inget konstigare än så.

Men för att få ditt avstånd bör du inte dra ut poängen. Du gör en självanslutning för att göra det. Det är vad du gör hela tiden när du använder PostGIS och jämför olika geometrier i en enda tabell.

Låt oss säga att den första geografin har id=1 och den andra har id=2, frågan kan vara något i stil med:

SELECT ST_Distance(a.the_geog, b.the_geog) as dist 
from locations a, locations b WHERE a.id=1 and b.id = 2;

Om du vill ha avståndet till alla punkter (eller vad det nu är) från punkt med id=1 kan du skriva:

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;

och så vidare.

Det kommer att vara mycket mer effektivt.

/Nicklas




  1. Välja topp 10 anställdas löner

  2. Redigera flera rader efter deras ordningsindex

  3. C# - Fjärranslutning till XAMPP-databas via LAN

  4. Ogiltigt objektnamn - lagrad procedur