Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] Re: FW: Add layer programmatically/1.1 question

Hi Stephan,

In order to have a functioning layer you need to do:

1.  Create a layer
2. Set the ID of the layer to be equal to the ID of the IGeoResource that it represents.

You can think of a layer as an IGeoResource with a style. That is simplistic but it is more or less the idea. So when you use ApplicationGIS.addLayersToMap you only need the IGeoResource.

So if you are satisfied with the default style then you can simply use ApplicationGIS.addLayersToMap to add layer to a map. However if you have a specific style or some other configuration that is done to the layer then you want to use the AddLayerCommand or the AddLayersCommand.

Jesse

On 17-Oct-08, at 3:31 AM, Jody Garnett wrote:

My understanding the two are very similar;
- option one sends the AddLayerCommand to the map
- option 2 creates a bunch of layers from the provided list of GeoResources and inserts these new layers at the indicated position.

There have been a number of off lists questions about creating and managing maps "by hand"; in general you can ignore all the udig stuff and create your own MapCommand; in the body of the command you can do anything you want...

Jody

Stephen Kilburn wrote:
To add a layer programmatically,
http://udig.refractions.net/confluence/display/DEV/How+do+I+add+a+layer+prog
rammatically says:

-for uDig 1.0:
 IMap map;
 map.sendCommandASync(new AddLayerCommand(layer) );

-for uDig 1.1:
 ApplicationGIS.addLayersToMap(map, layers, startposition, project);

But addLayersToMap takes a List<IGeoResource>, not a List<ILayer>, and when
I try:

 Layer layer = ProjectFactory.eINSTANCE.createLayer();
 // ... populate the new layer with geo and styling ...
 IGeoResource igr = (IGeoResource) layer;

I get a ClassCastException.

Do I need to use the 1.0 syntax to add *layers* or am I missing something?
(Latter exceedingly likely!)
_____________________________________________________________
Stephen Kilburn, GeoPraxis Inc.




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



Back to the top