Definition
ST_GeomFromText takes a well-known text representation and a spatial reference ID and returns a geometry object.
Syntax
Oracle
sde.st_geomfromtext (wkt clob, srid integer)
SQLite
st_geomfromtext (wkt text, srid int32)
Return type
Oracle
ST_Geometry
SQLite
Geometryblob
Example
The geometry_test table contains the integer gid column, which uniquely identifies each row, and the g1 column, which stores the geometry.
The INSERT statements insert the data into the gid and g1 columns of the geometry_test table. The ST_GeomFromText function converts the text representation of each geometry into its corresponding instantiable subclass. The SELECT statement at the end is done to ensure data was inserted into the g1 column.
Oracle
CREATE TABLE geometry_test (
gid smallint unique,
g1 sde.st_geometry
);
INSERT INTO GEOMETRY_TEST VALUES (
1,
sde.st_geomfromtext ('point (10.02 20.01)', 4326)
);
INSERT INTO GEOMETRY_TEST VALUES (
2,
sde.st_geomfromtext('linestring (10.01 20.01, 10.01 30.01, 10.01 40.01)', 4326)
);
INSERT INTO GEOMETRY_TEST VALUES (
3,
sde.st_geomfromtext('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15,
19.15 33.94, 10.02 20.01))', 4326)
);
INSERT INTO GEOMETRY_TEST VALUES (
4,
sde.st_geomfromtext('multipoint (10.02 20.01, 10.32 23.98, 11.92 25.64)', 4326)
);
INSERT INTO GEOMETRY_TEST VALUES (
5,
sde.st_geomfromtext ('multilinestring ((10.02 20.01, 10.32 23.98,
11.92 25.64), (9.55 23.75, 15.36 30.11))', 4326)
);
INSERT INTO GEOMETRY_TEST VALUES (
6,
sde.st_geomfromtext ('multipolygon (((10.02 20.01, 11.92 35.64,
25.02 34.15, 19.15 33.94, 10.02 20.01), (51.71 21.73, 73.36 27.04,
71.52 32.87, 52.43 31.90, 51.71 21.73)))', 4326)
);
SELECT sde.st_astext(g1)
FROM GEOMETRY_TEST;
POINT ( 10.02000000 20.01000000)
LINESTRING ( 10.01000000 20.01000000, 10.01000000 30.01000000, 10.01000000 40.01000000)
POLYGON (( 10.02000000 20.01000000, 19.15000000 33.94000000, 25.02000000 34.15000000, 11.92000000 35.64000000, 10.02000000 20.01000000))
MULTIPOINT ( 10.02000000 20.01000000, 10.32000000 23.98000000, 11.92000000 25.64000000)
MULTILINESTRING (( 10.02000000 20.01000000, 10.32000000 23.98000000, 11.92000000 25.64000000),( 9.55000000 23.75000000, 15.36000000 30.11000000))
MULTIPOLYGON ((( 51.71000000 21.73000000, 73.36000000 27.04000000, 71.52000000 32.87000000, 52.43000000 31.90000000, 51.71000000 21.73000000)),(( 10.02000000 20.01000000, 19.15000000 33.94000000, 25.02000000 34.15000000, 11.92000000 35.64000000, 10.02000000 20.01000000)))
SQLite
CREATE TABLE geometry_test (
gid integer primary key autoincrement not null
);
SELECT AddGeometryColumn (
NULL,
'geometry_test',
'g1',
4326,
'geometry',
'xy',
'null'
);
INSERT INTO GEOMETRY_TEST (g1) VALUES (
st_geomfromtext ('point (10.02 20.01)', 4326)
);
INSERT INTO GEOMETRY_TEST (g1) VALUES (
st_geomfromtext('linestring (10.01 20.01, 10.01 30.01, 10.01 40.01)', 4326)
);
INSERT INTO GEOMETRY_TEST (g1) VALUES (
st_geomfromtext('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15,
19.15 33.94, 10.02 20.01))', 4326)
);
INSERT INTO GEOMETRY_TEST (g1) VALUES (
st_geomfromtext('multipoint (10.02 20.01, 10.32 23.98, 11.92 25.64)', 4326)
);
INSERT INTO GEOMETRY_TEST (g1) VALUES (
st_geomfromtext ('multilinestring ((10.02 20.01, 10.32 23.98,
11.92 25.64), (9.55 23.75, 15.36 30.11))', 4326)
);
INSERT INTO GEOMETRY_TEST (g1) VALUES (
st_geomfromtext ('multipolygon (((10.02 20.01, 11.92 35.64,
25.02 34.15, 19.15 33.94, 10.02 20.01), (51.71 21.73, 73.36 27.04,
71.52 32.87, 52.43 31.90, 51.71 21.73)))', 4326)
);
SELECT st_astext(g1)
FROM geometry_test;
POINT ( 10.02000000 20.01000000)
LINESTRING ( 10.01000000 20.01000000, 10.01000000 30.01000000, 10.01000000 40.01000000)
POLYGON (( 10.02000000 20.01000000, 19.15000000 33.94000000, 25.02000000 34.15000000, 11.92000000 35.64000000, 10.02000000 20.01000000))
MULTIPOINT ( 10.02000000 20.01000000, 10.32000000 23.98000000, 11.92000000 25.64000000)
MULTILINESTRING (( 10.02000000 20.01000000, 10.32000000 23.98000000, 11.92000000 25.64000000),( 9.55000000 23.75000000, 15.36000000 30.11000000))
MULTIPOLYGON ((( 51.71000000 21.73000000, 73.36000000 27.04000000, 71.52000000 32.87000000, 52.43000000 31.90000000, 51.71000000 21.73000000)),(( 10.02000000 20.01000000, 19.15000000 33.94000000, 25.02000000 34.15000000, 11.92000000 35.64000000, 10.02000000 20.01000000)))