2

In plain English what is the Dimensionally Extended nine-Intersection Model (DE-9IM)?

What is the meaning of each row/column in the matrix?

How can I use that information to build a relation matrix?

2
  • The Clementini papers referenced by Wikipedia are written in English (with math subtitles). I doubt a simple explanation of Clementini spatial calculus exists. Can you clarify what you're looking to accomplish? There's a lot of permutations for a generic answer.
    – Vince
    Dec 19, 2014 at 11:26
  • 1
    The duplicate does not specifically ask about the DE-9IM. It is being mention to one of the answers, without great detail as well. Voting to remove the duplicate flag
    – nickves
    Dec 14, 2015 at 14:16

1 Answer 1

5

If you want to understand the Dimensionally Extended nine-Intersection Model (DE-9IM) or Clementini Matrice, read Christian Stobl Dimensionally Extended Nine-Intersection Model (DE-9IM)(pdf). You can also read the explications in PostGIS: 4.3.6. Dimensionally Extended 9 Intersection Model (DE-9IM)

The method allows to create spatial filters to find relationships impossible to obtain by traditional methods.

If you want to learn it, use the JTS Topology Suite.

enter image description here

The Clementini resulting matrice:

enter image description here

Shows/means

  • that the intersection of the interior of the 2 polygons (Int,Int) is a polygon (dimension 2)

enter image description here

  • that the intersection of the interior of a Polygon with the exterior of the other (Int, Ext and Ext,Int) is a polygon (dimension 2)

enter image description here

  • that the intersection of the boundary of one polygon with the interior of the other (Int,Bdy and Bdy,Int) is a polyline (dimension 1)

enter image description here

  • that the intersection of the two polygons boundary (Bdy,Bdy) is a point (dimension 0)

enter image description here

  • if there is no intersection, the predicate in the matrix is F

Typically, you use a pattern to find the result: two lines that intersect on a line would be: '1*1***1**', for example

You can use this method in:

A second [theoretical] example may be that of a GIS analyst trying to locate all wharfs or docks that intersect a lake's boundary on a line and where only one end of the wharf is up on shore. In other words, where a wharf is within, but not completely within a lake, intersecting the boundary of a lake on a line, and where the wharf's endpoints are both completely within and on the boundary of the lake. The analyst may need to use a combination of spatial predicates to isolate the sought after features:

enter image description here

The pattern is 102101FF2

 #Identify wharfs partly on a lake's shoreline  
 SELECT a.lake_id, b.wharf_id  
 FROM lakes a, wharfs b  
 WHERE a.geom && b.geom  
 AND ST_Relate(a.geom, b.geom, '102101FF2');

There are many examples of patterns/Clementini Matrix in Dimensionally Extended Nine-Intersection Model (DE-9IM)(pdf)

"

Not the answer you're looking for? Browse other questions tagged or ask your own question.