Understanding Join Attributes by Location in QGIS?

Join Attributes by Location concatenates the following set of methods to compare geometries:

  • intersects if the intersection of both geometries is not empty

    intersection

  • contains if the second geometry is completely contained into the first one

    contains

  • disjoint if the intersection of both geometries is the empty set

    disjoint

  • equals if they are spatially identical

    equals

  • touches if the only points in common between both geometries lie in the union of their boundaries

    touches

  • overlaps if the intersection of both geometries results in a value of the same dimension of both geometries and is different from both the first and the second geometry

    overlaps

  • within if the first geometry is completely contained into the second one

    within

  • crosses if the intersection of both geometries results in a value whose dimension is less than the maximum dimension of both geometries and the intersection value includes points interior to both geometries, and the intersection value is not equal to either the first or the second geometry

    crosses


References:

  • A quick tutorial to SpatiaLite | 4.2 Evaluating relationships between geometries
  • boundlessgeo/workshops/postgis/source/en/spatial_relationships
  • GIS Geography | How Spatial Join Works in GIS

Don't think the QGIS docs has something as detailed as what is shown in the link in your comment (here is the link for English speakers). I would assume the terminology would be pretty much similar if not the same.

However, the tool uses the QgsGeometry Class which for each geometric predicate has the following basic description:

  • intersects - Test for intersection with a geometry (uses GEOS)
  • contains - Test for if geometry is contained in another (uses GEOS)
  • disjoint - Test for if geometry is disjoint of another (uses GEOS)
  • equals - Test for if geometry equals another (uses GEOS)
  • touches - Test for if geometry touch another (uses GEOS)
  • overlaps - Test for if geometry overlaps another (uses GEOS)
  • within - Test for if geometry is within another (uses GEOS)
  • crosses - Test for if geometry crosses another (uses GEOS)

To elaborate on the answers given above, the geometric predicates of QGIS (via GEOS) utilise the spatial predicate definitions of DE-9IM. The following link provides the detailed explanation of each of the common predicates: https://en.wikipedia.org/wiki/DE-9IM#Spatial_predicates