Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] in memory layers, dynamic layers, table view, etc.

I hope this helps. It is just an over view to get you in the correct direction. Feel free to ask more questions as you encounter them.

Jesse

On 22-Mar-07, at 2:03 PM, Jesse Eichar wrote:

Hi Vince sorry about the delay in answering.

On 20-Mar-07, at 11:46 AM, Vince Darley wrote:

We've been developing in small ways with uDig in the past several months, but have recently put more effort in moving some older software across to use uDig as our primary platform for routing- style software.

As part of this we've written a variety of dynamic layers which are added to uDig's "Catalog" and can be dropped onto any map. These layers listen to our routing solution views and update nicely to display the current solution. This all works more or less ok at present.

However, we've run into a few issues:

1) Some of our layers would like to have more than one Geometry, with the user in some way able to select which geometry they'd like to view and/or configure their style differently. For example a layer might contain details on both journeys that are made (LineString) and the points that are reached (Point) and might wish to colour each differently. Of course we could split this into two layers, but then many of the attributes would be duplicated.

Is it possible/sensible for a layer to have more than one Geometry?


Ok here's the issue here. Featuretypes can support multiple geometries. And I believe the renderer has some support for rendering it. Given a good SLD the renderer is supposed to be able to render the multiple geometries... That said it is not well tested so be prepared for some debugging. Also editing multiple geometries is not yet supported.

2) The Table View shows our data, which is nice, but doesn't seem to support any sorting, column-rearrangement, or filtering. For example we'd like the user to be able to arrange the columns in the order they wish, and omit some columns, and sort them up or down by simple clicking on column headings.


Sorting right now is limited to sort by attribute (alphabetical) click on the headers to see that. Also the selected items can be promoted to be on the top. The Table View uses a class called the FeatureTableControl (I think) for displaying the features. The FeatureTableControl has a method that sorts the features as dictated by a Comparable. We can add a section to the view menu that displays the options for custom sorting and the sorters can be an extension point.

WRT filtering, the FeatureTableContentProvider is responsible for displaying the features. It could be modified to filter out some features. Although I'm not too eager about that idea. It doesn't really follow the design of the view. For that I'd almost suggest a different view based on the same FeatureTableControl. The control takes a feature collection and displays everything in the collection. So you couldhave your own view that shows filtered views of the layer.

Is any of this possible (at present or in future, or can you point us to the right way to dive in to this)?

3) Our current layers are 'dynamic' in the sense that they can be updated from time to time, but nothing more than that.

What support is there for genuinely animated layers (e.g. a truck moving around on the map)?

The MapGraphic can handle updating every second or so but it will really hurt the performance of other operations. For example rendering a shapefile will be slower. But you can experiment. There are also IAnimation objects that are very light-weight and know nothing about projections but do have access to the map so they can be used to the the animations. I would suggest this option even if it is slightly more work (it isn't very much more work though). You start an animation by using the AnimationUpdater class.


thanks for any pointers! It will be a great relief when we can throw away a bunch of horrible old code and stick with uDig 100%...

Vince.

_______________________________________________
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



Back to the top