Skip to content
  • David.Zhao's avatar
    43dceffd
    WL#7224 : Spatial Relation Check Functions Depending on Boost Geometry Extensions · 43dceffd
    David.Zhao authored
    Implement the rest of parameter type combinations of each spatial relation check
    function using Boost.Geometry. Such combinations had to rely on old GIS algrithm
    because the older version of Boost.Geometry lacked support for them.
    
    We did so by calling Boost.Geometry algrithm functions directly if available,
    or indirectly by implementing the check algorithms using other BG functions,
    and we used boost.geometry rtree index as necessary for better efficiency.
    
    Empty geometry collections are well supported as arguments for any
    spatial relation check functions. Normal geometry collections are supported in
    all spatial relation check functions except ST_Touches, ST_Overlaps and ST_Crosses.
    
    Now no MySQL GIS relation check functions rely on old GIS algorithms anymore.
    
    Implemented the following relation checks with an algorithm of O(NlogM) time complexity,
    where N and M are the number of components of the multipoint and the other multi-geometry
    respectively.
    
    	multipoint disjoint multipolygon
    	multipoint disjoint multilinestring
    	multipoint within multipolygon
    	multipoint within geometry-collection
    43dceffd
    WL#7224 : Spatial Relation Check Functions Depending on Boost Geometry Extensions
    David.Zhao authored
    Implement the rest of parameter type combinations of each spatial relation check
    function using Boost.Geometry. Such combinations had to rely on old GIS algrithm
    because the older version of Boost.Geometry lacked support for them.
    
    We did so by calling Boost.Geometry algrithm functions directly if available,
    or indirectly by implementing the check algorithms using other BG functions,
    and we used boost.geometry rtree index as necessary for better efficiency.
    
    Empty geometry collections are well supported as arguments for any
    spatial relation check functions. Normal geometry collections are supported in
    all spatial relation check functions except ST_Touches, ST_Overlaps and ST_Crosses.
    
    Now no MySQL GIS relation check functions rely on old GIS algorithms anymore.
    
    Implemented the following relation checks with an algorithm of O(NlogM) time complexity,
    where N and M are the number of components of the multipoint and the other multi-geometry
    respectively.
    
    	multipoint disjoint multipolygon
    	multipoint disjoint multilinestring
    	multipoint within multipolygon
    	multipoint within geometry-collection
Loading