Capability (C027):— representing_location Date: 2005/08/15 08:20:35 :
Revision: 1.28

Business overview

This section provides a business level overview of this capability.

This capability allows various types of Location_representation to be represented. Each may be associated with a Location through a Location_assignment (see C049: assigning_location), to establish the Location for which it is a representation of. The rules used to determine what actually constitutes a Location are out of scope for this Capability, as, generally, they will be specific to the business needs of the authority assigning the Location Identifier. As a generic concept, a Location should be defined as a bound polyhedron. However, for simplicity, such a location polyhedron can be reduced to a single point in space and still satisfy most business needs. When viewed in this manner, a Location can be defined by at least one from the list of :

This Capability should not be used to describe location within product geometry.

Information model overview

This section provides an overview of the information model that supports this capability.

The information required to represent a Location and Location_representation is summarized in the diagram at Figure 1 below. Details to describe a Location are provided in a separate capability - namely C049: assigning_location which is designed to provide a simple representation. In the following sections, this capability provides guidance on the different alternative Location_representations outlined above.



Figure 1 —  Representation of a Location

Figure 1 —  Representation of a Location

Location Identification

All locations are given a common name. While this will usually take the form of a plain language string, it is usual for naming authorities to support this with the assignment of some form of formated identifier, suitable for automated processing. Each location may acquire several such identifiers to meet the different needs of the various authorities.

Location

Each instance of Location shall be identified through the assignment of an identifier which has been classified as an "Location identification code" (urn:plcs:rdl:std:Location identification code). This may, for example, be the name associated with a location and can be provided through the use of the template assigning_identification_with_no_organization.

Each instance of Location shall optionally be assigned a classification of[Location_type_code]
[warning:]Error RDL1: The class Location_type_code does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
. This allows, for example, the location to be characterized using specialisations of this class - see C049: assigning_location for details.

This assignment can be provided through the use of the template assigning_reference_data.

Location Assignment

The assigned Location represents a place or position where an Activity or Event can occur, or where a Product or Resource_item can exist. The role that the Location plays in these contexts can be given by classifying the Location_assignment as a type of "Location assignment role" (urn:plcs:rdl:std:Location assignment role). The purpose of the assignment will depend upon each business-specific use but there are several generic sub-classes which may be used (and specialised further where and when necessary). See C049: assigning_location for details.

Alternates

Each Location may have zero or more alternative_location_representations, and is therefore an optional attribute of location. The subtypes of Location_representation provide the alternative representations of the Location defined and are represented using capability C027: representing_location.

NOTE    These alternatives are meant to be alternative representations of the same place defined by the instance of Location that they are an attribute of. For different Locations see the guidance below about "Alternative location" (urn:plcs:rdl:std:Alternative location)s.

Location Representation

Because the concept of a Location is very human, many alternative ways exist as to how it can be represented. These Location_representations offer alternatives in communicating about a location. A strict representation would require the location to be defined by the points of the polyhedron that bounds it. However, only the most demanding users, such as map makers, require this degree of precision. In general, most users are more comfortable with the concept of "place", which can be considered as a notional (and probably undeclared) polyhedron, but which is sufficiently well understood, when associated with one or more identifiers, to serve the business need.

Traditionally, the process of providing a location with an identify has been relatively informal and undisciplined. However, increasing automation is requiring progressively more accurate and consistent representation of the information required to define a location unambiguously for interpretation by machine. The next sections describe each of the different six ways a location may be represented. However, they all have certain aspects in common which shall be described first.

Identification of the Representation

Each instance of Location_representation can be identified through the assignment of an identifier which is a (relevant) sub-classification of "Location identification code" (urn:plcs:rdl:std:Location identification code). For example,

These are associated with the Location_representation through the use of the template assigning_identification_with_no_organization defined within the capability C001: assigning_identifiers.

Classification of the Representation

A Location_representation may additionally be classified by a Classification_assignment using the template assigning_reference_data to provide additional sub-classes of Location_representation. However, the existing subtypes of Location_representation and subclasses provided above should be used in the first instance. Extending the subclasses according to business specific usage is acceptable and should use the subclasses provided for extensions when and if necesssary. Generally, the codes provided are available to classify both identifiers (discussed above) and for classification of the Location_representations when required. However, it is not required to classify the subtypes of Location_representation above unless a further refinement of one of these classes has been determined. Other sub-classifications can be represented by this capability through the extension of the reference data classes above. See capability C010: assigning_reference_data for details.

EXAMPLE    An instance of Address_based_location_representation should not be classified as a type of "Address based location identification code" (urn:plcs:rdl:std:Address based location identification code).

Organization Based Codes

An Organization_based_location_representation takes the form of an Organizational_location_identification that is only valid and meaningful in the context of the organization that has assigned it. Classically, these would take the form of name assignments for geographic features of temporary interest, for example "Hill 90".

The representation of an Organization_based_location_representation can be provided through the use of the template representing_organizational_location defined below.

Global Position

A Global_location_representation defines an absolute position by reference to the geodetic latitude and longitude grid, usually based on the equator and the Greenwich Meridian. To obtain a three dimensional fix, as required, for example, to locate an aircraft in flight, it is also necessary to define an altitude. This is traditionally specified with relation to height above sea level, with negative values indicating a depth.

The representation of an Global_location_representation can be provided through the use of the template representing_geographical_location defined below.

Local Grid

An alternative to the Global Position reference can be achieved by a Regional_grid_location_representation. The most common form of local grids are those established by cartographers and superimposed on their maps. To provide an unambiguous identification, all partners must have access to the definition of the grid origin and orientation.

The representation of an Regional_grid_location_representation can be provided through the use of the template representing_grid_location defined below.

Postal Address

The most common form of location definition is the Address_based_location_representation. Postal Addresses are, generally, assigned by the national postal authority, with the agreement of the local administrative authority, and published in gazetteers.

The representation of an Address_based_location_representation can be provided through the use of the template representing_address_location defined below.

Product Based Codes

A Product_based_location_identification is used to determine a location within a product structure. In a simple environment, an example could be "the port outer engine". More complex allocations require a reference to the product breakdown structure, including version information, to ensure an unambiguous definition.

The representation of an Product_based_location_identification can be provided through the use of the template representing_product_location
[warning:]Error T1: DEX representing_product_location not in Dexlib
defined below.

Location Hierarchy

It is sometimes appropriate to identify a Location by reference to another, better defined, Location. For example, it is common maritime practice to define a position by a range and bearing from a known reference point. When this method of location identification is employed, it is necessary for the Location_relationship to be unambiguously defined.

However, there is no relationship in the model between instances ofLocation_representation which indicates that this must be between instances ofLocation and if still required, the different alternative Location_representations can be determined from them. This relationship is described with capability C049: assigning_location.

In short the relationship between two Location instances may be represented using an instance of Location_relationship. The meaning of the relationship can be provided through a classification of the relationship using the template assigning_reference_data. The classification should be a type of "Location relationship role" (urn:plcs:rdl:std:Location relationship role).

C049: assigning_location defines the sub-classes of "Location relationship role" (urn:plcs:rdl:std:Location relationship role) but for the purpose of this section, the class [Relative_to_relationship]
[warning:]Error RDL1: The class Relative_to_relationship does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
may be used. i.e. a classification of a Location_relationship where a different, related_location (dependant) is defined relative to the relating_location. This type of relationship is frequently used for nautical and orienteering purposes. E.g. providing a bearing relative to a fixed position or grid).

NOTE    To represent both a range and bearing, two instances of Regional_coordinate would be required.

Model Characterization

This section specifies how the information model can be further characterized by the assignment of additional information such as dates, approvals and people or organizations.

The following characterizations may apply.

Characterization: Timing of the Representation (Optional)

A Location_representation may additionally be characterized by a Calendar_date, or Date_time, through a Date_or_date_time_assignment. The role of the assignment should describe the purpose of the date or time representation used through relevant reference data. Typical classifications include any of the reference data whose root classification is associated with Date_or_date_time_assignment is permissible, such as;

For example, a "Date actual observation" (urn:plcs:rdl:std:Date actual observation) may be required for establishing the time associated with a particular location (such as a global postition) which can be compared with subsequent readings to compute further information, such as speed.

This list is not definitive (nor meant to be). See capability C010: assigning_reference_data for details. It is anticipated that more specific sub-classes of reference data may be produced for with specific business usage requirements.

Characterization: Activity Assignment and the Representation (Optional)

A Location_representation may also be referenced by a Applied_activity_assignment using the template assigning_activity defined within capability C032: representing_activity. This may provide an additional representation of the location where the referenced Activity may take place.

However, the preferred mechanism for defining a location for this purpose is through the use of an instance of Location as described in C020: representing_life_cycle_opportunity. In this situation, the Location_representation should be treated as an alternative representation in addition to the Location as shown in Figure 1, and described above.

Characterization: Additional Identification (Optional)

Each instance of Location_representation may have additional identifiers assigned through the assignment of an identifier which is a (relevant) sub-classification of "Location identification code" (urn:plcs:rdl:std:Location identification code). For example,:

These are associated with the Location_representation through the use of the template assigning_identification_with_no_organization defined within the capability C001: assigning_identifiers.

Capability templates

The following sections define a set of templates for the capability, where a template is a specification of a set of entities that need to be instantiated to represent a given set of information.

Template: representing_address_location (Short name: rep_add_locn)

This section specifies the template representing_address_location.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes the representation of an Address_based_location_representation. Postal Addresses are, generally, assigned by the national postal authority, with the agreement of the local administrative authority, and published in gazetteers.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "representing_address_location". The text highlighted in blue shows the template parameters.


Figure 1 —  

Figure 1 —  

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  below.


Figure 2 —  

Figure 2 —  

Input parameters
The following input parameters are defined for this template:
address_id (Default=Uknown,Type='STRING')
The identifier of this address location
address_type_code (Default=Address_based_location_identification_code,Type='CLASS', Optional)
The class name of the corresponding to the address id
The following classes and their sub-classes can be used:
classifications: "Address_based_location_identification_code" (urn:plcs:rdl:std:Address_based_location_identification_code)
address_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @address_class_name.
name (Type='STRING', Optional)
The name or identifier of the address. Parameter is optional.
street_number (Type='STRING', Optional)
The number of a location on a street. . Parameter is optional.
street (Type='STRING', Optional)
The name of a street. Parameter is optional.
postal_box (Type='STRING', Optional)
The number of a postal box. Parameter is optional.
town (Type='STRING', Optional)
The name of a town. Parameter is optional.
region (Type='STRING', Optional)
The name or identifier of a region. Parameter is optional.
postal_code (Type='STRING', Optional)
The code that is used by the country's postal service. Parameter is optional.
country (Type='STRING', Optional)
The name of a country. Parameter is optional.
internal_location (Type='STRING', Optional)
An organization-defined address for internal mail delivery. Parameter is optional.
facsimile_number (Type='STRING', Optional)
The number to which facsimiles may be sent. Parameter is optional.
telephone_number (Type='STRING', Optional)
The number at which telephone calls may be received. Parameter is optional.
electronic_mail_address (Type='STRING', Optional)
The electronic address to which electronic mail may be sent. Parameter is optional.
telex_number (Type='STRING', Optional)
The number where telex messages may be received. Parameter is optional.
url (Type='STRING', Optional)
The text that specifies the Uniform Resource Locator associated with the address. Parameter is optional.
Reference parameters
The following reference parameters are defined for this template:
address(Type='ENTITY (Address)')
Allow the Address entity instantiated in this path to be referenced when this template is used.
Note: The Address entity can be referenced in a template path by:
%^target = $representing_address_location.address%
where target is the parameter to which the Address is bound.
address_loc_rep(Type='ENTITY (Address_based_location_representation)')
Allow the Address_based_location_representation entity instantiated in this path to be referenced when this template is used.
Note: The Address_based_location_representation entity can be referenced in a template path by:
%^target = $representing_address_location.address_loc_rep%
where target is the parameter to which the Address_based_location_representation is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Instantiate an Address_based_location_representation
Address_based_location_representation

-- Bind the Address_based_location_representation to the parameter ^address_loc_rep.
-- The parameter is a reference parameter so the Address_based_location_representation
-- entity can be referred to when this template is used.
%^address_loc_rep = Address_based_location_representation%

-- Assign reference data to Address_assignment
/assigning_identification_with_no_organization(
    items=^address_loc_rep,
    id=@address_id,
    id_class_name=@address_type_code,
    id_ecl_id=@address_ecl_id)/

-- Instantiate and point at an entity Address
Address_based_location_representation.postal_address -> Address

-- Set the Address attributes
Address.name -> @name
Address.street_number -> @street_number
Address.street -> @street
Address.postal_box -> @postal_box
Address.town -> @town
Address.region -> @region
Address.postal_code -> @postal_code
Address.country -> @country
Address.internal_location -> @internal_location
Address.facsimile_number -> @facsimile_number
Address.telephone_number -> @telephone_number
Address.electronic_mail_address -> @electronic_mail_address
Address.telex_number -> @telex_number
Address.url -> @url

-- Bind the Address entity to the parameter ^address.
-- The parameter is a reference parameter so the Address
-- entity can be referred to when this template is used.
%^address = Address%
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:


Figure 3 —  

Figure 3 —  

Characterizations
No common characterizations of the template representing_address_location have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_organizational_location (Short name: rep_org_locn)

This section specifies the template representing_organizational_location.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes the representation of an organization based location. It instantiates the Organization_based_location_representation, Organizational_location_identification, Organization instances within this template.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_organizational_location". The text highlighted in blue shows the template parameters.


Figure 1 —  Template Configuration for Assigning Organization Location

Figure 1 —  Template Configuration for Assigning Organization Location

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  Template Usage

Figure 2 —  Template Usage

Input parameters
The following input parameters are defined for this template:
org_name (Default=University of Life,Type='STRING')
Name or id of the organization in which the location identifier is meaningful.
org_name_class (Default=urn:plcs:rdl:std,Type='CLASS', Optional)
The name of the class used to classify the identifier of the organization and so provide the type of identifier used.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
org_name_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The id of the External_class_library storing the st_date_class_name class
loc_val (Default=e.g. Room 101 in the administration building of the University.,Type='STRING')
The location value (location identifier) being assigned.
loc_id_type (Default=Organizational_location_identification_code,Type='CLASS')
The name of the class used to classify the identifier representing the loc_val.
The following classes and their sub-classes can be used:
classifications: "Organizational_location_identification_code" (urn:plcs:rdl:std:Organizational_location_identification_code)
loc_id_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The id of the External_class_library used to store the classification name assigned to the loc_val parameter.
Reference parameters
The following reference parameters are defined for this template:
organization(Type='ENTITY (Organization)')
Allow the Organization entity instantiated in this path to be referenced when this template is used.
Note: The Organization entity can be referenced in a template path by:
%^target = $representing_organizational_location.organization%
where target is the parameter to which the Organization is bound.
For example, to create additional identifiers for an instance of Organization . E.g.
          -- The template assigning_organization_location has an external reference
                     -- organization. Bind this to the local external reference
                     -- Organization. It can now be the target for assignments 
                     %^organization = $assigning_org_location.Organization%
                     -- assign '123456789' to the organization in the role of "DUNS_code"
                     /assigning_identification_with_no_organization(items=^organization, 
                     id='123456789', 
                     id_class_name='DUNS_code',
                     id_ecl_id='urn:plcs:rdl:std')/    
org_loc_id(Type='ENTITY (Organizational_location_identification)')
Allow the Organizational_location_identification entity instantiated in this path to be referenced when this template is used.
Note: The Organizational_location_identification entity can be referenced in a template path by:
%^target = $representing_organizational_location.org_loc_id%
where target is the parameter to which the Organizational_location_identification is bound.
For example, to create additional identifiers for an instance of Organizational_location_identification which has been defined for the Organization_based_location_representation entity. E.g.
          -- The template assigning_organization_location has an external reference
                     -- org_loc_id. Bind this to the local external reference
                     -- Organizational_location_identification. It can now be the target for assignments 
                     %^org_loc_id = $assigning_organization_location.Organizational_location_identification%
                     -- assign 'DRDL_QGJD' to the location in the role of "Location_identification_code"
                     /assigning_identification_with_no_organization(items=^org_loc_id, 
                     id='DRDL_QGJD', 
                     id_class_name='Location_identification_code',
                     id_ecl_id='urn:plcs:rdl:std')/    
org_loc_rep(Type='ENTITY (Organization_based_location_representation)')
Allow the Organization_based_location_representation entity instantiated in this path to be referenced when this template is used.
Note: The Organization_based_location_representation entity can be referenced in a template path by:
%^target = $representing_organizational_location.org_loc_rep%
where target is the parameter to which the Organization_based_location_representation is bound.
The reference parameter for Organization_based_location_representation.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Create Organization
%^organization = Organization%
Organization.name = '/IGNORE'
Organization.id = '/IGNORE'

-- assign an identifier and classify it with input params'.
-- (Note not specifying class to enable id or name allotment)
/assigning_identification_with_no_organization(
    items=Organization,
    id=@org_name,
    id_class_name=@org_name_class,
    id_ecl_id=@org_name_ecl_id)/

-- Create Organizational_location_identification
%^org_loc_id = Organizational_location_identification%
Organizational_location_identification.identification_type = '/IGNORE'
Organizational_location_identification.location_value = '/IGNORE'

-- assign an identifier and classify it with input params'.
-- (Note not specifying class to enable id or name allotment)
/assigning_identification_with_no_organization(
    items=Organizational_location_identification,
    id=@loc_val,
    id_class_name=@loc_id_type,
    id_ecl_id=@loc_id_type_ecl_id)/

-- Organization_based_location_representation
%^org_loc_rep = Organization_based_location_representation%
Organization_based_location_representation.organization_for_location -> Organization

-- Create links to organization location identification
Organization_based_location_representation.location_identifications -> Organizational_location_identification

-- end.
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Organization.name '/IGNORE'
Organization.id '/IGNORE'
Organizational_location_identification.identification_type '/IGNORE'
Organizational_location_identification.location_value '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_organizational_location(org_name_ecl_id='urn:plcs:rdl:std', org_name='University of Life', org_name_class='Organiation_name', loc_val='Room 99 in Building 55 of University', loc_id_type_ecl_id='urn:plcs:rdl:std', loc_id_type='Organizational_location_identification_code')/
(an illustration of the consolidated representing_organizational_location template is shown in Figure 4 below.)
Note the instantiation uses two instances of another template, namely assigning_identification_with_no_organization.


Figure 3 —  Expansion of the instantiation template above

Figure 3 —  Expansion of the instantiation template above

The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_organizational_location(org_name_ecl_id='urn:plcs:rdl:std', org_name='University of Life', org_name_class='Organiation_name', loc_val='Room 99 in Building 55 of University', loc_id_type_ecl_id='urn:plcs:rdl:std', loc_id_type='Organizational_location_identification_code')/


Figure 4 —  Example instantiation of the template

Figure 4 —  Example instantiation of the template

Characterizations
The following section details how the representing_organizational_location template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning date

NOTE   this characterization is optional.

Where the representation is defined in the context of an alternative location representation, it is recommended that dates be associated with the main Location for which this is an alternative. However, where specifically required dates can be associated with the Organization_based_location_representation instantiated by the template as shown below.



Figure 5 —  Template Configuration with Optional Calendar Date Assignment.

Figure 5 —  Template Configuration with Optional Calendar Date Assignment.

Note this requires the use of the reference parameter $representing_organizational_location.org_loc_rep to identify the Organization_based_location_representation instantiated by the template representing_organizational_location.

/assigning_calendar_date(items='$representing_organizational_location.org_loc_rep', date_class_name='Date_actual_observation', date_ecl_id='urn:plcs:rdl:std', year='2005', month='05', day='04')/
Characterization Assigning identifiers with no organization

NOTE   this characterization is optional.

Template: representing_geographical_location (Short name: rep_geo_locn)

This section specifies the template representing_geographical_location.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes the representation of a global location representation. It instantiates an instance of global_location_representation and upto 3 numerical items within this template.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_geographical_location". The text highlighted in blue shows the template parameters.


Figure 1 —  Base Template Configuration for Representing Global Location Representation

Figure 1 —  Base Template Configuration for Representing Global Location Representation

The EXPRESS-G diagram in Figure 2 shows the templates and EXPRESS entities that are required to represent the template "representing_geographical_location". The text highlighted in blue shows the template parameters.


Figure 2 —  Abstracted Template Configuration for Representing Global Location Representation

Figure 2 —  Abstracted Template Configuration for Representing Global Location Representation

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  3 below.


Figure 3 —  Template for Representing Global Location Representation

Figure 3 —  Template for Representing Global Location Representation

