|  | Pogosta vprašanja(Filter)
Pregled pogostih vprašanj
       
      
Kako iščem (filtriram, analiziram,...) po polju tipa datum?
      
       
      
Kako poiščem dvojnike v bazi podatkov?
      
       
      
Kako grafično prikažem filtrirane podatke?
      
       
      
Analize, poišči največjo vrednost v poligonski plasti: Cur.RecY ali X vrne napako !
      
       
      
Ali je možno določiti pogoj npr. 200m levo od polilinije (enostranski buffer) ?
      
       
      
Kje se briše kakšna od prednastavljenih nastavitev za filter, masko, poročilo, izvozni in uvozni zapis?
      
       
      
Če sprožim filter iz ukaza na desni tipki miške iz seznama teme,se po končanem filtriranju NE odpre Maska, s seznamom filtriranih podatkov. Zakaj?
 
      
Kako filtriraš po dveh poljih v večkratnem nizu podatkov?
      
       Kako iščem (filtriram, analiziram,...) po polju tipa datum?Opis problema:- V podatkovni plasti se nahaja polje tipa datum (Datum/Čas), v katerega so bili vneseni datumi. Želimo poiskati vse zapise, kateri so bili zapisani od določenega datuma dalje.Za pravilno izvajanje razmerij po datumih se mora datum v filter funkciji opredeliti kot številčna vrednost, in datum je potrebno pisati v obliki kot je opredeljeno v področnih nastavitvah (Regional Settings). Prav tako morate pri vnosu datuma vnašati separator, kateri je naveden v področnih nastavitvah. Primer:
 - [Datum popisa].AsNumber  > StrToDate ("16.04.98")
 - [Datum popisa].AsNumber  > #16.04.98#
 Vseeno je ali napišete leto z dvema mestoma ali štirimi (98 ali 1998). Prav tako lahko pri samem vnosu vtipkate samo dan, separator in mesec (16.4), leto pa se bo samodejno dodalo, ko boste zapustili polje.
 Kako poiščem dvojnike v bazi podatkov?Uporabite proceduro  FindDuplicates (Layer), katera vam poišče podvojene zapise v celoti ali po izbranih poljih. Dvojnike vam procedura zapiše v dialog, iz katerega jih lahko odstranite. Kako grafično prikažem filtrirane podatke?Filtrirane podatke lahko grafično ločite od ostalih z lastnostjo  Filtered . Primer: Tema: Simbol, lastnost: Barva
 If Filtered Then Result = Red Else Result = Green EndIF
 Analize, poišči največjo vrednost v poligonski plasti: Cur.RecY ali X vrne napako !Napaka je v sintaksi. Pravilno CurRec.Y in CurRec.X Če dvokliknete na CurRec.Y ali CurRec.X , se ime samo prenese v SQL polje
 CurRec.Y in CurRec.X predstavljata 'centroid' za dani zapis
 CurRec.MinY pa najmanjši Y točke na poliliniji/poligonu
 CurRec.MinX pa najmanjši X točke na poliliniji/poligonu
 CurRec.MinZ pa najmanjši Z točke na poliliniji/poligonu
 ....
 ....
 Vendar, ne glede na to se še vedno ne da poiskati največje ali najmanjše vrednosti za katerikoli CurRec. v Filtru
 Lahko pa se to stori na naslednji način:
 V Urejevalniku za Plast dodajte polje Npr CentroidY, tipa Številka , oblika #,##0.00 ter Formula CurRec.Y
 V aplikaciji izvedite filter, nato v Maski izvedite sort po tem polju in prvi je najmanjši, zadnji največji, ali obratno, odvisno od načina sortiranja.
 Tako za vsa CurRec. polja.
 Ali je možno določiti pogoj npr. 200m levo od polilinije (enostranski buffer) ?Ne, ker je v GIS-u oziroma v realnem svetu leva stran relativna, pač glede na izhodišče in smer gledanja.Lahko pa si s pomočjo urejevalnika geometrije, izdelate ustrezen poligon (buffer), ki vam služi kot omejitev prostorske lokacije.
 Kje se briše kakšna od prednastavljenih nastavitev za filter, masko, poročilo, izvozni in uvozni zapis?V editorju podatkovne plasti, v posamezni rubriki podobjekta (Filter, sort, maska, poročilo, uvoz, izvoz). Na levi strani je seznam vseh prednastavljenih nastavitev Označite in brišite.
 Če sprožim filter iz ukaza na desni tipki miške iz seznama teme,se po končanem filtriranju NE odpre Maska, s seznamom filtriranih podatkov. Zakaj?
Ni vedno obvezno da se rezultat filtra demonstrira v Maski. Npr: Če v neko temo v rubriko Pogoj zapišete Filtered, potem se bo po končanem filtru in osvežitvi ekrana
 izrisali samo filtrirani zapisi.
 
 Rešitev v tem primeru: uporabljate funkcije iz menija Analiza, kjer se po končanem filtriranju še odpre maska s seznamom filtriranih podatkov, ali pa po filtru, nad temo kliknite na desno tipko na miški in izberite Maska
 Kako filtriraš po dveh poljih v večkratnem nizu podatkov?Ker pogoj ([a1].AsLines Like 'inz') And ([a2].AsLines Like 'varno*')
 ne zagotavlja, da sta podatka v istem nizu, lahko to rešimo na naslednji način.
 V nek modul dodamo proceduro
 //*********************************************************************
 Function IsInMultipleDaS (AsLin1, AsLin2, Cond1, Cond2 As String) As Boolean
 Dim Sl1, Sl2 As TStringList
 Dim I As Long
 Sl1 = CreateStringList
 Sl2 = CreateStringList
 Sl1.Text = AsLin1
 Sl2.Text = AsLin2
 Result = False
 If Sl1.Count = Sl2.Count Then
 For I = 0 To Sl1.Count - 1
 If Sl1.Strings (I) Like Cond1 Then
 If Sl2.Strings (I) Like Cond2 Then
 Result = True
 Break
 EndIf
 EndIf
 Next
 EndIf
 Sl1.Destroy
 Sl2.Destroy
 EndFunction
 //*********************************************************************
 V filtru pa kličemo to proceduro.
 IsInMultipleDaS ([a1].AsLines, [a2].AsLines, 'inz','varno*')
 |