11.4.6 Заполнение пространственных столбцов
После создания пространственных столбцов вы можете заполнить их пространственными данными.
Значения должны храниться во внутреннем формате геометрии, но вы можете преобразовать их в этот формат из форматов Well-Known Text (WKT) или Well-Known Binary (WKB). В следующих примерах показано, как вставить значения геометрии в таблицу, преобразуя значения WKT во внутренний формат геометрии:
-
Произведите преобразование непосредственно в операторе
INSERT:INSERT INTO geom VALUES (ST_GeomFromText('POINT(1 1)')); SET @g = 'POINT(1 1)'; INSERT INTO geom VALUES (ST_GeomFromText(@g)); -
Произведите преобразование перед оператором
INSERT:SET @g = ST_GeomFromText('POINT(1 1)'); INSERT INTO geom VALUES (@g);
В следующих примерах вставляются более сложные геометрии в таблицу:
SET @g = 'LINESTRING(0 0,1 1,2 2)';
INSERT INTO geom VALUES (ST_GeomFromText(@g));
SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))';
INSERT INTO geom VALUES (ST_GeomFromText(@g));
SET @g =
'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))';
INSERT INTO geom VALUES (ST_GeomFromText(@g));
В предыдущих примерах используется функция ST_GeomFromText() для создания значений геометрии. Вы также можете использовать функции, специфичные для типа данных:
SET @g = 'POINT(1 1)';
INSERT INTO geom VALUES (ST_PointFromText(@g));
SET @g = 'LINESTRING(0 0,1 1,2 2)';
INSERT INTO geom VALUES (ST_LineStringFromText(@g));
SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))';
INSERT INTO geom VALUES (ST_PolygonFromText(@g));
SET @g =
'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))';
INSERT INTO geom VALUES (ST_GeomCollFromText(@g));
Прикладная программа клиента, которая хочет использовать представления геометрии в формате WKB, отвечает за отправку правильно сформированных WKB в запросы серверу. Есть несколько способов удовлетворить это требование. Например:
-
Вставка значения
POINT(1 1)с использованием синтаксиса шестнадцатеричной литералы:INSERT INTO geom VALUES (ST_GeomFromWKB(X'0101000000000000000000F03F000000000000F03F'));
-
Приложение ODBC может отправить представление WKB, связав его с заменителем, используя аргумент типа
BLOB:INSERT INTO geom VALUES (ST_GeomFromWKB(?))
Другие программные интерфейсы могут поддерживать аналогичный механизм замены.
В программе на языке C вы можете экранировать двоичное значение и включить результат в строку запроса, которая отправляется на сервер. См. .
© 2025 Oracle
Licensed under the GPLv2 License.