Input parameters
The following input parameters are defined for this template:
latitude (Type='REAL')
The latitude measurement.
lat_unit_type (Default='radian',Type='CLASS')
The class name of the corresponding to the latitude units (radian or degree).
The following classes and their sub-classes can be used:
classifications: [Radian]
[warning:]Error RDL1: The class Radian does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Degree]
[warning:]Error RDL1: The class Degree does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
lat_siunit (Default=TRUE,Type='BOOLEAN')
Are the coordinates for latitude measured in SI Units (True/False)?
longitude (Type='REAL')
The longitude measurement
long_unit_type (Default='radian',Type='CLASS')
The class name of the corresponding to the longitudinal units (radian or degree).
The following classes and their sub-classes can be used:
classifications: [Radian]
[warning:]Error RDL1: The class Radian does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Degree]
[warning:]Error RDL1: The class Degree does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
long_siunit (Default=TRUE,Type='BOOLEAN')
Are the coordinates for longitude measured in SI Units (True/False)?
altitude (Type='REAL', Optional)
The altitude measurement - optional
alt_unit_type (Default='metre',Type='CLASS')
The class name of the corresponding to the altitude units (metre or feet).
The following classes and their sub-classes can be used:
classifications: [Metre]
[warning:]Error RDL1: The class Metre does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Feet]
[warning:]Error RDL1: The class Feet does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
alt_siunit (Default=TRUE,Type='BOOLEAN')
Are the coordinates for altitude measured in SI Units (True/False)?
geo_area (Default='Unknown',Type='STRING', Optional)
The geographic area name is assigned via ref data - optional
Reference parameters
The following reference parameters are defined for this template:
geog_locn(Type='ENTITY (Global_location_representation)')
Allow the Global_location_representation entity instantiated in this path to be referenced when this template is used.
Note: The Global_location_representation entity can be referenced in a template path by:
%^target = $representing_geographical_location.geog_locn%
where target is the parameter to which the Global_location_representation is bound.
For example, to create additional identifiers or classification for an instance of Global_location_representation . E.g.
          -- The template representing_geographical_location has an external reference 
                       -- geog_locn. It can now be the target for assignments e.g.
                       %^todays_location = $representing_geographical_location.geog_locn%
                       -- e.g assign 'wilderness' to the global_location_representation in the role of "Geographic_area"
                       /assigning_identification_with_no_organization(items=^geog_locn, 
                       id='Wilderness', 
                       id_class_name='Geographic_area',
                       id_ecl_id='urn:plcs:rdl:std')/    
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Create Global location rep
%^geog_locn = Global_location_representation%
Global_location_representation.geographical_area = '/IGNORE'

-- set the latitude value
/representing_value_with_unit(
    unit_ecl_id='urn:plcs:rdl:std',
    si_unit=@lat_siunit,
    value=@latitude,
    unit=@lat_unit_type)/
%^loc_lat = $representing_value_with_unit.value%
Global_location_representation.latitude -> ^loc_lat

-- set the longitude value
/representing_value_with_unit(
    unit_ecl_id='urn:plcs:rdl:std',
    si_unit=@long_siunit,
    value=@longitude,
    unit=@long_unit_type)/
%^loc_long = $representing_value_with_unit.value%
Global_location_representation.longitude -> ^loc_long

-- set the altitude value
/representing_value_with_unit(
    unit_ecl_id='urn:plcs:rdl:std',
    si_unit=@alt_siunit,
    value=@altitude,
    unit=@alt_unit_type)/
%^loc_alt = $representing_value_with_unit.value%
Global_location_representation.altitude -> ^loc_alt

-- assign an identifier to the representation
/assigning_identification_with_no_organization(
    items=Global_location_representation,
    id=@geo_area,
    id_class_name='Geographic_location_identification_code',
    id_ecl_id='urn:plcs:rdl:std')/

-- end.
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Global_location_representation.geographical_area '/IGNORE'
Instance diagrams
The instance diagram in Figure  4 shows an example of the EXPRESS entities and templates that are instantiated by the template: (an illustration of the consolidated template is shown in Figure 7 below.)
Note that the templates assigning_identification_with_no_organization and representing_value_with_unit are used in the diagram. Namely:
@30 /assigning_identification_with_no_organization(id_class_name='Geographic_location_identification_code ', id_ecl_id='urn:plcs:rdl:std', id='Antarctic')/
and:
@3 /representing_value_with_unit(unit='radian', unit_ecl_id='urn:plcs:rdl:std', si_unit='.T.', value='PLANE_ANGLE_MEASURE(68.84)')/
and:
@10 /representing_value_with_unit(unit='radian', unit_ecl_id='urn:plcs:rdl:std', si_unit='.T.', value='PLANE_ANGLE_MEASURE(-68.9)')/
and:
@17 /representing_value_with_unit(unit='metre', unit_ecl_id='urn:plcs:rdl:std', si_unit='.T.', value='LENGTH_MEASURE(200.0)')/


Figure 4 —  Entities instantiated by representing_geographical_location

Figure 4 —  Entities instantiated by representing_geographical_location

