@Esm322

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

Подскажите, пожалуйста, как правильно указать числовые данные при создании таблицы для координат типа:
"coordinates": [
        {
          "coordinates": [
            35.90495759611745,
            42.094352549322274
          ],
          "screenCoordinates": [
            364,
            551
          ]
        }
    ]

Указывал DECIMAL(3, 20)[], выдавало ошибку "неверный синтаксис для типа numeric". Когда указал INT[], то выдало "неверный синтаксис для типа integer".
В чём может быть ошибка?
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
@maksam07
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)
);


Но есть и другие варианты
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы