Approved

OGC Standard

OGC Points of Interest (POI) Conceptual Model Standard 1.0
Charles Heazel Editor Matthew Purss Editor Howard Trickey Editor Christine Perey Editor
Version: 1.0
Additional Formats: PDF
OGC Standard

Approved

Document number:21-049
Document type:OGC Standard
Document subtype:Implementation
Document stage:Approved
Document language:English

License Agreement

Use of this document is subject to the license agreement at https://www.ogc.org/license

Suggested additions, changes and comments on this document are welcome and encouraged. Such suggestions may be submitted using the online change request form on OGC web site: http://ogc.standardstracker.org/




I.  Abstract

The OGC Points of Interest (POI) Conceptual Model is an open data model for representing information about POI. The model is defined using a Unified Modeling Language (UML) object model. This UML model extends the ISO Technical Committee 211 (TC211) conceptual model standards for spatial and temporal data. Building on the ISO foundation assures that the features described in the POI Model share the same spatiotemporal universe as described by related standards (e.g., CityGML).

The goal for developing the OGC POI Conceptual Model is to reach a common definition of the basic entities, attributes, and relations of “points of interest.” In the broadest terms, a POI is a location about which information of general interest is available. “A POI can be as simple as a set of coordinates and an identifier, or more complex such as a three-dimensional model of a building with names in various languages, information about open and closed hours, and a civic address.” W3C

II.  Keywords

The following are keywords to be used by search engines and document catalogues.

ogcdoc, OGC document, Point of Interest, POI, Feature


III.  Preface

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.

IV.  Security Considerations

The POI Conceptual Model defines a POI as a type of Feature. By building on the same Feature Model as other OGC Feature models, POI implementations inherit the security controls and vulnerabilities of their associated Feature Dataset. They are a Feature like any other.

This document defines a Conceptual Model Standard. Implementations of this Standard (Implementation Standards) are free to add additional details and content necessary to enable implementation-specific security controls. In the event that anything in this Standard prevents implementation of needed controls, implementors are requested to notify the POI Standards Working Group (SWG) and help devise a solution.

V.  Submitting Organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

  • Digital Flanders
  • Google
  • HeazelTech
  • Pangaea Innovations
  • PEREY Research and Consulting
  • US Army Geospatial Center

1.  Scope

The OGC Points of Interest Conceptual Model Standard (this document) describes a conceptual model for representing information about points of interest (POI).

POI data has many uses including navigation systems, mapping, geocaching, location-based social networking games, and augmented reality browsers.

POI data has traditionally been exchanged in proprietary formats by various transport mechanisms. This document defines a flexible, lightweight, extensible POI data model. This will enable content publishers to effectively describe and efficiently serve and exchange POI data.

To achieve these goals, this document describes a generic data model that may be instantiated in a variety of serializations, including XML, JSON, and RDF. The data model is designed to be extended with POI information specific to the geospatial data it represents.

2.  Conformance

This Standard defines a Conceptual Model which is independent of any encoding or formatting techniques. The Standardization Target for this Standard is technology-specific POI Implementation Standards.

2.1.  OGC Implementation Standards

Implementation Standards define how a Conceptual Model should be implemented using a specific technology. Conformant Implementation Standards provide evidence that they are an accurate representation of the Conceptual Model. This evidence should include implementations of the abstract tests specified in Annex A (normative) of this document.

Since this Standard is implementing technology agnostic, the specific techniques to be used for conformance testing cannot be specified. Implementation Standards need to provide evidence of conformance which is appropriate for the implementing technologies. This evidence should be provided as Annex A to the Implementation Standard document.

2.2.  Implementations

POI implementations will typically be a simplified representation of a more complex dataset. Implementors may want to extend the POI model to include properties specific to that dataset. These extensions are accomplished using the POI Payload mechanism described in POI Payload. Since the POI Payload has its own definition of syntax and semantics, conformance with the POI Conceptual Model Standard cannot ensure payload conformance.

2.3.  Conformance Classes

This Standard identifies one “Core” conformance class. This conformance class defines the conformance criteria for the requirements defined in one “Core” requirements class. The tests this conformance class are documented in Annex A. These tests are organized by Requirements Class. So an implementation of the Core conformance class must pass all tests specified in Annex A for the Core Requirements Class.

The POI Conceptual Model is defined by the POI UML model. This Standard is a representation of that UML model in document form. In the case of a discrepancy between the UML model and this document, the UML model takes precedence.

2.4.  Primitive Data Types

The Primitive Data Types (CharacterString, Integer, DateTime, etc.) are defined in ISO 19103. These Data Types are universal concepts. Therefore, no explicit conformance testing for these concepts is needed. Testing for conformance with the technology-specific implementation of these concepts should be documented in the corresponding Implementation Standard.

3.  Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

ISO: ISO 19101-1:2014, Geographic information — Reference model — Part 1: Fundamentals. International Organization for Standardization, Geneva (2014). https://www.iso.org/standard/59164.html.

ISO: ISO 19103, Geographic information — Conceptual schema language. International Organization for Standardization, Geneva https://www.iso.org/standard/83454.html.

ISO: ISO 19107:2003, Geographic information — Spatial schema. International Organization for Standardization, Geneva (2003). https://www.iso.org/standard/26012.html.

ISO: ISO 19109:2015, Geographic information — Rules for application schema. International Organization for Standardization, Geneva (2015). https://www.iso.org/standard/59193.html.

ISO: ISO 19115-1:2014, Geographic information — Metadata — Part 1: Fundamentals. International Organization for Standardization, Geneva (2014). https://www.iso.org/standard/53798.html.

ISO: ISO 19507:2012, ISO (2012).

Arliss Whiteside, Jim Greenwood: OGC 06-121r9, OGC Web Service Common Implementation Specification. Open Geospatial Consortium (2010). https://portal.ogc.org/files/?artifact_id=38867.

Policy SWG: OGC 08-131r3, The Specification Model — Standard for Modular specifications. Open Geospatial Consortium (2009). https://portal.ogc.org/files/?artifact_id=34762&version=2.

Open Geospatial Consortium. OGC Definitions Register. https://www.opengis.net/def/glossary

Object Management Group (OMG), Unified Modeling Language (UML), Version 2.5.1, December 2017, https://www.omg.org/spec/UML/2.5.1

4.  Terms and definitions

This document uses the terms defined in OGC Policy Directive 49, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.

This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.

For the purposes of this document, the following additional terms and definitions apply.

a set of conceptual schema for data required by one or more applications.

