ThinkGeo.com    |     Documentation    |     Premium Support

Clientside error The shape you provided does not pass our simple validation

 Hi I'm getting this error on the client:


The shape you provided does not pass our simple validation.
 
string sl = "LINESTRING(725996.832621304 6175932.20439804,725988.786414772 6175926.87754574,725968.820100655 6175913.35256447,725960.812651233 6175908.58827776,725954.038972686 6175904.33404535,725951.628471417 6175903.42843865,725946.504787114 6175901.3785084,725939.593255636 6175898.56679062,725934.337249213 6175895.59477045)";
Feature feature = new Feature(sl);
LineShape ls = new ThinkGeo.MapSuite.Core.LineShape(feature.GetWellKnownBinary());
 
... Strange..
The I try this
 
string sl = "LINESTRING(725996.832621304 6175932.20439804,725988.786414772 6175926.87754574,725968.820100655 6175913.35256447,725960.812651233 6175908.58827776,725954.038972686 6175904.33404535,725951.628471417 6175903.42843865,725946.504787114 6175901.3785084,725939.593255636 6175898.56679062,725934.337249213 6175895.59477045)";
Feature feature = new Feature(sl);
 BaseShape.GeometryLibrary = GeometryLibrary.Managed;
  feature = feature.MakeValid();
LineShape ls = new ThinkGeo.MapSuite.Core.LineShape(feature.GetWellKnownBinary());
 
Then i get this.....
Cannot make valid while using the managed geometry library.
 
Still strange
 
 
Then i try:
 
string sl = "LINESTRING(725996.832621304 6175932.20439804,725988.786414772 6175926.87754574,725968.820100655 6175913.35256447,725960.812651233 6175908.58827776,725954.038972686 6175904.33404535,725951.628471417 6175903.42843865,725946.504787114 6175901.3785084,725939.593255636 6175898.56679062,725934.337249213 6175895.59477045)";
Feature feature = new Feature(sl);
 BaseShape.GeometryLibrary = GeometryLibrary.Unmanaged;
  feature = feature.MakeValid();
LineShape ls = new ThinkGeo.MapSuite.Core.LineShape(feature.GetWellKnownBinary());
 
Now the clients are missing sqlspatial110.dll
I only deploy using clickonce so i can't include sqlspatial110 on the clients :(
 
But what is wrong with my line, why is it not a valid string?
 
 
-Niels

HI Niels, 
  
 I tried your shape and it’s valid on my side, can you have a double check? 
  
 BTW, If you have the SqlSpatial110.dll on your machine then you can get the invalid reason by 
  
 BaseShape.GeometryLibrary = GeometryLibrary.Unmanaged; 
 string reson = feature.GetInvalidReason(); 
  
 If the clients don’t have this dll, you can just set the BaseShape.GeometryLibrary to managed, and do not MakeValid. 
  
 The unmanaged library is more strict than the managed one, so there might be a shape that is valid in managed mode but invalid in unmanaged mode.  
  
 Regards, 
 Edgar