rfc-5964

Specifying Holes in Location-to-Service Translation (LoST) Service Boundaries

J. Winterbottom, M. Thomson
date2010-08 streamIETF areaart wgecrit statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc5964 doi10.17487/RFC5964
This document describes how holes can be specified in geodetic service boundaries. One means of implementing a search solution in a service database, such as one might provide with a Location-to- Service Translation (LoST) server, is described. [STANDARDS-TRACK]

Extracted elements (18)

design-rationale §1

A GML profile was defined (rather than using full GML) to remove permutations that are difficult to process, allowing simplified implementations while still ensuring interoperability through mandatory profile compliance.

realtime

design-rationale §3

Holes are specified with points in clockwise order so their upward normal opposes the upward normal of the exterior boundary, providing a consistent geometric convention that distinguishes interior from exterior rings.

realtime

design-rationale §6

Interior boundaries were chosen because many geospatial databases natively support polygons with interior exclusions, enabling efficient real-time queries needed for emergency call routing without requiring additional application-level processing.

realtime

design-rationale §1

The working group considered representing hole-containing regions as collections of polygons without holes but rejected this to avoid problems with arbitrary division of regions and to align with established geospatial system practices.

realtime

interoperability-note §4

Polygon vertices may be expressed using either individual gml:pos elements or a single gml:posList element; both forms are equivalent and must be treated identically by receivers.

realtime

interoperability-note §1

This document defines a restricted profile of GML [ISO-19107] polygons for service boundary descriptions. Implementations that do not support all GML variations must still produce output conformant to this profile.

realtime

normative-requirement §1 MUST

A fully conformant GML implementation must produce polygons that fit this profile to ensure interoperability with simplified implementations that are not capable of handling all GML permutations.

realtime

normative-requirement §3 MUST

A hole MUST be formed from a legal linear ring in accordance with [geoshape], except that points are specified in a clockwise direction, so that the upward normal opposes that of the exterior boundary.

realtime

normative-requirement §3 MUST

A polygon MUST describe a contiguous region. If a hole overlaps with the outer boundary or shares part of a side with the outer boundary (creating an inlet), it MUST be expressed without the hole.

realtime

normative-requirement §3 MUST

If a hole touches the outer boundary in two places, the region MUST be expressed as two separate polygons. Similarly, a polygon enclosed entirely within a hole (an 'island') is a separate polygon.

realtime

normative-requirement §3 MUST NOT

Two holes MUST NOT have more than one point of intersection. If two or more holes overlap or share a common boundary, they represent a single hole and must be merged into one with shared boundaries removed.

realtime

protocol-element §5

A hole in a service boundary is specified as a GML interior boundary (gml:interior containing a gml:LinearRing) within the enclosing gml:Polygon element. The hole's area is excluded from the outer service mapping.

realtime

protocol-element §6

A LoST service boundary is represented by a GML polygon whose enclosed exterior area maps a service URN to a single destination URI. Holes within the polygon represent sub-areas that map to a different service destination.

realtime

protocol-element §6

Each hole-representing inner polygon must also be stored as a separate standalone polygon (with its vertices in counterclockwise order for the exterior boundary) mapped to its own service URN and destination URI.

realtime

security-consideration §7

Constraining the form of a polygon representation as described in this document does not introduce new security considerations beyond those already present in the LoST protocol [RFC5222].

security, realtime

wire-format §5

A hole is encoded as a gml:interior/gml:LinearRing element within the gml:Polygon, with vertices listed in clockwise order. The exterior boundary vertices are listed counterclockwise per [geoshape].

realtime

wire-format §4

GML polygons are encoded using gml:Polygon with srsName='urn:ogc:def:crs:EPSG::4326'. The exterior boundary uses gml:exterior/gml:LinearRing with gml:pos (or gml:posList) elements; the first and last points must be identical to close the ring.

realtime

wire-format §6

Service boundary mappings are conveyed as LoST <mapping> elements (namespace urn:ietf:params:xml:ns:lost1) containing a <serviceBoundary profile='geodetic-2d'> element that wraps the gml:Polygon, including any interior hole boundaries.

realtime