I found a Question similar to mine, where they used the ArcPropertyExtractor. This works for about a third of the data and rejects the rest, but doesn't say why.
When checking the differences in the data, it seems the entity is Arc for those rejected instead of LWPolyline, although the Geometry Filter is picking all of these errors up as lines. The Arc transformers I've used don't think they're Arcs.
It’s a bit hard to say without seeing the source data set. Is the contours all you’ve got to work with? I would go back to the terrain model and get straight contour poly lines (instead of curves) or better still, the tin itself. What about using the geometrycoercer transformer to force them in to a different geometry type?
I worked out how to do this for majority of my data using this solution:
https://knowledge.safe.com/questions/86991/exracting-cwccw-from-arc.html
Using the arcpropertyextractor. However, I have a bigger issue with the ones that are rejected.
In the Geometry Filter it shows these as lines, however in inspector the Autocad entity is "autocad_arc". The error is INVALID GEOMETRY TYPE.
The Z information exists in the "Oriented Arc" section in inspector and I can't pull that data unless I can use the Arcpropertyextractor, however, that is not recognising it as a recognised geometry.
Have you checked they are not paths? These would still be filtered via the line geometry port. The easiest way to check if there are paths is to use a pathsplitter and see if you get more features out than going in.
Have you checked they are not paths? These would still be filtered via the line geometry port. The easiest way to check if there are paths is to use a pathsplitter and see if you get more features out than going in.
No I'm afraid that didn't work, seems to be the same. I've searched the net and anyone commenting on the Invalid Geometry Error just says to use an ArcStroker, but because it isn't recognising them as Arcs in the workspace this does nothing (but it recognises them as Arcs in Inspector).
Have you tried using the BoundsExtractor (just get zmin)? Assuming these contour lines are at constant elevations this should work. Or perhaps I'm missing something here?