Viac

Rýchly spôsob, ako skontrolovať, či ohraničovací rámček postgis obsahuje nejaké body / linestringy


Mám ohraničený rámček a chcem vedieť, či tento ohraničovací rámček obsahuje (alebo lepšie pretne) nejaké body alebo líniové reťazce. Ak by sa našiel prvý bod / podradený reťazec, dopyt by sa mal vrátiť pravdivý a netestovať všetky.

Doposiaľ som dostal tento dotaz:

VYBERTE NIE (ST_Intersects (ST_Transform (ST_SetSRID (ST_MakeBox2D (ST_Point (13.3277368531, 52.4783729748), ST_Point (13.463715857, 52.5520736045)), 4326), 3857), geom_vertex_web_mercator) (ST_In2 ST_Point (13.463715857, 52.5520736045)), 4326), 3857), geom_way_web_mercator)) ako isEmpty FROM vertex, edge LIMIT 1;

Toto však vezme iba prvý bod / linestring a vráti jeho hodnotu. Môže niekto pomôcť.

UPRAVIŤ Zdá sa, že tento dopyt je veľmi rýchly:

select existuje (select true zo siete, kde ST_Intersects (ST_Transform (ST_SetSRID (ST_MakeBox2D (ST_Point (-140.0, 80.0), ST_Point (-135.0, 80.0)), 4326), 3857), geom_way_web_mercator) ako je Empty;

Čo tak VYBERTE EXISTUJE? Podľa dokumentov by malo bežať, kým sa vráti prvý (ak existuje) riadok.


Pozri si video: Lacný a rýchly spôsob ako farebne označiť kľúče (Október 2021).