# Geometric data types

All feature types are presented in British National Grid (BNG) as one of the four data types specified below:

## GM\_Point (Point) <a href="#id-3.5.1-gm_point-point" id="id-3.5.1-gm_point-point"></a>

A point is used to specify a single x,y location by a coordinate pair in a given spatial reference system.

### **Example**

A point defined in the BNG reference system has easting and northing ordinates in units of metres, where the easting is in the range of 0 to 700000 and the northing is in the range of 0 to 1300000. Coordinates are output to millimetre precision and are output in the data as float64 real types.

<figure><img src="/files/Qk2sL6kU1wvNktfEJQjR" alt="An example of a point data type." width="176"><figcaption><p>An example of a point data type.</p></figcaption></figure>

#### **Example class model**

<figure><img src="/files/rjPROlPMszzLUuchU7dY" alt="An example class model for  a point data type."><figcaption><p>An example class model for a point data type.</p></figcaption></figure>

## GM\_Curve (Polyline) <a href="#id-3.5.2-gm_curve-polyline" id="id-3.5.2-gm_curve-polyline"></a>

A polyline is an ordered set of points that are interpolated linearly. A polyline may not intersect itself or contain repeated points.

### **Example**

<figure><img src="/files/hKh0PTYW6c1BQP7j3APD" alt="An example of a GM Curve (polyline) data type."><figcaption><p>An example of a GM Curve (polyline) data type.</p></figcaption></figure>

**Example class model**

<figure><img src="/files/5QtL2WcuHVvR5MTYwVUR" alt="An example class model for a GM Curve (polyline) data type."><figcaption><p>An example class model for a GM Curve (polyline) data type.</p></figcaption></figure>

## GM\_MultiCurve (Multiline) <a href="#id-3.5.3-gm_multicurve-multiline" id="id-3.5.3-gm_multicurve-multiline"></a>

A multiline is a collection of polyline geometries. There are no specific semantics or rules applied to the collection.

### **Example**

<figure><img src="/files/ba9yfgrF5hpjrw2Lev7r" alt="An example of a GM MultiCurve (multiline) data type."><figcaption><p>An example of a GM MultiCurve (multiline) data type.</p></figcaption></figure>

**Example class model**

<figure><img src="/files/6TpLvbgZyyOF7iRxde4l" alt="An example class model for a GM MultiCurve (multiline) data type."><figcaption><p>An example class model for a GM MultiCurve (multiline) data type.</p></figcaption></figure>

## GM\_Surface (Polygon) <a href="#id-3.5.4-gm_surface-polygon" id="id-3.5.4-gm_surface-polygon"></a>

A polygon is a single closed region on the spatial reference system projection plane, defined by a set of geometric rings that represent the boundaries. A polygon has one outer boundary and zero or more inner boundaries (holes in the polygon). The inner boundaries must not cross each other or contain other inner boundaries. Coordinates in outer boundaries are oriented in an anticlockwise direction; coordinates in inner boundaries are oriented in a clockwise direction.

### **Example**<br>

<figure><img src="/files/QL8EittUiVvATy7gdumA" alt="An example of a GM Surface (polygon) data type." width="461"><figcaption><p>An example of a GM Surface (polygon) data type.</p></figcaption></figure>

**Example class model**

<figure><img src="/files/LUiiT6cpwEmInUcNI8Xt" alt="An example class model for a GM Surface (polygon) data type." width="392"><figcaption><p>An example class model for a GM Surface (polygon) data type.</p></figcaption></figure>


---

# 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://docs.os.uk/os-downloads/products/maps-and-imagery-portfolio/os-mastermap-topography-layer/os-mastermap-topography-layer-technical-specification/geometric-data-types.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.
