ST_NPOINTS, ST_NUMPOINTS
ST_NPOINTS, ST_NUMPOINTS
ST_NPOINTS 함수는 GEOGRAPHY 또는 GEOMETRY 객체의 점(point)의 수를 반환해요.
본문
ST_NPOINTS 함수는 GEOGRAPHY 또는 GEOMETRY 객체의 점의 수를 반환해요.
구문 (Syntax)
ST_NPOINTS( <geography_or_geometry_expression> )
인자 (Arguments)
- geography_or_geometry_expression — 인자는
GEOGRAPHY또는GEOMETRY타입의 표현식이어야 해요.
반환 (Returns)
INTEGER 타입의 값을 반환해요.
사용 메모 (Usage notes)
- 각 Polygon 루프는 시작점을 두 번 나열해요(시작으로 한 번, 끝으로 한 번).
ST_NPOINTS는 두 번 모두 계산해요. 예를 들어 삼각형 Polygon이 주어지면ST_NPOINTS는 3이 아닌 4를 반환해요. ST_NUMPOINTS는ST_NPOINTS의 별칭이에요. 참고: 일부 다른 시스템에서는ST_NUMPOINTS가ST_NPOINTS와 다르게 동작하며 LineString/MultiLineString 객체에 대해서만 점의 수를 반환해요.
예제 (Examples)
GEOGRAPHY 예제
단순한 Polygon의 점의 수를 보여줘요:
create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY);
insert into geospatial_table_01 (g1, g2) values
('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');
SELECT ST_NPOINTS(g1)
FROM geospatial_table_01;
+----------------+
| ST_NPOINTS(G1) |
|----------------|
| 5 |
+----------------+
GEOMETRY 예제
ST_NPOINTS 함수 사용법을 보여줘요:
CREATE OR REPLACE TABLE geometry_shapes (g GEOMETRY);
INSERT INTO geometry_shapes VALUES
('POINT(66 12)'),
('MULTIPOINT((45 21), (12 54))'),
('LINESTRING(40 60, 50 50, 60 40)'),
('MULTILINESTRING((1 1, 32 17), (33 12, 73 49, 87.1 6.1))'),
('POLYGON((17 17, 17 30, 30 30, 30 17, 17 17))'),
('MULTIPOLYGON(((-10 0,0 10,10 0,-10 0)),((-10 40,10 40,0 20,-10 40)))'),
('GEOMETRYCOLLECTION(POLYGON((-10 0,0 10,10 0,-10 0)),LINESTRING(40 60,50 50,60 40),POINT(99 11))')
;
SELECT ST_NPOINTS(g), ST_ASWKT(g) FROM geometry_shapes;
+---------------+-------------------------------------------------------------------------------------------------+
| ST_NPOINTS(G) | ST_ASWKT(G) |
|---------------+-------------------------------------------------------------------------------------------------|
| 1 | POINT(66 12) |
| 2 | MULTIPOINT((45 21),(12 54)) |
| 3 | LINESTRING(40 60,50 50,60 40) |
| 5 | MULTILINESTRING((1 1,32 17),(33 12,73 49,87.1 6.1)) |
| 5 | POLYGON((17 17,17 30,30 30,30 17,17 17)) |
| 8 | MULTIPOLYGON(((-10 0,0 10,10 0,-10 0)),((-10 40,10 40,0 20,-10 40))) |
| 8 | GEOMETRYCOLLECTION(POLYGON((-10 0,0 10,10 0,-10 0)),LINESTRING(40 60,50 50,60 40),POINT(99 11)) |
+---------------+-------------------------------------------------------------------------------------------------+
더 알아보기 (Learn more)
- ST_ASWKT
- 지리공간 함수 (Geospatial functions)