Athena 엔진 버전 2의 지리 공간 함수 - Amazon Athena

Athena 엔진 버전 2의 지리 공간 함수

이 주제에는 Athena 엔진 버전 2부터 지원되는 ESRI 지리 공간 함수가 나열되어 있습니다. Athena 엔진 버전에 대한 자세한 내용은 Athena 엔진 버전 관리 단원을 참조하세요.

Athena 엔진 버전 2의 변경 사항

Athena는 다음과 같은 유형의 지리 공간 함수를 지원합니다.

생성자 함수

point, line 또는 polygon geometry 데이터 형식의 이진 표기를 구하려면 생성자 함수를 사용합니다. 또한 이러한 기능을 사용하여 이진 데이터를 텍스트로 변환하고 WKT(Well-Known Text)로 표현되는 geometry 데이터에 대한 이진 값을 얻을 수 있습니다.

ST_AsBinary(geometry)

지정된 geometry의 WKB 표현을 포함한 varbinary 데이터 형식을 반환합니다. 예제

SELECT ST_AsBinary(ST_Point(-158.54, 61.56))

ST_AsText(geometry)

지정된 각 geometry 데이터 형식을 텍스트로 변환합니다. geometry 데이터 형식의 WKT 표현인 varchar 데이터 형식의 값을 반환합니다. 예제

SELECT ST_AsText(ST_Point(-158.54, 61.56))

ST_GeomAsLegacyBinary(geometry)

지정된 geometry에서 레거시 varbinary를 반환합니다. 예제

SELECT ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)

ST_GeometryFromText(varchar)

WKT 형식의 텍스트를 geometry 데이터 형식으로 변환합니다. geometry 데이터 형식의 값을 반환합니다. 예제

SELECT ST_GeometryFromText(ST_AsText(ST_Point(1, 2)))

ST_GeomFromBinary(varbinary)

WKB 표현에서 geometry 유형 객체를 반환합니다. 예제

SELECT ST_GeomFromBinary(ST_AsBinary(ST_Point(-158.54, 61.56)))

ST_GeomFromLegacyBinary(varbinary)

레거시 varbinary 형식에서 geometry 형식 객체를 반환합니다. 예제

SELECT ST_GeomFromLegacyBinary(ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)))

ST_LineFromText(varchar)

geometry 데이터 형식 line으로 값을 반환합니다. 예제

SELECT ST_Line('linestring(1 1, 2 2, 3 3)')

ST_LineString(array(point))

point geometry 형식 배열로부터 형성된 LineString geometry 형식을 반환합니다. 지정된 배열에 비어 있지 않은 점이 두 개 미만이면 빈 LineString이 반환됩니다. 배열의 요소가 null이거나, 비어 있거나, 이전 요소와 동일한 경우 예외가 발생합니다. 반환된 geometry는 단순하지 않을 수 있습니다. 지정된 입력에 따라 반환된 geometry가 자체 교차하거나 중복된 꼭지점을 포함할 수 있습니다. 예제

