greatCircleDistance
lon1Deg— Longitude do primeiro ponto em graus. Intervalo:[-180°, 180°].lat1Deg— Latitude do primeiro ponto em graus. Intervalo:[-90°, 90°].lon2Deg— Longitude do segundo ponto em graus. Intervalo:[-180°, 180°].lat2Deg— Latitude do segundo ponto em graus. Intervalo:[-90°, 90°].
geoDistance
greatCircleDistance, mas calcula a distância no elipsoide WGS-84 em vez de na esfera. Esta é uma aproximação mais precisa do geoide da Terra.
O desempenho é o mesmo de greatCircleDistance (sem perda de desempenho). Recomenda-se usar geoDistance para calcular distâncias na Terra.
Nota técnica: para pontos suficientemente próximos, calculamos a distância usando uma aproximação planar com a métrica no plano tangente ao ponto médio das coordenadas.
lon1Deg— Longitude do primeiro ponto em graus. Intervalo:[-180°, 180°].lat1Deg— Latitude do primeiro ponto em graus. Intervalo:[-90°, 90°].lon2Deg— Longitude do segundo ponto em graus. Intervalo:[-180°, 180°].lat2Deg— Latitude do segundo ponto em graus. Intervalo:[-90°, 90°].
greatCircleAngle
lon1Deg— Longitude do primeiro ponto em graus.lat1Deg— Latitude do primeiro ponto em graus.lon2Deg— Longitude do segundo ponto em graus.lat2Deg— Latitude do segundo ponto em graus.
pointInEllipses
x, y— Coordenadas de um ponto no plano.xᵢ, yᵢ— Coordenadas do centro dai-ésima elipse.aᵢ, bᵢ— Eixos dai-ésima elipse nas unidades das coordenadasxey.
2+4⋅n, em que n é o número de elipses.
Valores retornados
1 se o ponto estiver dentro de pelo menos uma das elipses; 0 se não estiver.
Exemplo
pointInPolygon
(x, y)— Coordenadas de um ponto no plano. Tipo de dado — Tuple — uma tupla de dois números.[(a, b), (c, d) ...]— Vértices do polígono. Tipo de dado — Array. Cada vértice é representado por um par de coordenadas(a, b). Os vértices devem ser especificados em sentido horário ou anti-horário. O número mínimo de vértices é 3. O polígono deve ser constante.- A função oferece suporte a polígonos com furos (áreas vazadas). Tipo de dado — Polygon. Passe o
Polygoninteiro como segundo argumento ou passe primeiro o anel externo e, em seguida, cada furo como argumento adicional separado. - A função também oferece suporte a multipolígonos. Tipo de dado — MultiPolygon. Passe o
MultiPolygoninteiro como segundo argumento ou liste cada polígono componente como um argumento separado.
1 se o ponto estiver dentro do polígono, 0 se não estiver.
Se o ponto estiver na borda do polígono, a função poderá retornar 0 ou 1.
Exemplo
Nota • Você pode definirvalidate_polygons = 0para ignorar a validação da geometria. •pointInPolygonpressupõe que todo polígono esteja bem formado. Se a entrada tiver auto-interseções, anéis em ordem incorreta ou arestas sobrepostas, os resultados se tornam pouco confiáveis — especialmente para pontos que ficam exatamente sobre uma aresta, um vértice ou dentro de uma auto-interseção, onde a noção de “dentro” vs. “fora” é indefinida. • Quando o argumento do polígono é constante e o ponto é expresso usando colunas-chave indexadas (por exemplo,pointInPolygon((x, y), constant_polygon)em uma tabela em quex, yfazem parte daPRIMARY KEYou são cobertos por um índiceminmax), o ClickHouse pode usar tanto a chave primária quanto os índices de data-skippingminmaxpara descartar grânulos irrelevantes.