[Croatia] Baze testiranje - nastavak

Dražen Odobašić dodobas at geoinfo.geof.hr
Thu Mar 17 03:38:24 EDT 2011


Pozdrav,

dakle imao sam zanimljiv problem...

Treba napraviti tzv. heatmapu za područja pretraživanja za cijeli svijet 
(korisnik unosi geometriju po kojoj pretražuje). U svemu tome je i 
vremenska komponenta, odnosno svako pretraživanje ima datum, pa se onda 
treba omogućiti generiranje heatmape za prošli tjedan/mjesec/...

Nakon više ideja kako to riješiti odlučih složiti grid i onda brojati 
koliko poligona pretraživanja siječe pojedini grid element i te 
rezultate spremati u bazu kako bi se kasnije mogli pretraživati.

Grid za cijeli svijet (WGS84), ako se uzme stupanjska podjela ima 
360*180 = 64800 ćelija, odnosno poligona, ako se uzme četvrtina stupnja 
onda se broj ćelija povećava ma 360*180*16 = 1036800 (mnogo poligona).

Iako je broj pretraživanja relativno malen (550) rezultat presjeka 
pretraživanja i grida je ~700000 zapisa u bazi.

U ovom slučaju koristio sam jednostavni ST_Intersects te se upit na 
postgresql9/postgis1.5 bazi izvrti za ~8.5 sek (s indeksima) ili ~9 sek 
ako se ne koriste indeksi.

Tzv. test case je - određivanje presjeka relativno velikog broja 
poligona s malim setom poligona.

E sad, upit se vrtio na laptopu i5 M450 (Linux), s nekim osnovnim 
'tuningom' baze. Ako vas zanima mogu pripremiti podatke i funkcije pa 
isprobajte...

Dražen


More information about the Croatia mailing list