[
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