Note 1 to entry: The purpose of an application schema is twofold: “to provide a computer-readable data description defining the data structure, which makes it possible to apply automated mechanisms for data management; and to achieve a common and correct understanding of the data, by documenting the data content of the particular application field, thereby making it possible to unambiguously retrieve information from the data.”

[SOURCE: ISO 19109]

description of a set of objects that share the same attributes, operations, methods, relationships, and semantics

Note 1 to entry: A class may use a set of interfaces to specify collections of operations it provides to its environment. The term was first used in this way in the general theory of object-oriented programming, and later adopted for use in this same sense in UML.

[SOURCE: ISO 19103 clause 4.27, modified — Note 1 to entry has been added from ISO 19117:2012, 4.2]

unit of knowledge created by a unique combination of characteristics

Note 1 to entry: Concepts (Clause 4.3) are not necessarily bound to particular languages. They are, however, influenced by the social or cultural background which often leads to different categorizations.

[SOURCE: ISO 1087-1 clause 3.2.1]

model that defines concepts (Clause 4.3) of a universe of discourse

[SOURCE: ISO 19101-1 clause 4.1.5]

a class of conformance tests. A conformant implementation must pass all the tests in the class.

[SOURCE: OGC Definitions Register]

abstraction of real-world phenomena

Note 1 to entry: A feature (Clause 4.6) may occur as a type or an instance. In this document, feature (Clause 4.6) instance is meant unless otherwise specified.

[SOURCE: ISO 19101 clause 4.1.11, modified — Note 1 to entry has been added from ISO 19156, 4.6]

class (Clause 4.2) of features (Clause 4.6) having common characteristics

[SOURCE: ISO 19156 clause 4.7]

guidance for software engineers that is so specific that any two independent software implementations of the Standard can “plug and play” for each other.

[SOURCE: OGC Definitions Register]

a class of requirements, comprising a logical grouping of normative statements that shall be satisfied as a group in conformant implementations. May have dependencies on other requirements classes (Clause 4.9), but there should be no circular dependencies else the classes must always be satisfied together so are functionally one class.

[SOURCE: OGC Definitions Register]

entity to which some requirements of a standard apply

NOTE

The standardization target is the entity which may receive a certificate of conformance for a requirements class.

[SOURCE: OGC 08-131r3]

5.  Conventions

5.1.  Identifiers

The normative provisions in this document are denoted by the URI:

http://www.opengis.net/spec/poi/1.0

All requirements and conformance tests that appear in this document are denoted by partial URIs relative to this base.

5.2.  UML Notation

The POI Conceptual Model (CM) Standard is documented as a Unified Modeling Language (UML) model. The model is presented in this document through diagrams using the UML static structure diagram. The UML notations used in this standard are described in the diagram in Figure 1.

 

Figure 1 — UML notation (see ISO TS 19103, Geographic information - Conceptual schema language).

All associations between model elements in the POI Conceptual Model are unidirectional. Thus, associations in the model are navigable in only one direction. The direction of navigation is depicted by an arrowhead. In general, the context an element takes within the association is indicated by its role. The role is displayed near the target of the association. If the graphical representation is ambiguous though, the position of the role must be drawn to the element the association points to.

Aggregations are a form of association where the Component Class is treated as an attribute of the Aggregate Class. However, the Component Class is not an integral part of the Aggregate Class. A Component Class can be aggregated by more than one Aggregate Class.

Compositions are a form of association where the Component Class is treated as an attribute of the Composite Class. Component Classes are an integral part of the Composite Class and cannot be shared by multiple Composite Classes. No Compositions are used in this Standard.

The following stereotypes are used in this model.

  • «Abstract» a class that doesn’t include a complete implementation. Therefore, abstract classes can’t be directly instantiated; they have to be specialized (inherited).

  • «DataType» defines a set of properties that lack identity. A data type is a classifier with no operations, whose primary purpose is to hold information.

  • «FeatureType» represents features that are similar and exhibit common characteristics. Features are abstractions of real-world phenomena and have an identity.

  • «Metaclass» (Optional) a profile class and packageable element which may be extended through one or more stereotypes, which defines how an existing metaclass may be extended as part of a profile.

  • «Property» denotes attributes and association roles. This stereotype does not add further semantics to the conceptual model but is required to be able to add tagged values to the attributes and association roles that are relevant for the encoding.

  • «Type» denotes classes that are not directly instantiable, but are used as an abstract collection of operation, attribute, and relation signatures. The stereotype is used in the POI Conceptual Model only for classes that are imported from the ISO standards 19103, 19107, 19109, and 19115.

To enhance the readability of the POI UML diagrams, classes are depicted in different colors. The following coloring scheme is applied:

Classes painted in green belong to the POI Requirements Class.

Classes painted in tan are defined in the ISO standards 19107, 19109, or 19115. Class names are preceded by the UML package name in which the class is defined.

The color white is used for notes and Object Constraint Language (OCL) constraints that are provided in the UML diagrams.

The example UML diagram in Figure 2 demonstrates the UML notation and coloring scheme used throughout this standard. The generalization, link, and instance associations are also illustrated.

 

Figure 2 — Example UML diagram demonstrating the UML notation and coloring scheme used throughout the POI Standard.

5.3.  International Text

Not all users will speak the same language. Therefore a POI Standard should support international text. While internationalization techniques are specific to the implementing technology, this Conceptual Standard should provide some guidance on the desired characteristics of such an implementation.

To that end, this Standard recommends the following conventions for implementing internationalized text in an Implementation Standard:

  • All text strings should have cardinality greater than one;

  • Text strings can have an associated language attribute; and

  • These language attributes should be populated with an international language code.

6.  POI Model Core Requirements

Requirements class 1: Core Requirements Class

Identifierhttp://www.opengis.net/spec/poi/1.0/req/core
Conformance classConformance class A.1: http://www.opengis.net/spec/poi/1.0/conf/core
Normative statementsRequirement 1: /req/core/generalfeaturemodel
Requirement 2: /req/core/geometry
Requirement 3: /req/core/abstractfeature
Requirement 4: /req/core/abstractfeature-description
Requirement 5: /req/core/abstractfeature-featureid
Requirement 6: /req/core/abstractfeature-identifier
Requirement 7: /req/core/abstractfeature-name
Requirement 8: /req/core/featurewithlifespan
Requirement 9: /req/core/featurewithlifespan-creationdate
Requirement 10: /req/core/featurewithlifespan-terminationdate
Requirement 11: /req/core/featurewithlifespan-validfrom
Requirement 12: /req/core/featurewithlifespan-validto
Requirement 13: /req/core/abstract-poi
Requirement 14: /req/core/poi-contactInfo
Requirement 15: /req/core/poi-featureofinterest
Requirement 16: /req/core/poi-metadata
Requirement 17: /req/core/poi-keywords
Requirement 18: /req/core/poi-rights
Requirement 19: /req/core/poi-symbology
Requirement 20: /req/core/poi-haspayload
Requirement 21: /req/core/link
Requirement 22: /req/core/poi
Requirement 23: /req/core/poi_payload
Requirement 24: /req/core/poi_payload-hasfeatureofinterest
Requirement 25: /req/core/poi_payload-hasdefinition
Requirement 26: /req/core/poi_payload-usesschema
Description

Requirements Class POI Core. A POI Implementation Standard SHALL be a valid representation of the POI UML model. This includes conformance with:

ISO Core Requirements:

POI Extensions to ISO:

POI Class Model:

6.1.  ISO Foundation

The POI Standard builds on a base of ISO Standards maintained by ISO Technical Committee 211 (TC211). The relevant portions of those Standards are described below. In addition, ISO Technical Committee 211 provides a harmonized UML model which encompasses all of the ISO Standards used by this POI Conceptual Model. That UML model is available from the ISO TC211 HMMG.

6.1.1.  ISO Feature Model

A Point of Interest (POI) is a Feature. Therefore, it is important to understand what a POI inherits from the ISO Feature model.

The ISO TC211 Feature Model is defined in ISO 19109:2015. A UML model showing applicable portions of the ISO Feature Model is provided in Figure 3.

 

Figure 3 — Feature Model

The most relevant classes defined by this model are described below.

FeatureType: This class describes how a feature class shall be constructed in an Application Schema. In accordance with the conformance clause of the standard, instances of this class are instantiated as feature classes in an Application Schema.

AnyFeature: The class AnyFeature is an instance of the «metaclass» FeatureType. It represents the set of all classes which are feature types.

In an implementation, this abstract class shall be substituted by a concrete class representing a feature type from an application schema associated with a domain of discourse.

Requirement 1: Requirement — General Feature Model

Identifier/req/core/generalfeaturemodel
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An encoding of the POI Conceptual Model SHALL be compliant with the General Feature Model defined in ISO 19109.

6.1.2.  ISO Geometry Model

The ISO TC211 Geometry Model is defined in ISO 19107:2003. While there is a new version of this standard, it has not been widely implemented. Therefore, the 2003 version has been used in this Standard.

The ISO Geometry Model can represent very complex geometry. Much more complex than needed for expressing a POI. Therefore, POI geometry types are restricted to Points, Lines, and Polygons. Figure 4 provides a UML model of the classes from ISO 19107 which are applicable to POIs.

 

Figure 4 — Geometry Model

The key classes described in this figure are:

GM_Object: Root class for all OGC geometry types.

GM_Point: The geometric primitive for Points

GM_LineString: The geometric primitive for line strings.

GM_Polygon: The geometric primitive for areas.

Requirement 2: Requirement — Geometry

Identifier/req/core/geometry
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

The POI Conceptual Model spatial geometry properties SHALL be compliant with the Geometry Model defined in ISO 19107 with the following restrictions:

B

A POI instance SHALL include a spatial geometry property using the SpatialAttributeType attribute type.

C

The spatial geometry properties of all POI instances SHALL be defined using one or more of the following classes:

  1. GM_Point

  2. GM_LineString

  3. GM_Polygon

6.2.  POI ISO Extensions

This Standard extends the OGC Feature Model to support the concept of a Point of Interest. These extensions are illustrated in Figure 5.

 

Figure 5 — POI UML Model - ISO Extensions

These extensions include further refinement of the AnyFeature class through the addition of identification and temporal validity attributes.

AbstractFeature: The root Feature class for this Standard. This class has been borrowed from the CityGML 3.0 Conceptual Model. AbstractFeature adds descriptive and identifying properties to AnyFeature. AbstractFeatureWithLifespan: Adds temporality to AbstractFeature. This class was also borrowed from the CityGML 3.0 Conceptual Model.

6.2.1.  Abstract Feature

Requirement 3: Requirement — Abstract Feature

Identifier/req/core/abstractfeature
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeature class SHALL be an accurate representation of the UML model for that class.

B

An encoding of the AbstractFeature class SHALL be a compliant extension of the AnyFeature class defined in ISO 19109.

C

An encoding of the AbstractFeature class SHALL comply with requirement /req/core/abstractfeature-description.

D

An encoding of the AbstractFeature class SHALL comply with requirement /req/core/abstractfeature-featureid.

E

An encoding of the AbstractFeature class SHALL comply with requirement /req/core/abstractfeature-identifier.

F

An encoding of the AbstractFeature class SHALL comply with requirement /req/core/abstractfeature-name.

Requirement 4: Requirement — Abstract Feature Description

Identifier/req/core/abstractfeature-description
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeature class SHALL comply with the following criteria:

B

An encoding of the AbstractFeature class SHALL include zero or one description attributes.

Requirement 5: Requirement — Abstract Feature Feature Id

Identifier/req/core/abstractfeature-featureid
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeature class SHALL comply with the following criteria:

B

An encoding of the AbstractFeature class SHALL include one featureID attributes.

Requirement 6: Requirement — Abstract Feature Identifier

Identifier/req/core/abstractfeature-identifier
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeature class SHALL comply with the following criteria:

B

An encoding of the AbstractFeature class SHALL include zero or one identifier attributes.

Requirement 7: Requirement — Abstract Feature Name

Identifier/req/core/abstractfeature-name
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeature class SHALL comply with the following criteria:

B

An encoding of the AbstractFeature class SHALL include zero or more name attributes.

6.2.2.  Abstract Feature with Lifespan

Requirement 8: Requirement — Feature with Lifespan

Identifier/req/core/featurewithlifespan
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeatureWithLifespan class SHALL be an accurate representation of the UML model for that class.

B

An encoding of the AbstractFeatureWithLifespan class SHALL comply with requirement /req/core/abstractfeature.

C

An encoding of the AbstractFeatureWithLifespan class SHALL comply with requirement /req/core/featurewithlifespan-creationdate.

D

An encoding of the AbstractFeatureWithLifespan class SHALL comply with requirement /req/core/featurewithlifespan-terminationdate.

E

An encoding of the AbstractFeatureWithLifespan class SHALL comply with requirement /req/core/featurewithlifespan-validfrom.

