Več

Izberite glede na lokacijsko točko v poligonu s poizvedbo sql

Izberite glede na lokacijsko točko v poligonu s poizvedbo sql


Imam 2 mizi

ta tabela ta poligonska plast s 10000 zapisi

tabela b ta plast točke s 600000 zapisi

v postgresql geobazi izberem funkcijo poligona s poizvedbo z vnosoma x in y

nato sem izbral poligon z eno funkcijo, ki ga moram izbrati, da zapisuje plast točke

sekajte s funkcijo poligona, vendar ta poizvedba traja 40 sekund in zelo počasi, prosim, pomagajte mi.

izberite obliko iz sde.table_b, kjer st_contains ((izberite obliko iz st_point (235116.084, 2225686.917,10100) kot tt, table_a, kjer st_contains (table_a.shape, tt) = 't'), shape) = 't'

točkovni podatek je vzorec res ni zelo


To vprašanje je več kot malo zmedeno ("podatki o točkah so vzorci, ki niso zelo zelo") kaj?). Sintaksa poizvedbe SQL je zelo nepravilna in ne uporablja pravilne funkcije, da bi izkoristila prostorski indeks na plastni točki. Kaj si verjetno želite:

SELECT b.shape FROM table_b b, table_a a WHERE sde.st_contains (a.shape, st_point (235116.084,2225686.917,10100)) = 't' IN sde.st_within (b.shape, a.shape) = 't'

To bi lahko zapisali tudi s podpoizvedbo:

SELECT b.shape FROM table_b b WHERE sde.st_within (b.shape, (SELECT a.shape FROM table_a a WHERE sde.st_contains (a.shape, st_point (235116.084,2225686.917,10100)) = 't')) = ' t '

Imate dovolj funkcij, da bi lahko začeli opazovati vpliv prostorske razdrobljenosti, zato tudi če imajo podatki o točkah ustrezen indeks, lahko pride do slabe uspešnosti preprosto zato, ker so značilnosti točk naključno porazdeljene po tabeli točk, kar bo povzročilo "polno uspešnost podobnega skeniranja mize ".

Prav tako se morate zavedati, da je najboljša praksa ArcGIS izogibanje uporabi uporabnika SDE za ustvarjanje kakršnih koli uporabniških podatkov. SDE bi moral biti rezerviran za administracijo baze podatkovnih baz - če tega ne storite, obstaja nevarnost poškodbe baze geobaz. Močno vas pozivam, da ustvarite vsaj enega novega uporabnika, ki bo lastnik prostorskih podatkov, in vsaj enega novega uporabnika, ki ga bodo aplikacije uporabljale za povezavo s podatki (z najmanjšimi potrebnimi dovoljenji, ki se upravljajo z vlogami, kar je najboljša praksa zbirke podatkov).


Poglej si posnetek: How to install CarTube without pc, an easier way to watch YouTube on Android Auto NO ROOT