mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-15 12:14:18 +00:00
345 lines
4.2 KiB
Markdown
345 lines
4.2 KiB
Markdown
|
---
|
||
|
slug: /en/sql-reference/functions/geo/polygons
|
||
|
sidebar_label: Polygons
|
||
|
title: "Functions for Working with Polygons"
|
||
|
---
|
||
|
|
||
|
## readWKTMultiPolygon
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
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
|
||
|
|
||
|
``` sql
|
||
|
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
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
UInt8, 0 for false, 1 for true
|
||
|
|
||
|
## polygonsDistanceSpherical
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT polygonsDistanceSpherical([[[(0, 0), (0, 0.1), (0.1, 0.1), (0.1, 0)]]], [[[(10., 10.), (10., 40.), (40., 40.), (40., 10.), (10., 10.)]]])
|
||
|
```
|
||
|
```response
|
||
|
0.24372872211133834
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
Two polygons
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
Float64
|
||
|
|
||
|
## polygonsDistanceCartesian
|
||
|
|
||
|
Calculates distance between two polygons
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT polygonsDistanceCartesian([[[(0, 0), (0, 0.1), (0.1, 0.1), (0.1, 0)]]], [[[(10., 10.), (10., 40.), (40., 40.), (40., 10.), (10., 10.)]]])
|
||
|
```
|
||
|
```response
|
||
|
14.000714267493642
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
Two polygons
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
Float64
|
||
|
|
||
|
## polygonsEqualsCartesian
|
||
|
|
||
|
Returns true if two polygons are equal
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT polygonsEqualsCartesian([[[(1., 1.), (1., 4.), (4., 4.), (4., 1.)]]], [[[(1., 1.), (1., 4.), (4., 4.), (4., 1.), (1., 1.)]]])
|
||
|
```
|
||
|
```response
|
||
|
1
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
Two polygons
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
UInt8, 0 for false, 1 for true
|
||
|
|
||
|
## polygonsSymDifferenceSpherical
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonsSymDifferenceCartesian
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonsIntersectionSpherical
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonsWithinCartesian
|
||
|
|
||
|
Returns true if the second polygon is within the first polygon.
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT polygonsWithinCartesian([[[(2., 2.), (2., 3.), (3., 3.), (3., 2.)]]], [[[(1., 1.), (1., 4.), (4., 4.), (4., 1.), (1., 1.)]]])
|
||
|
```
|
||
|
```response
|
||
|
1
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
Two polygons
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
UInt8, 0 for false, 1 for true
|
||
|
|
||
|
## polygonConvexHullCartesian
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonAreaSpherical
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonsUnionSpherical
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonPerimeterSpherical
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonsIntersectionCartesian
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
## polygonAreaCartesian
|
||
|
|
||
|
Calculates the area of a polygon
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT polygonAreaCartesian([[[(0., 0.), (0., 5.), (5., 5.), (5., 0.)]]])
|
||
|
```
|
||
|
```response
|
||
|
25
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
One polygon
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
Float64
|
||
|
|
||
|
## polygonPerimeterCartesian
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT polygonPerimeterCartesian([[[(0., 0.), (0., 5.), (5., 5.), (5., 0.)]]])
|
||
|
```
|
||
|
```response
|
||
|
15
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
One polygon
|
||
|
|
||
|
### Returned value
|
||
|
|
||
|
Float64
|
||
|
|
||
|
## polygonsUnionCartesian
|
||
|
|
||
|
Calculates
|
||
|
|
||
|
### Example
|
||
|
|
||
|
``` sql
|
||
|
SELECT
|
||
|
```
|
||
|
```response
|
||
|
```
|
||
|
|
||
|
### Input parameters
|
||
|
|
||
|
### Returned value
|
||
|
|