F

An encoding of the AbstractFeatureWithLifespan class SHALL comply with requirement /req/core/featurewithlifespan-validto.

Requirement 9: Requirement — Feature with Lifespan Creation Date

Identifier/req/core/featurewithlifespan-creationdate
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeatureWithLifespan class SHALL comply with the following criteria:

B

An encoding of the AbstractFeatureWithLifespan class SHALL include zero or one creationDate attributes.

Requirement 10: Requirement — Feature with Lifespan Termination Date

Identifier/req/core/featurewithlifespan-terminationdate
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeatureWithLifespan class SHALL comply with the following criteria:

B

An encoding of the AbstractFeatureWithLifespan class SHALL include zero or one terminationDate attributes.

Requirement 11: Requirement — Feature with Lifespan Valid From

Identifier/req/core/featurewithlifespan-validfrom
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeatureWithLifespan class SHALL comply with the following criteria:

B

An encoding of the AbstractFeatureWithLifespan class SHALL include zero or one validFrom attributes.

Requirement 12: Requirement — Feature with Lifespan Valid To

Identifier/req/core/featurewithlifespan-validto
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the AbstractFeatureWithLifespan class SHALL comply with the following criteria:

B

An encoding of the AbstractFeatureWithLifespan class SHALL include zero or one validTo attributes.

6.3.  POI Class Model

The following classes form the core of the POI model. These classes are the same for all POIs.

 

Figure 6 — POI UML Model - Core

  • AbstractPOI: The abstract model for a Point of Interest.

  • POI: A POI instance.

  • FeatureOfInterest: This is an OGC Feature which has been defined independently from the POI. Conceptually, the purpose of the POI is to provide a user friendly synopsis of this Feature.

6.3.1.  Abstract POI

Requirement 13: Requirement — Abstract POI

Identifier/req/core/abstract-poi
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL be an accurate representation of the UML model for that class.

B

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-feature-with-lifespan.

C

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-contactinfo.

D

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-featureofinterest.

E

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-metadata.

F

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-keywords.

G

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-rights.

H

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-symbology.

I

An instantiation of the Abstract POI class SHALL comply with requirement /req/core/poi-haspayload.

Requirement 14: Requirement — POI Contact Information

Identifier/req/core/poi-contactInfo
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include one or more contactInfo attributes.

C

Encodings of the contactInfo attribute SHALL be a valid implementation of the CI_Responsibility class from ISO 19115-1:2014

Requirement 15: Requirement — POI Feature of Interest

Identifier/req/core/poi-featureofinterest
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include zero or more associated instances of the FeatureOfInterest class.

C

The target of the hasFeatureOfInterest aggregation SHALL be a valid implementation of the Feature class from ISO 19109:2015

Requirement 16: Requirement — POI Metadata

Identifier/req/core/poi-metadata
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include zero or more metadata attributes.

C

An implementation of the metadata association SHALL comply with requirement /req/core/link.

Requirement 17: Requirement — POI Keywords

Identifier/req/core/poi-keywords
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include zero or more keywords attributes.

C

Encodings of the keywords attribute SHALL be a valid implementation of the MD_Keywords class from ISO 19115-1:2014.

Requirement 18: Requirement — POI Rights

Identifier/req/core/poi-rights
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include zero, one, or two rights attributes.

C

Encodings of the rights attribute SHALL be a valid implementation of the MD_Constraints class from ISO 19115-1:2014.

Requirement 19: Requirement — POI Symbology

Identifier/req/core/poi-symbology
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include zero or one symbology attributes.

C

Encodings of a symbology attribute SHALL comply with requirement /req/core/link.

Requirement 20: Requirement — POI Has Payload

Identifier/req/core/poi-haspayload
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the Abstract POI class SHALL comply with the following criteria:

B

An encoding of the Abstract POI class SHALL include zero or more associated instances of the POI_Payload class.

C

The associated POI_Payload classes SHALL comply with requirement /req/core/poi-payload.

6.3.2.  POI

Requirement 22: Requirement — POI Class

Identifier/req/core/poi
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An encoding of the POI class SHALL comply with requirement /req/core/req-poi-abstract-poi.

6.4.  POI Payload

A POI is a representation of a Feature. The POI class provides a standard way to identify and manage a POI. However, it does not provide any information about the Feature it is representing. This information is difficult to standardize since it is dependent on the data model of the Feature store being described.

Therefore, the POI model is designed to be extended with properties specific to a Feature or a Feature Collection. The POI Payload is a container for representations of Feature properties. The syntax of those representations is provided by the Payload Schema class. Where appropriate, semantics can also be provided through the Payload Definition class. Since the schema and definitions may be the same for a large number of Features, these classes should be instantiated as referenceable resources, allowing one instance to be used by a number of POIs.

 

Figure 7 — POI UML Model - Payload

  • POI_Payload: The abstract model for a Point of Interest. All POI instances will contain these attributes.

  • PayloadSchema: The Payload Schema Class represents a syntactic model (schema) for a POI payload.

  • PayloadDefinition: The Payload Definition Class represents a semantic model (ontology) for a POI payload.

In the interest of interoperability, the POI Payload should be constructed using data types and concepts which are already in wide use by the Geospatial community. The data types and concepts defined by the ISO 19103, ISO 19107, ISO 19109, and ISO 19115 Standards are recommended for this purpose.

While the POI Payload should have a single syntactic model (schema), there may be more than one way to represent that model. For example, JSON Schemas are commonly provided using both JSON and YAML encodings. The POI abstract model allows a POI Payload to have multiple usesSchema aggregations in order to support this practice.

The hasDefinition aggregation is provided in anticipation of the future use of ontologies to associate meaning (semantics) with the structure (syntax) of the POI Payload. Use of the hasDefinition aggregation is optional.

Requirement 23: Requirement — POI-Payload

Identifier/req/core/poi_payload
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the POI_Payload class SHALL be an accurate representation of the UML model for that class.

B

An instantiation of the POI_Payload class SHALL comply with requirement /req/core/poi_payload-hasfeatureofinterest.

C

An instantiation of the POI_Payload class SHALL comply with requirement /req/core/poi_payload-hasdefinition.

D

An instantiation of the POI_Payload class SHALL comply with requirement /req/core/poi_payload-usesschema.

Requirement 24: Requirement — POI Payload Has Feature of Interest

Identifier/req/core/poi_payload-hasfeatureofinterest
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the POI_Payload class SHALL comply with the following criteria:

B

