UNPKG

isoxml

Version:

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

23 lines (22 loc) 1.1 kB
import { LineString, Point, PointPointTypeEnum } from "../baseEntities"; import { TAGS } from "../baseEntities/constants"; import { registerEntityClass } from "../classRegistry"; export class ExtendedLineString extends LineString { constructor(attributes, isoxmlManager) { super(attributes, isoxmlManager); this.tag = TAGS.LineString; } static fromXML(xml, isoxmlManager, internalId) { return LineString.fromXML(xml, isoxmlManager, internalId, ExtendedLineString); } toCoordinatesArray() { return this.attributes.Point.map(point => [point.attributes.PointEast, point.attributes.PointNorth]); } static fromGeoJSONCoordinates(coordinates, isoxmlManager, type) { return new ExtendedLineString({ LineStringType: type, Point: coordinates.map(c => new Point(Object.assign({ PointType: PointPointTypeEnum.Other, PointNorth: c[1], PointEast: c[0] }, c[2] != undefined && { PointUp: c[2] / 1000 }), isoxmlManager)) }, isoxmlManager); } } registerEntityClass('main', TAGS.LineString, ExtendedLineString);