isoxml
Version:
JavaScript library to parse and generate ISOXML (ISO11783-10) files
23 lines (22 loc) • 1.1 kB
JavaScript
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);