phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

PHP за извличане на PostGIS географски типове

Това wkb-формат ли е, който искате?

select ST_AsWKB('geog') from locations

Но защо искате първо да извадите данните, за да изчислите разстоянието?

/Никлас

Актуализиране

Добре

Не знам защо не получавате точен резултат по вашите запитвания. Много съм лош в php. Предполагам, че резултатът по някаква причина се вкарва в някакъв тип данни, който не е правилен. Искам да кажа от ST_AsText просто трябва да получите низ, нищо по-странно от това.

Но за да постигнете дистанцията си, не трябва да изваждате точките. Правите самостоятелно присъединяване, за да направите това. Това е, което правите през цялото време, когато използвате PostGIS и сравнявате различни геометрии в една единствена таблица.

Да кажем, че първата география има id=1, а втората има id=2, заявката може да бъде нещо като:

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

Ако искате разстоянието до всички точки (или каквото и да е то) от точка с id=1, можете да напишете:

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;

и така нататък.

Това ще бъде много по-ефективно.

/Никлас




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Има ли начин за скрито или експортиране на цяла MySQL база данни във валидни CSV файлове?

  2. Не мога да се свържа с MySQL - не мога да намеря Mysql.sock Phpmyadmin грешка #2002

  3. MySQL Workbench и phpMyadmin

  4. не мога да създам база данни с PHP и синтаксисът ми е правилен

  5. Не може да се свърже с mysql база данни [phpmyadmin]