Research Article
Supporting Continuous Skyline Queries in Dynamically Weighted Road Networks
input interested points set A, dominant relationship M1, comparison of distance M2. | output skyline set SKY | Steps: | A.SortByDistance(); // sort points in A by distance attribute | for(i=1;i<=A.MaxNum;i++) // updateM2 | for(j=1;j<=i;j++) | if(M2[i][j].CompareFlag!=compare(A[i],A[j])) // if the relationship changes, update the relationship | M2[i][j].CompareFlag=compare(A[i],A[j]); | M2[i][j].Changed=true; | else | M2[i][j].Changed=false; | SKY.include(A); // initialize SKY | for(i=2;i<=A.MaxNum;i++) // compute SKY | foreach p in SKY | if(M2[i][p.id]. Changed) // if the relationship of distance attribute changes | M1[A[i].id][ p.id]=ComputeDominate(A[i],p); // compute dominant relationship and update M1 | if(!SKY. Dominate(A[i],M1)) // judge whether there is a point in SKY that dominates A[i] according to M1 | SKY.include(A[i]); // if no point dominates A[i], add A[i] to SKY | return SKY; |
|