Доступные версии документации

Выборка в WKT-формате

Функция

Преобразование внутреннего представления геометрического объекта в WKT-представление.

Спецификация

    AsText | to_char (<имя столбца>[,<формат>])
<имя столбца> – имя столбца с геометрическим типом данных;
<формат> – символьный литерал формата преобразования строки.

Синтаксические правила

Аргумент <формат> задает формат преобразования строки (см. описание функции to_char в документе «СУБД ЛИНТЕР. Справочник по SQL»).

Возвращаемое значение

  1. В случае нормального завершения:

    • значение типа char, соответствующее WKB-представлению геометрического объекта типа VARBYTE. Длина строки вычисляется динамически и не может превышать 4000 символов;

    • при выводе значений координат без указания формата будет выведено 10 знаков после запятой;

    • при выводе больших значений координат они будут преобразованы в экспоненциальный вид;

    • значение типа blob, соответствующее WKB-представлению геометрического объекта типа BLOB. В этом случае для получения значения типа char необходимо использовать SQL-функцию getblobstr (см. документ «СУБД ЛИНТЕР. Справочник по SQL»).

  2. Код завершения СУБД ЛИНТЕР (при ошибке преобразования).

Примеры

  1. геометрический VARBYTE-объект

    CREATE OR REPLACE TABLE POINT_TEST(P POINT);
    INSERT INTO POINT_TEST VALUES( PointFromText('POINT (1 1)'));
    INSERT INTO POINT_TEST VALUES( PointFromText('POINT (0 1)'));
    INSERT INTO POINT_TEST VALUES( PointFromText('POINT (1 2)'));
    INSERT INTO POINT_TEST VALUES( PointFromText('POINT (1 1)'));
    
    select AsText(P) from POINT_TEST;
     INL : начальное время : 21:14:42 конечное время :  21:14:42
    
    |POINT (1 1)                             |
    |POINT (0 1)                             |
    |POINT (1 2)                             |
    |POINT (1 1)                             |
    
  2. геометрический BLOB-объект

    select getblobstr(astext(GEOM), 1, 50), lenblob(astext(GEOM)), lenblob(GEOM) from GTEST;
    |POLYGON ((10 10,10 50,50 50,50 10,10 10))| 41| 97|
    
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter