OS (GB) NTF Feature Representation

Features read from NTF consist of their geometry and a series of attribute values. Some features such as FEATURE_CLASSES have no geometry. The FME feature type is determined by the type of NTF record and the specific product from which the feature is extracted.

Product Schemas

The NTF reader considers a folder of NTF files to be a single dataset.

All files in the folder are scanned on opening to determine which NTF product they contain.

For each particular product listed below, a set of layers is created. However, these layers may be extracted from several files of the same product.

The layers are based on a low-level feature type in the NTF file, and generally contain features of many different feature codes (FEAT_CODE attribute). Different features within a given layer may have a variety of attributes in the file, however, the schema is established based on the union of all possible attributes within features of a particular type.

If an NTF product is read that doesn't match one of the known schemas, it will go through a generic handler that has only layers of the GENERIC_POINT and GENERIC_LINE types. In such a case, the features will only have a FEAT_CODE attribute.

Product Names

  • Landline
  • Strategi
  • Meridian
  • BaseData.GB
  • BoundaryLine
  • Panorama Contours
  • OSCAR Asset/Traffic
  • OSCAR Network
  • Address Point
  • Code Point
  • Code Point Plus

The following values are recognized by the code:

  • ADDRESS_POI
  • BaseData.GB
  • CODE_POINT
  • L-F_PROFILE_CON
  • L-F_PROFILE_DTM
  • LAND-LINE
  • Meridian_01
  • Meridian_02
  • OS_LANDRANGER_CONT
  • OS_LANDRANGER_DTM
  • OSCAR_ASSET
  • OSCAR_NETWO
  • OSCAR_TRAFF
  • OSCAR_ROUTE
  • Strategi

If the code does not recognize the product, the data will be given a generic product based on geometry:

  • GENERIC_POINT
  • GENERIC_LINE
  • GENERIC_NAME
  • GENERIC_TEXT
  • GENERIC_POLY
  • GENERIC_NODE
  • GENERIC_COLLECTION

Product Types

The following is a list of product types and the FME feature types that they contain. Note that the feature type does not indicate which specific file the feature came from. For instance, if several Landline files are translated at once, features from all the files will be generically treated as LANDLINE_POINT, LANDLINE_LINE, or LANDLINE_NAME. When necessary, the source tile of a feature can be identified via the TILE_REF attribute attached to almost all NTF features.

NTF Product Type

Feature Type

Landline and Landline Plus

LANDLINE_POINT

LANDLINE_LINE

LANDLINE_NAME

FEATURE_CLASSES

Panorama Contours

PANORAMA_POINT

PANORAMA_CONTOUR

FEATURE_CLASSES

HEIGHT attribute holds elevation.

Strategi

STRATEGI_POINT

STRATEGI_LINE

STRATEGI_TEXT

STRATEGI_NODE

FEATURE_CLASSES

Meridian

MERIDIAN_POINT

MERIDIAN_LINE

MERIDIAN_TEXT

MERIDIAN_NODE

FEATURE_CLASSES

Boundary Line

BOUNDARYLINE_LINK

BOUNDARYLINE_POLY

BOUNDARYLINE_COLLECTIONS

FEATURE_CLASSES

The _POLY layer has links to links that allow true polygons to be formed, otherwise the _POLYs only have a seed point for geometry.

The collections are collections of polygons, also without geometry as read. This is the only product from which polygons can be constructed.

Boundary Line 2000

BOUNDARYLINE_LINK

BOUNDARYLINE_POLY

BOUNDARYLINE_COLLECTIONS

FEATURE_CLASSES

The _POLY layer has links to links that allow true polygons to be formed, otherwise the _POLYs only have a seed point for geometry.

The collections are collections of polygons, also without geometry as read. This is the only product from which polygons can be constructed.

BaseData.GB

BASEDATA_POINT

BASEDATA_LINE

BASEDATA_TEXT

BASEDATA_NODE

FEATURE_CLASSES

OSCAR Asset/Traffic

OSCAR_POINT

OSCAR_LINE

OSCAR_NODE

FEATURE_CLASSES

OSCAR Network

OSCAR_NETWORK_POINT

OSCAR_NETWORK_LINE

OSCAR_NETWORK_NODE

OSCAR_COMMENT

FEATURE_CLASSES

OSCAR Route

OSCAR_ROUTE_POINT

OSCAR_ROUTE_LINE

OSCAR_ROUTE_NODE

OSCAR_COMMENT

FEATURE_CLASSES

Address Point

ADDRESS_POINT

Code Point

CODE_POINT

Code Point Plus

CODE_POINT_PLUS

Generic—only a subset of these appears in any given generic dataset

GENERIC_POINT

GENERIC_LINE

GENERIC_TEXT

GENERIC_NAME

GENERIC_NODE

GENERIC_COLLECTION

GENERIC_POLY

FEATURE_CLASSES

Specific Feature Type Notes

