1 geo.equals

Returns TRUE if both objects have the same border and the same inside.

<geo.equals>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.equals>
Example
Copy
<select>
    <columns>
       <geo.equals>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.equals>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

2 geo.touches

Returns TRUE if the geometries have at least one point in common, but the insides do not intersect.

<geo.touches>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.touches>
Example
Copy
<select>
    <columns>
       <geo.touches>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.touches>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

3 geo.overlaps

Returns TRUE if the geometries share space, if they are of the same dimension but they are not completely one inside the other.

<geo.overlaps>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.overlaps>
Example
Copy
<select>
    <columns>
       <geo.overlaps>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.overlaps>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

4 geo.covers

Returns TRUE if no point in the geom2 geometry is outside the geom1 geometry.

<geo.covers>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.covers>
Example
Copy
<select>
    <columns>
       <geo.covers>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.covers>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

5 geo.coveredBy

Returns TRUE if no point in the geom1 geometry is outside the geom2 geometry.

<geo.coveredBy>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.coveredBy>
Example
Copy
<select>
    <columns>
       <geo.coveredBy>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.coveredBy>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

6 geo.contains

Returns TRUE, if and only if, no point of geom2 is located on the outside of geom1, and at least one point inside of geom2 is located on the inside of geom1. In other words, TRUE will be returned if the inside and the edge of geom2 is completely located inside of geom1.

<geo.contains>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.contains>
Example
Copy
<select>
    <columns>
       <geo.contains>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.contains>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

7 geo.within

Returns TRUE if the geometry geom1 is completely inside of geom2.

<geo.within>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.within>
Example
Copy
<select>
    <columns>
       <geo.within>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.within>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

8 geo.intersects

Returns TRUE if the geometries share any portion of the space, that is, if they are not disjoint.

<geo.intersects>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.intersects>
Example
Copy
<select>
    <columns>
       <geo.intersects>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.intersects>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>

9 geo.disjoint

Returns TRUE if the geometries do not share any space points.

<geo.disjoint>
    <geom1> *
        <geom1 /> *
    </geom1>
    <geom2> *
        <geom2 /> *
    </geom2>
</geo.disjoint>
Example
Copy
<select>
    <columns>
       <geo.disjoint>
            <geom1>geometry_col_1</geom1>
            <geom2>geometry_col_2</geom2>
       </geo.disjoint>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>