[udig-devel] Polygons drawn with PolygonTool not in
my FeatureStore...
Jesse Eichar
jeichar at refractions.net
Fri Aug 3 08:44:52 PDT 2007
You are correct. You need a behaviour that will change the current
state (on the ToolHandler if I remember correctly) from create to
NONE or MODIFY? Or something like that. I beleive that is what
terminates the editing.
Jesse
On Aug 3, 2007, at 12:01 AM, tony.roth at GMX.de wrote:
> If I override the initAcceptBehaviour() method (addAcceptBehaviour
> doesn't exist) with an empty method, it isn't possible to finish
> drawing since the double click is not recognized / accepted. ...
> I'll play with that, perhaps I find a solution.
>
> thanks for your hint
>
> tony roth
>
>
>
> I don't see anything obvious I'm afraid. I could suggest another way
> of doing this though. You could make a new Tool that extends the
> PolygonTool and overrides the addAcceptBehaviours() method. The
> overridden method would add a new behaviour which could either add
> the created polygon to the Layer's black board (or just do nothing).
> Then your search method could use the shape on the layer's blackboard
> (you wouldn't need a dedicated layer for this) to construct the
> search query. If you did not add any new behaviour (just overrode
> the addAcceptBehaviours method with an empty method) then you could
> use the shape on the EditBlackboard to construct your query. To get
> the correct blackboard do: EditblackboardUtils.getEditBlackboard
> ( ApplicationGIS.createContext(layer.getMap), layer ).
>
>
> Jesse
>
>
>
> On Aug 2, 2007, at 7:11 AM, tony.roth at GMX.de wrote:
>
> >
> > One wish of my users is to get a 'geo referenced' search. (don't
> > know if
> > it's the correct english word)
> >
> > They want to draw a polygon on the map, click on a search button,
> > enter
> > some additional restrictions for the query and finally send the
> > query. As
> > result they want the elements shown in the map.
> >
> > I will use a dedicated polygon layer for that. The user can draw the
> > polygon with the PolygonTool. To prevent queries with more than one
> > polygon
> > the layer shll just store one feature/polygon. If the user draws a
> > polygon
> > the old one will be removed.
> >
> > What's the best way to realize this?
> > I tried it this way but failed:
> >
> > // Featuretypebuilder, Ressource,....
> > // finally I have the layer :
> >
> > final Layer l = layer;
> > l.addListener(new ILayerListener(){
> > public void refresh(LayerEvent event) {
> > // debug print
> > System.out.println(event.getType().name());
> > if (event.getType()== EventType.EDIT_EVENT){
> > try {
> > FeatureStore fs = l.getGeoResource().resolve
> > (FeatureStore.class,
> > null);
> > FeatureIterator fI = fs.getFeatures().features();
> > List featureList = new ArrayList();
> > while (fI.hasNext()){
> > featureList.add(fI.next());
> > }
> > if (featureList.size() > 1){
> > // remove all features
> > fs.removeFeatures(Filter.NONE);
> > // add the last one
> > fs.addFeatures(DataUtilities.collection(new
> > Feature[]{featureList.get(featureList.size()-1)}));
> > l.refresh(null);
> > }
> > } catch (IOException e) {
> > // TODO Auto-generated catch block
> > e.printStackTrace();
> > }
> > }
> > }
> > });
> >
> >
> > Even I draw a some polygons and see them in my application ths
> > featureList
> > is empty. The event is thrown and the layerListener activated and
> the
> > FeatureStroe is not null.
> >
> > What's wrong in my code? Or a bad approach? Has someone a better
> > idea to
> > realize this functionality?
> >
> > Thank you,
> > tony roth
> >
> > still using 1.1RC8 :)
> >
> > _______________________________________________
> > User-friendly Desktop Internet GIS (uDig)
> > http://udig.refractions.net
> > http://lists.refractions.net/mailman/listinfo/udig-devel
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.refractions.net/pipermail/udig-devel/attachments/20070803/09f89d43/attachment-0001.html
More information about the udig-devel
mailing list