UNPKG

isoxml

Version:

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

29 lines (28 loc) 1.24 kB
import { area } from "@turf/turf"; import { Partfield, PolygonPolygonTypeEnum } from "../baseEntities"; import { TAGS } from "../baseEntities/constants"; import { registerEntityClass } from "../classRegistry"; import { ExtendedPolygon } from "./Polygon"; export class ExtendedPartfield extends Partfield { constructor(attributes, isoxmlManager) { super(attributes, isoxmlManager); this.tag = TAGS.Partfield; } static fromXML(xml, isoxmlManager, internalId) { return Partfield.fromXML(xml, isoxmlManager, internalId, ExtendedPartfield); } toXML() { this.attributes.PolygonnonTreatmentZoneonly = ExtendedPolygon.normalizePolygons(this.attributes.PolygonnonTreatmentZoneonly); return super.toXML(); } boundaryFromGeoJSON(geoJSON, isoxmlManager) { this.attributes.PolygonnonTreatmentZoneonly = ExtendedPolygon.fromGeoJSON(geoJSON, PolygonPolygonTypeEnum.PartfieldBoundary, isoxmlManager); this.attributes.PartfieldArea = Math.round(area(geoJSON)); } toGeoJSON() { return ExtendedPolygon.toGeoJSON(this.attributes.PolygonnonTreatmentZoneonly); } } registerEntityClass('main', TAGS.Partfield, ExtendedPartfield);