ClickHouse/docs/en/sql-reference/functions/geo/polygon.md
DanRoscigno b9afc70583 WIP
2023-05-04 09:36:27 -04:00

4.2 KiB

slug sidebar_label title
/en/sql-reference/functions/geo/polygons Polygons Functions for Working with Polygons

readWKTMultiPolygon

Calculates

Example

SELECT
    toTypeName(readWKTMultiPolygon('MULTIPOLYGON(((2 0,10 0,10 10,0 10,2 0),(4 4,5 4,5 5,4 5,4 4)),((-10 -10,-10 -9,-9 10,-10 -10)))')) AS type,
    readWKTMultiPolygon('MULTIPOLYGON(((2 0,10 0,10 10,0 10,2 0),(4 4,5 4,5 5,4 5,4 4)),((-10 -10,-10 -9,-9 10,-10 -10)))') AS output FORMAT Markdown

type output
MultiPolygon [(2,0),(10,0),(10,10),(0,10),(2,0)],[(4,4),(5,4),(5,5),(4,5),(4,4),(-10,-10),(-10,-9),(-9,10),(-10,-10)]

Input parameters

String starting with MULTIPOLYGON

Returned value

MultiPolygon

readWKTPolygon

Calculates

Example

SELECT
    toTypeName(readWKTPolygon('POLYGON((2 0,10 0,10 10,0 10,2 0))')) AS type,
    readWKTPolygon('POLYGON((2 0,10 0,10 10,0 10,2 0))') AS output
FORMAT Markdown
type output
Polygon (2,0),(10,0),(10,10),(0,10),(2,0)

Input parameters

String starting with POLYGON

Returned value

Polygon

polygonsWithinSpherical

Calculates

Example

SELECT

Input parameters

Returned value

UInt8, 0 for false, 1 for true

polygonsDistanceSpherical

Calculates

Example

SELECT polygonsDistanceSpherical([[[(0, 0), (0, 0.1), (0.1, 0.1), (0.1, 0)]]], [[[(10., 10.), (10., 40.), (40., 40.), (40., 10.), (10., 10.)]]])
0.24372872211133834

Input parameters

Two polygons

Returned value

Float64

polygonsDistanceCartesian

Calculates distance between two polygons

Example

SELECT polygonsDistanceCartesian([[[(0, 0), (0, 0.1), (0.1, 0.1), (0.1, 0)]]], [[[(10., 10.), (10., 40.), (40., 40.), (40., 10.), (10., 10.)]]])
14.000714267493642

Input parameters

Two polygons

Returned value

Float64

polygonsEqualsCartesian

Returns true if two polygons are equal

Example

SELECT polygonsEqualsCartesian([[[(1., 1.), (1., 4.), (4., 4.), (4., 1.)]]], [[[(1., 1.), (1., 4.), (4., 4.), (4., 1.), (1., 1.)]]])
1

Input parameters

Two polygons

Returned value

UInt8, 0 for false, 1 for true

polygonsSymDifferenceSpherical

Calculates

Example

SELECT

Input parameters

Returned value

polygonsSymDifferenceCartesian

Calculates

Example

SELECT

Input parameters

Returned value

polygonsIntersectionSpherical

Calculates

Example

SELECT

Input parameters

Returned value

polygonsWithinCartesian

Returns true if the second polygon is within the first polygon.

Example

SELECT polygonsWithinCartesian([[[(2., 2.), (2., 3.), (3., 3.), (3., 2.)]]], [[[(1., 1.), (1., 4.), (4., 4.), (4., 1.), (1., 1.)]]])
1

Input parameters

Two polygons

Returned value

UInt8, 0 for false, 1 for true

polygonConvexHullCartesian

Calculates

Example

SELECT

Input parameters

Returned value

polygonAreaSpherical

Calculates

Example

SELECT

Input parameters

Returned value

polygonsUnionSpherical

Calculates

Example

SELECT

Input parameters

Returned value

polygonPerimeterSpherical

Calculates

Example

SELECT

Input parameters

Returned value

polygonsIntersectionCartesian

Calculates

Example

SELECT

Input parameters

Returned value

polygonAreaCartesian

Calculates the area of a polygon

Example

SELECT polygonAreaCartesian([[[(0., 0.), (0., 5.), (5., 5.), (5., 0.)]]])
25

Input parameters

One polygon

Returned value

Float64

polygonPerimeterCartesian

Calculates

Example

SELECT polygonPerimeterCartesian([[[(0., 0.), (0., 5.), (5., 5.), (5., 0.)]]])
15

Input parameters

One polygon

Returned value

Float64

polygonsUnionCartesian

Calculates

Example

SELECT

Input parameters

Returned value