Hi Martin,
I've never been a fan of doing automated flattening of hierarchical data
models as you either have to include a prefix on the attribute names or
some other form of name mangling to avoid name collisions, also it
doesn't cope well if you have parts of it that are optional or contain
lists/sets of values.
I am using my own reader/feature framework for loading the features and
have defined a concrete implementation of my DataObject interface which
extends from the JUMP Feature class. The properties that contain nested
features are defined in the JUMP FeatureSchema to be of type Object
which JUMP supports and would just treat as a String when displaying it.
My Attribute view implementation just does an instanceof on the
attribute value and if it is a Feature renders it as a table using
recursion so you can go as many levels deep as you want.
I'm thinking for the list style view of using roll overs on values to do
a pop up box with the full attributes (think like when you roll over
images on a HTML page it can display the name of the image in a small
pop up).
Paul
Martin Davis wrote:
Paul,
If this is a question of modelling a single complex attribute which is
in 1-1 relation with the parent feature, why don't you just present the
attributes as a set of attributes on the parent feature? Granted this
increases the column namespace a bit, but it doesn't require any
additional functionality in the UI and seems like it should provide you
with effectively the same capability to display the attributes.
If you want to support complex attributes which are in many-to-one
relationship with a parent Feature set, that's a whole different story,
and I think would require a lot more than just a change to the Attribute
View presentation.
By the way, how are you loading these compound Features?
Paul Austin wrote:
Hi Martin,
This case is where you have nested complex properties of an attribute
nature. For example building may have an address property that has the
attributes unit, number, street, city etc.
I don't want to go down the whole nested feature collection route as
that can get pretty messy. In fact I would typically model these in
the database using either one-to-may or many-to-many foreign key
relationships that they really are.
For the code table plug-in, this could be done from database layers by
following foreign key relationships that when you add the layer you
could select which ones are code tables and the columns to use from
the referenced tables. Initially I think I'd test out the concept by
manually creating the UI and config and see how it goes from there.
More of a prototyping approach.
Paul
Martin Davis wrote:
Is your use case only for a property which contains a single Feature?
The general case would be to have a property which contains a
FeatureCollection (this is the full GML model, for instance). In this
case the UI gets a bit more complicated.
How are you creating the Feature property? Do you need to spatially
visualize it?
I'm asking these questions because while your use case may simply be to
view a single Feature property, it's nice to look a bit further down the
road at a more general design, in order to avoid making the
implementation overly specific and hard to extend.
In general supporting a hierarchical feature model introduces tons of
issues all through JUMP... which is why we didn't go there at first.
The closest we got was to support a custom object hierarchy and expose
different classes of it as separate FeatureCollections. This allowed
treating the various classes as map layers, which worked pretty well.
But this was all custom code and hard to make general-purpose.
As for the code-value entry plugin, the general concept would clearly be
nice to have. Would your entry screen only support that single
attribute, or would you make a general entry panel which showed all
attributes? This was talked about a week or two ago - it would be nice
to have this as another view in the Attribute View window. How would
you supply the code-value mapping?
Paul Austin wrote:
I have a data set where a property of a feature is another feature
object. In the schema it has the type Object but it's actually a
Feature instance.What I would like to do is have the following.
1. A right click on the feature row to view the whole feature and
have a view/edit feature frame that would display the list of
property names and values with nested panels for each nested
feature.
2. Use the feature display panel to display the feature on say roll
over of a complex property value
Has anyone worked on such a feature? If not I'll start writing one.
Also I was thinking that in databases you have the concept of code
lookup tables, I was thinking of a plugi-in that you can configure to
display the code value instead of the code ID and have a drop down for
changing the values instead of entering the codes.
Paul
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel