Как корректно представить числовые координаты в SQL запросе?

Как правильно указать числовые данные в таблице для координат, как в примере, зависит от типа данных в целевой базе данных. Первоначальные типы DECIMAL и INT нужно корректно адаптировать в зависимости от требований системы. Например, для DECIMAL(3, 20) вероятно требуется указать иную комбинацию параметров, а для INT возможно потребуется увеличить размер поля или использовать другой цифровой тип данных. Пересмотрите требования базы данных и проверьте типы данных для числовых полей, чтобы избежать ошибок синтаксиса.
  • 12 августа 2024 г. 19:03
Ответы на вопрос 2

Пример представления числовых координат в SQL запросе:

CREATE TABLE Coordinates (
    id INT PRIMARY KEY,
    latitude DECIMAL(10, 8),
    longitude DECIMAL(11, 8)
);

INSERT INTO Coordinates (id, latitude, longitude) VALUES (1, 37.7749, -122.4194);
CREATE TABLE coordinates_table (
    id SERIAL PRIMARY KEY,
    coordinates DOUBLE PRECISION[], -- Массив координат с плавающей запятой
    screen_coordinates INT[]        -- Массив целых чисел для координат на экране
);


INSERT INTO coordinates_table (coordinates, screen_coordinates) 
VALUES (
    ARRAY[35.90495759611745, 42.094352549322274]::DOUBLE PRECISION[], 
    ARRAY[364, 551]::INT[]
);


ИЛИ

CREATE TABLE coordinates_table (
    id SERIAL PRIMARY KEY,
    coordinates POINT NOT NULL
);

INSERT INTO coordinates_table (coordinates)
VALUES (
    POINT(35.90495759611745, 42.094352549322274)
);


Но есть и другие варианты
Похожие вопросы