Определение
Функция ST_MaxX принимает геометрию в качестве входного параметра и возвращает максимальную координату x.
Синтаксис
Oracle и PostgreSQL
sde.st_maxx (geometry1 sde.st_geometry)
SQLite
st_maxx (geometry1 geometryblob)
Тип возврата
Oracle и PostgreSQL
Число (Number)
SQLite
Двойная точность
Пример:
Создается таблица maxx_test, в которую вставляются два полигона. Затем запускается функция ST_MaxX для определения максимального в каждом полигоне значения x.
Oracle
CREATE TABLE maxx_test (
id integer,
geometry sde.st_geometry
);
INSERT INTO MAXX_TEST VALUES (
1901,
sde.st_polygon ('polygon zm((110 120 20 3, 110 140 22 3, 120 130 26 4, 110 120 20 3))', 4326)
);
INSERT INTO MAXX_TEST VALUES (
1902,
sde.st_polygon ('polygon zm((0 0 40 7, 0 4 35 9, 5 4 32 12, 5 0 31 5, 0 0 40 7))', 4326)
);
SELECT id, sde.st_maxx (geometry) Max_X
FROM MAXX_TEST;
ID MAX_X
1901 120
1902 5
PostgreSQL
CREATE TABLE maxx_test (
id integer,
geometry sde.st_geometry
);
INSERT INTO maxx_test VALUES (
1901,
sde.st_polygon ('polygon zm((110 120 20 3, 110 140 22 3, 120 130 26 4, 110 120 20 3))', 4326)
);
INSERT INTO maxx_test VALUES (
1902,
sde.st_polygon ('polygon zm((0 0 40 7, 0 4 35 9, 5 4 32 12, 5 0 31 5, 0 0 40 7))', 4326)
);
SELECT id, sde.st_maxx (geometry)
AS Max_X
FROM maxx_test;
id max_x
1901 120
1902 5
SQLite
CREATE TABLE maxx_test (
id integer
);
SELECT AddGeometryColumn (
NULL,
'maxx_test',
'geometry',
4326,
'polygonzm',
'xyzm',
'null'
);
INSERT INTO maxx_test VALUES (
1901,
st_polygon ('polygon zm((110 120 20 3, 110 140 22 3, 120 130 26 4, 110 120 20 3))', 4326)
);
INSERT INTO maxx_test VALUES (
1902,
st_polygon ('polygon zm((0 0 40 7, 0 4 35 9, 5 4 32 12, 5 0 31 5, 0 0 40 7))', 4326)
);
SELECT id, st_maxx (geometry)
AS "max_x"
FROM maxx_test;
id max_x
1901 120.0
1902 5.00000000