We have code in MapSuite 6.0 that was correctly generating contour lines using the IsoLineLayer.GetIsoFeatures(…) method. This code is failing in 8.0 with the same data.
The line of code that is failing is: Collection<Feature> features = IsoLineLayer.GetIsoFeatures(values, isoLineLevels, attribute.Name, IsoLineType.ClosedLinesAsPolygons);
I have attached a .xml file from which you should be able extract the “Values” and “IsoLineLevels” that we are using.
The values represent a projected grid that we have generated, rather than the raw source values.
The error is:
System.InvalidOperationException
was caught
HResult=-2146233079
Message=The shape you provided does not pass
our simple validation.This ring is not closed.
To close a ring the last point must be the same as the first point. All rings must have at least four points.
Source=MapSuiteCore
StackTrace:
at ohM=.aGA=.sGA=(BaseShape sWA=)
at
ThinkGeo.MapSuite.Core.BaseShape.GetWellKnownBinary()
at
ThinkGeo.MapSuite.Core.IsoLineLayer.8Cw=(List`1 8Sw=, GridCell[,] 8iw=,
SqlGeometry 8yw=, String 9Cw=)
at
ThinkGeo.MapSuite.Core.IsoLineLayer.GetIsoFeatures(GridCell[,] gridMatrix,
IEnumerable`1 isoLineLevels, String dataValueColumnName, IsoLineType
isoLineType, Double noDataValue)
at
ThinkGeo.MapSuite.Core.IsoLineLayer.GetIsoFeatures(GridCell[,] gridMatrix,
IEnumerable`1 isoLineLevels, String dataValueColumnName, IsoLineType
isoLineType)
ContourData.xml (540 KB)