Solved

Writing to ArcSDE and getting ArcObjects Error '-2147215968' {Linestring or poly boundary is self-intersecting}

  • 23 December 2016
  • 1 reply
  • 0 views

Userlevel 4
Badge +13

I am trying to write a polygon dataset to an ArcSDE database, but it is failing on one of the features!

2016-11-17 18:59:51| 130.7|  3.7|ERROR |An error occurred while attempting to insert a row into the table 'citystreets' using a cursor. The error number from ArcObjects is: '-2147215968'. The error message from ArcObjects is: {Linestring or poly boundary is self-intersecting}

I am using a GeometryValidator, but it isn't picking up any errors! What can I do?

icon

Best answer by rylanatsafe 23 December 2016, 22:52

View original

1 reply

Badge +11

This error might be caused by an object that is outside the bounds or extent of the destination Feature Class or coordinate system. (ref: http://support.esri.com/technical-article/000011859)

Try inserting an ArcSDEGridSnapper transformer to your workflow. You will need to set the Minimum X, Minimum Y, and Scale parameters.

 

These parameters can be found by inspecting the Properties of the destination Feature Class in ArcCatalog. Notice that the Scale specified in the ArcSDEGridSnapper is 1/XY Resolution.

But what if the destination Feature Class does not exist?

Then we can create a temporary Feature Class! To do this, insert a BoundingBoxAccumulator transformer right before the ArcSDE Writer. This will create a new polygon that fits every object within it - and with the correct extents. Run the workspace to have our temporary Feature Class created.

 

You can then use the properties of this Feature Class (from ArcCatalog) to set the correct parameters in the ArcSDEGridSnapper transformer.

When you are ready to run the translation again, remember to remove the BoundingBoxAccumulator and delete the Feature Class in the ArcSDE database!

Hope that helps! Please add comments below if you were able to create a different workaround for this error.

Reply