-`(x, y)` — Coordinates of a point on the plane. Data type — [Demet](../../sql-reference/data-types/tuple.md) — A tuple of two numbers.
-`[(a, b), (c, d) ...]` — Polygon vertices. Data type — [Dizi](../../sql-reference/data-types/array.md). Her köşe bir çift koordinat ile temsil edilir `(a, b)`. Köşeler saat yönünde veya saat yönünün tersine sırayla belirtilmelidir. Minimum köşe sayısı 3’tür. Çokgen sabit olmalıdır.
- Fonksiyon ayrıca delikli çokgenleri de destekler (bölümleri keser). Bu durumda, işlevin ek argümanlarını kullanarak kesilen bölümleri tanımlayan çokgenler ekleyin. İşlev, basit olmayan bağlı çokgenleri desteklemez.
**Döndürülen değerler**
`1` nokta çokgenin içinde ise, `0` hayır değil.
Nokta çokgen sınırında ise, işlev 0 veya 1 döndürebilir.
**Örnek**
``` sql
SELECT pointInPolygon((3., 3.), [(6, 0), (8, 4), (5, 8), (0, 2)]) AS res
```
``` text
┌─res─┐
│ 1 │
└─────┘
```
## geohashEncode {#geohashencode}
Enlem ve boylamı bir geohash-string olarak kodlar, Lütfen bakınız (http://geohash.org/, https://en.wikipedia.org/wiki/Geohash).
``` sql
geohashEncode(longitude, latitude, [precision])
```
**Giriş değerleri**
- boylam-kodlamak istediğiniz koordinatın boylam kısmı. Aralık floatingta yüz floatingen`[-180°, 180°]`
- latitude-kodlamak istediğiniz koordinatın enlem kısmı. Aralık floatingta yüz floatingen `[-90°, 90°]`
- hassas-isteğe bağlı, elde edilen kodlanmış dizenin uzunluğu, varsayılan olarak `12`. Aralıktaki tamsayı`[1, 12]`. Herhangi bir değer daha az `1` veya daha büyük `12` sessizce dönüştürülür `12`.
**Döndürülen değerler**
- alfanümerik `String` kodlanmış koordinat (base32-kodlama alfabesinin değiştirilmiş versiyonu kullanılır).
**Örnek**
``` sql
SELECT geohashEncode(-5.60302734375, 42.593994140625, 0) AS res
```
``` text
┌─res──────────┐
│ ezs42d000000 │
└──────────────┘
```
## geohashDecode {#geohashdecode}
Herhangi bir geohash kodlu dizeyi boylam ve enlem olarak çözer.
**Giriş değerleri**
- kodlanmış dize-geohash kodlanmış dize.
**Döndürülen değerler**
- (boylam, enlem) - 2-tuple `Float64` boylam ve enlem değerleri.
**Örnek**
``` sql
SELECT geohashDecode('ezs42') AS res
```
``` text
┌─res─────────────────────────────┐
│ (-5.60302734375,42.60498046875) │
└─────────────────────────────────┘
```
## geoToH3 {#geotoh3}
Dönüşler [H3](https://uber.github.io/h3/#/documentation/overview/introduction) nokta Endeksi `(lon, lat)` belirtilen çözünürlük ile.
[H3](https://uber.github.io/h3/#/documentation/overview/introduction) Dünya yüzeyinin altıgen fayanslara bile bölündüğü coğrafi bir indeksleme sistemidir. Bu sistem hiyerarşiktir, örn. üst seviyedeki her altıgen yedi hatta daha küçük olanlara bölünebilir.
Bu endeks öncelikle kovalama yerleri ve diğer coğrafi manipülasyonlar için kullanılır.
SELECT geoToH3(37.79506683, 55.71290588, 15) as h3Index
```
Sonuç:
``` text
┌────────────h3Index─┐
│ 644325524701193974 │
└────────────────────┘
```
## geohashesİnBox {#geohashesinbox}
Verilen kutunun içine giren ve verilen kutunun sınırlarını kesişen, temel olarak diziye düzleştirilmiş bir 2D ızgarası olan bir dizi geohash kodlu dizeler dizisi döndürür.
**Giriş değerleri**
- longitude\_min - min boylam, aralıkta kayan değer `[-180°, 180°]`
- latitude\_min - min enlem, aralıkta kayan değer `[-90°, 90°]`
- longitude\_max-maksimum boylam, aralıkta kayan değer `[-180°, 180°]`
- latitude\_max-maksimum enlem, aralıkta kayan değer `[-90°, 90°]`
- hassas-geohash hassas, `UInt8` Aralık inta `[1, 12]`
Lütfen tüm koordinat parametrelerinin aynı tipte olması gerektiğini unutmayın: `Float32` veya `Float64`.
**Döndürülen değerler**
- verilen alanı kapsayan geohash kutularının hassas uzun dizeleri dizisi, öğelerin sırasına güvenmemelisiniz.
- \[\]- eğer boş dizi *dakika* değerleri *enlem* ve *Boylam* karşılık gelenden daha az değil *maksimum* değerler.