An encoding of the Abstract POI_Payload class SHALL include zero or more hasFeatureOfInterest aggregations.

C

The target of a hasFeatureOfInterest aggregation SHALL be a valid implementation of the Feature class from ISO 19109:2015

Requirement 25: Requirement — POI Payload has definition

Identifier/req/core/poi_payload-hasdefinition
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the POI_Payload class SHALL comply with the following criteria:

B

An encoding of the Abstract POI_Payload class SHALL include no more than one hasDefinition aggregations.

C

The target of a hasDefinition aggregation SHALL be a valid ontology for the implementing technology

Requirement 26: Requirement — POI Payload Uses Schema

Identifier/req/core/poi_payload-usesschema
Included inRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
A

An instantiation of the POI_Payload class SHALL comply with the following criteria:

B

An encoding of the Abstract POI_Payload class SHALL include one or more usesSchema aggregations.

C

The target of a usesSchema aggregation SHALL be a valid schema for the implementing technology.

6.5.  POI Data Dictionary

The POI UML model is the normative definition of the POI Conceptual Model. The Data Dictionary tables in this section were software generated from the UML model. As such, this section provides a normative representation of the POI Conceptual Model.

Table 1

AbstractFeature

    Definition:AbstractFeature is the abstract superclass of all feature types within the POI Model.
    Subclass of:AnyFeature
    Stereotype:«FeatureType»
AttributeValue type and multiplicityDefinition
description «property»CharacterString [0..*]Provides further information on the feature.
featureID «property»GenericName [1..1]Specifies the unique identifier of the feature that is valid in the instance document within which it occurs.
identifer «property»ScopedName [0..*]Specifies the unique identifier of the feature that is valid globally.
name «property»GenericName [0..*]Specifies the name of the feature.

Table 4

AbstractFeatureWithLifespan

    Definition:AbstractFeatureWithLifespan is the base class for all POI features. This class allows the optional specification of the real-world and database times for the existence of each feature.
    Subclass of:AbstractFeature
    Stereotype:«FeatureType»
AttributeValue type and multiplicityDefinition
creationDate «property»DateTime [0..1]Indicates the date at which a POI feature was added to the containing model.
terminationDate «property»DateTime [0..1]Indicates the date at which a POI feature was removed from the containing model.
validFrom «property»DateTime [0..1]Indicates the date at which a POI feature started to exist in the real world.
validTo «property»DateTime [0..1]Indicates the date at which a POI feature ceased to exist in the real world.

Table 7

AbstractPOI

    Definition:A Point of Interest (POI) is a Feature which provides a concise summary of one or more associated Features. Its purpose is to provide easy access to key information about one or more real-world objects without the need to access or understand the underlying Feature data set.
    Subclass of:AbstractFeatureWithLifespan
    Stereotype:«FeatureType»
Role nameTarget class and multiplicityDefinition
hasPayload «property»POI_Payload [0..*]Indicates a payload associated with this POI.
hasFeatureOfInterest «property»FeatureOfInterest [0..*]One or more Features which are represented by this POI.
AttributeValue type and multiplicityDefinition
contactInfo «property»CI_Responsibility [1..*]Contact information for the creators and maintainers of this POI.
hasMetadata «property»Link [0..*]An association with zero or more metadata records providing additional information about this POI and/or the associated Features of Interest.
keywords «property»MD_Keywords [0..*]Keywords used to aid in discovery of POIs of interest.
rights «property»MD_Constraints [0..2]Legal and security constraints applicable to this POI.
symbology «property»Link [0..1]A reference to information about rendering this POI.

Table 11

FeatureOfInterest

    Definition:The thing whose property is being estimated or calculated during an Observation to arrive at a Result, or whose property is being manipulated by an Actuator, or which is being sampled or transformed in an act of Sampling. (SOSA)
    Subclass of:AnyFeature
    Stereotype:«FeatureType»

Table 13

PayloadDefinition

    Definition:The semantic model (ontology) for a POI payload.
    Subclass of:none
    Stereotype:«DataType»

Table 15

PayloadSchema

    Definition:A model of the syntax of the POI payload.
    Subclass of:none
    Stereotype:«DataType»

Table 17

POI

    Definition:An instance of a POI. Implements the AbstractPOI class.
    Subclass of:none
    Stereotype:«FeatureType»
Role nameTarget class and multiplicityDefinition
implementsAbstractPOI [1..1]Identifies the abstract POI implemented by this POI

Table 20

POI_Payload

    Definition:A representation of properties of the FoI which are to be included in the POI.
    Subclass of:none
    Stereotype:«DataType»
Role nameTarget class and multiplicityDefinition
hasDefinition «property»PayloadDefinition [0..1]A reference to the semantic model of this POI payload.
hasFeatureOfInterest «property»FeatureOfInterest [0..*]Indicates the Feature of Interest which is being summarized in this payload.
usesSchema «property»PayloadSchema [1..*]A reference to the schema for this POI payload.

6.5.1.  POI Data Types

The following data types are used in the POI UML model.

Table 23

CharacterString

    Definition:CharacterString is a family of datatypes which represent strings of symbols from standard character-sets. The semantics of CharacterString is in accordance with ISO/IEC 11404:2007 clause 10.1.5. (ISO 19103)
    Subclass of:none
    Stereotype:«Type»

Table 25

Integer

    Definition:An exact integer value, with no fractional part. (ISO 19103)
    Subclass of:none
    Stereotype:«Type»

Table 27


Annex A
(informative)
Abstract Test Suite (Normative)

The following Abstract Test Suite is independent of any implementing technology. It is not to be used to assess conformance of a POI implementation. Rather, it is intended for use by developers of Implementation Standards. It provides a baseline to be extended with the technology-specific details necessary to create an Executable Test Script. It is the technology-specific Executable Test Scripts which are used to assess conformance of POI implementations.

A.1.  Conformance Class Core

Conformance class A.1

