geo_s2cell_neighbors()
Oblicza sąsiadów komórek S2.
Składnia
geo_s2cell_neighbors(
s2cell)
Dowiedz się więcej o konwencjach składniowych.
Parametry
Nazwa | Typ | Wymagane | Opis |
---|---|---|---|
s2cell | string |
✔️ | Wartość tokenu komórki S2 obliczona przez geo_point_to_s2cell(). Maksymalna długość ciągu tokenu komórki S2 wynosi 16 znaków. |
Zwraca
Tablica sąsiadów komórek S2. Jeśli komórka S2 jest nieprawidłowa, zapytanie generuje wynik null.
Uwaga
Krawędzie komórek S2 to kuliste geodesy.
Przykłady
Poniższy przykład oblicza sąsiadów komórek S2.
print neighbors = geo_s2cell_neighbors('89c259')
Dane wyjściowe
Sąsiadów |
---|
["89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"] |
Poniższy przykład oblicza tablicę wejściowej komórki S2 ze swoimi sąsiadami.
let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))
Dane wyjściowe
Komórek |
---|
["89c259","89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"] |
Poniższy przykład oblicza wielokąty komórek S2 kolekcji geometrii 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"))
Dane wyjściowe
geojson |
---|
{"type": "Feature","geometry": {"type": "GeometryCollection","geometrie": [ {"type": "Polygon","współrzędne": [[[ -74.030012249838478, 40.801268439439],[ -74.030012249838478, 40.722262918358],[ -73.9359821143741, 40.70880489804564],[ -73.93598211437421, 40.787917134506841],[ -74.030012249838478, 40.801268439439]]]}, {"type": "Polygon","współrzędne": [[[ -73.93598211437421, 40.708880489804564],[ -73.9359821437421, 40.62973643321796],[ -73.841906340776248, 40.616308079144915],[ -73.841906340776248, 40.695446474556284],[ -73.93598211437421, 40.708880489804564]]]}, {"type": "Polygon","współrzędne": [[[ -74.123995954733, 40.893471289549765],[ -74.123995954733, 40.814531536204242],[ -74.030012249838478, 40.801268439439],[ -74.030012249838478, 40.880202851376716],[ -74.1239959854733, 40.893471289549765]]]}, {"type": "Polygon","współrzędne": [[[ -74.123995954733, 40.7354839933387],[ -74.1239959854733, 40.656328734184143],[ -74.030012249838478, 40.6430762867646461],[ -74.030012249838478, 40.722262918358],[ -74.1239959854733, 40.735483949933387]]]}, {"type": "Polygon","współrzędne": [[[ -74.123995954733, 40.8145315362242],[ -74.1239959854733, 40.73548394993387],[ -74.030012249838478, 40.722262918358],[ -74.030012249838478, 40.801268439439],[ -74.1239959854733, 40.8145315362242]}, {"type": "Polygon","współrzędne": [[[ -73.93598211437421, 40.787917134506841],[ -73.93598211437421, 40.70880489804564],[ -73.841906340776248, 40.695446474556284],[ -73.841906340776248, 40.774477568182071],[ -73.93598211437421, 40.787917134506841]}, {"type": "Polygon","współrzędne": [[[ -74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.6430762867646461],[ -73.93598211437421, 40.629733321796],[ -73.935982111437421, 40.708880489804564],[ -74.030012249838478, 40.72226262918358]]]}, {"type": "Polygon","współrzędne": [[[ -74.030012249838478, 40.88020202851376716],[ -74.030012249838478, 40.801268439439],[ -73.9359821143741, 40.787917134506841],[ -73.935982111437421, 40.866846163445771],[ -74.030012249838478, 40.88020202851376716]]]}, {"type": "Polygon","współrzędne": [[[ -73.93598211437421, 40.866846163445771],[ -73.9359821437421, 40.787917134506841],[ -73.841906340776248, 40.7747568182071],[ -73.841906340776248, 40.85340155678846],[ -73.93598211437421, 40.866846163445771]]]}}, "properties": {"name": "polygons"}} |
Poniższy przykład oblicza związki wielokątne reprezentujące komórkę S2 i jej sąsiadów.
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)
Dane wyjściowe
Wielokąt |
---|
{"type": "Polygon","coordinates": [[[-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]]]} |
Poniższy przykład zwraca wartość true z powodu nieprawidłowych danych wejściowych tokenu komórki S2.
print invalid = isnull(geo_s2cell_neighbors('a'))
Dane wyjściowe
nieprawidłowe |
---|
1 |
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla