How the ST_ISEMPTY() function works in MariaDB?

The ST_ISEMPTY() function in MariaDB is used to determine whether a given geometry is empty or not.

Posted on

The ST_ISEMPTY() function in MariaDB is used to determine whether a given geometry is empty or not. It is a part of the spatial extension in MariaDB, which provides a set of functions and operations for working with spatial data types.

Syntax

The syntax for the MariaDB ST_ISEMPTY() function is as follows:

ST_ISEMPTY(g)
  • g: The geometry value to be checked for emptiness.

The function returns 1 if the geometry is empty, and 0 if it is not empty.

Examples

Example 1: Checking if a point is empty

This example demonstrates how to check if a point geometry is empty.

SELECT ST_ISEMPTY(POINT(1, 1));

The following is the output:

0

Since the point geometry (1, 1) is not empty, the function returns 0.

Example 2: Checking if a polygon is empty

This example shows how to check if a polygon geometry is empty.

SELECT ST_ISEMPTY(ST_POLYGONFROMTEXT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));

The following is the output:

0

The polygon defined by the coordinates (0 0, 10 0, 10 10, 0 10, 0 0) is not empty, so the function returns 0.

Example 3: Checking if an empty geometry is empty

This example demonstrates how to check if an empty geometry is indeed empty.

SELECT ST_ISEMPTY(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'));

The following is the output:

1

The GEOMETRYCOLLECTION() is an empty geometry collection, and the function correctly identifies it as empty, returning 1.

Example 4: Checking if a linestring is empty

This example shows how to check if a linestring geometry is empty.

SELECT ST_ISEMPTY(ST_GEOMFROMTEXT('LINESTRING(1 1, 2 2, 3 3)'));

The following is the output:

0

The linestring defined by the coordinates (1 1, 2 2, 3 3) is not empty, so the function returns 0.

Example 5: Checking if a geometry collection with empty and non-empty geometries is empty

This example demonstrates how to check if a geometry collection containing both empty and non-empty geometries is empty.

SELECT ST_ISEMPTY(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING())'));

The following is the output:

0

The geometry collection contains a non-empty point geometry (1, 1) and an empty linestring geometry. Since it contains at least one non-empty geometry, the function returns 0, indicating that the overall collection is not empty.

The following are some functions related to the MariaDB ST_ISEMPTY() function:

  • MariaDB ST_GEOMETRYTYPE() function is used to get the geometry type of a given geometry.
  • MariaDB ST_ISSIMPLE() function is used to check if a given geometry is simple.
  • MariaDB ST_ISVALID() function is used to check if a given geometry is valid.
  • MariaDB ST_DIMENSION() function is used to get the dimension of a given geometry.
  • MariaDB ST_SRID() function is used to get the spatial reference system identifier (SRID) of a given geometry.

Conclusion

The ST_ISEMPTY() function in MariaDB is a useful tool for working with spatial data. It allows you to determine whether a given geometry is empty or not, which can be helpful in various spatial data processing and analysis tasks. By understanding the syntax and examples provided, you can effectively utilize this function in your spatial queries and operations.