2 Base data

Description hierarchy

<LandXML> Transfer file

<Units><Metric> Units (Metric)

<CoordinateSystem> Coordinate and elevation system


- <Start> Base point

<Project> Project


<Feature> "IM_codings" extension
type coding system

<Application> Application


<Author> Authors

- <Surfaces> Surface group


- <Surface> Surface



- <SourceData> Source Data




- <Boundaries> Boundary group





- <Boundary> Boundary






- <PointList2D> 2D point list




- <Breaklines> Breakline group





- <Breakline> Breakline






- <PointList3D> 3D point list






- <Feature> "IM_coding" extension
type coding breakline




- <DataPoints> Source data points





- <PntList3D> 3D point list





- <Feature> "IM_coding" extension
type coding data points



- <Definition> Surface description




- <Pnts> Vertices





- <P> Vertex




- <Faces> Faces





- <F> Face



- <Feature> "IM_soil" extension
soil (layer) properties



- <Feature> "IM_coding" extension
surface type coding


- <Feature> "IM_plan" extension
plan information

<FeatureDictionary> Extension definition dictionary

2.1 Contents

The base data contains the data points and breaklines of the source data, as well as the triangulated representation of mesh surfaces. The surface description contains the points used to form the surface (as vertices of the triangles in TIN)). Breaklines are not used to form surfaces, but if transferred under <Surface> as source data they shall coincide with the triangulation defining the surface, i.e. each pair of consecutive breakline points given in 3D coordinates, must match the coordinates of two vertices of a triangle (exactly, within the numeric precision of the exchange file).

Surface meshes are used for terrain or ground layer models (top surface of each layer) as described in this section. They are also used for terrain (visible surface) or structural models of roads, streets, railways, waterways and area structures, as described in sections 3 - 7.

Surfaces and source data is described as surface groups <Surfaces>, which are made of individual <Surface>-elements. The name of every surface group and the name of each surface within the same group are unique, the attributes desc and state are optional, but may be required in certain use cases.

Attributes of the surface group <Surfaces>:

- desc description e.g. [terrain model]
- name optional name e.g. [inframodel example]
- state state
[abandoned]
[destroyed]
[existing]
[proposed]


Attributes of the <Surface> element:

- name name, unique in surface group e.g. [ground surface]
- desc description
e.g. [contains triangle mesh, breaklines and data points]
- OID object ID number individual identifier in the file, e.g. [15]
- state state
[abandoned]
[destroyed]
[existing]
[proposed]


2.1.1 Plan information

For the surface description the project is divided into surface groups <Surfaces> with optional "IM_plan" extension. If the project consists of sub-projects that have different rates of progress, the plan contents of the file are divided into sub-projects according to the same division. The plan information contains the planName, planCode, the planState and the plan description planDesc. The plan state is described according to a scheme agreed on by the parties of the project.

Plan information "IM_plan" <Feature>

- name Optional name
e.g. [2]
- code Mandatory feature code
[IM_plan]
- source reference to source feature distionary by name
[inframodel]
plan attributes <Property>
- label [planName] plan name
value e.g. [Plan1]
- label [planCode] plan code value e.g. [12345-321]
- label [planState] plan state value Categories agreed on by parties of the projects, e.g. [zoning | preliminary plan | general plan | plan | construction plan | construction | maintenance | removal]
- label [planDesc] description of the plan
value additional information, e.g. [Part 1]



2.1.2 Current and planned surfaces

An existing surface is defined by setting the state of the <Surface> element to "existing". If it is proposed the state is set to "proposed". If all the surfaces within a surface group have the same state, it is possible to set the state on a higher level in the surface group <Surfaces>. The state for an individual surface is set if the constituent triangle meshes, data points and breaklines are is the same state.

2.1.3 Type coding

The type coding systems in inframodel file transfers are set in the header information. Type codes can be set for individual plan elements:

in the element <DataPoints> for source data points
in the element <BreakLine> for breaklines
in the element <Surface> for surfaces

Individual type codes are set primarily in parent elements, from which the child elements will inherit the values. Terrain points and breaklines are type coded using the terrainCoding and a coding description terrainCodingDesc. It is optional to set a surfaceCoding and a surface coding description surfaceCodingDesc for terrain points and breaklines. Surfaces are given a surfaceCoding and a surface coding description surfaceCodingDesc, and optionally terrainCoding and a coding description terrainCodingDesc. These both may be given an infraCoding and its description infraCodingDesc. Alternative type codings can be given using proprietaryInfraCoding and their descriptions proprietaryInfraCodingDesc where they both have prefix per proprietary coding systems named under Project element.

"IM_coding" <Feature> for terrain points and breaklines

