Name
sflayer --- Manage Simple Features Layer
Syntax
sflayer getextent
sflayer topostscript
sflayer towkt fid
sflayer tokml fid
sflayer getfids
sflayer getfieldnames
sflayer getfield
sflayer fid fieldname
sflayer setfield fid fieldname value
sflayer setspatialfilterrect [minx miny maxx maxy]
sflayer setattributefilter [filter expression]
Description
Programmatically manage a project object of type Simple Features Layer. The datasource must be the active project object, set using project activate or project setpath
Arguments
getextent
Return layer extent as a Tcl list { minx miny maxx maxy }
topostscript
Return the geometry of the layer as a sequence of Postscipt drawing commands. This will preserver inner polygons and polygon winding. Points are not supported.
towkt fid
Return the geometry of the given feature as well-known text. The fid argument is feature-id.
tokml fid
Return the geometry of the given feature as KML. The fid argument is feature-id.
getfids
Return all the feature id's of the layer as a Tcl list.
getfieldnames
Return all column (field) names in the layer as a Tcl list.
getfield fid fieldname
Return value of given field in the feature identified by feature id fid.
setfield fid fieldname value
Set field value in column (field) given by fieldname in feature identified by given feature id fid.
sflayer setspatialfilterrect [minx miny maxx maxy]
Set spatial filter to given rectangle. Subsequent calls to getfids, resetreading, and getnextfid will only return features that geometrically intersect with the given rectangle. If the rectangle coordinates are omitted the spatial filter is reset.
sflayer setattributefilter [filter expression]
Filter features by expression. Subsequent calls to getfids, resetreading, and getnextfid will only return features that pass the filter expression. The expression is a WHERE expression similar to what is used in SQL. For example, if the layer contain columns 'state' and 'area' the expression
state = 'ohio' and area > 1000
would set the filter to return only features that pass the given criteria. Valid operators are =, <>, <, >, <=, >=, LIKE, and IN.
Use the LIKE operator to perform wildcard comparison. Use % (any character) and _ (one character) as wildcard placeholders. For example, the following expression will filter all features with values in the name column that has 'OR' as the second and third letter, while allowing any set of characters after that:
name LIKE '_OR%'
This could return PORTUGAL, NORWAY, MOROCCO, etc.
To reset the attribute filter omit the filter expression.