# Geometry Constructors

- [BUFFER](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/buffer.md): Returns a geometry representing all points within a given distance of the geometry value. This function calculates a buffer zone around the spatial object.
- [CONVEXHULL](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/convexhull.md): Returns a geometry representing the convex hull of the given geometry value. It computes the smallest convex polygon that contains the entire geometry.
- [GEOMETRYCOLLECTION](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/geometrycollection.md): Constructs a GeometryCollection value from a list of WKB arguments. This function creates a collection containing multiple geometry objects.
- [LINESTRING](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/linestring.md): Constructs a LineString value from a number of Point values. It creates a linear geometry connecting the specified coordinate points.
- [MULTILINESTRING](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/multilinestring.md): Constructs a MultiLineString value from a list of WKB LineString arguments. This function creates a collection of multiple line strings.
- [MULTIPOINT](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/multipoint.md): Constructs a MultiPoint value from a list of WKB Point arguments. It creates a geometry collection consisting of multiple individual points.
- [MULTIPOLYGON](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/multipolygon.md): Constructs a MultiPolygon value from a list of WKB Polygon arguments. This function creates a geometry collection containing multiple polygons.
- [POINT](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/point.md): Constructs a Point value using its coordinates. This basic constructor creates a point geometry from given X and Y (and optionally Z/M) values.
- [PointOnSurface](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/pointonsurface.md): Returns a Point which is guaranteed to lie on the surface of the given geometry. This is useful for labeling or finding a representative point inside a polygon.
- [POLYGON](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/polygon.md): Constructs a Polygon value from a list of WKB LineString arguments. It defines a filled shape using an outer ring and optional inner rings (holes).
- [ST\_BUFFER](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_buffer.md): Returns a geometry representing all points within a given distance of the geometry. This standard-compliant function creates a buffer zone around the object.
- [ST\_CONVEXHULL](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_convexhull.md): Returns a geometry representing the convex hull of the given geometry. This standard function computes the smallest convex polygon enclosing the geometry.
- [ST\_INTERSECTION](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_intersection.md): Returns a geometry representing the point set intersection of two geometries. It outputs the spatial region shared by both input objects.
- [ST\_POINTONSURFACE](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_pointonsurface.md): Returns a Point guaranteed to lie on the surface of the given geometry. This standard function finds a representative point strictly within the geometry's area.
- [ST\_SYMDIFFERENCE](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_symdifference.md): Returns a geometry representing the point set symmetric difference of two geometries. It outputs the spatial area present in either geometry but not in both.
- [ST\_UNION](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_union.md): Returns a geometry representing the point set union of two geometries. This function merges multiple spatial objects into a single geometry.
- [ST\_AsGeoJSON](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/geojson-st_asgeojson.md): Generates a GeoJSON object from a given geometry. This function converts internal geometry data into the standard JSON-based format for web mapping.
- [ST\_GeomFromGeoJSON](https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors/st_geomfromgeojson.md): Parses a GeoJSON string and returns a geometry. This function converts a standard GeoJSON representation into a MariaDB geometry value.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/server/reference/sql-statements/geometry-constructors/geometry-constructors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
