Data Types
The mapteksdk.data package provides an API that you can use to interact with the objects in the connected application. An object in a project may be a spatial object representing some entity in three dimensional space, such as a line or surface, or it may be something more abstract, such as a colour map.
Primitive types
Spatial objects are composed of lower order structures called primitives. The fundamental primitive is the point. A point is a location in space defined by Cartesian coordinates indicating the distance from the origin along the X, Y and Z axes. All other primitives are based on points. The following table lists the five primitive types:
Primitive | Definition | Visual representation | See also |
---|---|---|---|
Point | A single location in space. |
![]() |
Main topic: Points |
Edge | A line segment between two points. |
![]() |
Main topic: Edges |
Facet | A triangle defined by three points. The line segments between each pair of points are also edges. |
![]() |
Main topic: Facets |
Cell | A quadrilateral defined by four points. |
![]() |
Main topic: Cells |
Block | A cuboid defined by a centroid and a size in each dimension. |
![]() |
Main topic: Blocks |
Spatial object types
Spatial object types can be classified based on the primitive type functioning as the basic “building block” for that type. The following table summarises the main spatial object types that can be accessed via the Python SDK.
Class | Primitive | Definition | Visual example | See also |
---|---|---|---|---|
PointSet | Point | Representation of a “point cloud” — an arbitrary set of points in space, with no topological links between points. |
![]() |
Main topic: PointSet Class reference: PointSet |
Polyline | Edge | A sequence of edges defined by a sequence of points forming an open chain. |
![]() |
Main topic: Polyline Class reference: Polyline |
Polygon | Edge | A sequence of edges defined by a sequence of points forming a closed chain. |
![]() |
Main topic: Polygon Class reference: Polygon |
EdgeNetwork | Edge | An arbitrary collection of potentially disjoint edges, which may include polylines and/or polygons. An edge network is defined by a set of points and a set of edges connecting points. |
![]() |
Main topic: EdgeNetwork Class reference: EdgeNetwork |
Surface | Facet | A set of facets typically used to represent a objects with a surface area. Surfaces are also called triangulations, since they are made up of triangular facets. |
![]() |
Main topic: Surface Class reference: Surface |
GridSurface | Cell | An alternative to Surface for representing objects with a surface area using a grid of cells rather than facets. |
![]() |
Main topic: GridSurface Class reference: GridSurface |
Scan | Cell | Similar to a point set, but specialised to store point cloud data acquired from a laser scanner. Although visualised as a point cloud, scans store each point internally using spherical coordinates relative to the acquisition origin rather than Cartesian coordinates. |
![]() |
Main topic: Scan Class reference: Scan |
DenseBlockModel | Block | A block model constructed from a three dimensional grid of rectangular prism blocks all of which are the same size and shape. A DenseBlockModel’s extents are always completely filled with blocks. |
![]() |
Main topic: DenseBlockModel Class reference: DenseBlockModel |
SubblockedBlockModel | Block | A dense block model that allows blocks to contain smaller blocks, known as subblocks. |
![]() |
Main topic: SubblockedBlockModel Class reference: SubblockedBlockModel |
Text2D | Point (single) | A two-dimensional object containing custom text. As the text is two dimensional, it will never appear upside down or back to front regardless of the angle it is viewed from. |
![]() |
Main topic: Text2D Class reference: Text2D |
Text3D | Point (single) | A three-dimensional object containing custom text. This text can appear upside down or back to front depending on the angle from which it is viewed. The size of the text is based on the real-world size, so size is measured in metres |
![]() |
Main topic: Text3D Class reference: Text3D |
Marker | Point (single) | A three dimensional object that can be used to mark locations. You can give markers a shape from a list of predefined shapes or can use a Surface object to define their shape. |
![]() |
Main topic: Marker Class reference: Marker |
Drillhole | Point (single) | A representation of a drillhole. A drillhole’s spatial representation is defined in terms of its collar location. Multiple drillholes are collected together in a drillhole database. |
![]() |
Main topic: Drillholes Class reference: Class reference: Drillhole |
Non-spatial object types
Colour maps are non-spatial objects in that they do not have any geometry associated with them. The two kinds of colour maps are described in the table below.
Class | Definition | Visual example | See also |
---|---|---|---|
NumericColourMap | An object that assigns numbers to colours. These maps can be used to colour objects via user-defined properties which are defined on each primitive in an object. |
![]() |
Main topic: Colour Maps Class reference: NumericColourMap |
StringColourMap | An object that assigns strings to colours. These maps can be used to colour objects via user-defined properties which are defined for each primitive in an object. |
![]() |
Main topic: Colour Maps Class reference: StringColourMap |