UNPKG

isoxml

Version:

JavaScript library to parse and generate ISOXML (ISO11783-10) files

183 lines (182 loc) 6.68 kB
import { TAGS } from './constants'; import { registerEntityClass } from '../classRegistry'; import { fromXML, toXML } from '../utils'; export var GuidancePatternGuidancePatternTypeEnum; (function (GuidancePatternGuidancePatternTypeEnum) { GuidancePatternGuidancePatternTypeEnum["AB"] = "1"; GuidancePatternGuidancePatternTypeEnum["A"] = "2"; GuidancePatternGuidancePatternTypeEnum["Curve"] = "3"; GuidancePatternGuidancePatternTypeEnum["Pivot"] = "4"; GuidancePatternGuidancePatternTypeEnum["Spiral"] = "5"; })(GuidancePatternGuidancePatternTypeEnum || (GuidancePatternGuidancePatternTypeEnum = {})); export var GuidancePatternGuidancePatternOptionsEnum; (function (GuidancePatternGuidancePatternOptionsEnum) { GuidancePatternGuidancePatternOptionsEnum["ClockwiseForPivot"] = "1"; GuidancePatternGuidancePatternOptionsEnum["CounterClockwiseForPivot"] = "2"; GuidancePatternGuidancePatternOptionsEnum["FullCircleForPivot"] = "3"; })(GuidancePatternGuidancePatternOptionsEnum || (GuidancePatternGuidancePatternOptionsEnum = {})); export var GuidancePatternGuidancePatternPropagationDirectionEnum; (function (GuidancePatternGuidancePatternPropagationDirectionEnum) { GuidancePatternGuidancePatternPropagationDirectionEnum["BothDirections"] = "1"; GuidancePatternGuidancePatternPropagationDirectionEnum["LeftDirectionOnly"] = "2"; GuidancePatternGuidancePatternPropagationDirectionEnum["RightDirectionOnly"] = "3"; GuidancePatternGuidancePatternPropagationDirectionEnum["NoPropagation"] = "4"; })(GuidancePatternGuidancePatternPropagationDirectionEnum || (GuidancePatternGuidancePatternPropagationDirectionEnum = {})); export var GuidancePatternGuidancePatternExtensionEnum; (function (GuidancePatternGuidancePatternExtensionEnum) { GuidancePatternGuidancePatternExtensionEnum["FromBothFirstAndLastPoint"] = "1"; GuidancePatternGuidancePatternExtensionEnum["FromFirstPointAOnly"] = "2"; GuidancePatternGuidancePatternExtensionEnum["FromLastPointBOnly"] = "3"; GuidancePatternGuidancePatternExtensionEnum["NoExtensions"] = "4"; })(GuidancePatternGuidancePatternExtensionEnum || (GuidancePatternGuidancePatternExtensionEnum = {})); export var GuidancePatternGuidancePatternGNSSMethodEnum; (function (GuidancePatternGuidancePatternGNSSMethodEnum) { GuidancePatternGuidancePatternGNSSMethodEnum["NoGPSFix"] = "0"; GuidancePatternGuidancePatternGNSSMethodEnum["GNSSFix"] = "1"; GuidancePatternGuidancePatternGNSSMethodEnum["DGNSSFix"] = "2"; GuidancePatternGuidancePatternGNSSMethodEnum["PreciseGNSS"] = "3"; GuidancePatternGuidancePatternGNSSMethodEnum["RTKFixedInteger"] = "4"; GuidancePatternGuidancePatternGNSSMethodEnum["RTKFloat"] = "5"; GuidancePatternGuidancePatternGNSSMethodEnum["EstDRMode"] = "6"; GuidancePatternGuidancePatternGNSSMethodEnum["ManualInput"] = "7"; GuidancePatternGuidancePatternGNSSMethodEnum["SimulateMode"] = "8"; GuidancePatternGuidancePatternGNSSMethodEnum["DesktopGeneratedData"] = "16"; GuidancePatternGuidancePatternGNSSMethodEnum["Other"] = "17"; })(GuidancePatternGuidancePatternGNSSMethodEnum || (GuidancePatternGuidancePatternGNSSMethodEnum = {})); const ATTRIBUTES = { A: { name: 'GuidancePatternId', type: 'xs:ID', isPrimaryId: true, isOptional: false, isOnlyV4: undefined, }, B: { name: 'GuidancePatternDesignator', type: 'xs:string', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, C: { name: 'GuidancePatternType', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: false, isOnlyV4: undefined, }, D: { name: 'GuidancePatternOptions', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, E: { name: 'GuidancePatternPropagationDirection', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, F: { name: 'GuidancePatternExtension', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, G: { name: 'GuidancePatternHeading', type: 'xs:decimal', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, minValue: 0, maxValue: 360, }, H: { name: 'GuidancePatternRadius', type: 'xs:unsignedLong', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, minValue: 0, maxValue: 4294967294, }, I: { name: 'GuidancePatternGNSSMethod', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, J: { name: 'GuidancePatternHorizontalAccuracy', type: 'xs:decimal', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, minValue: 0, maxValue: 65, }, K: { name: 'GuidancePatternVerticalAccuracy', type: 'xs:decimal', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, minValue: 0, maxValue: 65, }, L: { name: 'BaseStationIdRef', type: 'xs:IDREF', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, M: { name: 'OriginalSRID', type: 'xs:string', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, N: { name: 'NumberOfSwathsLeft', type: 'xs:unsignedLong', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, minValue: 0, maxValue: 4294967294, }, O: { name: 'NumberOfSwathsRight', type: 'xs:unsignedLong', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, minValue: 0, maxValue: 4294967294, }, }; const CHILD_TAGS = { LSG: { name: 'LineString', isOnlyV4: undefined }, PLN: { name: 'BoundaryPolygon', isOnlyV4: undefined }, }; export class GuidancePattern { constructor(attributes, isoxmlManager) { this.attributes = attributes; this.isoxmlManager = isoxmlManager; this.tag = TAGS.GuidancePattern; } static fromXML(xml, isoxmlManager, internalId, targetClass = GuidancePattern) { return fromXML(xml, isoxmlManager, targetClass, ATTRIBUTES, CHILD_TAGS, internalId); } toXML() { return toXML(this, ATTRIBUTES, CHILD_TAGS); } } registerEntityClass('main', TAGS.GuidancePattern, GuidancePattern);