Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] programmatically selecting features for highlighting

Jesse Eichar schrieb:
The name is of setFilter regarding selection was in hind sight a poor decision because it implies that the features rendered will be filtered. Instead the 'non-filtered' features (IE features that match the filter) are considered to be the selection. There is the start of a SelectionManager that will in the future help this situation. But for now Filter.ALL means filter everything (match nothing) and Filter.None means filter nothing.

Ok. For testing this little function, that should select "All except the one":

private void selectFeature(ILayer layer, Feature feature){

map.sendCommandSync(SelectionCommandFactory.getInstance().createFIDSelectCommand(layer, feature));
}

But it doesn't work. Nothing is selected. With the whole feature as input I thought I can avoid trouble with FIDs.


I think newer versions of Geotools have changed this to Filter.Include and Filter.Exclude.

So set a bounding box filter on the layer and all features within that bounding box are considered selected.

I'm using Multipolygons in my layer. Using the envelope could lead to a selection that includes several polygons cause they overlap or are otherwise laying in the given envelope. This is not the intention... only a certain feature shall be selected.

Thanks!

Matthias



On 24-Oct-08, at 5:04 PM, Matthias Lendholt wrote:

Jesse Eichar schrieb:
The Table view simply tracks changes to the filter on the selected layer. You can put a filter on a layer. There should be a command available to do this. Look for something like SetFilterCommand or something similar.

FidFilter ff = FilterFactoryFinder.createFilterFactory().createFidFilter(fid); map.sendCommandASync(SelectionCommandFactory.getInstance().createSelectCommand(layer,ff));

the map renders but nothing is selected.

This should work if the fid is correct. Becareful though because often the FID changes after a commit.

Jesse

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel



--
Matthias Lendholt
phone:  +49 331 288 1687 | GeoForschungsZentrum
mobile: +49 170 325 1691 | Telegrafenberg A3
fax:    +49 331 288 1703 | D 14473 Potsdam


Back to the top