GDD.asn 7.74 KB
Newer Older
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 14823
--
-- This ASN.1 was generated: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2020)
--
-- Published version location (yet missing there):
-- https://standards.iso.org/iso/ts/14823/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GDD {iso (1) standard (0) gdd(14823) version1 (0)}

DEFINITIONS AUTOMATIC TAGS::=
BEGIN

--Definition of GDD Structure

GddStructure::= SEQUENCE{
   pictogramCode           SEQUENCE {
	countryCode             OCTET STRING (SIZE (2)) OPTIONAL,
	serviceCategoryCode     CHOICE {
		trafficSignPictogram       		ENUMERATED {dangerWarning, regulatory, informative,...},
		publicFacilitiesPictogram       	ENUMERATED {publicFacilities, ...},
		ambientOrRoadConditionPictogram   ENUMERATED {ambientCondition, roadCondition,...},
      ...},
	pictogramCategoryCode   SEQUENCE {
		nature            INTEGER (1..9),
		serialNumber       INTEGER (0..99)
}},
   attributes        GddAttributes OPTIONAL
}

-- Definition of the single ISO 14823 Attributes
GddAttributes::= SEQUENCE (SIZE(1..8),...) OF GddAttribute

GddAttribute::= CHOICE{
   dtm InternationalSign-applicablePeriod, -- Date/Time/Period
   edt InternationalSign-exemptedApplicablePeriod,-- Exemption status of Date/Time/Period
   dfl InternationalSign-directionalFlowOfLane,-- Directional Flow of Lane
   ved InternationalSign-applicableVehicleDimensions,-- Vehicle Dimensions
   spe InternationalSign-speedLimits,-- Speed
   roi InternationalSign-rateOfIncline,-- Rate of Incline
   dbv InternationalSign-distanceBetweenVehicles,-- Distance Between Vehicles
   ddd InternationalSign-destinationInformation,-- Destination/Direction/Distance
   set InternationalSign-section,  -- Section
   nol InternationalSign-numberOfLane  -- Number of Lanes
   }