Identifierhttp://www.opengis.net/spec/poi/1.0/conf/core
Requirements classRequirements class 1: http://www.opengis.net/spec/poi/1.0/req/core
Target TypeImplementation Standard
Conformance testsAbstract test A.1: /conf/core/generalfeaturemodel
Abstract test A.2: /conf/core/geometry
Abstract test A.3: /conf/core/abstractfeature
Abstract test A.4: /conf/core/abstractfeature-description
Abstract test A.5: /conf/core/abstractfeature-featureid
Abstract test A.6: /conf/core/abstractfeature-identifier
Abstract test A.7: /conf/core/abstractfeature-name
Abstract test A.8: /conf/core/featurewithlifespan
Abstract test A.9: /conf/core/featurewithlifespan-creationdate
Abstract test A.10: /conf/core/featurewithlifespan-terminationdate
Abstract test A.11: /conf/core/featurewithlifespan-validfrom
Abstract test A.12: /conf/core/featurewithlifespan-validto
Abstract test A.13: /conf/core/abstract-poi
Abstract test A.14: /conf/core/poi-contactinfo
Abstract test A.15: /conf/core/poi-featureofinterest
Abstract test A.16: /conf/core/poi-metadata
Abstract test A.17: /conf/core/poi-keywords
Abstract test A.18: /conf/core/poi-rights
Abstract test A.19: /conf/core/poi-symbology
Abstract test A.20: /conf/core/poi-haspayload
Abstract test A.21: /conf/core/link
Abstract test A.22: /conf/core/poi_payload
Abstract test A.23: /conf/core/poi_payload-usesschema
Abstract test A.24: /conf/core/poi_payload-hasdefinition
Abstract test A.25: /conf/core/poi_payload-hasfeatureofinterest
Abstract test A.26: /conf/core/poi

A.1.1.  General Feature Model

Abstract test A.1

Identifier/conf/core/generalfeaturemodel
RequirementRequirement 1: /req/core/generalfeaturemodel
Target TypeImplementation Standard
NOTEIf the Implementation Standard is based on a Standard known to be conformant with ISO 19109 (ex: GML), then conformance with that Standard is sufficient to show conformance with ISO 19109.
Test purpose

Validate that the POI Implementation Standard is conformant with the ISO 19109 General Feature Model.

Test-method-type

Manual Inspection

Description

Inspect the POI Implementation Standard for the following:

A

Validate that the Implementation Standard includes an Abstract Test Suite (Annex A).

B

Validate that the Abstract Test Suite tests for conformance with the General Feature Model defined in ISO 19109.

A.1.2.  Geometry

Abstract test A.2

Identifier/conf/core/geometry
RequirementRequirement 2: /req/core/geometry
Target TypeImplementation Standard
NOTEIf the Implementation Standard is based on a Standard known to be conformant with ISO 19107 (ex: GML), then conformance with that Standard is sufficient to show conformance with ISO 19107.
Test purpose

To validate that the POI Implementation Standard is conformant with the ISO 19107 Geometry Model.

Test-method-type

Manual Inspection

Description

Inspect the POI Implementation Standard for the following:

A

Validate that the Implementation Standard includes an Abstract Test Suite (Annex A).

B

Validate that all geometries used in the Implementation Standard conform with the geometry model defined in ISO 19107.

C

Validate that the Abstract Test Suite tests each POI Feature for the presence of a SpatialAttributeType property of type GM_Point, GM_LineString, or GM_Polygon.

A.1.3.  Abstract Feature

Abstract test A.3

Identifier/conf/core/abstractfeature
RequirementRequirement 3: /req/core/abstractfeature
PrerequisitesAbstract test A.1: /conf/core/generalfeaturemodel
Abstract test A.2: /conf/core/geometry
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the AbstractFeature Class as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Inspect the POI Implementation Standard to validate that the AbstractFeature class is properly implemented.

A

Validate that the implementation of the AbstractFeature class is also a valid implementation of the AnyFeature class defined in the ISO 19109 General Feature Model.

B

Validate correct implementation of the description attribute using test /conf/core/abstractfeature-description.

C

Validate correct implementation of the featureId attribute using test /conf/core/abstractfeature-featureid.

D

Validate correct implementation of the identifier attribute using test /conf/core/abstractfeature-identifier.

E

Validate correct implementation of the name attribute using test /conf/core/abstractfeature-name.

A.1.3.1.  Abstract Feature-Description

Abstract test A.4

Identifier/conf/core/abstractfeature-description
RequirementRequirement 4: /req/core/abstractfeature-description
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the description attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the description attribute.

A

Validate that zero, one, or more ‘description’ attributes are allowed in an AbstractFeature class.

B

Validate that the description attribute is a valid implementation of the CharacterString class from ISO 19103.

A.1.3.2.  Abstract Feature-FeatureId

Abstract test A.5

Identifier/conf/core/abstractfeature-featureid
RequirementRequirement 5: /req/core/abstractfeature-featureid
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the featureId attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the featureId attribute.

A

Validate that one ‘featureId’ attribute is required in an AbstractFeature class.

B

Validate that more than one ‘featureId’ attributes are allowed in an AbstractFeature class.

C

Validate that the featureId attribute is a valid implementation of the GenericName class from ISO 19103.

A.1.3.3.  Abstract Feature-Identifier

Abstract test A.6

Identifier/conf/core/abstractfeature-identifier
RequirementRequirement 6: /req/core/abstractfeature-identifier
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the identifier attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the identifier attribute.

A

Validate that zero, one, or more ‘identifier’ attributes are allowed in an AbstractFeature class.

B

Validate that the identifier attribute is a valid implementation of the ScopedName class from ISO 19103.

A.1.3.4.  Abstract Feature-Name

Abstract test A.7

Identifier/conf/core/abstractfeature-name
RequirementRequirement 7: /req/core/abstractfeature-name
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the name attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the name attribute.

A

Validate that zero, one, or more ‘name’ attributes are allowed in an AbstractFeature class.

B

Validate that the name attribute is a valid implementation of the GenericName class from ISO 19103.

A.1.4.  Abstract Feature with Lifespan

Abstract test A.8

Identifier/conf/core/featurewithlifespan
RequirementRequirement 8: /req/core/featurewithlifespan
PrerequisiteAbstract test A.3: /conf/core/abstractfeature
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the AbstractFeaturewithLifespan Class as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Inspect the POI Implementation Standard to validate that the AbstractFeatureWithLifespan class is properly implemented.

A

Validate that the implementation of the AbstractFeatureWithLifespan class is also a valid implementation of the AbstractFeature class using test /conf/core/abstractfeature.

B

Validate correct implementation of the creationDate attribute using test /conf/core/featurewithlifespan-creationdate.

C

Validate correct implementation of the terminationDate attribute using test /conf/core/featurewithlifespan-terminationdate.

D

Validate correct implementation of the validFrom attribute using test /conf/core/featurewithlifespan-validfrom.

E

Validate correct implementation of the validTo attribute using test /conf/core/featurewithlifespan-validto.

A.1.4.1.  Creation Date

Abstract test A.9

