[udig-devel] adding and modifying a new feature
Jesse Eichar
jeichar.w at gmail.com
Tue May 6 04:52:15 PDT 2008
Ah yes. I don't think that will work. You see when a feature is
created it is assigned a more or less random ID. However when it is
added to a data store it is assigned a different id. Then to make
matters worse some datastores (WFS) assign it a new ID when a commit
occurs.
For the wfs datastore I put some code that keeps track of added
features so that after a commit the same FID can be used. But for
trunk we are planning on changing the events so that the new FIDs are
broadcast so interested parties can update the FIDs they are holding
to be accurate after the commit.
I think on the AddFeatureCommand there are methods for either getting
the new feature or at least the FID of the new feature.
Yeah, there it is. getNewFeature().
Good luck :)
Jesse
On 6-May-08, at 11:11 AM, andrea antonello wrote:
> I'm trying to add programmatically a new feature to a layer and to
> modify it as new coordinates come to make the geometry of that feature
> evolve.
> What I am doing is:
>
> - the first time create a feature and add it to the layer with
> UndoableMapCommand createAddFeatureCommand =
> EditCommandFactory
> .getInstance
> ().createAddFeatureCommand(feature, layer);
>
> layer.getMap().sendCommandASync(createAddFeatureCommand);
>
> - having kept the reference to that feature, every time new
> coordinates come, I add the coordinate to the geometry of the feature
> I created at the first round and modify on the layer with the
> following:
>
> UndoableMapCommand[] cmds = new UndoableMapCommand[3];
> cmds[0] = EditCommandFactory.getInstance()
> .createSetEditFeatureCommand(feature, layer);
> cmds[1] = EditCommandFactory.getInstance()
> .createSetGeomteryCommand(feature, layer,
> geometry);
>
> layer.getMap().sendCommandASync(cmds[0]);
> layer.getMap().sendCommandASync(cmds[1]);
>
> Should this work?
>
> Ciao,
> Andrea
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
More information about the udig-devel
mailing list