Skip to main content

We are converting Microstation 7 design file data to Oracle 3D spatial (12C).

When there is a complex line (line with an embedded arc or a line that starts as arc), then FME strokes the arcs. This is acceptable. However, the SDO metadata (SDO_ELEM_INFO) still has direct definition of the original microstation complex line (SDO_ELEM_INFO_ARRAY(1,4,2, 1,2,1) indicating arc and line segment).

I would expect the resulting metadata after transformation would be a line(1,2,1).

The problem with this definition is that we cannot use Oracle spatial primitives to use these geometries. SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT flags these as invalid geometries.

The only workaround we found was to transform them again (Oracle spatial to Oracle Spatial) with just a reader and writer in the workspace. This is not acceptable as we are dealing with millions of linear features.

We have tried -

Geometry validator - this does not repair this type of error.

We tried to modify fme_type before converting it to 3D, after converting it to 3D. (z value is 0)

There was a suggestion on this board suggesting removing fme_type value and forcing writer to figure out the geometry. This did not work either.

Other pertinent information

We are using FME Server/Desktop 2019.0.1.

We are processing design files and transforming them into FFS as part of extraction. We are reading FFS files, processing and writing to Oracle Spatial.

Oracle version is 12.1.0

Have you tried using the GeometryCoercer to force the geometry to fme_line?

Might be worth the try.


Have you tried using the GeometryCoercer to force the geometry to fme_line?

Might be worth the try.

I should have added that to things tried. Adding GeometryCoercer does not make any difference. The fme_type already is fme_line.


I've not encountered this particular issue, but I have had some issues when writing geometries from a dgn back into microstation where the geometries are only written correctly if i remove all of the igds attributes - worth a try maybe?


I've not encountered this particular issue, but I have had some issues when writing geometries from a dgn back into microstation where the geometries are only written correctly if i remove all of the igds attributes - worth a try maybe?

That did not help. I also set oracle_type to oracle_line and oracle_multiline just before sending it to the writer - still no luck.

 


Reply