@jaren
В PostgreSQL для хранения координат карт наиболее часто используется тип данных POINT
.
Чтобы создать столбец для хранения координат, используйте следующий синтаксис:
1 2 3 4 |
CREATE TABLE my_table ( id SERIAL PRIMARY KEY, location POINT ); |
Затем вы можете добавить данные в эту таблицу, указывая координаты в формате (x, y):
1 2 |
INSERT INTO my_table (location) VALUES (POINT(10.123, 20.456)); |
Вы также можете выполнять различные операции с координатами, такие как нахождение расстояния между двумя координатами или проверка, находится ли точка внутри определенной области.
Например, чтобы найти расстояние между двумя точками, можно использовать функцию ST_Distance
:
1 2 3 |
SELECT ST_Distance(location1, location2) AS distance FROM my_table WHERE id = 1; |
Это только базовые примеры использования типа данных POINT
в PostgreSQL. Более подробную информацию о функциях и операторах, связанных с геоинформацией, можно найти в документации PostgreSQL.
@jaren
CREATE TABLE my_table ( id SERIAL PRIMARY KEY, location GEOMETRY(Point, 4326) );
INSERT INTO my_table (location) VALUES (ST_GeomFromText('POINT(10.123 20.456)', 4326));
SELECT ST_Distance(location1::geography, location2::geography) AS distance FROM my_table WHERE id = 1;
Также возможно использовать GEOMETRY(Point, 4326) для точечных данных и работать с ними с помощью функций геоинформации PostgreSQL, таких как ST_Distance и других.