Identifier/conf/core/featurewithlifespan-creationdate
RequirementRequirement 9: /req/core/featurewithlifespan-creationdate
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the creationDate attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the creationDate attribute.

A

Validate that no more than one creationDate attribute is allowed in an AbstractFeatureWithLifespan class.

B

Validate that the creationDate attribute is a valid implementation of the DateTime type from ISO 19103.

A.1.4.2.  Termination Date

Abstract test A.10

Identifier/conf/core/featurewithlifespan-terminationdate
RequirementRequirement 10: /req/core/featurewithlifespan-terminationdate
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the terminationDate attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the terminationDate attribute.

A

Validate that no more than one terminationDate attribute is allowed in an AbstractFeatureWithLifespan class.

B

Validate that the terminationDate attribute is a valid implementation of the DateTime type from ISO 19103.

A.1.4.3.  Valid From

Abstract test A.11

Identifier/conf/core/featurewithlifespan-validfrom
RequirementRequirement 11: /req/core/featurewithlifespan-validfrom
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the validFrom attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the validFrom attribute.

A

Validate that no more than one validFrom attribute is allowed in an AbstractFeatureWithLifespan class.

B

Validate that the validFrom attribute is a valid implementation of the DateTime type from ISO 19103.

A.1.4.4.  Valid To

Abstract test A.12

Identifier/conf/core/featurewithlifespan-validto
RequirementRequirement 12: /req/core/featurewithlifespan-validto
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the validTo attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the validTo attribute.

A

Validate that no more than one ‘validTo’ attribute is allowed in an AbstractFeatureWithLifespan class.

B

Validate that the validTo attribute is a valid implementation of the DateTime type from ISO 19103.

A.1.5.  Abstract POI

Abstract test A.13

Identifier/conf/core/abstract-poi
RequirementRequirement 13: /req/core/abstract-poi
PrerequisiteAbstract test A.8: /conf/core/featurewithlifespan
Target TypeImplementation Standard
Test purpose

To validate that the Implementation Standard implements the AbstractPOI class as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate that the Implementation Standard correctly implements the AbstractPOI class:

A

Validate that the implementation of the AbstractPOI class is also a valid implementation of the AbstractFeatureWithLifespan class using test /conf/core/featurewithlifespan.

B

Validate correct implementation of the contactInfo attribute using test /conf/core/poi-contactinfo.

C

Validate correct implementation of the hasFeatureOfInterest aggregation using the test /conf/core/poi-featureofinterest.

D

Validate correct implementation of the hasMetadata association using the test /conf/core/poi-metadata.

E

Validate correct implementation of the keywords attribute using the test /conf/core/poi-keywords.

F

Validate correct implementation of the rights attribute using the test /conf/core/poi-rights.

G

Validate correct implementation of the symbology association using the test /conf/core/poi-symbology.

H

Validate correct implementation of the hasPayload association using the test /conf/core/poi-haspayload.

A.1.5.1.  Abstract POI ContactInfo

Abstract test A.14

Identifier/conf/core/poi-contactinfo
RequirementRequirement 14: /req/core/poi-contactInfo
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the contactInfo attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the contactInfo attribute.

A

Validate that zero or more contactInfo attributes are allowed in an AbstractPOI class.

B

Validate that the contactInfo attribute is a valid implementation of the CI_Responsibility class from ISO 19115-1:2014.

A.1.5.2.  Abstract POI Feature Of Interest

Abstract test A.15

Identifier/conf/core/poi-featureofinterest
RequirementRequirement 15: /req/core/poi-featureofinterest
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the hasFeatureOfinterest aggregation as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and target class of the hasFeatureOfInterest aggregation.

A

Validate that zero or more hasFeatureOfInterest aggregations are allowed in an AbstractPOI class.

B

Validate that the target of the hasFeatureOfInterest aggregation is a valid implementation of the Feature class from ISO 19109:2015.

A.1.5.3.  Abstract POI Metadata

Abstract test A.16

Identifier/conf/core/poi-metadata
RequirementRequirement 16: /req/core/poi-metadata
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the hasMetadata association as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and encoding of the hasMetadata association.

A

Validate that zero or more hasMetadata associations are allowed in an AbstractPOI class.

B

Validate that the hasMetadata association is implemented as described in the Conceptual Model using the /conf/core/link test.

A.1.5.4.  Abstract POI Keywords

Abstract test A.17

Identifier/conf/core/poi-keywords
RequirementRequirement 17: /req/core/poi-keywords
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the keywords attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the keywords attribute.

A

Validate that zero or more keywords attributes are allowed in an AbstractPOI class.

B

Validate that the keywords attribute is a valid implementation of the MD_Keywords class from ISO 19115-1:2014.

A.1.5.5.  Abstract POI Rights

Abstract test A.18

Identifier/conf/core/poi-rights
RequirementRequirement 18: /req/core/poi-rights
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the rights attribute as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and type of the rights attribute.

A

Validate that zero, one, or two rights attributes are allowed in an AbstractPOI class.

B

Validate that the rights attribute is a valid implementation of the MD_Constraints class from ISO 19115-1:2014.

A.1.5.6.  Abstract POI Symbology

Abstract test A.19

Identifier/conf/core/poi-symbology
RequirementRequirement 19: /req/core/poi-symbology
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the symbology association as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and encoding of the symbology association.

A

Validate that zero or one symbology associations are allowed in an AbstractPOI class.

B

Validate that the symbology association is implemented as described in the Conceptual Model using the /conf/core/link test.

A.1.5.7.  Abstract POI Payload Association

Abstract test A.20

Identifier/conf/core/poi-haspayload
RequirementRequirement 20: /req/core/poi-haspayload
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the hasPayload aggregation as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and target class of the hasPayload aggregation.

A

Validate that zero or more hasPayload aggregations are allowed in an AbstractPOI class.

B

Validate that the target of the hasPayload aggregation is a valid implementation of the POI_Payload class using the /conf/core/poi-payload test.

A.1.6.  POI Payload

Abstract test A.22

Identifier/conf/core/poi_payload
RequirementRequirement 23: /req/core/poi_payload
Target TypeImplementation Standard
Test purpose

To validate that the Implementation Standard implements the POI_Payload Class as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate that the Implementation Standard correctly implements the POI_Payload class:

A

Validate correct implementation of the usesSchema aggregation using the test /conf/core/poi_payload-usesschema.

B

Validate correct implementation of the hasDefinition aggregation using the test /conf/core/poi_payload-hasdefinition.

C