SELECT ST_LineString(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_MultiPoint(array(point))

지정된 점으로부터 형성된 MultiPoint geometry 객체를 반환합니다. 지정된 배열이 비어있는 경우는 null을 반환합니다. 배열의 요소가 null이거나, 비어 있는 경우 예외가 발생합니다. 반환된 geometry는 단순하지 않을 수 있으며 지정된 배열에 중복된 점이 있는 경우 중복된 점을 포함할 수 있습니다. 예제

SELECT ST_MultiPoint(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_Point(double, double)

geometry 형식의 point 객체를 반환합니다. 이 함수에 대한 입력 데이터 값으로, UTM(Universal Transverse Mercator) 카트리지 좌표계의 값이나 십진도의 지리 지도 단위(경도와 위도)와 같은 기하학적 값을 사용하십시오. 경도와 위도 값은 WGS 1984 또는 EPSG:4326으로도 알려진 세계지구좌표시스템을 사용합니다. WGS 1984는 GPS(Global Positioning System)에서 사용하는 좌표계입니다.

예를 들어 다음 표기법에서 지도 좌표는 경도와 위도로 지정되며, 버퍼 거리인 .072284 값은 각도 단위의 십진수 각도로 지정됩니다.

SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)

구문:

SELECT ST_Point(longitude, latitude) FROM earthquakes LIMIT 1

다음 예제에서는 특정 경도 및 위도 좌표를 사용합니다.

SELECT ST_Point(-158.54, 61.56) FROM earthquakes LIMIT 1

다음 예제에서는 특정 경도 및 위도 좌표를 사용합니다.

SELECT ST_Point(-74.006801, 40.705220)

다음 예제에서는 ST_AsText 함수를 사용하여 WKT에서 geometry를 얻습니다.

SELECT ST_AsText(ST_Point(-74.006801, 40.705220)) AS WKT

ST_Polygon(varchar)

제공된 세로 좌표 시퀀스를 시계 방향(왼쪽에서 오른쪽)으로 사용하여 geometry 데이터 형식 polygon을 반환합니다. Athena 엔진 버전 2부터 다각형만 입력으로 수락됩니다. 예제

SELECT ST_Polygon('polygon ((1 1, 1 4, 4 4, 4 1))')

to_geometry(sphericalGeography)

지정된 구형 지리 객체로부터 geometry 객체를 반환합니다. 예제

SELECT to_geometry(to_spherical_geography(ST_Point(-158.54, 61.56)))

to_spherical_geography(geometry)

지정된 geometry로부터 구형 지리 객체를 반환합니다. 이 함수를 사용하여 geometry 객체를 지구 반경을 갖는 구체의 구형 지리 객체로 변환합니다. 이 함수는 2차원 공간에 정의된 POINT, MULTIPOINT, LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON geometry 또는 이러한 geometry의 GEOMETRYCOLLECTION에만 사용할 수 있습니다. 지정된 geometry의 각 점에 대해 함수는 point.x[-180.0, 180.0] 내에 있고 point.y[-90.0, 90.0] 내에 있는지 확인합니다. 이 함수는 이러한 점을 경도 및 위도로 사용하여 sphericalGeography 결과의 형상을 구성합니다.

예제

SELECT to_spherical_geography(ST_Point(-158.54, 61.56))

지리 공간 관계 함수

다음 함수는 사용자가 입력 항목으로 지정한 서로 다른 두 geometry 간의 관계를 표현하고, boolean 형식의 결과를 반환합니다. geometry 페어를 지정하는 순서가 중요합니다. 첫 번째 geometry 값을 왼쪽 geometry, 두 번째 geometry 값을 오른쪽 geometry라고 합니다.

이 함수는 다음을 반환합니다.

  • TRUE: 함수에 의해 설명된 관계가 만족되는 경우에만.

  • FALSE: 함수에 의해 설명된 관계가 만족되지 않는 경우에만.

ST_Contains(geometry, geometry)

왼쪽 geometry에 오른쪽 geometry가 포함되어 있는 경우에만 TRUE를 반환합니다. 예시:

SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', 'POLYGON((-1 3,2 1,0 -3,-1 3))')
SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', ST_Point(0, 0))
SELECT ST_Contains(ST_GeometryFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeometryFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'))

ST_Crosses(geometry, geometry)

왼쪽 geometry가 오른쪽 geometry와 교차하는 경우에만 TRUE를 반환합니다. 예제

SELECT ST_Crosses(ST_Line('linestring(1 1, 2 2 )'), ST_Line('linestring(0 1, 2 2)'))

ST_Disjoint(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry의 교차가 빈 경우에만 TRUE를 반환합니다. 예제

SELECT ST_Disjoint(ST_Line('linestring(0 0, 0 1)'), ST_Line('linestring(1 1, 1 0)'))

ST_Equals(geometry, geometry)

왼쪽 geometry가 오른쪽 geometry와 일치하는 경우에만 TRUE를 반환합니다. 예제

SELECT ST_Equals(ST_Line('linestring( 0 0, 1 1)'), ST_Line('linestring(1 3, 2 2)'))

ST_Intersects(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry와 교차하는 경우에만 TRUE를 반환합니다. 예제

SELECT ST_Intersects(ST_Line('linestring(8 7, 7 8)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Overlaps(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry가 중첩되는 경우에만 TRUE를 반환합니다. 예제

SELECT ST_Overlaps(ST_Polygon('polygon((2 0, 2 1, 3 1))'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Relate(geometry, geometry, varchar)

왼쪽 geometry가 오른쪽 geometry와 지정된 DE-9IM(Dimensionally Extended nine-Intersection Model) 관계에 있는 경우에만 TRUE를 반환합니다. 세 번째(varchar) 입력은 관계입니다. 예제

SELECT ST_Relate(ST_Line('linestring(0 0, 3 3)'), ST_Line('linestring(1 1, 4 4)'), 'T********')

ST_Touches(geometry, geometry)

왼쪽 geometry가 오른쪽 geometry와 접하는 경우에만 TRUE를 반환합니다.

예제

SELECT ST_Touches(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Within(geometry, geometry)

왼쪽 geometry가 오른쪽 geometry 내에 있는 경우에만 TRUE를 반환합니다.

예제

SELECT ST_Within(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

작업 함수

작업 함수를 사용하여 geometry 데이터 형식 값에 대한 작업을 수행합니다. 예를 들어 단일 geometry 데이터 형식의 경계, 두 geometry 데이터 형식 간의 교차, 왼쪽과 오른쪽 geometry 간 차이를 알아낼 수 있습니다. 각각의 geometry 데이터 형식 또는 특정 geometry 데이터 형식 주위의 링이나 외장 버퍼는 동일합니다.

geometry_union(array(geometry))

지정된 geometry의 점 집합 공용 구조체를 나타내는 geometry를 반환합니다. 예제

SELECT geometry_union(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_Boundary(geometry)

geometry 데이터 형식 중 하나를 입력으로 취해 boundary geometry 데이터 형식을 반환합니다.

예시:

SELECT ST_Boundary(ST_Line('linestring(0 1, 1 0)')))
SELECT ST_Boundary(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Buffer(geometry, double)

geometry 데이터 형식(점, 선, 다각형, 다중 선, 다중 다각형) 중 하나를 입력으로 가져오고 거리를 double 형식으로 가져옵니다). 지정한 거리(또는 반경)만큼 버퍼링된 geometry 데이터 형식을 반환합니다. 예제

SELECT ST_Buffer(ST_Point(1, 2), 2.0)

다음 예제에서 지도 좌표는 경도와 위도로 지정되며, 버퍼 거리인 .072284 값은 각도 단위의 십진수 각도로 지정됩니다.

SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)

ST_Difference(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry 간 차집합의 geometry를 반환합니다. 예제

SELECT ST_AsText(ST_Difference(ST_Polygon('polygon((0 0, 0 10, 10 10, 10 0))'), ST_Polygon('polygon((0 0, 0 5, 5 5, 5 0))')))

ST_Envelope(geometry)

입력으로 line, polygon, multiline, multipolygon geometry 데이터 형식을 사용합니다. point geometry 데이터 형식을 지원하지 않습니다. 포락선의 geometry를 반환합니다. 여기서 포락선은 지정된 geometry 데이터 형식을 둘러싼 직사각형입니다. 예시:

SELECT ST_Envelope(ST_Line('linestring(0 1, 1 0)'))
SELECT ST_Envelope(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_EnvelopeAsPts(geometry)

geometry의 경계 사각형의 왼쪽 아래 및 오른쪽 위 모서리를 나타내는 두 점의 배열을 반환합니다. 지정된 geometry가 비어 있으면 null을 반환합니다. 예제

SELECT ST_EnvelopeAsPts(ST_Point(-158.54, 61.56))

ST_ExteriorRing(geometry)

polygon 입력 형식의 외부 링의 geometry를 반환합니다. Athena 엔진 버전 2부터 다각형이 입력으로 수락되는 유일한 지오메트리입니다. 예시:

SELECT ST_ExteriorRing(ST_Polygon(1,1, 1,4, 4,1))
SELECT ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))

ST_Intersection(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry의 교집합의 geometry를 반환합니다. 예시:

SELECT ST_Intersection(ST_Point(1,1), ST_Point(1,1))
SELECT ST_Intersection(ST_Line('linestring(0 1, 1 0)'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
SELECT ST_AsText(ST_Intersection(ST_Polygon('polygon((2 0, 2 3, 3 0))'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))')))

ST_SymDifference(geometry, geometry)

왼쪽 geometry와 오른쪽 geometry 간 기하학적 대칭차집합의 geometry를 반환합니다. 예제

SELECT ST_AsText(ST_SymDifference(ST_Line('linestring(0 2, 2 2)'), ST_Line('linestring(1 2, 3 2)')))

ST_Union(geometry, geometry)

지정된 geometry의 점 집합 합집합을 나타내는 geometry 데이터 형식을 반환합니다. 예제

SELECT ST_Union(ST_Point(-158.54, 61.56),ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))

접근자 함수

접근자 함수는 다양한 geometry 데이터 형식으로부터 varchar, bigint 또는 double 형식의 값을 얻는 데 유용합니다. 여기서 geometry는 Athena에 지원되는 geometry 데이터 형식인 point, line, polygon, multiline, multipolygon 중 하나입니다. 예를 들어, polygon geometry 데이터 형식의 영역, 지정된 geometry 데이터 형식의 최대 및 최소 X 및 Y 값을 구하거나, line 길이를 얻거나, 지정된 geometry 데이터 형식으로 점수를 얻을 수 있습니다.

geometry_invalid_reason(geometry)

지정된 geometry가 유효하지 않거나 단순하지 않은 이유를 varchar 데이터 형식으로 반환합니다. 지정된 geometry가 유효하지 않거나 단순하지 않은 경우 유효하지 않은 이유를 반환합니다. 지정된 geometry가 유효하고 단순한 경우 null을 반환합니다. 예제

SELECT geometry_invalid_reason(ST_Point(-158.54, 61.56))

great_circle_distance(latitude1, longitude1, latitude2, longitude2)

킬로미터 단위의 지구 표면 두 점 사이의 대원 거리(great-circle distance)를 double로 반환합니다. 예제

SELECT great_circle_distance(36.12, -86.67, 33.94, -118.40)

line_locate_point(lineString, point)

지정된 라인 스트링의 가장 가까운 점에서 지정된 점까지의 위치를 전체 2d 라인 길이 대비 비율로 나타내는 0에서 1 사이의 double을 반환합니다.

지정된 라인 스트링 또는 점이 비어 있거나 null인 경우 null을 반환합니다. 예제

SELECT line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2))

simplify_geometry(geometry, double)

Ramer-douglas-peucker algorithm(Ramer-Douglas-Peucker 알고리즘)을 사용해 지정된 geometry의 단순화 버전인 geometry 데이터 형식을 반환합니다. 유효하지 않은 파생 geometry(특히 폴리곤)를 생성하지 않아야 합니다. 예제

SELECT simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0))'), 1.5)

ST_Area(geometry)

geometry 데이터 형식을 입력으로 취해 double 형식의 면을 반환합니다. 예제

SELECT ST_Area(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Centroid(geometry)

geometry 데이터 형식 polygon을 입력으로 취해 다각형 포락선의 중심인 point geometry 데이터 형식을 반환합니다. 예시:

SELECT ST_Centroid(ST_GeometryFromText('polygon ((0 0, 3 6, 6 0, 0 0))'))
SELECT ST_AsText(ST_Centroid(ST_Envelope(ST_GeometryFromText('POINT (53 27)'))))

ST_ConvexHull(geometry)

지정된 입력의 모든 geometry를 둘러싸는 가장 작은 볼록 geometry인 geometry 데이터 형식을 반환합니다. 예제

SELECT ST_ConvexHull(ST_Point(-158.54, 61.56))

ST_CoordDim(geometry)

지원되는 geometry 데이터 형식 중 하나를 입력으로 취해 tinyint 형식으로 좌표 성분 개수를 반환합니다. 예제

SELECT ST_CoordDim(ST_Point(1.5,2.5))

ST_Dimension(geometry)

지원되는 geometry 데이터 형식 중 하나를 입력으로 가져오고, tinyint 형식으로 geometry의 공간 차원을 반환합니다. 예제

SELECT ST_Dimension(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Distance(geometry, geometry)

공간 참조에 기초해 두 geometry 간 2차원 최소 데카르트 거리(투영 단위, projected unit)를 포함한 double을 반환합니다. Athena 엔진 버전 2부터 입력 중 하나가 빈 지오메트리인 경우 null을 반환합니다. 예제

SELECT ST_Distance(ST_Point(0.0,0.0), ST_Point(3.0,4.0))

ST_Distance(sphericalGeography, sphericalGeography)

두 개의 구면 지리점 사이의 대원 거리(미터)를 double로 반환합니다. 예제

SELECT ST_Distance(to_spherical_geography(ST_Point(61.56, -86.67)),to_spherical_geography(ST_Point(61.56, -86.68)))

ST_EndPoint(geometry)

line geometry 데이터 형식의 마지막 점을 point geometry 데이터 형식으로 반환합니다. 예제

SELECT ST_EndPoint(ST_Line('linestring(0 2, 2 2)'))

ST_Geometries(geometry)

지정된 컬렉션의 geometry 배열을 반환합니다. 지정된 geometry가 다중 geometry가 아닌 경우 1 요소 배열을 반환합니다. 지정된 geometry가 비어 있으면 null을 반환합니다.

예를 들어, MultiLineString 객체가 주어진 경우 ST_GeometriesLineString 객체의 배열을 생성합니다. GeometryCollection 객체가 주어지면 ST_Geometries는 구성 요소가 평탄화되지 않은 배열을 반환합니다. 예제

SELECT ST_Geometries(GEOMETRYCOLLECTION(MULTIPOINT(0 0, 1 1), GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))))

결과:

array[MULTIPOINT(0 0, 1 1),GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))]

ST_GeometryN(geometry, index)

지정된 정수 인덱스의 geometry 요소를 geometry 데이터 형식으로 반환합니다. 인덱스는 1에서 시작합니다. 지정된 geometry가 geometry의 컬렉션(예: GEOMETRYCOLLECTION 또는 MULTI* 객체)인 경우 지정된 인덱스의 geometry를 반환합니다. 지정된 인덱스가 1보다 작거나 컬렉션의 전체 요소 개수보다 크면 null을 반환합니다. 전체 요소 개수를 찾으려면 ST_NumGeometries를 사용합니다. 단일 geometry(예: POINT, LINESTRING 또는 POLYGON)는 한 요소의 컬렉션으로 처리됩니다. 빈 geometry는 빈 컬렉션으로 처리됩니다. 예제

SELECT ST_GeometryN(ST_Point(-158.54, 61.56),1)

ST_GeometryType(geometry)

geometry의 형식을 varchar로 반환합니다. 예제

SELECT ST_GeometryType(ST_Point(-158.54, 61.56))

ST_InteriorRingN(geometry, index)

지정된 인덱스의 내부 링 요소를 반환합니다(인덱스는 1에서 시작). 주어진 인덱스가 1보다 작거나 지정된 geometry에 있는 내부 링의 전체 요소 개수보다 크면 null을 반환합니다. 지정된 geometry가 폴리곤이 아니면 오류가 발생합니다. 전체 요소 개수를 찾으려면 ST_NumInteriorRing를 사용합니다. 예제

SELECT ST_InteriorRingN(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'),1)

ST_InteriorRings(geometry)

지정된 geometry에서 검색된 모든 내부 링의 geometry 배열을 반환하거나, 폴리곤에 내부 링이 없는 경우 빈 배열을 반환합니다. 지정된 geometry가 비어 있으면 null을 반환합니다. 지정된 geometry가 다각형이 아니면 오류가 발생합니다. 예제

SELECT ST_InteriorRings(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'))

ST_IsClosed(geometry)

입력으로 linemultiline geometry 데이터 형식만 가져옵니다. 라인이 닫힌 경우에만 TRUE(boolean 형식)를 반환합니다. 예제

SELECT ST_IsClosed(ST_Line('linestring(0 2, 2 2)'))

ST_IsEmpty(geometry)

입력으로 linemultiline geometry 데이터 형식만 가져옵니다. 지정된 geometry가 비어 있는 경우, 즉 line 시작 및 끝 값이 일치하는 경우에만 TRUE(boolean 형식)를 반환합니다. 예제

SELECT ST_IsEmpty(ST_Point(1.5, 2.5))

ST_IsRing(geometry)

line 형식이 닫히고 단순한 경우에만 TRUE(boolean 형식)를 반환합니다. 예제

SELECT ST_IsRing(ST_Line('linestring(0 2, 2 2)'))

ST_IsSimple(geometry)

지정된 geometry에 변칙적인 기하학적 점(예: 자체 교차 또는 자체 접점)이 없으면 true를 반환합니다. geometry가 단순하지 않은 이유를 확인하려면 geometry_invalid_reason()을 사용합니다. 예제

SELECT ST_IsSimple(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))

ST_IsValid(geometry)

지정된 geometry가 잘 형성되어 있는 경우에만 true를 반환합니다. geometry가 잘 형성되지 않은 이유를 확인하려면 geometry_invalid_reason()을 사용합니다. 예제

SELECT ST_IsValid(ST_Point(61.56, -86.68))

ST_Length(geometry)

double 형식으로 line 길이를 반환합니다. 예제

SELECT ST_Length(ST_Line('linestring(0 2, 2 2)'))

ST_NumGeometries(geometry)

컬렉션의 geometry 개수를 정수로 반환합니다. geometry가 geometry의 컬렉션인 경우(예: GEOMETRYCOLLECTION 또는 MULTI* 객체) geometry의 개수를 반환합니다. 단일 geometry는 1을 반환하고 빈 geometry는 0을 반환합니다. GEOMETRYCOLLECTION 객체의 빈 geometry는 1개의 geometry로 계수됩니다. 예를 들어 아래의 경우에는 1로 평가됩니다.

ST_NumGeometries(ST_GeometryFromText('GEOMETRYCOLLECTION(MULTIPOINT EMPTY)'))

ST_NumInteriorRing(geometry)

polygon geometry의 내부 링 개수를 bigint 형식으로 반환합니다. 예제

SELECT ST_NumInteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))

ST_NumPoints(geometry)

geometry의 지점 개수를 bigint 형식으로 반환합니다. 예제

SELECT ST_NumPoints(ST_Point(1.5, 2.5))

ST_PointN(lineString, index)

지정된 정수 인덱스의 지정된 라인 스트링의 꼭지점을 point geometry 데이터 형식으로 반환합니다. 인덱스는 1에서 시작합니다. 주어진 인덱스가 1보다 작거나 컬렉션의 전체 요소 개수보다 크면 null을 반환합니다. 전체 요소 개수를 찾으려면 ST_NumPoints를 사용합니다. 예제

SELECT ST_PointN(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]),1)

ST_Points(geometry)

지정된 선 스트링 geometry 객체의 점 배열을 반환합니다. 예제

SELECT ST_Points(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))

ST_StartPoint(geometry)

line geometry 데이터 형식의 첫 점을 point geometry 데이터 형식으로 반환합니다. 예제

SELECT ST_StartPoint(ST_Line('linestring(0 2, 2 2)'))

ST_X(point)

지점의 X 좌표를 double 형식으로 반환합니다. 예제

SELECT ST_X(ST_Point(1.5, 2.5))

ST_XMax(geometry)

double 형식으로 geometry의 최대 X 좌표를 반환합니다. 예제

SELECT ST_XMax(ST_Line('linestring(0 2, 2 2)'))

ST_XMin(geometry)

double 형식으로 geometry의 최소 X 좌표를 반환합니다. 예제

SELECT ST_XMin(ST_Line('linestring(0 2, 2 2)'))

ST_Y(point)

지점의 Y 좌표를 double 형식으로 반환합니다. 예제

SELECT ST_Y(ST_Point(1.5, 2.5))

ST_YMax(geometry)

double 형식으로 geometry의 최대 Y 좌표를 반환합니다. 예제

SELECT ST_YMax(ST_Line('linestring(0 2, 2 2)'))

ST_YMin(geometry)

double 형식으로 geometry의 최소 Y 좌표를 반환합니다. 예제

SELECT ST_YMin(ST_Line('linestring(0 2, 2 2)'))

집계 함수

convex_hull_agg(geometry)

입력으로 전달된 모든 geometry를 둘러싸는 최소 볼록 geometry를 반환합니다.

geometry_union_agg(geometry)

입력으로 전달된 모든 geometry의 점 집합 합집합을 나타내는 geometry를 반환합니다.

Bing 타일 함수

다음 함수는 Microsoft Bing maps tile system(Bing 지도 타일 시스템)에서 geometry와 타일을 상호 간에 변환합니다.

bing_tile(x, y, zoom_level)

정수 좌표 xy와 지정된 확대/축소의 수준에서 Bing 타일 객체를 반환합니다. 확대/축소 수준은 1~23의 정수여야 합니다. 예제

SELECT bing_tile(10, 20, 12)

bing_tile(quadKey)

Quadkey에서 Bing 타일 객체를 반환합니다. 예제

SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 12)))

