Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Schakelen tussen services met behulp van de vervolgkeuzelijst Versie . Meer informatie over navigatie.
Van toepassing op: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Berekent de totale lengte van een lijn of een multiline op aarde.
Syntaxis
geo_line_length(
lineString)
Meer informatie over syntaxisconventies.
Parameterwaarden
| Naam | Typologie | Verplicht | Description |
|---|---|---|---|
| lineString | dynamic |
✔️ | Een LineString of MultiLineString in de GeoJSON-indeling. |
Retouren
De totale lengte van een lijn of een multilijn, in meters, op aarde. Als de regel of meerdere regels ongeldig is, produceert de query een null-resultaat.
Opmerking
- De georuimtelijke coördinaten worden geïnterpreteerd als vertegenwoordigd door het WGS-84 coördinaatverwijzingssysteem.
- De geodetische datum die wordt gebruikt om afstand op aarde te meten, is een bol. Lijnranden zijn geodesie op de bol.
- Als de randen van de invoerlijn rechte cartesische lijnen zijn, kunt u overwegen geo_line_densify() te gebruiken om planaire randen te converteren naar geodetica.
- Als invoer een multiline is en meer dan één regel bevat, is het resultaat de totale lengte van de samenvoeging van lijnen.
LineString-definitie en -beperkingen
dynamic({"type": "LineString","coördinaten": [[lng_1,lat_1], [lng_2,lat_2], ..., [lng_N,lat_N]]})
dynamic({"type": "MultiLineString","coördinaten": [[line_1, line_2, ..., line_N]]})
- LineString-coördinatenmatrix moet ten minste twee vermeldingen bevatten.
- Coördinaten [lengtegraad, breedtegraad] moeten geldig zijn wanneer lengtegraad een reëel getal is in het bereik [-180, +180] en breedtegraad een reëel getal is in het bereik [-90, +90].
- De lengte van de rand moet kleiner zijn dan 180 graden. De kortste rand tussen de twee hoekpunten wordt gekozen.
Voorbeelden
In het volgende voorbeeld wordt de totale lijnlengte berekend, in meters.
let line = dynamic({"type":"LineString","coordinates":[[-73.95807266235352,40.800426144169315],[-73.94966125488281,40.79691751000055],[-73.97317886352539,40.764486356930334]]});
print length = geo_line_length(line)
Uitvoer
| length |
|---|
| 4922.48016992081 |
In het volgende voorbeeld wordt de totale lengte van meerdere regels berekend, in meters.
let line = dynamic({"type":"MultiLineString","coordinates":[[[-73.95798683166502,40.800556090021466],[-73.98193359375,40.76819171855746]],[[-73.94940376281738,40.79691751000055],[-73.97317886352539,40.76435634049001]]]});
print length = geo_line_length(line)
Uitvoer
| length |
|---|
| 8262.24339753741 |
In het volgende voorbeeld wordt Waar geretourneerd vanwege de ongeldige regel.
print is_bad_line = isnull(geo_line_length(dynamic({"type":"LineString","coordinates":[[1, 1]]})))
Uitvoer
| is_bad_line |
|---|
| Klopt |