The instance diagram in Figure  5 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_geographical_location(lat_siunit='.T.', long_siunit='.T.', alt_siunit='.T.', lat_unit_type='radian', long_unit_type='radian', latitude='68.84', longitude='-68.9', alt_unit_type='metre', altitude='200.', geo_area='Antarctic')/
(an illustration of the consolidated representing_geographical_location template is shown in Figure 7 below.)
Note that after expansion of the templates above and subsequent instance population, the following base templates are used in the figure; assigning_reference_data Namely:
@6 /assigning_reference_data(class_name='radian', ecl_id='urn:plcs:rdl:std')/
and:
@13 /assigning_reference_data(class_name='radian', ecl_id='urn:plcs:rdl:std')/
and:
@20 /assigning_reference_data(class_name='metre', ecl_id='urn:plcs:rdl:std')/
and:
@26 /assigning_reference_data(class_name='Geographic_location_identification_code ', ecl_id='urn:plcs:rdl:std')/
.


Figure 5 —  Entities instantiated by expanding representing_geographical_location

Figure 5 —  Entities instantiated by expanding representing_geographical_location

The instance diagram in Figure  6 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_geographical_location(lat_siunit='.T.', long_siunit='.T.', alt_siunit='.T.', lat_unit_type='radian', long_unit_type='radian', latitude='68.84', longitude='-68.9', alt_unit_type='metre', altitude='200.', geo_area='Antarctic')/
(an illustration of the consolidated representing_geographical_location template is shown in Figure 7 below.)
Note that after expansion of all the templates above the subsequent instance population is shown in the figure below.


Figure 6 —  Entities instantiated by expanding representing_geographical_location

Figure 6 —  Entities instantiated by expanding representing_geographical_location

The instance diagram in Figure 7 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_geographical_location(lat_siunit='.T.', long_siunit='.T.', alt_siunit='.T.', lat_unit_type='radian', long_unit_type='radian', latitude='68.84', longitude='-68.9', alt_unit_type='metre', altitude='200.', geo_area='Antarctic')/


Figure 7 —  Instantiation of template

Figure 7 —  Instantiation of template

Characterizations
The following section details how the representing_geographical_location template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Global_location_representation

NOTE   this characterization is optional.

In general no further characterization of the units is permitted. However, the instance of Global_location_representation, may be characterized as described above in the introduction. See Additional Identification details.

The instance of Global_location_representation, may also be (optionally) referenced as a member of alternative location representations from an instance of Location. This may be be illustrated in the figure below by relating the two templates; assigning_location and representing_geographical_location.



Figure 8 —  Instantiation of template

Figure 8 —  Instantiation of template

Template: representing_grid_location (Short name: rep_grid_locn)

This section specifies the template representing_grid_location.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes the representation of a Regional_grid_location_representation. The most common form of local grids are those established by cartographers and superimposed on their maps. To provide an unambiguous identification, all partners must have access to the definition of the grid origin and orientation.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "representing_grid_location". The text highlighted in blue shows the template parameters.


Figure 1 —  

Figure 1 —  

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  below.


Figure 2 —  

Figure 2 —  

Input parameters
The following input parameters are defined for this template:
reg_grid_loc_id (Default=Uknown,Type='STRING')
The id of the Regional grid location representation
reg_grid_loc_type_code (Default=Regional_grid_location_identification_code,Type='CLASS', Optional)
The class name of the corresponding to the reg_grid_loc_id
The following classes and their sub-classes can be used:
classifications: "Regional_grid_location_identification_code" (urn:plcs:rdl:std:Regional_grid_location_identification_code)
reg_grid_loc_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @address_class_name.
reg_grid_loc_name (Default=Unknown,Type='STRING', Optional)
The name commonly used to refer to the grid. Parameter is optional.
coord_siunit (Default=TRUE,Type='BOOLEAN')
Is the coordinate measured in SI Units (True/False)?
coord_unit_type (Default='radian',Type='CLASS', Optional)
The class name of the corresponding to the latitude and longitudinal units (radian or degree).
The following classes and their sub-classes can be used:
classifications: [radian]
[warning:]Error RDL1: The class radian does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[degree]
[warning:]Error RDL1: The class degree does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Unknown]
[warning:]Error RDL1: The class Unknown does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
coord_val (Type= 'ENTITY (
[warning:]Error ER1: The entity PLANE_ANGLE_MEASURE does not exist
PLANE_ANGLE_MEASURE)'
[warning:]Error EXP-1: The EXPRESS entity PLANE_ANGLE_MEASURE
does not exist in data/schemas/ap239_arm_lf.xml.

)
The coordinate value
coord_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @address_class_name.
coord_name (Default=Unknown,Type='STRING', Optional)
The name commonly used to refer to the grid. Parameter is optional.
Reference parameters
The following reference parameters are defined for this template:
reg_grid_loc_rep(Type='ENTITY (Regional_grid_location_representation)')
Allow the Regional_grid_location_representation entity instantiated in this path to be referenced when this template is used.
Note: The Regional_grid_location_representation entity can be referenced in a template path by:
%^target = $representing_grid_location.reg_grid_loc_rep%
where target is the parameter to which the Regional_grid_location_representation is bound.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- Create the regional coordinate
Regional_coordinate

