Title: Message
Hi all,
Sorry I missed this conversation.
I think the problem is one that plagues us from time to time, and there isn't an easy solution.
 
The PointOnAreaOverlayer copies the attributes from the area to the points inside it.
Unfortunately, it includes all format attributes in this. Therefore in your list there is an entry called fme_geometry{}
When you explode the list it creates features with all those attributes including fme_geometry=fme_area
 
That's how your point features suddenly become area features. The same can happen with the nearest neighbour function when you are using two different geometry types. If Jason couldn't duplicate the problem I doubt it is a version difference because, as far as I know, this hasn't been changed. Perhaps his features were being read in a different order which caused the point fme_geometry to take precedence????
 
Anyway, the solution is as described; set the format attributes back to represent the feature as text.
Set fme_geometry=fme_point and fme_type=fme_text (setting autocad_entity will work on writing, but until then FME would still regard this as an area feature which might cause a few more processing issues)
 
You'd also want to be careful in a situation like this that you don't have any colour/layer/etc settings as format attributes that are being overwritten.
You could try exposing all the format attributes on the area features and then using AttributeRemover to get rid of them - I don't know if that will work but it is worth a try.
 
Regards,
 
Mark

Mark Ireland, Product Support Engineer
Safe Software Inc. Surrey, BC, CANADA
[EMAIL PROTECTED] http://www.safe.com
Solutions for Spatial Data Translation, Distribution and Access

 


From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Cifelli, Scott T.
Sent: May 24, 2005 5:09 PM
To: [email protected]
Subject: [fme] ListExploder Error?

Jason,
 
Actually, you were correct the first time.  The altered stream needed to be the Requestor, as this stream now had the additional features from the listexploder.  The problem is that I ended up back where I started.  I was getting the correct number of features, but the geometry was still incorrect.  So then I decided to expose the geometry types to see what was going on.  For some reason the resultant text features (after the list exploder) had the fme_geometry set to "fme_point", but the fme_type was set to "fme_area".  I then used an AttributeSetter transformer to force the exposed fme_type attribute to "fme_text" and it worked!  Of course, this only worked because the feature type was actually a text feature (and hence had all the other attributes that it needed), but for some reason it was getting confused with the fme_type attribute.
 
At any rate, thanks again for all your help.  Sometimes it takes a little re-thinking (and some good advice from this group!) to get a process to work.  I appreciate the help.  Also, thanks to SRG for weighing in on the issue.
 
Cheers,
Scott
 
-----Original Message-----
From: Jason Birch [mailto:[EMAIL PROTECTED]
Sent: Thursday, May 19, 2005 6:57 PM
To: [email protected]
Subject: RE: [fme] ListExploder Error?

Arg. 
 
I meant, use the second unaltered stream as the Requestor and the first stream as the Supplier.  It would work the other way, but you'd have to use the Referenced and Unreferenced output ports instead of the Complete and Incomplete ports.  And it woud be more confusing (to me at least) :)
 
Jason


From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Jason Birch
Sent: Thursday, May 19, 2005 10:48
To: [email protected]
Subject: RE: [fme] ListExploder Error?

I can't duplicate your error in a recent beta.  Does the ListExploder you're using allow you options on what attributes to keep as part of the explode?  If so, maybe changing it to "Lean" or "Lean and Mean" (the descriptions of these have changed in recent releases) would help.  If not, is it an option to upgrade to a recent beta?
 
I can think of a couple workarounds that might work, but these are just guesses. 
 
First guess: run the features through a Counter, and then split them into two streams.  The first stream goes through the PointOnAreaOverlayer and the ListExploder, followed by an AttributePrefixer to identify that these attributed were from this stream.    Then put a FeatureMerger inline, using the first stream as the Requestor and the second stream as the Provider, using the Counter attribute as the join item and making sure the merge attributes only.  You can then use an AttributeRenamer and AttributeKeeper as required.  This method keeps the original geometry intact but still allows you to benefit from the attributes picked up as part of the PointOnAreaOverlayer.
 
Second guess:  after forcing the geometry to fme_point, try setting the relevant autocad_* attributes (autocad_entity=autocad_text, autocad_text_size, autocad_text_string, etc).  If this doesn't work, maybe a LabelPointReplacer would do the trick?
 
Jason


From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Cifelli, Scott T.
Sent: Thursday, May 19, 2005 08:52
To: [email protected]
Subject: RE: [fme] ListExploder Error?

SRG,
 
Sorry, but I'm not sure what you mean by an attributepreserver?  Do you mean attribute keeper?  Also, I did run a test translation with the listexploder transformer removed and the file output was correct.  The problem is that I need the list exploder to get a full copy of the data for each polygon in the overlay.
 
Cheers,
Scott
 
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Raghavendran(SRG)
Sent: Thursday, May 19, 2005 1:17 AM
To: [email protected]
Subject: Re: [fme] ListExploder Error?

Hello Scott,
Could you try inserting a attributepreserver before you do the overlay and see if the geometry attributes are maintained.
Happy FME-ing :-)
Cheers
SRG

--------------------------------------------------------------------------------------------

I am running an overlay of points (AutoCAD dwg format) and areas (ESRI shapefile) thru a PointOnAreaOverlayer Transformer in Workbench (build 1625), creating a list and then using a ListExploder transformer to write out the data.  The problem is that the data entering the ListExploder is definitely point data (text data from the dwg file), but the output seems to be area geometry.  I don't understand why this is happening.  I am doing the same exact process with lines and it works fine. 

I've attached a snapshot of the workbench file that shows the data flow as well as the log file to demonstrate what is happening.  You can see that I inserted a GeometryFilter Transformer to debug exactly what geometries I am getting, and sure enough the points are magically turning into areas.  Is it possibly a bounding box around the text that is being returned?

Note that I did attempt to force the geometry back to a point after the ListExploder Transformer, and this worked, except that the data was now truly a point and no longer a text geometry in the dwg file, and ultimately not useful. 

Has anyone else experienced this problem?  Any suggestions welcome.

Cheers,

Scott Cifelli
GIS Systems

<<ListExploderError.jpg>>



This e-mail and any files transmitted with it, are confidential to National Grid and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please reply to this message and let the sender know.


Get the maximum benefit from your FME, FME Objects, or SpatialDirect via our Professional Services team.  Visit www.safe.com/services for details.



Get the maximum benefit from your FME, FME Objects, or SpatialDirect via our Professional Services team.  Visit www.safe.com/services for details.



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

Reply via email to