ThinkGeo.com    |     Documentation    |     Premium Support

IsoLines is goning into endless loop

I am trying to display a plot of isolines for a large array of points (around 1000x1000 array or 1,000,000 points). We are still using MapSuite Winforms Desktop Edition 9.0.0 in our application. We are getting rather strange behaviors out of the isoline code. The values in our array are doubles ranging from around 120 to 180. However, a very large quantity of the values are between 162-165. If we define a class break value below 160 or above 166, the isolines are calculated and displayed in about 1 minute. But if we define the first class break to be between 162-164, the isolines do not get generated (I am assuming an endless loop but I usually only wait about 15-30 minutes before I give up and kill it. If we define a class break of 165, the isolines are generated but all the isolines generated are for are initial class break defined as double.MinValue even though we know there are values above 165 in the array. (We defined the class break for double.MinValue so that the fill between the class breaks will be shown for values below the actual class break line.

Has anyone else experienced this behavior with isolines in Winforms Desktop Edition? We have not been able to determine if the code will thrown any type of exception. We do not know how to test the data to determine that there is any abnormal type of data in the array. Is there any reason to believe that upgrading to 10.2.1 would alter this behavior? We will be upgrading someday but had not included into our current planning and don’t have the day or two that we would need to test it out.

Any help would be appreciated.

Thanks
Richard

Hi Richard,

In fact we had stopped to upgrade Version 9 code, so I think you can quickly upgrade your version to V10 and test it to see whether it works well.

I am not sure whether this problem had been solved in V10 but if V10 had the same problem our developer can look into it and see where is the problem.

You can learn more about upgrade here: http://wiki.thinkgeo.com/wiki/map_suite_10_upgrade_guide

And you can also download a sample for V10, then replace your data and logic into it: https://github.com/ThinkGeo/DisplayIsoLinesSample-ForWpf

If you can provide us a sample to reproduce your problem, that should be helpful for our developer look into it.

Regards,

Don

Don,

Thanks for the quick response. I’ll try to find the time to do the upgrade but I can’t be certain when that will be.

I have a sample file but it is fairly large ~12 MB. I will try to get this file to you.

Richard

tempResult50001.zip (2.9 MB)

I’m not sure if this is the best way to upload a file but I’ll give it a shot.
Richard

Hi Richard,

You can upload it here, if it’s so big you can upload it in our FTP.

And only a grid file is not helpful to reproduce your exception, because we don’t know whether your code have problem. Please build a simple sample with the data, so our developer can try to reproduce it first.

You can quickly build a sample follow this guide: http://wiki.thinkgeo.com/wiki/map_suite_project_template_guide

Regards,

Ethan

Ethan

Thanks for the response.

I have finally gotten the application converted to use MapSuite Winforms Desktop Edition 10.2.1. It did not change this behavior. The isolines are still causing unusual behavior with this data when the class breaks are defined between 162-165. Class breaks 162-164 seem to be in an endless loop and 165 displays but not with the color defined for the 165 class break.

Richard

Hi Richard,

Thanks for your further test.

I am not sure whether it’s a bug, but the ISOline don’t have a special value like 165. So we need more detail information to reproduce it and see what’s the problem, a sample with data which can reproduce it is helpful.

Regards,

Ethan