[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [udig-devel] Polygons drawn with PolygonTool not in my FeatureStore...
|
Tony,
Did you find a solution to overriding the PolygonTool as I need to do
something similar and extend the default create polygon tool. Any help /
sample code would be very much appreciated.
Thanks
Andy
Jesse Eichar wrote:
>
> 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@xxxxxx 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@xxxxxx 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
>
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
>
>
--
View this message in context: http://www.nabble.com/Re%3A-Polygons-drawn-with-PolygonTool-not-in-my%09FeatureStore...-tf4210939.html#a12121770
Sent from the udig-devel mailing list archive at Nabble.com.