bing_tile_at(latitude, longitude, zoom_level)

지정된 위도, 경도, 확대/축소 수준에서 Bing 타일 객체를 반환합니다. 위도는 -85.05112878과 85.05112878 사이여야 합니다. 경도는 -180과 180 사이여야 합니다. latitudelongitude 값은 double이어야 하며, zoom_level은 정수여야 합니다. 예제

SELECT bing_tile_at(37.431944, -122.166111, 12)

bing_tiles_around(latitude, longitude, zoom_level)

지정된 확대/축소 수준에서 지정된 위도 및 경도 점을 둘러싸는 Bing 타일 배열을 반환합니다. 예제

SELECT bing_tiles_around(47.265511, -122.465691, 14)

bing_tiles_around(latitude, longitude, zoom_level, radius_in_km)

지정된 확대/축소 수준에서 Bing 타일 배열을 반환합니다. 배열에는 지정된 위도와 경도에서 지정된 반지름(킬로미터 단위)의 원을 덮는 최소 Bing 타일 집합이 포함됩니다. latitude, longituderadius_in_km 값은 double이고, 확대/축소 수준은 integer입니다. 예제

SELECT bing_tiles_around(37.8475, 112.596667, 10, .5)

bing_tile_coordinates(tile)

지정된 Bing 타일의 xy 좌표를 반환합니다. 예제

SELECT bing_tile_coordinates(bing_tile_at(37.431944, -122.166111, 12))

bing_tile_polygon(tile)

지정된 Bing 타일의 폴리곤 표현을 반환합니다. 예제

SELECT bing_tile_polygon(bing_tile_at(47.265511, -122.465691, 4))

bing_tile_quadkey(tile)

지정된 Bing 타일의 quadkey를 반환합니다. 예제

SELECT bing_tile_quadkey(bing_tile(52, 143, 10))

bing_tile_zoom_level(tile)

지정된 Bing 타일의 확대/축소 수준을 정수로 반환합니다. 예제

SELECT bing_tile_zoom_level(bing_tile(52, 143, 10))

geometry_to_bing_tiles(geometry, zoom_level)

지정된 확대/축소 수준에서 지정된 geometry를 완전히 덮는 최소 Bing 타일 집합을 반환합니다. 1~23의 확대/축소 수준이 지원됩니다. 예제

SELECT geometry_to_bing_tiles(ST_Point(61.56, 58.54), 10)