Global Mapper v25.0

Find overlapping Features bug


There are no missing vertices in my data.

The v21Find overlapping Features result is correct (No overlapping features found) ,

but the v22-v23 analysis result is wrong (show Missing Vertex)

Tagged:

Comments

  • JeffH@BMG
    JeffH@BMG Global Mapper Developer Trusted User

    Hi gcyx,

    Thanks for reporting this -- I checked with your sample data and can see that the Feature Overlap tool does indeed report an overlap, and I can see in the code history what changed to cause it, but don't have a sense of what the changes mean. I've opened up a new ticket for this (GM-13001, and I'd expect that we'll see a fix for this in a future version of Global Mapper.

    Best regards,

    ~Jeff

  • This bug is still not fixed in the v24 beta.

  • JeffH@BMG
    JeffH@BMG Global Mapper Developer Trusted User

    Hi again, gycx,

    You're right -- I checked the bug, and no work has been done on this issue. I have looked at the code (which I didn't write), and I'm a bit at a loss to understand what it's reporting in that case, or why. I'll try to consult the author to see what's intended there.

    One possible workaround: the spatial operations predicates has an 'overlaps' predicate. You can open up the Spatial Operations dialog, select the Predicates tab, and select the Overlaps predicate. In the test case that you provided, everything's in one layer, but you can use the same layer for Layer 1 and Layer 2.

    I set the Results to 'Create New Selection, and ran Overlaps against your test set. No areas were selected.

    The above should work in 23.1 as well as the latest beta. Please let me know if that's helpful.

    Best regards,

    ~Jeff

  • Hi JeffH

    The result of setting to 'Create New Selection' is that the feature will be selected.

    Setting to 'Create New Layer' results in a new layer with the same count of features as the original layer.

  • JeffH@BMG
    JeffH@BMG Global Mapper Developer Trusted User

    Curious. The version of Global Mapper 23.1 that I'm using (Global Mapper Pro v23.1.2) , when run against your the test data that you provided above, and using the Overlapping predicate and 'Create New Selection' enabled, selects no geometries, and with 'Create New Layer' enabled, creates no new layer (i.e., no overlapping features were found). Using the Intersects predicate, both geometries get selected with 'Create New Selection', and both are replicated in a new layer when using 'Create New Layer'. This is what I'd expect to see, and this behavior is the same in the 24.0 beta that we've just put out.

    A bit of a mystery, then. There must be some difference, given that you're not seeing what I am.

  • The result of setting to 'Create New Selection' is that the feature will be selected.

    Setting to 'Create New Layer' results in a new layer with the same count of features as the original layer.

  • Please use this shp file for testing.

    I suspect that it can be caused by pseudo-coordinate positions (out of coordinate range).

  • JeffH@BMG
    JeffH@BMG Global Mapper Developer Trusted User

    OK, I dug into this, found the problem, and and consulted Mike. It's definitely a regression that caused a false overlap to be reported. Nothing to do with coordinates being out of range or anything; just an internal constant that changed and produced bad results in this context. I've fixed that, and that fix should be in the next 24.0 beta that we put out, slated for some time next week.

    I apologize for the side trip into spatial operations. The meaning of 'Overlaps' used in the Find Overlaps tool is not the same as that in the 'Overlaps' predicate used in spatial operations, which is something more like interiors intersect. I did check that sample file you posted, and it is working with spatial operations as designed. I won't go into details on that (unless you want), but the use case for the Find Overlapping Features tool is different from the use of the spatial operations too.

    Thanks for your patience, and for providing test data, which really helps.

    Cheers,

    ~Jeff

  • Hi Jeff & mike

    I have another question that is not a bug. but involves topology checking accuracy.which I hope will improve in the future.

    Use the intersect function in Spatial Operations (or use the crop and cut tools in digitizer tool). the result obtained will not exactly match the original data when zoomed in very large. unless the original data is manually inserted in advance. Intersection vertices. the generated results can be consistent with the position of the inserted intersection vertices.

    If the intersection function in the Spatial Operations (or use the crop and cut tools in digitizer tool) can automatically insert intersection vertices at the intersection of features. the calculation result can pass the topology quality check.



  • Why does the rectangle drawn in GM have 5 vertices instead of 4 vertices.

    4 vertices is the normal topology.

  • JeffH@BMG
    JeffH@BMG Global Mapper Developer Trusted User

    "Why does the rectangle drawn in GM have 5 vertices instead of 4 vertices.

    4 vertices is the normal topology."

    Software data structures that implement geometry doesn't necessarily use strict topological representation. It's often convenient to physically replicate the first point of a polygon as its endpoint. You can draw/transform/process the points simply and sequentially, rather needing to go back to the first element, and the storage overhead isn't that much. So long as the polygon acts topologically in its behaviors, its internal representation doesn't generally matter.

    With respect to inconsistencies among different tools, fixing those is a work in progress. We have a mix of at least two 3rd-party libraries that we use for various geometric operations, as well as our own implementations of processing algorithms. Making sure that they all agree at high precision can be tricky, and reimplementing existing algorithms with a different library/technique is not always trivial. It's ongoing for us. For example, this go-around, we re-implemented our Combine Selected Areas with the same tools we use for spatial operations Dissolve, which made it very much faster, though the results may not match exactly. In that vein, we appreciate when we can get concrete, real-world examples to help to guide us.

    Best,

    ~Jeff

  • bmg_mike
    bmg_mike Global Mapper Guru Moderator, Trusted User

    For further clarification on the rectangles, Global Mapper doesn't care if an area feature has the first and last point the same as it will automatically close the geometry as necessary. However, some other software packages do expect area features to have a duplicate first and last vertex, so in order to be compatible with the maximum number of other applications when data is exported, we automatically add the 5th vertex when drawing a rectangle.

    If you load data into GM, it will NOT add any extra vertices other than what is specified in the data. On export, if a format requires areas to be closed (or not), we will adjust the geometry to fit the requirements of the export format.

    If this is a big deal, it would be a simple matter to add an option for this. I checked the code and it looks like the rectangles have been closed since the feature was first added 20 years ago or so.

    Thanks,

    Mike

    Global Mapper Guru

  • Thanks Mike and Jeff for your patience answers.

    I use ARCGIS (ARCMAP) to check the topology correctness of vector data.

    I think some of the functions in GM can also be used to check the correctness of the topology. but there is no function to find line features for self -overlap. I hope to gradually add related functions in the future.


  • JeffH@BMG
    JeffH@BMG Global Mapper Developer Trusted User

    That's a really interesting set of rules. I can definitely see the utility of having a rule-based system for validating data sets. I previously worked at a company that had a significant data making effort, and one of the tasks of our group (I wasn't directly involved) was setting up an overnight process for checking the day's CAD-ed data for topological errors and other potential errors. Some of the spatial predicates could certainly be put to use in such a system, pretty much as-is, others would need to be added.

    Best regards,

    ~Jeff

  • The ArcGIS Data Reviewer module can even detect acute angle vector data. This is also a very useful function. Worth learning.