DotSpatial.Topology

Documentation on the new DotSpatial.Topology library.  This is derived from the Java Topology Suite originally by the efforts of Diego Guidi.  The particular branch that makes up DotSpatial.Topology was refactored into MapWindow 6, where it was incorporated into the larger framework that has now become the large initial base for the DotSpatial project.

Overlay2_thumb Relate_thumb[1]
Geometries2_thumb  



Unit Test Results

NetTopology Suite.dll Comparison



Before posting a bug about DotSpatial.Topology, understand that with Topology, none of us .Net types are actually responsible for writing the tangled, deeply nested labyrinth of topology methods, so we are not in a great position to have an idea of what it is supposed to be doing at that location, much less what went wrong in your particular case. We want you to report problems, but in this case it is absolutely critical that we have the offending data, along with the steps used to produce the exception or there is utterly no hope of ever fixing it. It is very unlikely that any of us are going to find the time to do a fresh port of JTS to C# any time soon, as to my knowledge there are no really good automatic tools for doing this. What we have was created by the hard work and sweat and tears of Diego Guidi. Dan Ames is in the process of hiring a new programmer who will be doing some side by side tests between JTS, NTS, and DotSpatial.Topology to evaluate both function and performance to see how we can improve DotSpatial.Topology in the future. The effort will be to try to track down and fix any problems that have been fixed in one version but not another. Problems that exist in all three represent a much more challenging goal and will be much lower priority than cases where we can simply grab the latest approach from another source.

In order to do that all of that, however, we will need to start building a list of data that triggers exceptions, along with reproducible steps that provoked the bug so that the programmer can test in each case to see if it is reproduced. You can report this type of event on the Issue Tracker site. If the data and steps are clear enough, we can also turn it into a unit test, (designed to fail initially) and so progress on updating that case could be found by checking out the unit test sweet showing problems.

Last edited May 26, 2015 at 5:47 PM by mbayles, version 20