Question

Error: “the number of points is less than required for feature”,


Badge +5
Error: “the number of points is less than required for feature”,

 

 

We are extracting data from CAD files. The destination is layers stored in ESRI file Geodatabase. Copying the features from the generated layers to other enterprise geodatabse layers result in the error below:

 

 

CAD file:

 

http://www.mediafire.com/download/ii2dszjoo4zoij4/AsSamou_Hebron_MasterPlan_05_X_03.dwg

 

 

 

 

Workbench

 

 

 

Extracting the Roads polygon (Roads = Boundary – Landuses)

 

 

 

 

 

 

 

What might be the issue here?

 

 

Thank you

 

 

Best

 

 

Jamal

11 replies

Badge +5
Userlevel 5
Hi,

 

 

sounds like an invalid geometry. Set an inspection point just before the output feature type (circled in red) and inspect the number of coordinates of the first feature that goes through.

 

 

You could also insert a CoordinateCounter with a Tester to check for e.g. polygons with < 3 vertices or lines with < 2 vertices.

 

 

Also make sure that the coordinates aren't so close to one another that they're getting conflated into a single point by ArcSDE (distance < tolerance).

 

 

David
Userlevel 3
Badge +17
Hi Jamal,

 

 

Just guessing. The road geometry looks an aggregate of a large donut polygon and several fragment polygons. Some of fragments perhaps have less than 4 vertices.

 

Try specify "No" to Create Aggregates parameter of the Clipper and remove unnecessary fragments before writing.

 

 

Takashi
Badge +5
Many thanks guys for the help,

 

 

Neither the “CoordinateCounter” nor the “create aggregates :No” has resolved the issue.

 

 

 

 

 

 

Applying the “check geometry” in the ArcGIS shows the features that have problems despite the fact all of them have area, length and number of vertices more than two.

 

 

 

 

 

 

This way I’m back to the first circle: the FME has no sufficient tools to repair the Geometry to be accepted by the enterprise geodatabase layer.

 

 

 

I’m wondering why I should face all of these problem just to extract the roads layer from the boundary and landuse

 

 

Roads = Boundary – Landuse

 

 

If the Boundary and Landuse are valid then how come the result (Roads) is not valid?
Userlevel 3
Badge +17
What about removing unnecessary small fragments before writing?
Badge +5
Thanks Takashi.

 

 

Deleting small polygons will definitely cause a problem as donuts\\holes\\gaps are generated within the LanduseAndRoads layer. In this case, if the Boundary is re-derived from this layer (LanduseAndRoads), gaps will be created inside this layer (this might occur at the level of ArcGIS for further analysis).

 

 

 

 

I got help from GIS expert at enterprise level. He advised to apply the “integrate” tool in the ArcGIS to resolve the issue of self-intersecting. It works as a charm till now. The power of the “integrates” is that it repairs the polygons without deleting them (and thus it doesn’t leave gaps).

 

 

 

 

 

 

 

 

 

 

What might be the equivalent tool for the “integrate” (of the ArcGIS) in the FME?

 

 

Userlevel 3
Badge +17
I think the SliverRemover transformer is close to "Integrate" tool of ArcGIS.
Badge +5
Thanks Takashi.

 

 

Now, I’ll try to go for your previous valuable suggestion. To remove the slivers (small areas). Gaps\\holes\\donuts can be refilled again with correct geometry by the “Eliminate Polygon Part” tools available in the ArcGIS.

 

 

 

 

 

Do we have such tool (“Eliminate Polygon Part”) in the FME?
Badge +7

 

Hi Jamal,

 

A corresponding transformer to the geoprocessing tool "Eliminate Polygon Part", is to use the DonutHoleExtractor

 

 

Sami
Badge +5
Thanks Sami.

 

 

best

 

 

Jamal
Badge +10

USE SQL to change the tolerance

 

UPDATE schemaname.tablename
    SET geom = ST_RemoveRepeatedPoints(ST_SnapToGrid(geom, 0.001));

Reply