Skip to main content
I am in the process of converting a whole bunch of regions to points via the "InsidePointReplacer".  I am writing to a MapInfo TAB file so even if there are polygons remaining it shouldn't matter (geometry: <ALL>).  But I'm getting some weird 'warnings' when I run it.

 

 

FME warns:

 

2012-12-19 13:03:57| 15.5| 0.0|WARN |===========================================================================

2012-12-19 13:03:57| 15.5| 0.0|WARN |Below feature has too few coordinates -- a region feature needs more than 3 coordinate pairs

2012-12-19 13:03:57| 15.5| 0.0|WARN |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2012-12-19 13:03:57| 15.5| 0.0|WARN |Feature Type: `Points'

 

But you can clearly see that it has already determined that it is a point.  I even tried using a GeometryCoercer to convince the writer that they are points.  No luck.  So then it says that:

 

 

2012-12-19 13:04:06| 22.5| 0.0|WARN |Rejected 21781 feature(s) destined for MapInfo file

 

So I get an empty file...

 

 

The strange thing is that I want to do this as a test only, the next transformer in line is a PointOnAreaOverlayer, and that is working fine...

 

 

What have I done wrong?  Do I just have Christmas-brain or something??

 

 

But also I need to know if the InsidePointReplacer caters for holes?  So where will it create a point given a doughnut feature?
Try to do a GeometryOGCValidator on the features before sending them to InsidePointReplacer to see if there are some errors in the data.

 

 

Input of InsidePointReplacer should be areas (not points). If understand correctly you try to send some points or lines to the InsidePointReplacer. Use a GeometryFilter before the InsidePointReplacer to send only the Areas to the InsidePointReplacer and see which other geometries you have.

 

 

InsidePointReplacer: "...with a point that is guaranteed to be inside the area.." so yes, it should be within, even considering holes
Also look at the LabelPointReplacer: "...If the feature was an area feature, the resulting point is somewhere in the interior of the feature (and outside of any holes in the area..."
Thanks for the answers but I had already thought of that...

 

 

The GeometryOGCValidator detects no errors and passes all features.  GeometryFilter passes the same number of features out as it recieves, all through the point port...  But the warnings still persist, and FME still rejects them all...

 

 

I suspected it was the writer, but it is not the only TAB file Feature Type written by this writer, and the rest are all fine.  I have tried deleting the Feature Type and redoing it from scratch, all to no avail.

 

 

As far as the location of the point for the InsidePointReplacer goes, I have a feature with a hole in it, but the hole is also a (seperate) polygon feature.  At the moment it seems that only the hole feature is being passed leading me to believe that the InsidePointReplacer doesn't work in the same way as the LabelPointReplacer.  Can some-one please confirm this.

 

 

Cheers,

 

 

Paul
I'd try to see if there are any mapinfo_-format attributes on the features that confuses the writer.
I ended up reconfiguring the workbench, just fine-tuned the process and hey-presto the writer is working fine now!

 

 

So it was obviously something hinkey going on between my AreaOnAreaOverlayer, point replacer, and PointOnAreaOverlayer.  I changed it to an attribute added, AreaOnAreaOverlayer, and then a dissolver.  This fixed the problem - whatever it was...

 

 

Thanks for all of the help though.

 

 

Paul.
I had the same problem yesterday:

 

Your point feature has inharited the MapInfo_type=polygon.

 

Expose this format attribute in your reader, and remove it before the insidepointreplacer!

 

 

 

This will solve your problem!

Reply