- name optional name
e.g. [3]
- code mandatory feature code
[IM_coding]
- source reference to source feature distionary by name
[inframodel]
typecodes <Property>
- label [terrainCoding] terrain code
value code, e.g. [0]
- label [terrainCodingDesc] description of the terrain code
value description, e.g. [terrain point or breakline]
- label [surfaceCoding] surface code
value code, e.g. [201000]
- label [surfaceCodingDesc] description of the surface code value description, e.g. [Topmost surface]
- label [infraCoding] infra type code value code
e.g. [100]
- label [infraCodingDesc] description of infra type code value description
e.g. [Surface data point or breakline]
- label [proprietryInfraCoding] additional or alternative infra type code value code
e.g. in system by organisation Y [y:3.2]
- label [proprietaryInfraCodingDesc] description of additional or alternative type code value description
e.g. [y:Ground surface]


"IM_coding" <Feature> of surfaces

- name optional name
e.g. [4]
- code mandatory feature code
[IM_coding]
- source reference to source feature distionary by name
[inframodel]
typecodes <Property>
- label [terrainCoding] terrain coding
value code, e.g. [0]
- label [terrainCodingDesc] description of terrain coding value description, e.g. [Surface data point or breakline]
- label [surfaceCoding] surface code
value code, e.g. [201000]
- label [surfaceCodingDesc] description of surface code value description, e.g. [Topmost surface]
- label [infraCoding] infra type code value code
e.g. [100]
- label [infraCodingDesc] description of infra type code value description
e.g. [Surface data point or breakline]
- label [proprietryInfraCoding] additional or alternative infra type code value code
e.g. in system by organisation Y [y:3.2]
- label [proprietaryInfraCodingDesc] description of additional or alternative type code value description
e.g. [y:Ground surface]



2.2 Source data

The source data is described by the element <SourceData>. This element has no attributes.


Source data consists of:

Source data points <DataPoints> and
Breaklines <BreakLines>

2.2.1 Data points

Source data points are described by the element <DataPoints>, sorting every point group into individual elements. Their attributes are:

- name name [name of point group]
- state state
[abandoned]
[destroyed]
[existing]
[proposed]


The point group is classified by IM_coding. The individual data points in the <DataPoints> point group are presented as a 3D coordinate list in the <PntList3D> element, values separated by spaces

<PntList3D>northing1 easting1 elevation1 northing2 easting2 elevation2...</PntList3D>



2.2.2 Breaklines

In the breakline group <BreakLines>, where each <BreakLine> is presented in its own element. The breakline group has no attributes. In <BreakLine> the breakline type brkType defines the use in software.

Attributes of an individual <BreakLine>:

- brkType breakline type [standard]
[wall]
[proximity]
[nondestructive]
- desc description
- name optional name

- state state
[abandoned]
[destroyed]
[existing]
[proposed]


Breaklines are classified by IM_coding and they can be given individual names. The constituent points of a <BreakLine> are described as a 3D coordinate list in the <PntList3D> element, values separated by spaces

<PntList3D>northing1 easting1 elevation1 northing2 easting2 elevation2..</PntList3D>



2.2.3 Boundaries

Additionally, it is also possible to define boundaries of the source data in the boundary group <Boundaries>, where each <Boundary> is presented in its own element. The boundary group has no attributes. In <Boundary> the mandatory attributes boundary type bndType and edge trim edgeTrim define the use in software. Additionally, optional attributes for area, name, description and state can be set.

Attributes of an individual <Boundary>:

- bndType boundary type
[outer | void | island]
- edgeTrim edge trim
[true | false]
- area calculated area of the boundary in area units
- desc description
- name optional name

- state state
[abandoned]
[destroyed]
[existing]
[proposed]


The points of a <Boundary> are described as a 2D coordinate list in the <PntList2D> element, values separated by spaces

<PntList2D>northing1 easting1 northing2 easting2 ...</PntList2D>


2.3 Triangular mesh surface

Surface geometry is described as triangulated meshes. Each surface is defined under the <Definition> in terms of boundaries, exterior features and holes. A triangular mesh is defined in two steps; first by defining the vertices of the triangular faces as surface points, and then each individual face by three vertices. The surface points used as vertices are assigned unique identifiers id within the same surface definition (<Surface>.<Definition>) element. The face definitions are done by referring to the id numbers id of the vertice points.
Additionally, the surface is given an type code according to the declared IM_coding.



The surface type surfType is set to "TIN" when describing a triangular mesh. The presicion of the mesh model depends on the available software and data. It is possible to optionally describe a 2D surface area area2DSurf, 3D surface area area3DSurf and the maximum elevation elevMax and minimum elevation elevMin.

Attributes of the <Definition> header:

- surfType surface type
[TIN | grid]
- area2DSurf 2D surface area
in surface area units, e.g. [2450.510000]
- area3DSurf 3D surface area in surface area units, e.g. [2450.510000]
- elevMax elevation maximum
elevation, e.g. [64.372000]
- elevMin elevation minimum
elevation, e.g. [56.431000]

2.3.1 Vertices

