PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL заявка за географска ширина и дължина

Ето още един пример за използване на точков оператор:

Първоначална настройка (трябва да се стартира само веднъж):

create extension cube;
create extension earthdistance;

И след това заявката:

select (point(-0.1277,51.5073) <@> point(-74.006,40.7144)) as distance;

     distance     
------------------
 3461.10547602474
(1 row)

Обърнете внимание, че points са създадени с ПЪРВА ДЪЛЖИНА . Съгласно документацията:

Точките се приемат като (дължина, географска ширина), а не обратно, тъй като дължината е по-близка до интуитивната идея за оста x, а географската ширина до оста y.

Което е ужасен дизайн... но това е така.

Изходът ви ще бъде в мили .

Дава разстоянието в статутни мили между две точки на земната повърхност.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да наложа подобна на набор уникалност между множество колони?

  2. Подаване на параметри WHERE към изглед на PostgreSQL?

  3. Проблем за вмъкване с помощта на psycopg

  4. Неуспешно намиране на функцията за преобразуване от неизвестно в текст

  5. SQL Вземете всички записи, по-стари от 30 дни