TFilter: Razlika med redakcijama
m (→Prostorski pogoji) |
|||
| (5 vmesnih redakcij 3 uporabnikov ni prikazanih) | |||
| Vrstica 1: | Vrstica 1: | ||
| − | + | {{Work}} | |
| + | Razred '''TFilter''' je namenjen za opredelitev načinov filtriranja podatkov in dejansko izvedbo filtriranja podatkov. | ||
| + | ==Osnovna uporaba== | ||
| − | + | <source>Dim F As TFilter | |
| + | F = [Neka plast].Filter | ||
| + | F.Clear | ||
| + | If F.Edit Then | ||
| + | F.Name = 'ImeFiltra' | ||
| + | F.Alias = 'DrugoImeFiltra' | ||
| + | F.Comment = 'KomentarFiltra' | ||
| + | F.Save ('ImeFiltra') | ||
| + | EndIf | ||
| + | F.Load ('ImeFiltra') | ||
| + | F.Execute</source> | ||
| − | + | ===Edit=== | |
| − | + | Metoda '''Edit''' odpre urejevalnik filtrirnih pogojev. | |
| − | + | <declaration> | |
| − | + | Method|TFilter.Edit | |
| − | + | Result|Optional Boolean|True, če je bilo filtriranje dejansko izvedeno, sicer pa je rezultat False. | |
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Execute=== | |
| + | Metoda '''Execute''' izvede prehodno nastavljeni filter podatkov. Vsi podatki, ki so bili filtrirani, se nahajajo v listi TLayer.FilteredRecords. | ||
| + | <declaration> | ||
| + | Method|TFilter.Execute | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecuteList=== | |
| − | + | Metoda '''ExecuteList''' . | |
| − | + | <declaration> | |
| − | + | Method|TFilter.ExecuteList | |
| − | + | List|TRecordList|TRecordList objekt, ki vsebuje listo zapisov. | |
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ==Skupne lastnosti== | |
| − | |||
| − | + | ===Name=== | |
| − | + | Lastnost '''Name''' določa ime objekta. | |
| + | <declaration> | ||
| + | Property|TFilter.Name | ||
| + | Result|String|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Alias=== | |
| + | Lastnost '''Alias''' določa nastavitev drugega imena objekta tipa TFilter.Drugo ime se lahko uporablja pri sklicevanju na ta objekt. | ||
| + | <declaration> | ||
| + | Property|TFilter.Alias | ||
| + | Result|String|. | ||
| + | </declaration> | ||
| + | ===Comment=== | ||
| + | Lastnost '''Comment''' omogoča zapis komentarja za objekt tipa TFilter. | ||
| + | <declaration> | ||
| + | Property|TFilter.Comment | ||
| + | Result|String|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Parent=== | |
| − | + | Lastnost '''Parent''' . | |
| − | + | <declaration> | |
| + | RO Property|TFilter.Parent | ||
| + | Result|TLayer|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===StoredNames=== | |
| − | + | Lastnost '''StoredNames''' . | |
| − | + | <declaration> | |
| − | + | RO Property|TFilter.StoredNames | |
| − | + | Result|String|. | |
| − | + | </declaration> | |
| + | <source></source> | ||
| − | + | ==Lastnosti filtra== | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ===Caption=== | |
| − | + | Lastnost '''Caption''' omogoča zapis naslova Filter dialoga. | |
| + | <declaration> | ||
| + | Property|TFilter.Caption | ||
| + | Result|String|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===FilterType=== | |
| − | + | Lastnost '''FilterType''' . | |
| + | <declaration> | ||
| + | RO Property|TFilter.FilterType | ||
| + | Result|Long|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===OnlyCentroid=== | |
| − | + | Lastnost '''OnlyCentroid''' določa ali se pri prostorskem pogoju upoštevajo samo centroidi poligona. | |
| + | <declaration> | ||
| + | Property|TFilter.OnlyCentroid | ||
| + | Result|Boolean|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Points=== | |
| − | + | Lastnost '''Points''' . | |
| + | <declaration> | ||
| + | RO Property|TFilter.Points | ||
| + | Result|TPointArray|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===PolygonFilterType=== | |
| − | + | Lastnost '''PolygonFilterType''' . | |
| − | + | <declaration> | |
| − | + | Property|TFilter.PolygonFilterType | |
| + | Result|Long|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===SQL=== | |
| − | + | Lastnost '''SQL''' določa podatkovni (SQL) pogoj filtra. | |
| − | + | <declaration> | |
| − | + | Property|TFilter.SQL | |
| + | Result|String|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| + | ==Skupne Metode== | ||
| − | + | ===Load=== | |
| + | Metoda '''Load''' omogoča včitavanje predhodno kreiranih in shranjenih nastavitev za objekt tipa TFilter. | ||
| + | <declaration> | ||
| + | Method|TFilter.Load | ||
| + | Name|String|. | ||
| + | Result|Optional Boolean|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Save=== | |
| − | + | Metoda '''Save''' shrani nastavitev filtra v podatkovno plast. | |
| − | + | <declaration> | |
| − | + | Method|TFilter.Save | |
| − | + | Name|String|Ime nastavitve. | |
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Clear=== | |
| + | Metoda '''Clear''' briše vse nastavljene vrednosti filtra, prostorske in SQL pogoje. | ||
| + | <declaration> | ||
| + | Method|TFilter.Clear | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===CopyFrom=== | |
| − | + | Metoda '''CopyFrom''' . | |
| + | <declaration> | ||
| + | Method|TFilter.CopyFrom | ||
| + | L|TFilter|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===Delete=== | |
| − | + | Metoda '''Delete''' . | |
| + | <declaration> | ||
| + | Method|TFilter.Delete | ||
| + | Name|String|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===DeleteAll=== | |
| − | + | Metoda '''DeleteAll''' . | |
| + | <declaration> | ||
| + | Method|TFilter.DeleteAll | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ==Prostorski pogoji== | |
| − | |||
| − | + | ===AreaNone=== | |
| + | Metoda '''AreaNone''' briše vse predhodno nastavljene prostorske pogoje filtra, oziroma v nadaljevanju izvajanja filtra se prostorski pogoj ne upošteva. | ||
| + | <declaration> | ||
| + | Method|TFilter.AreaNone | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter | ||
| + | F = [SHOWOSNOVNI].Filter | ||
| + | F.AreaNone // Briši prostorski pogoj | ||
| + | F.SQL = '[Velikost] = 0.5' // Nastavi SQL pogoj | ||
| + | F.Execute // Izvedi filter | ||
| + | [SHOWOSNOVNI].Form.Execute // prikaži filtrirane podatke v formi</source> | ||
| + | ===AreaPoint=== | ||
| + | Metoda '''AreaPoint''' nastavi točkovni prostorski pogoj, kateri se definira s koordinatami centralne točke in radija. | ||
| + | <declaration> | ||
| + | Method|TFilter.AreaPoint | ||
| + | Y|Float|Koordinate centralne točke. | ||
| + | X|Float|Koordinate centralne točke. | ||
| + | Distance|Float|Radij kroga. | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter, X1, Y1 As Float, AList As TRecordList | ||
| + | F = [Neka plast].Filter | ||
| + | F.Clear | ||
| + | // rutina za vnos točke | ||
| + | If InputPoint ('Enter point for filter', X1, Y1) Then | ||
| + | F.AreaPoint (X1, Y1, 500) // Prostorski pogoj | ||
| + | F.SQL = '[Neko polje] = 10' // SQl pogoj | ||
| + | AList = [Neka plast].CreateRecordList ('Alist') // kreiranje liste | ||
| + | F.ExecuteList (AList) // Izvedba filtra | ||
| + | [Neka plast].Form.OpenList (AList) // Odprtje maske | ||
| + | AList.Destroy // uničenje liste | ||
| + | EndIf</source> | ||
| − | s | + | ===AreaPolygon=== |
| − | + | Metoda '''AreaPolygon''' nastavi poligonski prostorski pogoj, kateri se definira s koordinatami vnešenega ali pokazanega poligona. | |
| − | + | <declaration> | |
| + | Method|TFilter.AreaPolygon | ||
| + | P|TPointArray|Seznam koordinat poligona. | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter, Poly as TPointArray | ||
| + | F = [Neka plast].Filter | ||
| + | F.Clear | ||
| + | // Vnos poligona | ||
| + | If InputPolygon ('Vnesi poligon', Poly) Then | ||
| + | F.AreaPolygon (Poly) // Prostorski pogoj | ||
| + | F.SQL = '[Neko polje] = 10' // SQL pogoj | ||
| + | F.Caption = "Površina poligona: " + FormatFloat ( "#,0.00", Poly.Area ) + | ||
| + | " Obseg poligona: " + FormatFloat ( "#,0.00", Poly.Perimeter) | ||
| + | F.OnlyCentroid = False // če so filtrirani podatki poligonskega tipa, se upošteva celoten poligon | ||
| + | If F.Edit Then | ||
| + | F.Execute // Izvedba filtra | ||
| + | [Neka plast].Form.Open // Filtrirani podatki v maski | ||
| + | EndIF | ||
| + | EndIf | ||
| − | + | Message ( "Informacija" , "Površina podanega poligona je " + FormatFloat ( "#,0.00", Poly.Area ) + " m2." + Line + "Obseg podanega poligona je " + FormatFloat ( "#,0.00" , Poly.Perimeter ) + " metrov." ) | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Poly.Destroy // uničenje poligona</source> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ===AreaPolygonDist=== | |
| − | + | Metoda '''AreaPolygonDist''' . | |
| + | <declaration> | ||
| + | Method|TFilter.AreaPolygonDist | ||
| + | P|TPointArray|. | ||
| + | Distance|Float|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===AreaPolyLine=== | |
| − | + | Metoda '''AreaPolyLine''' nastavi polilinijski prostorski pogoj, kateri se definira s koordinatami vnešene ali pokazane polilinije ter odmikom (buffer) od te polilinije. | |
| + | <declaration> | ||
| + | Method|TFilter.AreaPolyLine | ||
| + | P|TPointArray|Koordinate polilinije. | ||
| + | Distance|Float|Odmik od polilinije. | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter, Poly as TPointArray | ||
| + | F = [SomeLayer].Filter | ||
| + | F.Clear | ||
| + | // Vnos polilinije | ||
| + | If InputPolyline ('Vnesi polilinijo', Poly) Then | ||
| + | F.AreaPolyline (Poly,100) // Prostorski pogoj | ||
| + | F.SQL = '[SomeField] = 10' // SQL pogoj | ||
| + | If F.Edit Then | ||
| + | F.Execute // Izvedba filtra | ||
| + | [SomeLayer].Form.Open // Filtrirani podatki v maski | ||
| + | EndIF | ||
| + | Poly.Destroy // uničenje polilinije | ||
| + | EndIf</source> | ||
| − | + | ===AreaMultiPoint=== | |
| − | + | Metoda '''AreaMultiPoint''' . | |
| + | <declaration> | ||
| + | Method|TFilter.AreaMultiPoint | ||
| + | P|TPointArray|. | ||
| + | Distance|Float|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===AreaScreen=== | |
| − | + | Metoda '''AreaScreen''' nastavi ekranski prostorski pogoj, kateri se definira s koordinatami trenutnega prikaza na ekranu. | |
| + | <declaration> | ||
| + | Method|TFilter.AreaScreen | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter | ||
| + | F = [SHOWOSNOVNI].Filter | ||
| + | F.AreaNone // Briši prostorski pogoj | ||
| + | F.SQL = '[Velikost] = 0.5' // Nastavi SQL pogoj | ||
| + | F.Execute // Izvedi filter | ||
| + | [SHOWOSNOVNI].Form.Execute // prikaži filtrirane podatke v formi</source> | ||
| − | + | ===AreaWindow=== | |
| − | + | Metoda '''AreaWindow''' nastavi prostorski pogoj v obliki pravokotnika (okna). | |
| − | + | <declaration> | |
| − | + | Method|TFilter.AreaWindow | |
| + | Y1|Float|Koordinate pravokotnika. | ||
| + | X1|Float|Koordinate pravokotnika. | ||
| + | Y2|Float|Koordinate pravokotnika. | ||
| + | X2|Float|Koordinate pravokotnika. | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter, Poly as TPointArray | ||
| + | Dim Y1,X1,Y2,X2 as Float | ||
| + | F = [SomeLayer].Filter | ||
| + | F.Clear | ||
| + | // Vnos okna | ||
| + | If InputWindow ('Vnesi okno', Y1,X1,Y2,X2) Then | ||
| + | F.AreaWindow (Y1,X1,Y2,X2) // Prostorski pogoj | ||
| + | F.SQL = '[SomeField] = 10' // SQL pogoj | ||
| + | If F.Edit Then | ||
| + | F.Execute // Izvedba filtra | ||
| + | [SomeLayer].Form.Open // Filtrirani podatki v maski | ||
| + | EndIF | ||
| + | EndIf</source> | ||
| − | + | ===NearestPoints=== | |
| − | + | Metoda '''NearestPoints''' prostorskega pogoja, podobna metodi AreaPoint poišče najbližje entitete. Število najbližjih entitet določite z Count parametrom. | |
| − | + | <declaration> | |
| − | + | Method|TFilter.NearestPoints | |
| + | Y|Float|Koordinate centra kroga. | ||
| + | X|Float|Koordinate centra kroga. | ||
| + | Distance|Float|Maksimalna razdalja od točke (centra kroga). | ||
| + | Count|Long|Maksimalno število zapisov. | ||
| + | </declaration> | ||
| + | <source>Dim F As TFilter, X1, Y1 As Float | ||
| + | F = [Neka plast].Filter | ||
| + | F.Clear | ||
| + | // rutina za vnos točke | ||
| + | If InputPoint ('Pokaži mesto filtriranja okoli točke', X1, Y1) Then | ||
| + | F.NearestPoints (X1, Y1, 50, 4) // Nastavitev prostorskega pogoja | ||
| + | F.SQL = '[Neko polje] = 10' // Nastavitev SQL pogoja | ||
| + | If F.Edit Then // Odprtje filtra, da ga lahko uporabnik dodatno ureja | ||
| + | F.Execute // Izvedba filtra | ||
| + | [Neka plast].Form.Open // Odprtje filtriranih podatkov v maski | ||
| + | EndIf | ||
| + | EndIf</source> | ||
| + | ===NearestFromPoint=== | ||
| + | Metoda '''NearestFromPoint''' . | ||
| + | <declaration> | ||
| + | Method|TFilter.NearestFromPoint | ||
| + | Y|Float|. | ||
| + | X|Float|. | ||
| + | Distance|Float|. | ||
| + | Count|Long|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ==Direktno izvajanje== | |
| − | + | ===ExecutePoint=== | |
| − | + | Metoda '''ExecutePoint''' . | |
| − | + | <declaration> | |
| − | + | Method|TFilter.ExecutePoint | |
| − | + | Y|Float|. | |
| + | X|Float|. | ||
| + | Distance|Float|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecutePointSQL=== | |
| + | Metoda '''ExecutePointSQL''' . | ||
| + | <declaration> | ||
| + | Method|TFilter.ExecutePointSQL | ||
| + | Y|Float|. | ||
| + | X|Float|. | ||
| + | Distance|Float|. | ||
| + | SQL|String|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecutePolygon=== | |
| − | + | Metoda '''ExecutePolygon''' . | |
| + | <declaration> | ||
| + | Method|TFilter.ExecutePolygon | ||
| + | P|TPointArray|. | ||
| + | Distance|Float|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecutePolygonSQL=== | |
| − | + | Metoda '''ExecutePolygonSQL''' . | |
| + | <declaration> | ||
| + | Method|TFilter.ExecutePolygonSQL | ||
| + | P|TPointArray|. | ||
| + | Distance|Float|. | ||
| + | SQL|String|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecutePolyLine=== | |
| − | + | Metoda '''ExecutePolyLine''' . | |
| + | <declaration> | ||
| + | Method|TFilter.ExecutePolyLine | ||
| + | P|TPointArray|. | ||
| + | Distance|Float|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecutePolyLineSQL=== | |
| − | + | Metoda '''ExecutePolyLineSQL''' . | |
| + | <declaration> | ||
| + | Method|TFilter.ExecutePolyLineSQL | ||
| + | P|TPointArray|. | ||
| + | Distance|Float|. | ||
| + | SQL|String|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | ===ExecuteSQL=== | |
| + | Metoda '''ExecuteSQL''' . | ||
| + | <declaration> | ||
| + | Method|TFilter.ExecuteSQL | ||
| + | SQL|String|. | ||
| + | Result|Optional TRecordList|. | ||
| + | </declaration> | ||
| + | <source></source> | ||
| − | + | [[Category:Razredi podatkovne plasti|Filter]] | |
| − | + | [[Category:Razredi|Filter]] | |
| − | + | [[Category:SDMS Basic|Filter]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Trenutna redakcija s časom 12:50, 5. februar 2014
Razred TFilter je namenjen za opredelitev načinov filtriranja podatkov in dejansko izvedbo filtriranja podatkov.
Vsebina
Osnovna uporaba
Dim F As TFilter
F = [Neka plast].Filter
F.Clear
If F.Edit Then
F.Name = 'ImeFiltra'
F.Alias = 'DrugoImeFiltra'
F.Comment = 'KomentarFiltra'
F.Save ('ImeFiltra')
EndIf
F.Load ('ImeFiltra')
F.ExecuteEdit
Metoda Edit odpre urejevalnik filtrirnih pogojev.
| Method TFilter.Edit As Boolean | ||
| Result | Optional Boolean | True, če je bilo filtriranje dejansko izvedeno, sicer pa je rezultat False. |
Execute
Metoda Execute izvede prehodno nastavljeni filter podatkov. Vsi podatki, ki so bili filtrirani, se nahajajo v listi TLayer.FilteredRecords.
| Method TFilter.Execute |
ExecuteList
Metoda ExecuteList .
| Method TFilter.ExecuteList (List As TRecordList) | ||
| List | TRecordList | TRecordList objekt, ki vsebuje listo zapisov. |
Skupne lastnosti
Name
Lastnost Name določa ime objekta.
| Property TFilter.Name As String | ||
| Result | String | . |
Alias
Lastnost Alias določa nastavitev drugega imena objekta tipa TFilter.Drugo ime se lahko uporablja pri sklicevanju na ta objekt.
| Property TFilter.Alias As String | ||
| Result | String | . |
Comment
Lastnost Comment omogoča zapis komentarja za objekt tipa TFilter.
| Property TFilter.Comment As String | ||
| Result | String | . |
Parent
Lastnost Parent .
| RO Property TFilter.Parent As TLayer | ||
| Result | TLayer | . |
StoredNames
Lastnost StoredNames .
| RO Property TFilter.StoredNames As String | ||
| Result | String | . |
Lastnosti filtra
Caption
Lastnost Caption omogoča zapis naslova Filter dialoga.
| Property TFilter.Caption As String | ||
| Result | String | . |
FilterType
Lastnost FilterType .
| RO Property TFilter.FilterType As Long | ||
| Result | Long | . |
OnlyCentroid
Lastnost OnlyCentroid določa ali se pri prostorskem pogoju upoštevajo samo centroidi poligona.
| Property TFilter.OnlyCentroid As Boolean | ||
| Result | Boolean | . |
Points
Lastnost Points .
| RO Property TFilter.Points As TPointArray | ||
| Result | TPointArray | . |
PolygonFilterType
Lastnost PolygonFilterType .
| Property TFilter.PolygonFilterType As Long | ||
| Result | Long | . |
SQL
Lastnost SQL določa podatkovni (SQL) pogoj filtra.
| Property TFilter.SQL As String | ||
| Result | String | . |
Skupne Metode
Load
Metoda Load omogoča včitavanje predhodno kreiranih in shranjenih nastavitev za objekt tipa TFilter.
| Method TFilter.Load (Name As String) As Boolean | ||
| Name | String | . |
| Result | Optional Boolean | . |
Save
Metoda Save shrani nastavitev filtra v podatkovno plast.
| Method TFilter.Save (Name As String) | ||
| Name | String | Ime nastavitve. |
Clear
Metoda Clear briše vse nastavljene vrednosti filtra, prostorske in SQL pogoje.
| Method TFilter.Clear |
CopyFrom
Metoda CopyFrom .
| Method TFilter.CopyFrom (L As TFilter) | ||
| L | TFilter | . |
Delete
Metoda Delete .
| Method TFilter.Delete (Name As String) | ||
| Name | String | . |
DeleteAll
Metoda DeleteAll .
| Method TFilter.DeleteAll |
Prostorski pogoji
AreaNone
Metoda AreaNone briše vse predhodno nastavljene prostorske pogoje filtra, oziroma v nadaljevanju izvajanja filtra se prostorski pogoj ne upošteva.
| Method TFilter.AreaNone |
Dim F As TFilter
F = [SHOWOSNOVNI].Filter
F.AreaNone // Briši prostorski pogoj
F.SQL = '[Velikost] = 0.5' // Nastavi SQL pogoj
F.Execute // Izvedi filter
[SHOWOSNOVNI].Form.Execute // prikaži filtrirane podatke v formiAreaPoint
Metoda AreaPoint nastavi točkovni prostorski pogoj, kateri se definira s koordinatami centralne točke in radija.
| Method TFilter.AreaPoint (Y, X, Distance As Float) | ||
| Y | Float | Koordinate centralne točke. |
| X | Float | Koordinate centralne točke. |
| Distance | Float | Radij kroga. |
Dim F As TFilter, X1, Y1 As Float, AList As TRecordList
F = [Neka plast].Filter
F.Clear
// rutina za vnos točke
If InputPoint ('Enter point for filter', X1, Y1) Then
F.AreaPoint (X1, Y1, 500) // Prostorski pogoj
F.SQL = '[Neko polje] = 10' // SQl pogoj
AList = [Neka plast].CreateRecordList ('Alist') // kreiranje liste
F.ExecuteList (AList) // Izvedba filtra
[Neka plast].Form.OpenList (AList) // Odprtje maske
AList.Destroy // uničenje liste
EndIfAreaPolygon
Metoda AreaPolygon nastavi poligonski prostorski pogoj, kateri se definira s koordinatami vnešenega ali pokazanega poligona.
| Method TFilter.AreaPolygon (P As TPointArray) | ||
| P | TPointArray | Seznam koordinat poligona. |
Dim F As TFilter, Poly as TPointArray
F = [Neka plast].Filter
F.Clear
// Vnos poligona
If InputPolygon ('Vnesi poligon', Poly) Then
F.AreaPolygon (Poly) // Prostorski pogoj
F.SQL = '[Neko polje] = 10' // SQL pogoj
F.Caption = "Površina poligona: " + FormatFloat ( "#,0.00", Poly.Area ) +
" Obseg poligona: " + FormatFloat ( "#,0.00", Poly.Perimeter)
F.OnlyCentroid = False // če so filtrirani podatki poligonskega tipa, se upošteva celoten poligon
If F.Edit Then
F.Execute // Izvedba filtra
[Neka plast].Form.Open // Filtrirani podatki v maski
EndIF
EndIf
Message ( "Informacija" , "Površina podanega poligona je " + FormatFloat ( "#,0.00", Poly.Area ) + " m2." + Line + "Obseg podanega poligona je " + FormatFloat ( "#,0.00" , Poly.Perimeter ) + " metrov." )
Poly.Destroy // uničenje poligonaAreaPolygonDist
Metoda AreaPolygonDist .
| Method TFilter.AreaPolygonDist (P As TPointArray, Distance As Float) | ||
| P | TPointArray | . |
| Distance | Float | . |
AreaPolyLine
Metoda AreaPolyLine nastavi polilinijski prostorski pogoj, kateri se definira s koordinatami vnešene ali pokazane polilinije ter odmikom (buffer) od te polilinije.
| Method TFilter.AreaPolyLine (P As TPointArray, Distance As Float) | ||
| P | TPointArray | Koordinate polilinije. |
| Distance | Float | Odmik od polilinije. |
Dim F As TFilter, Poly as TPointArray
F = [SomeLayer].Filter
F.Clear
// Vnos polilinije
If InputPolyline ('Vnesi polilinijo', Poly) Then
F.AreaPolyline (Poly,100) // Prostorski pogoj
F.SQL = '[SomeField] = 10' // SQL pogoj
If F.Edit Then
F.Execute // Izvedba filtra
[SomeLayer].Form.Open // Filtrirani podatki v maski
EndIF
Poly.Destroy // uničenje polilinije
EndIfAreaMultiPoint
Metoda AreaMultiPoint .
| Method TFilter.AreaMultiPoint (P As TPointArray, Distance As Float) | ||
| P | TPointArray | . |
| Distance | Float | . |
AreaScreen
Metoda AreaScreen nastavi ekranski prostorski pogoj, kateri se definira s koordinatami trenutnega prikaza na ekranu.
| Method TFilter.AreaScreen |
Dim F As TFilter
F = [SHOWOSNOVNI].Filter
F.AreaNone // Briši prostorski pogoj
F.SQL = '[Velikost] = 0.5' // Nastavi SQL pogoj
F.Execute // Izvedi filter
[SHOWOSNOVNI].Form.Execute // prikaži filtrirane podatke v formiAreaWindow
Metoda AreaWindow nastavi prostorski pogoj v obliki pravokotnika (okna).
| Method TFilter.AreaWindow (Y1, X1, Y2, X2 As Float) | ||
| Y1 | Float | Koordinate pravokotnika. |
| X1 | Float | Koordinate pravokotnika. |
| Y2 | Float | Koordinate pravokotnika. |
| X2 | Float | Koordinate pravokotnika. |
Dim F As TFilter, Poly as TPointArray
Dim Y1,X1,Y2,X2 as Float
F = [SomeLayer].Filter
F.Clear
// Vnos okna
If InputWindow ('Vnesi okno', Y1,X1,Y2,X2) Then
F.AreaWindow (Y1,X1,Y2,X2) // Prostorski pogoj
F.SQL = '[SomeField] = 10' // SQL pogoj
If F.Edit Then
F.Execute // Izvedba filtra
[SomeLayer].Form.Open // Filtrirani podatki v maski
EndIF
EndIfNearestPoints
Metoda NearestPoints prostorskega pogoja, podobna metodi AreaPoint poišče najbližje entitete. Število najbližjih entitet določite z Count parametrom.
| Method TFilter.NearestPoints (Y, X, Distance As Float, Count As Long) | ||
| Y | Float | Koordinate centra kroga. |
| X | Float | Koordinate centra kroga. |
| Distance | Float | Maksimalna razdalja od točke (centra kroga). |
| Count | Long | Maksimalno število zapisov. |
Dim F As TFilter, X1, Y1 As Float
F = [Neka plast].Filter
F.Clear
// rutina za vnos točke
If InputPoint ('Pokaži mesto filtriranja okoli točke', X1, Y1) Then
F.NearestPoints (X1, Y1, 50, 4) // Nastavitev prostorskega pogoja
F.SQL = '[Neko polje] = 10' // Nastavitev SQL pogoja
If F.Edit Then // Odprtje filtra, da ga lahko uporabnik dodatno ureja
F.Execute // Izvedba filtra
[Neka plast].Form.Open // Odprtje filtriranih podatkov v maski
EndIf
EndIfNearestFromPoint
Metoda NearestFromPoint .
| Method TFilter.NearestFromPoint (Y, X, Distance As Float, Count As Long) | ||
| Y | Float | . |
| X | Float | . |
| Distance | Float | . |
| Count | Long | . |
Direktno izvajanje
ExecutePoint
Metoda ExecutePoint .
| Method TFilter.ExecutePoint (Y, X, Distance As Float) As TRecordList | ||
| Y | Float | . |
| X | Float | . |
| Distance | Float | . |
| Result | Optional TRecordList | . |
ExecutePointSQL
Metoda ExecutePointSQL .
| Method TFilter.ExecutePointSQL (Y, X, Distance As Float, SQL As String) As TRecordList | ||
| Y | Float | . |
| X | Float | . |
| Distance | Float | . |
| SQL | String | . |
| Result | Optional TRecordList | . |
ExecutePolygon
Metoda ExecutePolygon .
| Method TFilter.ExecutePolygon (P As TPointArray, Distance As Float) As TRecordList | ||
| P | TPointArray | . |
| Distance | Float | . |
| Result | Optional TRecordList | . |
ExecutePolygonSQL
Metoda ExecutePolygonSQL .
| Method TFilter.ExecutePolygonSQL (P As TPointArray, Distance As Float, SQL As String) As TRecordList | ||
| P | TPointArray | . |
| Distance | Float | . |
| SQL | String | . |
| Result | Optional TRecordList | . |
ExecutePolyLine
Metoda ExecutePolyLine .
| Method TFilter.ExecutePolyLine (P As TPointArray, Distance As Float) As TRecordList | ||
| P | TPointArray | . |
| Distance | Float | . |
| Result | Optional TRecordList | . |
ExecutePolyLineSQL
Metoda ExecutePolyLineSQL .
| Method TFilter.ExecutePolyLineSQL (P As TPointArray, Distance As Float, SQL As String) As TRecordList | ||
| P | TPointArray | . |
| Distance | Float | . |
| SQL | String | . |
| Result | Optional TRecordList | . |
ExecuteSQL
Metoda ExecuteSQL .
| Method TFilter.ExecuteSQL (SQL As String) As TRecordList | ||
| SQL | String | . |
| Result | Optional TRecordList | . |