geo_s2cell_neighbors()
Calcula vizinhos de célula S2.
Leia mais sobre a hierarquia de células do S2.
Sintaxe
geo_s2cell_neighbors(
s2célula)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
s2célula | string |
✔️ | Valor do token de célula S2 como foi calculado por geo_point_to_s2cell(). O comprimento máximo da cadeia de caracteres do token de célula S2 é de 16 caracteres. |
Devoluções
Uma matriz de vizinhos de célula S2. Se a célula S2 for inválida, a consulta produzirá um resultado nulo.
Observação
As bordas das células S2 são geodésicas esféricas.
Exemplos
O exemplo a seguir calcula vizinhos de célula S2.
print neighbors = geo_s2cell_neighbors('89c259')
Saída
Vizinhos |
---|
["89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"] |
O exemplo a seguir calcula uma matriz de célula S2 de entrada com seus vizinhos.
let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))
Saída
Células |
---|
["89c259","89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"] |
O exemplo a seguir calcula polígonos de células S2, coleção de geometria GeoJSON.
let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))
| mv-expand cells to typeof(string)
| project polygons = geo_s2cell_to_polygon(cells)
| summarize arr = make_list(polygons)
| project geojson = bag_pack("type", "Feature","geometry", bag_pack("type", "GeometryCollection", "geometries", arr), "properties", bag_pack("name", "polygons"))
Saída
geojson |
---|
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [ {"tipo": "Polígono","coordenadas": [[[ -74.030012249838478, 40.8012684339439],[ -74.030012249838478, 40.7222262918358],[ -73.935982114337421, 40.708880489804564],[ -73.935982114337421, 40.787917134506841],[ -74.030012249838478, 40.8012684339439]]}, {"tipo": "Polígono","coordenadas": [[[ -73.935982114337421, 40.708880489804564],[ -73.935982114337421, 40.629736433321796],[ -73.841906340776248, 40.616308079144915],[ -73.841906340776248, 40.695446474556284],[ -73.935982114337421, 40.708880489804564]]}, {"tipo": "Polígono","coordenadas": [[[ -74.1239959854733, 40.893471289549765],[ -74.1239959854733, 40.814531536204242],[ -74.030012249838478, 40.8012684339439],[ -74.030012249838478, 40.880202851376716],[ -74.1239959854733, 40.893471289549765]]}, {"tipo": "Polígono","coordenadas": [[[ -74.1239959854733, 40.735483949993387],[ -74.1239959854733, 40.656328734184143],[ -74.030012249838478, 40.643076628676461],[ -74.030012249838478, 40.7222262918358],[ -74.1239959854733, 40.735483949993387]]}, {"tipo": "Polígono","coordenadas": [[[ -74.1239959854733, 40.814531536204242],[ -74.1239959854733, 40.735483949993387],[ -74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.8012684339439],[ -74.1239959854733, 40.814531536204242]]}, {"tipo": "Polígono","coordenadas": [[[ -73.935982114337421, 40.787917134506841],[ -73.935982114337421, 40.708880489804564],[ -73.841906340776248, 40.695446474556284],[ -73.841906340776248, 40.774477568182071],[ -73.935982114337421, 40.787917134506841]]}, {"tipo": "Polígono","coordenadas": [[[ -74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.643076628676461],[ -73.935982114337421, 40.629736433321796],[ -73.935982114337421, 40.708880489804564],[ -74.030012249838478, 40.7222262918358]]}, {"tipo": "Polígono","coordenadas": [[[ -74.030012249838478, 40.880202851376716],[ -74.030012249838478, 40.8012684339439],[ -73.935982114337421, 40.787917134506841],[ -73.935982114337421, 40.866846163445771],[ -74.030012249838478, 40.880202851376716]]}, {"tipo": "Polígono","coordenadas": [[[ -73.935982114337421, 40.866846163445771],[ -73.935982114337421, 40.787917134506841],[ -73.841906340776248, 40.774477568182071],[ -73.841906340776248, 40.853401155678846],[ -73.935982114337421, 40.866846163445771]]]}}, "propriedades": {"nome": "polígonos"}} |
O exemplo a seguir calcula uniões de polígonos que representam a célula S2 e seus vizinhos.
let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))
| mv-expand cells to typeof(string)
| project polygons = geo_s2cell_to_polygon(cells)
| summarize arr = make_list(polygons)
| project polygon = geo_union_polygons_array(arr)
Saída
polygon |
---|
{"tipo": "Polígono","coordenadas": [[[-73.841906340776248,40.695446474556284],[-73.841906340776248,40.774477568182071],[-73.841906340776248,40.853401155678846],[-73.935982114337421,40.866846163445771],[-74.030012249838478,40.880202851376716],[-74.1239959854733,40.893471289549758],[-74.1239959854733,40.814531536204242],[-74.1239959854733,40.735483949993387],[-74.1239959854733,40.656328734184143],[-74.030012249838478,40.643076628676461],[- 73.935982114337421,40.629736433321796],[-73.841906340776248,40.616308079144915],[-73.841906340776248,40.695446474556284]]]} |
O exemplo a seguir retorna true devido à entrada de token S2 Cell inválida.
print invalid = isnull(geo_s2cell_neighbors('a'))
Saída
inválido |
---|
1 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de