geo_intersection_2lines()
İki çizginin veya birden çok çizginin kesişimini hesaplar.
Syntax
geo_intersection_2lines(
lineString1,
lineString2)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
lineString1 | dynamic |
✔️ | GeoJSON biçiminde bir satır veya çok satırlı. |
lineString2 | dynamic |
✔️ | GeoJSON biçiminde bir satır veya çok satırlı. |
Döndürülenler
GeoJSON Biçiminde ve dinamik veri türünde kesişim. LineString veya MultiLineString geçersizse, sorgu null bir sonuç üretir.
Not
- Jeo-uzamsal koordinatlar , WGS-84 koordinat başvuru sistemi tarafından temsil edilen şekilde yorumlanır.
- Dünya üzerindeki mesafeyi ölçmek için kullanılan jeodetik datum bir küredir. Çizgi kenarları küre üzerindeki jeodeziklerdir .
- Giriş çizgisi kenarları düz kartezyen çizgilerse, planlı kenarları jeodeziklere dönüştürmek için geo_line_densify() kullanmayı göz önünde bulundurun.
LineString tanımı ve kısıtlamaları
dynamic({"type": "LineString","coordinates": [[lng_1,lat_1], [lng_2,lat_2],..., [lng_N,lat_N]]})
dynamic({"type": "MultiLineString","coordinates": [[line_1, line_2,..., line_N]]})
- LineString koordinatları dizisi en az iki giriş içermelidir.
- [boylam, enlem] koordinatları geçerli olmalıdır; burada boylam [-180, +180] aralığında gerçek bir sayıdır ve enlem [-90, +90] aralığında gerçek bir sayıdır.
- Kenar uzunluğu 180 dereceden az olmalıdır. İki köşe arasındaki en kısa kenar seçilir.
İpucu
Daha iyi performans için sabit LineString veya MultiLineString kullanın.
Örnekler
Aşağıdaki örnek, iki çizgi arasındaki kesişimi hesaplar. Bu durumda sonuç bir noktadır.
let lineString1 = dynamic({"type":"LineString","coordinates":[[-73.978929,40.785155],[-73.980903,40.782621]]});
let lineString2 = dynamic({"type":"LineString","coordinates":[[-73.985195,40.788275],[-73.974552,40.779761]]});
print intersection = geo_intersection_2lines(lineString1, lineString2)
Çıkış
Kesişim |
---|
{"type": "Point","coordinates": [-73.979837116670978,40.783989289772165]} |
Aşağıdaki örnek, iki çizgi arasındaki kesişimi hesaplar. Bu durumda sonuç bir çizgidir.
let line = dynamic({"type":"LineString","coordinates":[[-73.978929,40.785155],[-73.980903,40.782621]]});
print intersection = geo_intersection_2lines(line, line)
Çıkış
Kesişim |
---|
{"type": "LineString","coordinates": [[ -73.978929, 40.785155],[ -73.980903, 40.782621]} |
Aşağıdaki iki satır kesişmiyor.
let lineString1 = dynamic({"type":"LineString","coordinates":[[1, 1],[2, 2]]});
let lineString2 = dynamic({"type":"LineString","coordinates":[[3, 3],[4, 4]]});
print intersection = geo_intersection_2lines(lineString1, lineString2)
Çıkış
Kesişim |
---|
{"type": "GeometryCollection", "geometries": []} |
Aşağıdaki örnek, satırlardan biri geçersiz olduğundan null bir sonuç döndürür.
let lineString1 = dynamic({"type":"LineString","coordinates":[[1, 1],[2, 2]]});
let lineString2 = dynamic({"type":"LineString","coordinates":[[3, 3]]});
print invalid = isnull(geo_intersection_2lines(lineString1, lineString2))
Çıkış
geçersiz |
---|
1 |
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin