geo_intersects_2polygons()
Kiszámítja, hogy két sokszög vagy többpoligon metszik-e egymást.
Syntax
geo_intersects_2polygons(
sokszög1,
sokszög1)
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
sokszög1 | dynamic |
✔️ | Sokszög vagy többpógony GeoJSON formátumban. |
sokszög2 | dynamic |
✔️ | Sokszög vagy többpógony GeoJSON formátumban. |
Válaszok
Azt jelzi, hogy két sokszög vagy többpoligon metszik-e egymást. Ha a Sokszög vagy a MultiPolygon érvénytelen, a lekérdezés null eredményt ad.
Megjegyzés
- A térinformatikai koordinátákat a WGS-84 koordináta-referenciarendszer képviseli.
- A Föld méréseihez használt geodéziai datum egy gömb. A sokszög élek geodéziaiak a gömbön.
- Ha a bemeneti sokszögélek egyenes cartesian vonalak, fontolja meg a geo_polygon_densify() használatát a planáris élek geodéziává alakításához.
Sokszög definíciója és megkötései
dynamic({"type": "Polygon","coordinates": [LinearRingShell, LinearRingHole_1, ..., LinearRingHole_N]})
dynamic({"type": "MultiPolygon","coordinates": [[LinearRingShell, LinearRingHole_1, ..., LinearRingHole_N], ..., [LinearRingShell, LinearRingHole_1, ..., LinearRingHole_M]]})
- A LinearRingShell a ([lng_1,lat_1], ..., [lng_i,lat_i], ...,[lng_j,lat_j], ...,[lng_1,lat_1]] koordináták rendezett tömbjeként
counterclockwise
van definiálva. Csak egy rendszerhéj lehet. - A LinearRingHole nem kötelező, és a koordináták rendezett tömbjeként
clockwise
van definiálva [[lng_1,lat_1], ...,[lng_i,lat_i], ...,[lng_j,lat_j], ...,[lng_1,lat_1]]. Bármilyen számú belső gyűrű és lyuk lehet. - A LinearRing csúcsainak legalább három koordinátával kell különbözniük. Az első koordinátának meg kell egyeznie az utolsóval. Legalább négy bejegyzésre van szükség.
- A koordinátáknak [hosszúság, szélesség] érvényesnek kell lenniük. A hosszúságnak valós számnak kell lennie a(z) [-180, +180] tartományban, a szélességnek pedig valós számnak kell lennie a tartományban [-90, +90].
- A LinearRingShell a gömb legfeljebb felét magában foglalja. A LinearRing két régióra osztja a gömböt. A rendszer a két régió közül a kisebbet választja ki.
- A LinearRing élhosszának 180 foknál rövidebbnek kell lennie. A két csúcs között a legrövidebb él lesz kiválasztva.
- A LinearRings nem lehet kereszt, és nem oszthatja meg az éleket. A LinearRingek csúcspontjai megoszthatók.
- A sokszög tartalmazza a csúcsokat.
Tipp
A jobb teljesítmény érdekében használjon literális LineString vagy MultiLineString elemet.
Példák
Az alábbi példa azt ellenőrzi, hogy egyes literális sokszögek metszik-e egymást.
let polygon1 = dynamic({"type":"Polygon","coordinates":[[[-73.9630937576294,40.77498840732385],[-73.963565826416,40.774383111780914],[-73.96205306053162,40.773745311181585],[-73.96160781383514,40.7743912365898],[-73.9630937576294,40.77498840732385]]]});
let polygon2 = dynamic({"type":"Polygon","coordinates":[[[-73.96213352680206,40.775045280447145],[-73.9631313085556,40.774578106920345],[-73.96207988262177,40.77416780398293],[-73.96213352680206,40.775045280447145]]]});
print geo_intersects_2polygons(polygon1, polygon2)
Kimenet
print_0 |
---|
Igaz |
Az alábbi példában az USA összes megyéje található, amelyek az érdeklődési területhez tartozó szó szerinti sokszöggel metszik egymást.
let area_of_interest = dynamic({"type":"Polygon","coordinates":[[[-73.96213352680206,40.775045280447145],[-73.9631313085556,40.774578106920345],[-73.96207988262177,40.77416780398293],[-73.96213352680206,40.775045280447145]]]});
US_Counties
| project name = features.properties.NAME, county = features.geometry
| where geo_intersects_2polygons(county, area_of_interest)
| project name
Kimenet
name |
---|
New York |
Az alábbi példa null eredményt ad vissza, mert az egyik sokszög érvénytelen.
let central_park_polygon = dynamic({"type":"Polygon","coordinates":[[[-73.9495,40.7969],[-73.95807266235352,40.80068603561921],[-73.98201942443848,40.76825672305777],[-73.97317886352539,40.76455136505513],[-73.9495,40.7969]]]});
let invalid_polygon = dynamic({"type":"Polygon"});
print isnull(geo_intersects_2polygons(invalid_polygon, central_park_polygon))
Kimenet
print_0 |
---|
Igaz |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: