Sorry,
That was a rather cryptic response.
I typically use the TopologyBuilder, which includes outputs for lines,
nodes, etc. I take two copies of lines table, use the AttributePrefixer
on each to add _to or _from to the attributes, and then use separate
FeatureMergers to combine these attributes onto the source node table,
joining on node_id = to_to_node_id and then again on node_id =
from_from_node_id (or something like that).
For your case, you can generate a "lines table" by taking a copy of the
SpatialRelator ouput and running it through a ListExploder with the
_relationships{} list as the base. You can then join that back to the
original output using a FeatureMerger or two to transfer the attributes
that you need.
That's probably not much less cryptic. I don't have time to do an
example workspace right now though :( Let me know if you have any
questions.
Jason
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Thom
DeCarlo
Sent: Wednesday, May 03, 2006 10:15
To: [email protected]
Subject: [fme] Re: question about list manipulation
I'm afraid that I'm going to show off my ignorance now, but I can't
figure out what you mean here, Jason. What is a "lines table" and how
can FeatureMergers help me?
Thom
--- In [email protected], "Jason Birch" <[EMAIL PROTECTED]> wrote:
>
>
> I generally deal with this using the lines table and some
> FeatureMergers.
>
> Jason
>
>
> -----Original Message-----
> From: Thom DeCarlo
> Sent: Tuesday, May 02, 2006 15:26
> To: [email protected]
> Subject: [fme] question about list manipulation
>
> I'm working with the output of a SpatialRelator Transformer in my
> workspace. The features contain a node_id from the source node and a
> list containing the line_id of the connected line segments as well as
> the node_id for the endpoints of each line segment. So the attribute
> set looks like this:
>
> node_id
> _relationships{}.line_id
> _relationships{}.from_node_id
> _relationships{}.to_node_id
>
> The problem is that I want to add a new element to the list that
> contains the node_id (either the from_ or to_ node_id) which is not
> the same as the feature's node_id.
>
> That is:
> _relationships{}.other_node_id = \
> (node_id != _relationships{}.from_node_id) \
> ? _relationships{}.from_node_id \
> : _relationships{}.to_node_id
>
> I thought I could use the ExpressionEvaluator Transformer, but since I
> am dealing with a variable-sized list, I could not see how to expose
> the variable number of list elements.
>
> I don't see a ListExpressionEvaluator Transformer, but I think that is
> what I'd need to do this. Does anyone have any clues on dealing with
> the list manipulators?
>
> Thanks,
> Thom
Get the maximum benefit from your FME, FME Objects, or SpatialDirect via
our Professional Services team. Visit www.safe.com/services for
details.
Yahoo! Groups Links
Get the maximum benefit from your FME, FME Objects, or SpatialDirect via our
Professional Services team. Visit www.safe.com/services for details.
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/fme/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/