## Expand description

The `geo-types`

library provides geospatial primitive types for the GeoRust ecosystem.

In most cases, you will only need to use this crate if you’re a crate author and want
compatibility with other GeoRust crates. Otherwise, the `geo`

crate re-exports these types and provides geospatial algorithms.

## Types

: A two-dimensional coordinate. All geometry types are composed of`Coordinate`

`Coordinate`

s, though`Coordinate`

itself is not a`Geometry`

type.: A single point represented by one`Point`

`Coordinate`

: A collection of`MultiPoint`

`Point`

s: A line segment represented by two`Line`

`Coordinate`

s: A series of contiguous line segments represented by two or more`LineString`

`Coordinate`

s: A collection of`MultiLineString`

`LineString`

s: A bounded area represented by one`Polygon`

`LineString`

exterior ring, and zero or more`LineString`

interior rings: A collection of`MultiPolygon`

`Polygon`

s: An axis-aligned bounded rectangle represented by minimum and maximum`Rect`

`Coordinate`

s: A bounded area represented by three`Triangle`

`Coordinate`

vertices: A collection of`GeometryCollection`

`Geometry`

s: An enumeration of all geometry types, excluding`Geometry`

`Coordinate`

## Semantics

The geospatial types provided here aim to adhere to the OpenGIS Simple feature access standards. Thus, the types here are inter-operable with other implementations of the standards: JTS, GEOS, etc.

## Features

The following optional Cargo features are available:

`approx`

: Allows geometry types to be checked for approximate equality with approx`arbitrary`

: Allows geometry types to be created from unstructured input with arbitrary`serde`

: Allows geometry types to be serialized and deserialized with Serde`use-rstar_0_8`

: Allows geometry types to be inserted into rstar R*-trees (`rstar v0.8`

)`use-rstar_0_9`

: Allows geometry types to be inserted into rstar R*-trees (`rstar v0.9`

)

## Macros

Creates a `Coordinate`

from the given scalars.

Creates a `LineString`

containing the given coordinates.

## Structs

A lightweight struct used to store coordinates on the 2-dimensional Cartesian plane.

A collection of `Geometry`

types.

A line segment made up of exactly two
`Coordinate`

s.

An ordered collection of two or more `Coordinate`

s, representing a
path between locations.

A collection of
`LineString`

s. Can
be created from a `Vec`

of `LineString`

s or from an
Iterator which yields `LineString`

s. Iterating over this
object yields the component `LineString`

s.

A collection of `Point`

s. Can
be created from a `Vec`

of `Point`

s, or from an
Iterator which yields `Point`

s. Iterating over this
object yields the component `Point`

s.

A collection of `Polygon`

s. Can
be created from a `Vec`

of `Polygon`

s, or from an
Iterator which yields `Polygon`

s. Iterating over this
object yields the component `Polygon`

s.

A single point in 2D space.

A `Point`

iterator returned by the `points`

method

A bounded two-dimensional area.

An *axis-aligned* bounded 2D rectangle whose area is
defined by minimum and maximum `Coordinate`

s.