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, measured in degrees counterclockwise from horizontal |
TEXT_HT_GROUND |
The text height, measured in ground units |