Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vypočítá hodnotu zlomku jako poměr délky čáry od začátku čáry do bodu na čáře, která je nejblíže danému bodu, a délku celé čáry na Zemi.
Syntaxe
geo_line_locate_point(
lineString,
zeměpisná délka,
zeměpisná šířka,
[ use_spheroid ])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Povinné | Popis |
---|---|---|---|
lineString | dynamic |
✔️ | Řádek ve formátu GeoJSON. |
zeměpisná délka | real |
✔️ | Hodnota zeměpisné délky geoprostorové souřadnice ve stupních. Platná hodnota je v rozsahu [-180, +180]. |
zeměpisná šířka | real |
✔️ | Geoprostorová hodnota zeměpisné šířky souřadnice ve stupních. Platná hodnota je v rozsahu [-90, +90]. |
use_spheroid | bool |
Pokud false pro měření vzdálenosti použijete kouli jako geodetický údaj . Pokud true změří vzdálenost pomocí kulového objektu. Pokud není zadáno, použije se výchozí hodnota false . |
Návraty
Hodnota zlomku čáry mezi 0 a 1 (0 až 100%) jako poměr přímky od začátku do bodu na čáře, která je nejblíže danému bodu a celé přímce na Zemi. Pokud je hodnota řádku nebo souřadnic neplatná, dotaz vytvoří výsledek null.
Poznámka:
- Geoprostorové souřadnice jsou interpretovány jako reprezentované referenčním systémem souřadnic WGS-84 .
- Segmenty čar jsou geodesics na kouli, pokud "use_spheroid" = false. Pokud "use_spheroid" = true, budou segmenty čar na šiferoidu geodesické. Většina aplikací by měla měřit vzdálenost pomocí koule, která je výkonnější.
- Pokud jsou hrany vstupní čáry rovné kartézské čáry, zvažte použití geo_line_densify() k převodu planárních hran na geodesické čáry.
- Vstup by neměl obsahovat více než jeden řetězec řádku.
- Pokud má vstupní řetězec řádku více než jeden bod na řádku ve stejné vzdálenosti od vstupního bodu, není zaručeno, který z nich je vybraný.
- K výpočtu bodu na zlomku řádku použijte geo_line_interpolate_point()
Definice a omezení řetězce řádků
dynamic({"type": "LineString";"souřadnice": [[lng_1;lat_1], [lng_2;lat_2], ...; [lng_N;lat_N]]})
- Matice souřadnic linestringu musí obsahovat alespoň dvě položky.
- Souřadnice [zeměpisná délka, zeměpisná šířka] musí být platné, pokud je zeměpisná délka skutečným číslem v rozsahu [-180, +180] a zeměpisná šířka je reálné číslo v rozsahu [-90, +90].
- Délka okraje musí být menší než 180 stupňů. Vybere se nejkratší hrana mezi dvěma vrcholy.
Příklady
Následující příklad vypočítá zlomkovou hodnotu.
let line = dynamic({"type":"LineString","coordinates":[[-73.95796, 40.80042], [-73.97317, 40.764486]]});
print fraction = geo_line_locate_point(line, -73.965, 40.792);
Výstup
zlomek |
---|
0.25560135100307552 |
Následující příklad vrátí true
z důvodu neplatného řádku.
print is_bad_line = isnull(geo_line_locate_point(dynamic({"type":"LineString","coordinates":[[1, 1]]}), 1, 1))
Výstup
is_bad_line |
---|
pravda |