Validate correct implementation of the hasFeatureOfInterest aggregation using the test /conf/core/poi_payload-hasfeatureofinterest.

A.1.6.1.  POI_Payload Uses Schema

Abstract test A.23

Identifier/conf/core/poi_payload-usesschema
RequirementRequirement 26: /req/core/poi_payload-usesschema
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the usesSchema aggregation as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and target class of the usesSchema aggregation.

A

Validate that at least one usesSchema aggregation is required in a POI_Payload class.

B

Validate that the target of the usesSchema aggregation is a valid schema for the implementing technology.

A.1.6.2.  POI_Payload Has Definition

Abstract test A.24

Identifier/conf/core/poi_payload-hasdefinition
RequirementRequirement 25: /req/core/poi_payload-hasdefinition
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the hasDefinition aggregation as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and target class of the hasDefinition aggregation.

A

Validate that no more than one hasDefinition aggregation is allowed in a POI_Payload class.

B

Validate that the target of the hasDefinition aggregation is a valid ontology for the implementing technology.

A.1.6.3.  POI_Payload Feature Of Interest

Abstract test A.25

Identifier/conf/core/poi_payload-hasfeatureofinterest
RequirementRequirement 24: /req/core/poi_payload-hasfeatureofinterest
Target TypeImplementation Standard
Test purpose

Validate that the Implementation Standard implements the hasFeatureOfinterest aggregation as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate the cardinality and target class of the hasFeatureOfInterest aggregation.

A

Validate that zero or more hasFeatureOfInterest aggregations are allowed in a POI_Payload class.

B

Validate that the target of the hasFeatureOfInterest aggregation is a valid implementation of the Feature class from ISO 19109:2015.

A.1.7.  POI

Abstract test A.26

Identifier/conf/core/poi
RequirementRequirement 22: /req/core/poi
PrerequisiteAbstract test A.13: /conf/core/abstract-poi
Target TypeImplementation Standard
Test purpose

To validate that the Implementation Standard implements the POI Class as defined in the POI Conceptual Model.

Test-method-type

Manual Inspection

Description

Validate that the Implementation Standard correctly implements the POI class:

A

Validate that the implementation of the POI class is also a valid implementation of the Abstract_POI class using test /conf/core/abstract-poi.


Annex B
(informative)
Revision History

Table B.1

DateReleaseEditorPrimary clauses modifiedDescription
2021-06-170.0.1Matthew Purssallinitial version
2024-02-151.0.0Chuck HeazelallPOI draft standard for OAB review

Bibliography

[1]  Thomas H. Kolbe, Tatjana Kutzner, Carl Stephen Smyth, Claus Nagel, Carsten Roensdorf, Charles Heazel: OGC 20-010, OGC City Geography Markup Language (CityGML) Part 1: Conceptual Model Standard. Open Geospatial Consortium (2021). http://www.opengis.net/doc/IS/CityGML-1/3.0.0.

[2]  ISO: ISO 1087-1, Terminology work — Vocabulary — Part 1: Theory and application. International Organization for Standardization, Geneva https://www.iso.org/standard/20057.html.

[3]  ISO/IEC: ISO/IEC 2382, Information technology — Vocabulary. International Organization for Standardization, International Electrotechnical Commission, Geneva https://www.iso.org/standard/63598.html.

[4]  ISO: ISO 11404:2007, ISO (2007).

[5]  ISO: ISO 19104, Geographic information — Terminology. International Organization for Standardization, Geneva https://www.iso.org/standard/63541.html.

[6]  ISO: ISO 19111:2019, Geographic information — Referencing by coordinates. International Organization for Standardization, Geneva (2019). https://www.iso.org/standard/74039.html.

[7]  ISO: ISO 19112, Geographic information — Spatial referencing by geographic identifiers. International Organization for Standardization, Geneva https://www.iso.org/standard/70742.html.

[8]  ISO: ISO 19117:2012, Geographic information — Portrayal. International Organization for Standardization, Geneva (2012). https://www.iso.org/standard/46226.html.

[9]  ISO: ISO 19118, Geographic information — Encoding. International Organization for Standardization, Geneva https://www.iso.org/standard/44212.html.

[10]  ISO: ISO 19119:2016, Geographic information — Services. International Organization for Standardization, Geneva (2016). https://www.iso.org/standard/59221.html.

[11]  ISO: ISO 19133, Geographic information — Location-based services — Tracking and navigation. International Organization for Standardization, Geneva https://www.iso.org/standard/32551.html.

[12]  ISO: ISO 19136-1, Geographic information — Geography Markup Language (GML) — Part 1: Fundamentals. International Organization for Standardization, Geneva https://www.iso.org/standard/75676.html.

[13]  ISO: ISO 19143, Geographic information — Filter encoding. International Organization for Standardization, Geneva https://www.iso.org/standard/42137.html.

[14]  ISO: ISO 19150-1, Geographic information — Ontology — Part 1: Framework. International Organization for Standardization, Geneva https://www.iso.org/standard/57465.html.. ISO

[15]  ISO: ISO 19150-2, Geographic information — Ontology — Part 2: Rules for developing ontologies in the Web Ontology Language (OWL). International Organization for Standardization, Geneva https://www.iso.org/standard/57466.html.

[16]  ISO: ISO 19150-4, Geographic information — Ontology — Part 4: Service ontology. International Organization for Standardization, Geneva https://www.iso.org/standard/72177.html.

[17]  ISO: ISO 19155, Geographic information — Place Identifier (PI) architecture. International Organization for Standardization, Geneva https://www.iso.org/standard/32573.html.

[18]  ISO: ISO 19156:2011, Geographic information — Observations and measurements. International Organization for Standardization, Geneva (2011). https://www.iso.org/standard/32574.html.

[19]  ISO: ISO 19160-4, Addressing — Part 4: International postal address components and template language. International Organization for Standardization, Geneva https://www.iso.org/standard/83470.html.

[20]  ISO/IEC: ISO/IEC 19501, Information technology — Open Distributed Processing — Unified Modeling Language (UML) Version 1.4.2. International Organization for Standardization, International Electrotechnical Commission, Geneva https://www.iso.org/standard/32620.html.

[21]  W3C. Points of Interest Core W3C Working Draft 12 May 2011. https://www.w3.org/TR/poi-core

[22]  ISO TC211 Harmonized Model Maintenance Group. ISO/TC 211 Harmonized UML Model. https://github.com/ISO-TC211/HMMG

[23]  Object Management Group, Model Driven Architecture Guide rev. 2.0