The following list provides information specific to each of the feature types read by the NTF reader.

  • *_POINT: Contains a point feature with a POINT_ID attribute containing the identifier (id) for the feature.
  • *_LINE: Contains a line feature with a LINE_ID attribute containing the id for the feature.
  • *_CONTOUR: Same as _LINE, but specific to contour products. Elevation is in the HEIGHT field and the id is in the LINE_ID field.
  • *_NAME: Contains a textual feature with positioning, size, orientation, and font information. The feature id is in the NAME_ID field.
  • *_TEXT: Similar to _NAME features, but the id is in the TEXT_ID field.
  • *_NODE: A point feature with a list of _LINE feature ids starting or ending at the node in the GEOM_ID_OF_LINK list field. The DIR field indicates the direction of each line. This could potentially be used for routing, but is generally ignored.
  • *_COMMENT: Contains indication of a feature (RECORD_ID) and type (RECORD_TYPE) that have been updated in this product release, as well as an indication of the change (CHANGE_TYPE).
  • *_POLY: Contains a polygon feature. Note that the polygon geometry for these features is generated by the processing pipeline, and that the “uncooked” features have no geometry or, in some cases, just an inside point.
  • BOUNDARYLINE_COLLECTIONS: An aggregate of polygons representing an administrative region.
  • GENERIC_COLLECTIONS: The feature contains references to other features and some attributes of the grouping. Due to the nature of these collections, it isn't possible to generically aggregate them.
  • FEATURE_CLASSES: These features relate a feature code string (FEAT_CODE) such as 4001 with a feature class description of string. The standard processing pipeline automatically uses these features to add an FC_NAME attribute to all features with the long description corresponding to their feature code.
  • DTM_*: Raster DTM pixels are translated into point features. The FME feature type is established by appending the tile name, normally part of the file name, to DTM_*. That is, unlike all other NTF features, the feature type of raster DTM points is based on the file name. The point elevation is in the HEIGHT attribute.

Special Attributes

Several feature types use special attributes to hold source data information. The table below lists the special attribute names used and provides a description of their contents.

Special Attribute Name

Description

FEAT_CODE

This general feature code integer can be used to look up a name in the FEATURE_CLASSES layer or table.

TEXT_ID

POINT_ID

LINE_ID

NAME_ID

COLL_ID

POLY_ID

GEOM_ID

This is the unique identifier for a feature of the appropriate type.

TILE_REF

All layers except FEATURE_CLASSES contain a TILE_REF attribute that indicates from which tile, or file, the features came. Generally speaking, the id numbers are only unique within the tile, so the TILE_REF can be used to restrict id links within features from the same file.

FONT

TEXT_HT

DIG_POSTN

ORIENT

This provides the detailed information on the font, text height, digitizing position, and orientation of text, or name, objects. Review the Ordnance Survey (OS) product manuals to understand the units and the meaning of these codes.

GEOM_ID_OF_POINT

For _NODE features, this defines the POINT_ID of the point layer object to which this node corresponds. Generally speaking, the nodes don't carry a geometry of their own. The node must be related to a point to establish its position.

GEOM_ID_OF_LINK

This is a _list_ of _LINK or _LINE features to end or start at a node. Nodes and this field are generally only of value when establishing connectivity of line features for network analysis. Note that this should be related to the target features GEOM_ID, not its LINE_ID.

On the BOUNDARYLINE_POLY layer, this attribute contains the GEOM_IDs of the lines that form the edge of the polygon.

POLY_ID

This is a list of POLY_IDs from the BOUNDARYLINE_POLY layer associated with a given collection in the BOUNDARYLINE_COLLECTIONS layer.

Points

ntf_type: ntf_point

Features with ntf_point as their ntf_type contain a two-dimensional (2D) point. There are no other attributes specific to this feature type.

ntf_type: ntf_point3d

Features with ntf_point3d as their ntf_type contain a three-dimensional (3D) point. There are no other attributes specific to this feature type.

Nodes

ntf_type: ntf_node

Features with ntf_node as their ntf_type contain a 2D point, which is a node in the dataset. There are no other attributes specific to this feature type.

Lines

ntf_type: ntf_line

Features with ntf_line as their ntf_type contain a 2D line and there are no other attributes specific to this feature type.

ntf_type: ntf_line3d

Features with ntf_line3d as their ntf_type contain a 3D line. There are no other attributes specific to this feature type.

Polygons

ntf_type: ntf_polygon

Features with ntf_polygon as their ntf_type contain a 2D closed polygon. There are no other attributes specific to this feature type.

Collections

ntf_type: ntf_collection

Features with ntf_collection as their ntf_type contain information pertaining to a collection of features.

Annotations

ntf_type: ntf_text

Features with ntf_text as their ntf_type contain a 2D insert point for an annotation feature. Such features have these attributes:

Attribute Name

Contents

TEXT

The annotation string to appear at the insert point

ORIENT

The orientation of the text

TEXT_HT_GROUND

The text height, measured in ground units