InternationalSign-applicablePeriod::= SEQUENCE {
   year   SEQUENCE { -- contains yearRangeStartYear and yearRangeEndYear
      yearRangeStartYear    INTEGER(2000..2127,...),
      yearRangeEndYear      INTEGER(2000..2127,...)
      } OPTIONAL,
   month-day  SEQUENCE { -- contains dateRangeStartMonth&Date and dateRangeEndMonth&Date
      dateRangeStartGDD-MonthDay   GDD-MonthDay,
      dateRangeEndGDD-MonthDay     GDD-MonthDay
      } OPTIONAL,
   repeatingPeriodDayTypes RepeatingPeriodDayTypes OPTIONAL,
   hourMinutes  SEQUENCE { -- contains timeRangeStartTime and timeRangeEndTime
      timeRangeStartTime  GDD-HoursMinutes,
      timeRangeEndTime    GDD-HoursMinutes
   dateRangeOfWeek       GDD-DayOfWeek OPTIONAL,
   durationHourMinute   GDD-HoursMinutes OPTIONAL
}

InternationalSign-exemptedApplicablePeriod::= InternationalSign-applicablePeriod

InternationalSign-directionalFlowOfLane::= INTEGER {
   sDL   (1),-- Straight Direction Only
   sLT   (2),-- Straight and Left Turn Only
   sRT   (3),-- Straight and Right Turn Only
   lTO   (4),-- Left Turn Only
   rTO   (5),-- Right Turn Only
   cLL   (6),-- Convergence from the Left Lane
   cRI   (7),-- Convergence from the Right Lane
   oVL   (8) -- Oncoming Vehicles Lane
    } (1..8)

InternationalSign-applicableVehicleDimensions::= SEQUENCE{
   vehicleHeight   GDD-Distance OPTIONAL,
   vehicleWidth    GDD-Distance OPTIONAL,
   vehicleLength   GDD-Distance OPTIONAL,
   vehicleGDD-Weight   GDD-Weight 	OPTIONAL
   }

InternationalSign-speedLimits::= SEQUENCE{
   speedLimitMax   INTEGER(0..250) OPTIONAL,
   speedLimitMin   INTEGER(0..250) OPTIONAL,
   unit   			Code-Units (0..1)
   }

InternationalSign-rateOfIncline::= INTEGER(1..32)

InternationalSign-distanceBetweenVehicles::= GDD-Distance

InternationalSign-destinationInformation::= SEQUENCE{
   junctionDirection         INTEGER(1..128) OPTIONAL,
   roundaboutCwDirection     INTEGER(1..128)OPTIONAL,
   roundaboutCcwDirection    INTEGER(1..128)OPTIONAL,
   ioList                    GDD-DDD-IO-LIST
   }

InternationalSign-section::= SEQUENCE{
	startingPointLength   GDD-Distance OPTIONAL,
	continuityLength      GDD-Distance OPTIONAL
   }

InternationalSign-numberOfLane::= INTEGER(0..99)

-- Definition of data elements used in ISO 14823 attributes

Code-Units::= INTEGER {
   kmperh                  (0),
   milesperh               (1),
   kilometre               (2),
   metre                   (3),
   decimetre               (4),
   centimetre              (5),
   mile                    (6),
   yard                    (7),
   foot                    (8),
   minutesOfTime           (9),
   tonnes                  (10),--1000 kg, not Ton!
   hundredkg               (11),
   pound                   (12),--lbs
   rateOfIncline           (13),
   durationinminutes       (14)
   -- value  15 reserved for future use
   } (0..15)

GDD-DayOfWeek::= BIT STRING {unused(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6), sunday(7)} (SIZE (8))
GDD-DDD-IO-LIST ::= SEQUENCE (SIZE (1..8,...)) OF GDD-DDD-IO
GDD-DDD-IO::= SEQUENCE{
   arrowDirection                 INTEGER(0..7),
   destPlace                      GDD-DestinationPlaces OPTIONAL,
   destRoad                       GDD-DestinationRoads OPTIONAL,
   roadNumberIdentifier           INTEGER(1..999) OPTIONAL,
   streetName                     INTEGER(1..999) OPTIONAL,
   streetNameText                 UTF8String OPTIONAL,
   distanceToDivergingPoint       GDD-DistanceOrDuration OPTIONAL,
   distanceToGDD-DestinationPlace     GDD-DistanceOrDuration OPTIONAL
GDD-DestinationPlace::= SEQUENCE{
   destType   					DestinationType,
   destRSCode  					GddStructure (WITH COMPONENTS {..., attributes ABSENT}) OPTIONAL,
   destBlob   					OCTET STRING OPTIONAL,
   placeNameIdentification   	INTEGER(1..999) OPTIONAL,
   placeNameText   				UTF8String OPTIONAL
   }

GDD-DestinationPlaces ::= SEQUENCE (SIZE (1..4,...)) OF GDD-DestinationPlace
GDD-DestinationRoad::= SEQUENCE{
   derType   				GDD-DestinationRoadType,
   roadNumberIdentifier   	INTEGER(1..999) OPTIONAL,
   roadNumberText   		UTF8String OPTIONAL
   }

GDD-DestinationRoads ::= SEQUENCE (SIZE (1..4,...)) OF GDD-DestinationRoad
GDD-DestinationRoadType::= INTEGER {
   none                   (0),
   nationalHighway        (1),
   localHighway           (2),
   tollExpresswayMotorway (3),
   internationalHighway   (4),
   highway                (5),
   expressway             (6),
   nationalRoad           (7),
   regionalProvincialRoad (8),
   localRoad              (9),
   motorwayJunction       (10),
   diversion              (11),
   rfu1                   (12),
   rfu2                   (13),
   rfu3                   (14),
   rfu4                   (15)
   } (0..15, ...)

DestinationType::= INTEGER {
   none   (0),
   importantArea         (1),
   principalArea         (2),
   generalArea           (3),
   wellKnownPoint        (4),
   country               (5),
   city                  (6),
   street                (7),
   industrialArea        (8),
   historicArea          (9),
   touristicArea         (10),
   culturalArea          (11),
   touristicRoute        (12),
   recommendedRoute      (13),
   touristicAttraction   (14),
   geographicArea        (15)
   } (0..15, ...)

GDD-Distance::= SEQUENCE{
   value    INTEGER(1..16384),
   unit     Code-Units(2..4|6..8)
	}

GDD-DistanceOrDuration::= SEQUENCE {
	value INTEGER(1..16384),
	unit Code-Units (2..9)
	}

GDD-HoursMinutes::= SEQUENCE {
   hours      INTEGER (0..23),-- number of hours after midnight
   mins       INTEGER (0..59) -- number of minutes after the hour
   }

GDD-MonthDay::= SEQUENCE {
   month INTEGER    (1..12),
   day INTEGER      (1..31)
   }

RepeatingPeriodDayTypes::= BIT STRING {national-holiday (0), even-days(1), odd-days(2), market-day(3) } (SIZE (4))

GDD-Weight::= SEQUENCE {
	value 	INTEGER(1..16384),
	unit 	Code-Units (10..12)
	}

END