Hi Larry,

Nice that you found the right matrix.
When relation is commutative,
I usually use the following pattern to avoid computing twice :
if (A.getID() < B.getID()) {
    if (A relate B) {
        setRelation(A,B)
        setRelation(B,A)
    }
}

Michaël

Thanks Michaël. I'm using "FF2F01212" for polygons, which seems to work well, and doesn't break the line or point cases. Calculating the intersection matrix with relate was slower than just doing intersects, but I was able to look at my algorithm and add some adjacency caching which made the whole thing 2X faster, so all was for the best.


    -lreeder

On Sun, Sep 21, 2014 at 8:15 AM, Michael Michaud <m.michael.mich...@orange.fr <mailto:m.michael.mich...@orange.fr>> wrote:

    Hi Larry,
    I was using "intersect", and I tried "crosses", but that didn't
    work.  I'm taking a look at relate now, although I'm having a
    hard time deciphering DE-9IM.
    I agree it is not very intuitive.
    To solve the problem for homogeneous geometries (same dimension),
    I would try the folowing
    - for linestring : create relation if linestrings intersect in any
    way to try to have different colors either if lines touch, cross
    or overlap each other
    - for polygons : create relation if polygon interiors intersect in
    any way (overlap, include, is included : |T********|) or if
    boundaries intersection has dimension 1 (|****1****|), excluding
    polygons touching at one or several points.
    For heterogeneous geometries, intersects is probably a good guess

    ...until Jukka find a counter-example :-)

    Michaël

     -lreeder

    On Sat, Sep 20, 2014 at 1:38 PM, Michael Michaud
    <m.michael.mich...@orange.fr
    <mailto:m.michael.mich...@orange.fr>> wrote:

        Hi Larry,

        Do you compute relations between geomeries with intersect
        predicate ?
        I wonder if you could remove edges between polygons adjacent
        at one point
        from the graph by using relate operator (which makes it
        possible to check
        intersection dimension).

        Michaël
        Hey Jukka,

        Just got a chance to look at this.   The region that is not
        coloring is interesting.



          It's like a pizza sliced into six pieces, each touching at
        the point.   You can't color this portion of the map with
        only five colors without two adjacent (maybe just adjacent
at one point in the enter) regions having the same color. In graph-theory terms, the graph is "non-planar" and can't
        be colored correctly with the five-color theorem.  The map
        coloring plugin detects this and refuses to color this
        portion of the map.

        From a practical standpoint, you probably don't care that
        regions touching at a single point have the same color, as
        long as they don't share a color along a long edge.   I'll
        look at updating the plugin to detect this and continue
        coloring.

         -lreeder



        On Mon, Sep 15, 2014 at 7:15 AM, Rahkonen Jukka (Tike)
        <jukka.rahko...@mmmtike.fi
        <mailto:jukka.rahko...@mmmtike.fi>> wrote:

            Hi,

            I found a shapefile from which some polygons are not
            colored with the Map coloring plugin v. 0.4.  Shapefile
            does not have topology errors but some multipolygons
            have quite a many parts because of archipelago. However,
            exploding multipolygons into polygons does not change
            the behaviour. The problematic shapefile can be found
            from http://latuviitta.org/downloads/ojmapcolor_error.zip

            Error appears always in the same place in South-West.
            For example features with OGR_FID=180 or 234 stays
            without color.

            -Jukka Rahkonen-

            
------------------------------------------------------------------------------
            Want excitement?
            Manually upgrade your production database.
            When you want reliability, choose Perforce
            Perforce version control. Predictably reliable.
            
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
            _______________________________________________
            Jump-pilot-devel mailing list
            Jump-pilot-devel@lists.sourceforge.net
            <mailto:Jump-pilot-devel@lists.sourceforge.net>
            https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel




        
------------------------------------------------------------------------------
        Slashdot TV.  Video for Nerds.  Stuff that Matters.
        
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk


        _______________________________________________
        Jump-pilot-devel mailing list
        Jump-pilot-devel@lists.sourceforge.net  
<mailto:Jump-pilot-devel@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


        
------------------------------------------------------------------------------
        Slashdot TV.  Video for Nerds.  Stuff that Matters.
        
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
        _______________________________________________
        Jump-pilot-devel mailing list
        Jump-pilot-devel@lists.sourceforge.net
        <mailto:Jump-pilot-devel@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel




    
------------------------------------------------------------------------------
    Slashdot TV.  Video for Nerds.  Stuff that Matters.
    http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk


    _______________________________________________
    Jump-pilot-devel mailing list
    Jump-pilot-devel@lists.sourceforge.net  
<mailto:Jump-pilot-devel@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


    
------------------------------------------------------------------------------
    Slashdot TV.  Video for Nerds.  Stuff that Matters.
    http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
    _______________________________________________
    Jump-pilot-devel mailing list
    Jump-pilot-devel@lists.sourceforge.net
    <mailto:Jump-pilot-devel@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel




------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk


_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to