-- set local parameters
Regional_coordinate.name = '/IGNORE'

-- set the coordinate value
/representing_value_with_unit(
    unit_ecl_id=@coord_type_ecl_id,
    si_unit=@coord_siunit,
    value=@coord_val,
    unit=@coord_unit_type)/
%^coord_val = $representing_value_with_unit.item%
Regional_coordinate.coordinate_value -> ^coord_val
%^reg_coord = Regional_coordinate%

-- Assign the name to Regional_coordinate
/assigning_identification_with_no_organization(
    items=^reg_coord,
    id=@coord_name,
    id_class_name=Name,
    id_ecl_id=@coord_type_ecl_id)/

-- Instantiate a Regional_grid_location_representation
Regional_grid_location_representation

-- Set the local attributes to be ignored
Regional_grid_location_representation.description = '/IGNORE'
Regional_grid_location_representation.name = '/IGNORE'

-- Bind the Regional_grid_location_representation to the parameter ^reg_grid_loc_rep
-- The parameter is a reference parameter so the
-- entity can be referred to when this template is used.
%^reg_grid_loc_rep = Regional_grid_location_representation%

-- Assign identifier to Product_based_location_identification
/assigning_identification_with_no_organization(
    items=^reg_grid_loc_rep,
    id=@reg_grid_loc_id,
    id_class_name=@reg_grid_loc_type_code,
    id_ecl_id=@reg_grid_loc_ecl_id)/

-- Assign Name to Product_based_location_identification (assumes same urn and
/assigning_identification_with_no_organization(
    items=^reg_grid_loc_rep,
    id=@reg_grid_loc_name,
    id_class_name=Name,
    id_ecl_id=@reg_grid_loc_ecl_id)/

-- Name is an OWL class under identification_code
Regional_coordinate.grid_system -> Regional_grid_location_representation

-- end
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Regional_coordinate.name '/IGNORE'
Regional_grid_location_representation.description '/IGNORE'
Regional_grid_location_representation.name '/IGNORE'
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:


Figure 3 —  

Figure 3 —  

Characterizations
No common characterizations of the template representing_grid_location have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.

Model reference data

The following classes of reference data are required for this capability:

[Primary_location_representation]
[warning:]Error RDL1: The class Primary_location_representation does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Secondary_location_representation]
[warning:]Error RDL1: The class Secondary_location_representation does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
Organizational_location_identification_code(urn:plcs:rdl:std:Organizational_location_identification_code)
An Organizational_location_identification_code is an Idenitification_code that identifies an Organizational_location_identification. CONSTRAINT: An Identification_assignment classified as an Organizational_location_identification_code can only be assigned to an Organizational_location_identification or its subclasses.
Geographic_location_identification_code(urn:plcs:rdl:std:Geographic_location_identification_code)
A Geographic_location_identification_code is an Idenitification_code that identifies an Global_location_representation. CONSTRAINT: An Identification_assignment classified as a Geographic_location_identification_code can only be assigned to a Global_location_representation or its subclasses.
Address_based_location_identification_code(urn:plcs:rdl:std:Address_based_location_identification_code)
An Address_based_location_identification_code is an Idenitification_code that identifies an Address_based_location_representation. CONSTRAINT: An Identification_assignment classified as an Address_based_location_identification_code can only be assigned to an Address_based_location_representation or its subclasses.
[Product_location_identification_code]
[warning:]Error RDL1: The class Product_location_identification_code does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
Regional_grid_location_identification_code(urn:plcs:rdl:std:Regional_grid_location_identification_code)
A Regional_grid_location_identification_code is an Idenitification_code that identifies an Regional_grid_location_representation. CONSTRAINT: An Identification_assignment classified as a Regional_grid_location_identification_code can only be assigned to a Regional_grid_location_representation or its subclasses.

© OASIS 2010 — All rights reserved