The vertex point group <Pnts> contains a listing of individual vertices <P>, which are each assigned an individual id number id. These numbers are referenced in the triangulation.

Attribute of vertex <P>:

- id unique integer number e.g. [1] [2] [3] etc.


The vertices of a surface definition, minimum three of them, are given as <P> elements, where the 3D coordinates are separated by spaces.

<P id="1">northing1 easting1 elevation1</P>
<P id="2">northing2 easting2 elevation2</P>
<P id="3">northing3 easting3 elevation3</P>


2.3.2 Faces

The triangulation is defined in the <Faces> collection. It consists of consecutive list of faces <F>. The order of the faces implicitly defines the index number of each triangle (1,2,..). Each face is defined by referencing three vertex id numbers.

Optional attributes of faces <F>:

- i visibility [1] = part of the triangulation, but not visible
- n surrounding faces
defines in terms of integer numbers if there is a face adjascent to the face described
[0] = no faces adjacent
[implicit index number of face] = defines which faces share a common edge
e.g. [0 2 3] = edge1 (no face), edge 2 (face 2), edge 3 (face 3)
- b coinsidence with breakline
Sum value indicating which edges touch breakline (value 0-7):
edge 1 = 1
edge 2 = 2
edge 3 = 4
e.g. value 4 = only edge 3 touches breakline





2.4 Terrain model

The terrain model in <Surfaces> contains the description of the topmost terrain surface (also Relief or Digital Elevation Model) as one or more <Surface>. It consists of the vertices of the component faces <Pnts> and the faces <Faces> as explained section 2.3. In inframodel file transfers it is also possible to assign source data points and breaklines to the surface. An "IM_coding" type coding provides surface classifications, and "IM_soil" the technical properties below the surface as <Feature> extensions. A surface is part of a plan described in "IM_plan" <Feature>. When exchanging a terrain model, the attribute <Surfaces>.desc shall be set to "terrain model".


Soil properties

When no information on individual ground layers is available, surface model may include description of the soil propertites below the topmost surface (i.e. "IM_soil" <Feature> under <Surface>).

Details of <Surface> in "IM_soil" <Feature>

- name optional name e.g. [9]
- code code [IM_soil]
- source source [inframodel]

Parameters <Property>

- label [soilTypeGEO] soil type classification according to Geotekninen maaluokitus (VTT 1974)
value e.g. [Sa]

- label [soilTypeISO] soil type classification according to SFS-EN ISO 14688-1 or SFS-EN ISO 14688-2 value e.g. [Cl]

- label [qualificationClass] soil type qualification according to table 10 in TIEH 2100029-04 value e.g. [U3]

- label [frostSwellingFactorWet] soil type frost swelling factor in wet conditions? value e.g. [6]

- label [frostSwellingFactorDry] soil type frost swelling factor in dry conditions value percentage
e.g. [2]

- label [elasticModulusWet] soil type modulus of elasticity in wet conditions (MPa) value e.g. [10]

- label [elasticModulusDry] soil type modulus of elasticity in dry conditions (MPa) value MPa
e.g. [10]


2.5 Ground layer model

The ground layer model (<Surfaces>) contains a description of all the surfaces (<Surface>) between different ground layers (and the topmost surface) in the plan. It is recommended that surfaces are described top-down. Individual layer surfaces are constructed as explained section 2.3. A surface is part of a plan described in "IM_plan" <Feature>. An "IM_coding" type coding provides surface classifications. The technical properties of each soil layer between two surfaces are given in "IM_soil" <Feature> extensions, under the <Surface> desribing the top of the layer. When exchanging a ground layer model as collection of Surfaces, the attribute <Surfaces>.desc shall be set to "ground layer model".



Soil properties

The technical properties of a soil layer between two surfaces are assigned to its top surface, i.e. in ground layer model an "IM_soil" <Feature> extension under the <Surface> describes the soil properties below.

Details of <Surface> in "IM_soil" <Feature>

- name optional name e.g. [9]
- code code [IM_soil]
- source source [inframodel]

Parameters <Property>

- label [soilTypeGEO] soil type classification according to Geotekninen maaluokitus (VTT 1974)
value e.g. [Sa]

- label [soilTypeISO] soil type classification according to SFS-EN ISO 14688-1 or SFS-EN ISO 14688-2 value e.g. [Cl]

- label [qualificationClass] soil type qualification according to table 10 in TIEH 2100029-04 value e.g. [U3]

- label [frostSwellingFactorWet] soil type frost swelling factor in wet conditions? value e.g. [6]

- label [frostSwellingFactorDry] soil type frost swelling factor in dry conditions value percentage
e.g. [2]

- label [elasticModulusWet] soil type modulus of elasticity in wet conditions (MPa) value e.g. [10]

- label [elasticModulusDry] soil type modulus of elasticity in dry conditions (MPa) value MPa
e.g. [10]