diff --git a/CHANGELOG.md b/CHANGELOG.md index fd1b8fe4a3822d0bde27b8da32f40bc11002bf88..ccc3d6e007f23123290f0646c03fc7a9ed7d2dc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,43 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Upcoming - [3.16.0] + +CityDoctor now supports the import, export and validation of CityGML 3.0 files. + +#### CityGML Object parsing + +- CityDoctor is now capable of parsing and validating the following CityGML objects: + + - Tunnel, TunnelParts, TunnelHollows and TunnelInstallations + - BuildingRooms, BuildingFurniture, BuildingStoreys and BuildingUnits + - BridgeRooms and BridgeFurniture + - CityFurniture + - GenericCityObjects + +- CityDoctor now supports ImplicitGeometries and CompositeSurfaces. + +- Data from CityDoctor's internal model will now be exported to the same CityGML version as +the input file, rather than always exporting it to CityGML 2.0. + + +#### CityDoctorGUI + +- Featuretabs for Tunnel, CityFurniture and other CityObjects were added. + +- QoL improvements: + - Added a north arrow to the mesh view. + - The camera of the mesh view can now be dragged by holding the right mouse button. + - Added a button which resets the camera view back to the initial state. + - Added a button to toggle hiding of roof BoundarySurfaces in the mesh view. + - Feature-tabs will now be greyed out if they contain no objects. + - Added a view-tab for GenericAttributes + + +### Fixed + +- Fixed a TreeNode text color bug, which showed unchecked objects as being already validated. +- Fixed an oversight in the CityGML version number parsing ## [3.15.0] (2024-09-03) diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java index f69575c2dfaceb14f56e75a88f0311741eb53ac0..4ae958f4c66f1f9b701540f8c3b958b51ff8c8cf 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java @@ -26,23 +26,7 @@ import java.util.Map; import java.util.Set; import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError; -import de.hft.stuttgart.citydoctor2.datastructure.AbstractBuilding; -import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; -import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject; -import de.hft.stuttgart.citydoctor2.datastructure.Building; -import de.hft.stuttgart.citydoctor2.datastructure.Installation; -import de.hft.stuttgart.citydoctor2.datastructure.BuildingPart; -import de.hft.stuttgart.citydoctor2.datastructure.CityObject; -import de.hft.stuttgart.citydoctor2.datastructure.Geometry; -import de.hft.stuttgart.citydoctor2.datastructure.LandObject; -import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; -import de.hft.stuttgart.citydoctor2.datastructure.Opening; -import de.hft.stuttgart.citydoctor2.datastructure.Polygon; -import de.hft.stuttgart.citydoctor2.datastructure.ReliefObject; -import de.hft.stuttgart.citydoctor2.datastructure.TinObject; -import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject; -import de.hft.stuttgart.citydoctor2.datastructure.Vegetation; -import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; +import de.hft.stuttgart.citydoctor2.datastructure.*; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; /** @@ -313,6 +297,14 @@ public abstract class Check { } + public void check(CityFurniture cf){ + + } + + public void check(GenericCityObject gco) { + + } + /** * The initialization method of this check. It will be called before any check * method will be executed. Override this if you want to have configurable diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java index e8e59dd74f8ed335186e625fc50aba1e7a5c1164..7ba8783db9776b4bedfdaa4163ef829ddef6a822 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,10 +18,13 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; @@ -31,281 +34,456 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.primitives.Solid; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.check.CheckError; -import de.hft.stuttgart.citydoctor2.check.CheckId; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; /** * Container for attributes of an abstract building. It can be a Building or * BuildingPart. - * - * @author Matthias Betz * + * @author Matthias Betz */ public abstract class AbstractBuilding extends CityObject { - @Serial - private static final long serialVersionUID = -2196414503088741206L; - - private static final Logger logger = LogManager.getLogger(AbstractBuilding.class); - - private final List buildingInstallations = new ArrayList<>(2); - private final List boundarySurfaceList = new ArrayList<>(); - - private org.citygml4j.core.model.building.AbstractBuilding ab; - - /** - * Getter for all boundary surfaces contained in this building. - * - * @return the boundary surfaces - */ - public List getBoundarySurfaces() { - return boundarySurfaceList; - } - - @Override - public org.citygml4j.core.model.building.AbstractBuilding getGmlObject() { - return ab; - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.BUILDING; - } - - @Override - public void unsetGmlGeometries() { - ab.setLod1Solid(null); - ab.setLod2Solid(null); - ab.setLod3Solid(null); - ab.setLod2MultiSurface(null); - ab.setLod3MultiSurface(null); - ab.getDeprecatedProperties().setLod1MultiSurface(null); - ab.getDeprecatedProperties().setLod4MultiSurface(null); - ab.getDeprecatedProperties().setLod4Solid(null); - - for (BoundarySurface bs : boundarySurfaceList) { - bs.unsetGmlGeometries(); - } - for (Installation bi : buildingInstallations) { - bi.unsetGmlGeometries(); - } - } - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - setMultiSurfaceAccordingToLod(geom, ms); - } else { - Solid solid = CityGmlUtils.createSolid(geom, factory, config); - setSolidAccordingToLod(geom, solid); - } - } - for (BoundarySurface bs : boundarySurfaceList) { - reCreateBoundarySurface(factory, config, bs); - } - for (Installation bi : buildingInstallations) { - bi.reCreateGeometries(factory, config); - } - } - - private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { - if (bs.getGeometries().isEmpty()) { - for (AbstractSpaceBoundaryProperty bsp : ab.getBoundaries()) { - if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { - logger.warn("Found empty boundary surface: {}, removing from building", bs.getGmlId()); - ab.getBoundaries().remove(bsp); - break; - } - } - return; - } - bs.reCreateGeometries(factory, config); - } - - private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { - switch (geom.getLod()) { - case LOD0: - ab.setLod0MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD1: - ab.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD2: - ab.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - ab.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD4: - ab.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); - } - } - - private void setSolidAccordingToLod(Geometry geom, Solid solid) { - switch (geom.getLod()) { - case LOD1: - ab.setLod1Solid(new SolidProperty(solid)); - break; - case LOD2: - ab.setLod2Solid(new SolidProperty(solid)); - break; - case LOD3: - ab.setLod3Solid(new SolidProperty(solid)); - break; - case LOD4: - ab.getDeprecatedProperties().setLod4Solid(new SolidProperty(solid)); - break; - default: - throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); - } - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (Installation bi : buildingInstallations) { - bi.accept(c); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.accept(c); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (Installation bi : buildingInstallations) { - bi.collectContainedErrors(errors); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.collectContainedErrors(errors); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearAllContainedCheckResults(); - for (Installation bi : buildingInstallations) { - bi.clearAllContainedCheckResults(); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.clearAllContainedCheckResults(); - } - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (Installation bi : buildingInstallations) { - if (bi.containsError(checkIdentifier)) { - return true; - } - } - for (BoundarySurface bs : boundarySurfaceList) { - if (bs.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (Installation bi : buildingInstallations) { - if (bi.containsAnyError()) { - return true; - } - } - for (BoundarySurface bs : boundarySurfaceList) { - if (bs.containsAnyError()) { - return true; - } - } - return false; - } - - void setCityGmlBuilding(org.citygml4j.core.model.building.AbstractBuilding ab) { - this.ab = ab; - } - - public void addBoundarySurface(BoundarySurface bs) { - boundarySurfaceList.add(bs); - bs.setParent(this); - } - - public void addBuildingInstallation(Installation coBi) { - buildingInstallations.add(coBi); - coBi.setParent(this); - } - - public void setGmlObject(org.citygml4j.core.model.building.AbstractBuilding ab) { - this.ab = ab; - } - - public List getBuildingInstallations() { - return buildingInstallations; - } - - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (Installation bi : buildingInstallations) { - bi.prepareForChecking(); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.prepareForChecking(); - } - } - - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (Installation bi : buildingInstallations) { - bi.clearMetaInformation(); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.clearMetaInformation(); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - handler.addInstance(boundarySurfaceList); - handler.addInstance(buildingInstallations); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - AbstractBuilding originalAb = (AbstractBuilding) original; - for (BoundarySurface originalBs : originalAb.boundarySurfaceList) { - boundarySurfaceList.add(handler.getCopyInstance(originalBs)); - } - for (Installation originalBi : originalAb.buildingInstallations) { - buildingInstallations.add(handler.getCopyInstance(originalBi)); - } - ab = originalAb.ab; - } - + @Serial + private static final long serialVersionUID = -2196414503088741206L; + + private static final Logger logger = LogManager.getLogger(AbstractBuilding.class); + + private final List buildingInstallations = new ArrayList<>(2); + private final List boundarySurfaceList = new ArrayList<>(); + private final List buildingRooms = new ArrayList<>(); + private final List buildingStoreys = new ArrayList<>(); + private final List buildingUnits = new ArrayList<>(); + private final List buildingRoomFurnitureList = new ArrayList<>(); + private org.citygml4j.core.model.building.AbstractBuilding ab; + + /** + * Getter for all boundary surfaces contained in this building. + * + * @return the boundary surfaces + */ + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + @Override + public org.citygml4j.core.model.building.AbstractBuilding getGmlObject() { + return ab; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.BUILDING; + } + + @Override + public void unsetGmlGeometries() { + ab.setLod1Solid(null); + ab.setLod2Solid(null); + ab.setLod3Solid(null); + ab.setLod2MultiSurface(null); + ab.setLod3MultiSurface(null); + ab.getDeprecatedProperties().setLod1MultiSurface(null); + ab.getDeprecatedProperties().setLod4MultiSurface(null); + ab.getDeprecatedProperties().setLod4Solid(null); + + for (BoundarySurface bs : boundarySurfaceList) { + bs.unsetGmlGeometries(); + } + for (Installation bi : buildingInstallations) { + bi.unsetGmlGeometries(); + } + for (BuildingRoom br : buildingRooms) { + br.unsetGmlGeometries(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.unsetGmlGeometries(); + } + for (Storey storey : buildingStoreys) { + storey.unsetGmlGeometries(); + } + for (BuildingUnit bu : buildingUnits) { + bu.unsetGmlGeometries(); + } + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + for (BoundarySurface bs : boundarySurfaceList) { + reCreateBoundarySurface(factory, config, bs); + } + for (Installation bi : buildingInstallations) { + bi.reCreateGeometries(factory, config); + } + for (BuildingRoom br : buildingRooms) { + br.reCreateGeometries(factory, config); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.reCreateGeometries(factory, config); + } + for (Storey storey : buildingStoreys) { + storey.reCreateGeometries(factory, config); + } + for (BuildingUnit bu : buildingUnits) { + bu.reCreateGeometries(factory, config); + } + } + + private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { + if (bs.getGeometries().isEmpty()) { + for (AbstractSpaceBoundaryProperty bsp : ab.getBoundaries()) { + if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { + logger.warn("Found empty boundary surface: {}, removing from building", bs.getGmlId()); + ab.getBoundaries().remove(bsp); + break; + } + } + return; + } + bs.reCreateGeometries(factory, config); + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + ab.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD1: + ab.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + ab.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + ab.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + ab.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + ab.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + ab.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + ab.setLod3Solid(new SolidProperty(solid)); + break; + case LOD4: + ab.getDeprecatedProperties().setLod4Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Installation bi : buildingInstallations) { + bi.accept(c); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + for (BuildingRoom br : buildingRooms) { + br.accept(c); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.accept(c); + } + for (Storey storey : buildingStoreys) { + storey.accept(c); + } + for (BuildingUnit bu : buildingUnits) { + bu.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Installation bi : buildingInstallations) { + bi.collectContainedErrors(errors); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.collectContainedErrors(errors); + } + for (BuildingRoom br : buildingRooms) { + br.collectContainedErrors(errors); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.collectContainedErrors(errors); + } + for (Storey storey : buildingStoreys) { + storey.collectContainedErrors(errors); + } + for (BuildingUnit bu : buildingUnits) { + bu.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (Installation bi : buildingInstallations) { + bi.clearAllContainedCheckResults(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearAllContainedCheckResults(); + } + for (BuildingRoom br : buildingRooms) { + br.clearAllContainedCheckResults(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.clearAllContainedCheckResults(); + } + for (Storey storey : buildingStoreys) { + storey.clearAllContainedCheckResults(); + } + for (BuildingUnit bu : buildingUnits) { + bu.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Installation bi : buildingInstallations) { + if (bi.containsError(checkIdentifier)) { + return true; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + for (BuildingRoom br : buildingRooms) { + if (br.containsError(checkIdentifier)) { + return true; + } + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + if (bfr.containsError(checkIdentifier)) { + return true; + } + } + for (Storey storey : buildingStoreys) { + if (storey.containsError(checkIdentifier)) { + return true; + } + } + for (BuildingUnit bu : buildingUnits) { + if (bu.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Installation bi : buildingInstallations) { + if (bi.containsAnyError()) { + return true; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + for (BuildingRoom br : buildingRooms) { + if (br.containsAnyError()) { + return true; + } + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + if (bfr.containsAnyError()) { + return true; + } + } + for (Storey storey : buildingStoreys) { + if (storey.containsAnyError()) { + return true; + } + } + for (BuildingUnit bu : buildingUnits) { + if (bu.containsAnyError()) { + return true; + } + } + return false; + } + + void setCityGmlBuilding(org.citygml4j.core.model.building.AbstractBuilding ab) { + this.ab = ab; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } + + public void addBuildingInstallation(Installation coBi) { + buildingInstallations.add(coBi); + coBi.setParent(this); + } + + public void addBuildingRoom(BuildingRoom room) { + buildingRooms.add(room); + room.setParent(this); + } + + public void addBuildingRoomFurniture(BuildingRoomFurniture roomFurniture) { + buildingRoomFurnitureList.add(roomFurniture); + roomFurniture.setParent(this); + } + + public void addStorey(Storey storey) { + buildingStoreys.add(storey); + } + + public void addBuildingUnit(BuildingUnit buildingUnit) { + buildingUnits.add(buildingUnit); + } + + public void setGmlObject(org.citygml4j.core.model.building.AbstractBuilding ab) { + this.ab = ab; + } + + public List getBuildingInstallations() { + return buildingInstallations; + } + + public List getBuildingRooms() { + return buildingRooms; + } + + public List getBuildingRoomFurnitureList() { + return buildingRoomFurnitureList; + } + + public List getBuildingStoreys() { + return buildingStoreys; + } + + public List getBuildingUnits() { + return buildingUnits; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (Installation bi : buildingInstallations) { + bi.prepareForChecking(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + for (BuildingRoom br : buildingRooms) { + br.prepareForChecking(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.prepareForChecking(); + } + for (Storey storey : buildingStoreys) { + storey.prepareForChecking(); + } + for (BuildingUnit bu : buildingUnits) { + bu.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (Installation bi : buildingInstallations) { + bi.clearMetaInformation(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + for (BuildingRoom br : buildingRooms) { + br.clearMetaInformation(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.clearMetaInformation(); + } + for (Storey storey : buildingStoreys) { + storey.clearMetaInformation(); + } + for (BuildingUnit bu : buildingUnits) { + bu.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + handler.addInstance(buildingInstallations); + handler.addInstance(buildingRooms); + handler.addInstance(buildingRoomFurnitureList); + handler.addInstance(buildingStoreys); + handler.addInstance(buildingUnits); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + AbstractBuilding originalAb = (AbstractBuilding) original; + for (BoundarySurface originalBs : originalAb.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + for (Installation originalBi : originalAb.buildingInstallations) { + buildingInstallations.add(handler.getCopyInstance(originalBi)); + } + for (BuildingRoom originalBr : originalAb.buildingRooms) { + buildingRooms.add(handler.getCopyInstance(originalBr)); + } + for (BuildingRoomFurniture originalBFR : originalAb.buildingRoomFurnitureList) { + buildingRoomFurnitureList.add(handler.getCopyInstance(originalBFR)); + } + for (Storey originalBStoreys : originalAb.buildingStoreys) { + buildingStoreys.add(handler.getCopyInstance(originalBStoreys)); + } + for (BuildingUnit originalBun : originalAb.buildingUnits) { + buildingUnits.add(handler.getCopyInstance(originalBun)); + } + ab = originalAb.ab; + } + } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java new file mode 100644 index 0000000000000000000000000000000000000000..a876792bc03257564b13d672ae26036fab30ad41 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java @@ -0,0 +1,368 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractBuildingSubdivision extends CityObject { + @Serial + private static final long serialVersionUID = 7033994252340571002L; + + private static final Logger logger = LogManager.getLogger(AbstractBuildingSubdivision.class); + + private final List buildingInstallations = new ArrayList<>(2); + private final List boundarySurfaceList = new ArrayList<>(); + private final List buildingRooms = new ArrayList<>(); + + private final List buildingRoomFurnitureList = new ArrayList<>(); + protected org.citygml4j.core.model.building.AbstractBuildingSubdivision abs; + + /** + * Getter for all boundary surfaces contained in this building. + * + * @return the boundary surfaces + */ + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + @Override + public org.citygml4j.core.model.building.AbstractBuildingSubdivision getGmlObject() { + return abs; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.BUILDING_SUBDIVISION; + } + + @Override + public void unsetGmlGeometries() { + abs.setLod1Solid(null); + abs.setLod2Solid(null); + abs.setLod3Solid(null); + abs.setLod2MultiSurface(null); + abs.setLod3MultiSurface(null); + + for (BoundarySurface bs : boundarySurfaceList) { + bs.unsetGmlGeometries(); + } + for (Installation bi : buildingInstallations) { + bi.unsetGmlGeometries(); + } + for (BuildingRoom br : buildingRooms) { + br.unsetGmlGeometries(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.unsetGmlGeometries(); + } + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + for (BoundarySurface bs : boundarySurfaceList) { + reCreateBoundarySurface(factory, config, bs); + } + for (Installation bi : buildingInstallations) { + bi.reCreateGeometries(factory, config); + } + for (BuildingRoom br : buildingRooms) { + br.reCreateGeometries(factory, config); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.reCreateGeometries(factory, config); + } + } + + private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { + if (bs.getGeometries().isEmpty()) { + for (AbstractSpaceBoundaryProperty bsp : abs.getBoundaries()) { + if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { + logger.warn("Found empty boundary surface: {}, removing from building", bs.getGmlId()); + abs.getBoundaries().remove(bsp); + break; + } + } + return; + } + bs.reCreateGeometries(factory, config); + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + abs.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + abs.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + abs.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + abs.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + abs.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + abs.setLod3Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Installation bi : buildingInstallations) { + bi.accept(c); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + for (BuildingRoom br : buildingRooms) { + br.accept(c); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Installation bi : buildingInstallations) { + bi.collectContainedErrors(errors); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.collectContainedErrors(errors); + } + for (BuildingRoom br : buildingRooms) { + br.collectContainedErrors(errors); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (Installation bi : buildingInstallations) { + bi.clearAllContainedCheckResults(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearAllContainedCheckResults(); + } + for (BuildingRoom br : buildingRooms) { + br.clearAllContainedCheckResults(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Installation bi : buildingInstallations) { + if (bi.containsError(checkIdentifier)) { + return true; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + for (BuildingRoom br : buildingRooms) { + if (br.containsError(checkIdentifier)) { + return true; + } + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + if (bfr.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Installation bi : buildingInstallations) { + if (bi.containsAnyError()) { + return true; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + for (BuildingRoom br : buildingRooms) { + if (br.containsAnyError()) { + return true; + } + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + if (bfr.containsAnyError()) { + return true; + } + } + return false; + } + + void setCityGmlBuilding(org.citygml4j.core.model.building.AbstractBuildingSubdivision abs) { + this.abs = abs; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } + + public void addBuildingInstallation(Installation coBi) { + buildingInstallations.add(coBi); + coBi.setParent(this); + } + + public void addBuildingRoom(BuildingRoom room) { + buildingRooms.add(room); + room.setParent(this); + } + + public void addBuildingRoomFurniture(BuildingRoomFurniture roomFurniture) { + buildingRoomFurnitureList.add(roomFurniture); + roomFurniture.setParent(this); + } + + + public void setGmlObject(org.citygml4j.core.model.building.AbstractBuildingSubdivision abs) { + this.abs = abs; + } + + public List getBuildingInstallations() { + return buildingInstallations; + } + + public List getBuildingRooms() { + return buildingRooms; + } + + public List getBuildingRoomFurnitureList() { + return buildingRoomFurnitureList; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (Installation bi : buildingInstallations) { + bi.prepareForChecking(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + for (BuildingRoom br : buildingRooms) { + br.prepareForChecking(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (Installation bi : buildingInstallations) { + bi.clearMetaInformation(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + for (BuildingRoom br : buildingRooms) { + br.clearMetaInformation(); + } + for (BuildingRoomFurniture bfr : buildingRoomFurnitureList) { + bfr.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + handler.addInstance(buildingInstallations); + handler.addInstance(buildingRooms); + handler.addInstance(buildingRoomFurnitureList); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + AbstractBuildingSubdivision originalAbs = (AbstractBuildingSubdivision) original; + for (BoundarySurface originalBs : originalAbs.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + for (Installation originalBi : originalAbs.buildingInstallations) { + buildingInstallations.add(handler.getCopyInstance(originalBi)); + } + for (BuildingRoom originalBr : originalAbs.buildingRooms) { + buildingRooms.add(handler.getCopyInstance(originalBr)); + } + for (BuildingRoomFurniture originalBFR : originalAbs.buildingRoomFurnitureList) { + buildingRoomFurnitureList.add(handler.getCopyInstance(originalBFR)); + } + abs = originalAbs.abs; + } + +} + + diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java new file mode 100644 index 0000000000000000000000000000000000000000..53d8ec553ba812147e1ff5151847cabc4d0b81ea --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java @@ -0,0 +1,200 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +/** + * Represents all types of furniture used inside Buildings. + */ +public abstract class AbstractFurniture extends CityObject { + + @Serial + private static final long serialVersionUID = -9050689238027190674L; + + private final List boundarySurfaceList = new ArrayList<>(); + + private CityObject parent; + + private org.citygml4j.core.model.construction.AbstractFurniture af; + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + if (boundarySurface.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + if (boundarySurface.containsAnyError()) { + return true; + } + } + return false; + } + + + @Override + public org.citygml4j.core.model.construction.AbstractFurniture getGmlObject() { + return af; + } + + public void addBoundarySurface(BoundarySurface boundarySurface) { + boundarySurfaceList.add(boundarySurface); + boundarySurface.setParent(this); + } + + public List getBoundarySurfaceList() { + return boundarySurfaceList; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + } + + protected void setGmlObject(org.citygml4j.core.model.construction.AbstractFurniture af) { + this.af = af; + } + + public void setParent(CityObject co) { + parent = co; + } + + + @Override + public void unsetGmlGeometries() { + af.setLod0MultiSurface(null); + af.setLod2MultiSurface(null); + af.setLod3MultiSurface(null); + af.setLod1Solid(null); + af.setLod2Solid(null); + af.setLod3Solid(null); + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + af.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + af.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + af.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + af.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + af.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + af.setLod3Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); + } + } + + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.clearMetaInformation(); + } + } + + + @Override + public FeatureType getFeatureType() { + return FeatureType.FURNITURE; + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + AbstractFurniture originalAf = (AbstractFurniture) original; + af = originalAf.af; + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java new file mode 100644 index 0000000000000000000000000000000000000000..da4b71fcfeaf8babd82bdf64370e9eb17ad4d1ac --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java @@ -0,0 +1,258 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.core.AbstractCityObject; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +/** + * Abstract base class for rooms inside CityGML 3.0 construction objects. + */ +public abstract class AbstractRoom extends CityObject { + + @Serial + private static final long serialVersionUID = -1730625513988944329L; + + private final List roomInstallations = new ArrayList<>(2); + // Rooms have a Href list of furniture, the actual object is saved in the Building + + private final List boundarySurfaceList = new ArrayList<>(); + + + protected org.citygml4j.core.model.core.AbstractUnoccupiedSpace cgmlRoom; + + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Installation roomInstallation : roomInstallations) { + roomInstallation.accept(c); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Installation roomInstallation : roomInstallations) { + roomInstallation.collectContainedErrors(errors); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (Installation roomInstallation : roomInstallations) { + roomInstallation.clearAllContainedCheckResults(); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Installation roomInstallation : roomInstallations) { + if (roomInstallation.containsError(checkIdentifier)) { + return true; + } + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + if (boundarySurface.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Installation roomInstallation : roomInstallations) { + if (roomInstallation.containsAnyError()) { + return true; + } + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + if (boundarySurface.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.reCreateGeometries(factory, config); + } + for (Installation roomInstallation : roomInstallations) { + roomInstallation.reCreateGeometries(factory, config); + } + } + + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + cgmlRoom.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + cgmlRoom.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + cgmlRoom.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to rooms"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + cgmlRoom.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + cgmlRoom.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + cgmlRoom.setLod3Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to rooms"); + } + } + + + @Override + public void unsetGmlGeometries() { + cgmlRoom.setLod0MultiSurface(null); + cgmlRoom.setLod2MultiSurface(null); + cgmlRoom.setLod3MultiSurface(null); + cgmlRoom.setLod1Solid(null); + cgmlRoom.setLod2Solid(null); + cgmlRoom.setLod3Solid(null); + for (Installation roomInstallation : roomInstallations) { + roomInstallation.unsetGmlGeometries(); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.unsetGmlGeometries(); + } + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (Installation roomInstallation : roomInstallations) { + roomInstallation.prepareForChecking(); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (Installation roomInstallation : roomInstallations) { + roomInstallation.clearMetaInformation(); + } + for (BoundarySurface boundarySurface : boundarySurfaceList) { + boundarySurface.clearMetaInformation(); + } + } + + + @Override + public AbstractCityObject getGmlObject() { + return cgmlRoom; + } + + + public List getRoomInstallations() { + return roomInstallations; + } + + + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + public void addRoomInstallation(Installation roomInstallation) { + roomInstallations.add(roomInstallation); + roomInstallation.setParent(this); + } + + public void addBoundarySurface(BoundarySurface boundarySurface) { + boundarySurfaceList.add(boundarySurface); + boundarySurface.setParent(this); + } + + + @Override + public FeatureType getFeatureType() { + return FeatureType.ROOM; + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(roomInstallations); + handler.addInstance(boundarySurfaceList); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + AbstractRoom originalAr = (AbstractRoom) original; + for (BoundarySurface originalBs : originalAr.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + for (Installation originalRi : originalAr.roomInstallations) { + roomInstallations.add(handler.getCopyInstance(originalRi)); + } + cgmlRoom = originalAr.cgmlRoom; + } + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java new file mode 100644 index 0000000000000000000000000000000000000000..54aa80795f6d24afd4572b89e9b6920b61eac100 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java @@ -0,0 +1,464 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractTunnel extends CityObject { + + @Serial + private static final long serialVersionUID = -2196414503088741206L; + + private static final Logger logger = LogManager.getLogger(AbstractTunnel.class); + + private final List tunnelInstallations = new ArrayList<>(2); + private final List boundarySurfaceList = new ArrayList<>(); + private final List tunnelHollows = new ArrayList<>(); + private final List tunnelParts = new ArrayList<>(); + private final List tunnelFurnitureList = new ArrayList<>(); + private final List tunnelConstructiveElements = new ArrayList<>(); + private org.citygml4j.core.model.tunnel.AbstractTunnel at; + + /** + * Getter for all boundary surfaces contained in this building. + * + * @return the boundary surfaces + */ + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + @Override + public org.citygml4j.core.model.tunnel.AbstractTunnel getGmlObject() { + return at; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.TUNNEL; + } + + @Override + public void unsetGmlGeometries() { + at.setLod1Solid(null); + at.setLod2Solid(null); + at.setLod3Solid(null); + at.setLod2MultiSurface(null); + at.setLod3MultiSurface(null); + at.getDeprecatedProperties().setLod1MultiSurface(null); + at.getDeprecatedProperties().setLod4MultiSurface(null); + at.getDeprecatedProperties().setLod4Solid(null); + + for (BoundarySurface bs : boundarySurfaceList) { + bs.unsetGmlGeometries(); + } + for (Installation bi : tunnelInstallations) { + bi.unsetGmlGeometries(); + } + for (TunnelHollow th : tunnelHollows) { + th.unsetGmlGeometries(); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.unsetGmlGeometries(); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.unsetGmlGeometries(); + } + for (TunnelPart tp : tunnelParts) { + tp.unsetGmlGeometries(); + } + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + for (BoundarySurface bs : boundarySurfaceList) { + reCreateBoundarySurface(factory, config, bs); + } + for (Installation bi : tunnelInstallations) { + bi.reCreateGeometries(factory, config); + } + for (TunnelHollow th : tunnelHollows) { + th.reCreateGeometries(factory, config); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.reCreateGeometries(factory, config); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.reCreateGeometries(factory, config); + } + for (TunnelPart tp : tunnelParts) { + tp.reCreateGeometries(factory, config); + } + } + + private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { + if (bs.getGeometries().isEmpty()) { + for (AbstractSpaceBoundaryProperty bsp : at.getBoundaries()) { + if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { + logger.warn("Found empty boundary surface: {}, removing from building", bs.getGmlId()); + at.getBoundaries().remove(bsp); + break; + } + } + return; + } + bs.reCreateGeometries(factory, config); + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + at.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD1: + at.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + at.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + at.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + at.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + at.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + at.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + at.setLod3Solid(new SolidProperty(solid)); + break; + case LOD4: + at.getDeprecatedProperties().setLod4Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Installation bi : tunnelInstallations) { + bi.accept(c); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + for (TunnelHollow th : tunnelHollows) { + th.accept(c); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.accept(c); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.accept(c); + } + for (TunnelPart tp : tunnelParts) { + tp.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Installation bi : tunnelInstallations) { + bi.collectContainedErrors(errors); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.collectContainedErrors(errors); + } + for (TunnelHollow th : tunnelHollows) { + th.collectContainedErrors(errors); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.collectContainedErrors(errors); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.collectContainedErrors(errors); + } + for (TunnelPart tp : tunnelParts) { + tp.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (Installation bi : tunnelInstallations) { + bi.clearAllContainedCheckResults(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearAllContainedCheckResults(); + } + for (TunnelHollow th : tunnelHollows) { + th.clearAllContainedCheckResults(); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.clearAllContainedCheckResults(); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.clearAllContainedCheckResults(); + } + for (TunnelPart tp : tunnelParts) { + tp.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Installation bi : tunnelInstallations) { + if (bi.containsError(checkIdentifier)) { + return true; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + for (TunnelHollow th : tunnelHollows) { + if (th.containsError(checkIdentifier)) { + return true; + } + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + if (tfr.containsError(checkIdentifier)) { + return true; + } + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + if (te.containsError(checkIdentifier)) { + return true; + } + } + for (TunnelPart tp : tunnelParts) { + if (tp.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Installation bi : tunnelInstallations) { + if (bi.containsAnyError()) { + return true; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + for (TunnelHollow th : tunnelHollows) { + if (th.containsAnyError()) { + return true; + } + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + if (tfr.containsAnyError()) { + return true; + } + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + if (te.containsAnyError()) { + return true; + } + } + for (TunnelPart tp : tunnelParts) { + if (tp.containsAnyError()) { + return true; + } + } + return false; + } + + void setCityGmlBuilding(org.citygml4j.core.model.tunnel.AbstractTunnel at) { + this.at = at; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } + + public void addTunnelInstallation(Installation coBi) { + tunnelInstallations.add(coBi); + coBi.setParent(this); + } + + public void addTunnelHollow(TunnelHollow hollow) { + tunnelHollows.add(hollow); + hollow.setParent(this); + } + + public void addTunnelFurniture(TunnelFurniture furniture) { + tunnelFurnitureList.add(furniture); + furniture.setParent(this); + } + + public void addTunnelConstructiveElement(TunnelConstructiveElement te) { + tunnelConstructiveElements.add(te); + } + + public void addTunnelPart(TunnelPart tunnelPart) { + tunnelParts.add(tunnelPart); + } + + public void setGmlObject(org.citygml4j.core.model.tunnel.AbstractTunnel at) { + this.at = at; + } + + public List getTunnelInstallations() { + return tunnelInstallations; + } + + public List getTunnelHollows() { + return tunnelHollows; + } + + public List getTunnelFurnitureList() { + return tunnelFurnitureList; + } + + public List getTunnelParts() { + return tunnelParts; + } + + public List getTunnelConstructiveElements() { + return tunnelConstructiveElements; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (Installation bi : tunnelInstallations) { + bi.prepareForChecking(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + for (TunnelHollow th : tunnelHollows) { + th.prepareForChecking(); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.prepareForChecking(); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.prepareForChecking(); + } + for (TunnelPart tp : tunnelParts) { + tp.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (Installation bi : tunnelInstallations) { + bi.clearMetaInformation(); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + for (TunnelHollow th : tunnelHollows) { + th.clearMetaInformation(); + } + for (TunnelFurniture tfr : tunnelFurnitureList) { + tfr.clearMetaInformation(); + } + for (TunnelConstructiveElement te : tunnelConstructiveElements) { + te.clearMetaInformation(); + } + for (TunnelPart tp : tunnelParts) { + tp.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + handler.addInstance(tunnelInstallations); + handler.addInstance(tunnelHollows); + handler.addInstance(tunnelFurnitureList); + handler.addInstance(tunnelConstructiveElements); + handler.addInstance(tunnelParts); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + AbstractTunnel originalAt = (AbstractTunnel) original; + for (BoundarySurface originalBs : originalAt.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + for (Installation originalTi : originalAt.tunnelInstallations) { + tunnelInstallations.add(handler.getCopyInstance(originalTi)); + } + for (TunnelHollow originalTh : originalAt.tunnelHollows) { + tunnelHollows.add(handler.getCopyInstance(originalTh)); + } + for (TunnelFurniture originalTFR : originalAt.tunnelFurnitureList) { + tunnelFurnitureList.add(handler.getCopyInstance(originalTFR)); + } + for (TunnelConstructiveElement originalTE : originalAt.tunnelConstructiveElements) { + tunnelConstructiveElements.add(handler.getCopyInstance(originalTE)); + } + for (TunnelPart originalTp : originalAt.tunnelParts) { + tunnelParts.add(handler.getCopyInstance(originalTp)); + } + at = originalAt.at; + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java index 13632ebc7d888230ec4650b938435bc9553a29c9..95723e639166da717945d5cc63b2233e20d2129b 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,15 +18,6 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - -import org.citygml4j.core.model.core.AbstractThematicSurface; -import org.citygml4j.core.util.geometry.GeometryFactory; -import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; -import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; @@ -34,252 +25,262 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.core.AbstractThematicSurface; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; /** * Representing a boundary surface in CityGML - * - * @author Matthias Betz * + * @author Matthias Betz */ public class BoundarySurface extends CityObject { - @Serial - private static final long serialVersionUID = 8793865135393496408L; - - private SurfaceFeatureType featureType; - private BoundarySurfaceType type; - - private final List openings = new ArrayList<>(2); - private CityObject parent; - - private AbstractThematicSurface gmlObject; - - public BoundarySurface(AbstractThematicSurface aco) { - this(SurfaceFeatureType.BUILDING, BoundarySurfaceType.UNDEFINED, aco); - } - - public BoundarySurface(SurfaceFeatureType featureType, BoundarySurfaceType type, AbstractThematicSurface aco) { - this.featureType = featureType; - this.type = type; - gmlObject = aco; - } - - public void setFeatureType(SurfaceFeatureType featureType) { - this.featureType = featureType; - } - - public void setType(BoundarySurfaceType type) { - this.type = type; - } - - public void setGmlObject(AbstractThematicSurface gmlObject) { - this.gmlObject = gmlObject; - } - - public SurfaceFeatureType getSurfaceFeatureType() { - return featureType; - } - - public BoundarySurfaceType getType() { - return type; - } - - public List getOpenings() { - return openings; - } - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - if (gmlObject.getId() == null) { - gmlObject.setId(getGmlId().getGmlString()); - } - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - if (ms != null) { - setGeometryAccordingToLod(geom.getLod(), new MultiSurfaceProperty(ms)); - } - } else { - throw new IllegalStateException("BoundarySurfaces can only have MultiSurface geometries"); - } - } - for (Opening o : openings) { - o.reCreateGeometries(factory, config); - } - } - - private void setGeometryAccordingToLod(Lod lod, MultiSurfaceProperty ms) { - switch (lod) { - case LOD0: - gmlObject.setLod0MultiSurface(ms); - break; - case LOD1: - gmlObject.setLod1MultiSurface(ms); - break; - case LOD2: - gmlObject.setLod2MultiSurface(ms); - break; - case LOD3: - gmlObject.setLod3MultiSurface(ms); - break; - case LOD4: - gmlObject.getDeprecatedProperties().setLod4MultiSurface(ms); - break; - default: - throw new IllegalStateException("Found geometry with LOD other than LOD1-4, which is illegal for BoundarySurfaces: " + lod); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearAllContainedCheckResults(); - for (Opening o : openings) { - o.clearAllContainedCheckResults(); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (Opening o : openings) { - o.collectContainedErrors(errors); - } - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (Opening o : openings) { - if (o.containsAnyError()) { - return true; - } - } - return false; - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (Opening o : openings) { - if (o.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (Opening o : openings) { - o.accept(c); - } - } - - public void setParent(CityObject parent) { - this.parent = parent; - } - - public CityObject getParent() { - return parent; - } - - @Override - public void unsetGmlGeometries() { - gmlObject.setLod0MultiSurface(null); - gmlObject.setLod1MultiSurface(null); - gmlObject.setLod2MultiSurface(null); - gmlObject.setLod3MultiSurface(null); - gmlObject.getDeprecatedProperties().setLod4MultiSurface(null); - - for (Opening o : openings) { - o.unsetGmlGeometries(); - } - } - - @Override - public String toString() { - return "BoundarySurface [type=" + type + ", id=" + getGmlId() + "]"; - } - - void anonymize() { - gmlObject.setAppearances(null); - gmlObject.setBoundedBy(null); - gmlObject.setCreationDate(null); - gmlObject.setDescription(null); - gmlObject.setExternalReferences(null); - gmlObject.setGeneralizesTo(null); - gmlObject.setADEProperties(null); - gmlObject.setGenericAttributes(null); - setGmlId(GmlId.generateId()); - gmlObject.setId(getGmlId().getGmlString()); - } - - @Override - public AbstractThematicSurface getGmlObject() { - return gmlObject; - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.BOUNDARY_SURFACE; - } - - public void addOpening(Opening opening) { - openings.add(opening); - opening.setPartOfSurface(this); - } - - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (Opening o : openings) { - o.prepareForChecking(); - } - } - - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (Opening o : openings) { - o.clearMetaInformation(); - } - } - - @Override - public Copyable createCopyInstance() { - return new BoundarySurface(gmlObject); - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - for (Opening o : openings) { - handler.addInstance(o); - } - handler.addInstance(parent); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - BoundarySurface originalBs = (BoundarySurface) original; - featureType = originalBs.featureType; - type = originalBs.type; - for (Opening originalOpening : originalBs.openings) { - openings.add(handler.getCopyInstance(originalOpening)); - } - parent = handler.getCopyInstance(originalBs.parent); - gmlObject = originalBs.gmlObject; - } - + @Serial + private static final long serialVersionUID = 8793865135393496408L; + + private SurfaceFeatureType featureType; + private BoundarySurfaceType type; + + private final List openings = new ArrayList<>(2); + private CityObject parent; + + private AbstractThematicSurface gmlObject; + + public BoundarySurface(AbstractThematicSurface aco) { + this(SurfaceFeatureType.BUILDING, BoundarySurfaceType.UNDEFINED, aco); + } + + public BoundarySurface(SurfaceFeatureType featureType, BoundarySurfaceType type, AbstractThematicSurface aco) { + this.featureType = featureType; + this.type = type; + gmlObject = aco; + } + + public void setFeatureType(SurfaceFeatureType featureType) { + this.featureType = featureType; + } + + public void setType(BoundarySurfaceType type) { + this.type = type; + } + + public void setGmlObject(AbstractThematicSurface gmlObject) { + this.gmlObject = gmlObject; + } + + public SurfaceFeatureType getSurfaceFeatureType() { + return featureType; + } + + public BoundarySurfaceType getType() { + return type; + } + + public List getOpenings() { + return openings; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + if (gmlObject.getId() == null) { + gmlObject.setId(getGmlId().getGmlString()); + } + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + if (ms != null) { + setGeometryAccordingToLod(geom.getLod(), new MultiSurfaceProperty(ms)); + } + } else { + throw new IllegalStateException("BoundarySurfaces can only have MultiSurface geometries"); + } + } + for (Opening o : openings) { + o.reCreateGeometries(factory, config); + } + } + + private void setGeometryAccordingToLod(Lod lod, MultiSurfaceProperty ms) { + switch (lod) { + case LOD0: + gmlObject.setLod0MultiSurface(ms); + break; + case LOD1: + gmlObject.setLod1MultiSurface(ms); + break; + case LOD2: + gmlObject.setLod2MultiSurface(ms); + break; + case LOD3: + gmlObject.setLod3MultiSurface(ms); + break; + case LOD4: + gmlObject.getDeprecatedProperties().setLod4MultiSurface(ms); + break; + default: + throw new IllegalStateException("Found geometry with LOD other than LOD1-4, which is illegal for BoundarySurfaces: " + lod); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (Opening o : openings) { + o.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Opening o : openings) { + o.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Opening o : openings) { + if (o.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Opening o : openings) { + if (o.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Opening o : openings) { + o.accept(c); + } + } + + public void setParent(CityObject parent) { + this.parent = parent; + } + + public CityObject getParent() { + return parent; + } + + @Override + public void unsetGmlGeometries() { + gmlObject.setLod0MultiSurface(null); + gmlObject.setLod1MultiSurface(null); + gmlObject.setLod2MultiSurface(null); + gmlObject.setLod3MultiSurface(null); + gmlObject.getDeprecatedProperties().setLod4MultiSurface(null); + + for (Opening o : openings) { + o.unsetGmlGeometries(); + } + } + + @Override + public String toString() { + return "BoundarySurface [type=" + type + ", id=" + getGmlId() + "]"; + } + + void anonymize() { + gmlObject.setAppearances(null); + gmlObject.setBoundedBy(null); + gmlObject.setCreationDate(null); + gmlObject.setDescription(null); + gmlObject.setExternalReferences(null); + gmlObject.setGeneralizesTo(null); + gmlObject.setADEProperties(null); + gmlObject.setGenericAttributes(null); + setGmlId(GmlId.generateId()); + gmlObject.setId(getGmlId().getGmlString()); + } + + @Override + public AbstractThematicSurface getGmlObject() { + return gmlObject; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.BOUNDARY_SURFACE; + } + + public void addOpening(Opening opening) { + openings.add(opening); + opening.setPartOfSurface(this); + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (Opening o : openings) { + o.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (Opening o : openings) { + o.clearMetaInformation(); + } + } + + @Override + public Copyable createCopyInstance() { + return new BoundarySurface(gmlObject); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (Opening o : openings) { + handler.addInstance(o); + } + handler.addInstance(parent); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + BoundarySurface originalBs = (BoundarySurface) original; + featureType = originalBs.featureType; + type = originalBs.type; + for (Opening originalOpening : originalBs.openings) { + openings.add(handler.getCopyInstance(originalOpening)); + } + parent = handler.getCopyInstance(originalBs.parent); + gmlObject = originalBs.gmlObject; + } + } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceType.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceType.java index bc96a183916267801a8b957d5e2cc4e3dc7d773a..fdb08149e4539b8f51ca80bd64f89c2ea0371d0d 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceType.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceType.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -20,12 +20,11 @@ package de.hft.stuttgart.citydoctor2.datastructure; /** * Types of boundary surfaces used in city doctor - * - * @author Matthias Betz * + * @author Matthias Betz */ public enum BoundarySurfaceType { - UNDEFINED, ROOF, WALL, GROUND, CLOSURE, OUTER_FLOOR, OUTER_CEILING, CEILING, INTERIOR_WALL, FLOOR + UNDEFINED, ROOF, WALL, GROUND, CLOSURE, OUTER_FLOOR, OUTER_CEILING, CEILING, INTERIOR_WALL, FLOOR } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundingBox.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundingBox.java index 62854cde7898b9eaae9deb715724ab0f3ca7a823..f2d535fefc886a4b077859379718bf1a0323a35c 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundingBox.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundingBox.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,148 +18,147 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.util.Collection; -import java.util.List; - import de.hft.stuttgart.citydoctor2.math.Vector3d; import de.hft.stuttgart.citydoctor2.utils.BoundingBoxCalculator; +import java.util.Collection; +import java.util.List; + /** * An axis aligned bounding box represented by its two corners - * - * @author Matthias Betz * + * @author Matthias Betz */ public class BoundingBox { - private final Vector3d[] bbox; - - /** - * Creates an axis aligned bounding box containing all points of all polygons - * - * @param polygons containing the points from which the box will be created - * @return the bounding box around all points - */ - public static BoundingBox of(Collection polygons) { - return BoundingBoxCalculator.calculateBoundingBox(polygons); - } - - public static BoundingBox ofPoints(List points) { - return BoundingBoxCalculator.calculateBoundingBoxFromPoints(points); - } - - /** - * Creates an axis aligned bounding box of the whole model. - * - * @param model the model containing the features with geometries used for the - * bounding box - * @return the bounding box around all features - */ - public static BoundingBox of(CityDoctorModel model) { - return BoundingBoxCalculator.calculateBoundingBox(model); - } - - /** - * Creates a new bounding box with two vectors as corner points. - * - * @param box the array of length 2 containing both corners - * @return the new bounding box - */ - public static BoundingBox of(Vector3d[] box) { - return new BoundingBox(box); - } - - private BoundingBox(Vector3d[] bbox) { - if (bbox == null || bbox.length != 2) { - throw new IllegalArgumentException("BoundingBox must be an array of the length 2"); - } - this.bbox = bbox; - } - - /** - * Calculates the volume of the box - * - * @return the volume of the box - */ - public double getVolume() { - double length = getDepth(); - double width = getWidth(); - double height = getHeight(); - return height * width * length; - } - - /** - * Calculates the center of the bounding box - * - * @return the center of the bounding box - */ - public Vector3d getCenter() { - return bbox[0].plus(bbox[1].minus(bbox[0]).mult(0.5)); - } - - /** - * Getter for the corner array - * - * @return the array containing the corner points - */ - public Vector3d[] getBox() { - return bbox; - } - - /** - * Calculates the width of the bounding box - * - * @return the width of the bounding box - */ - public double getWidth() { - return bbox[1].getY() - bbox[0].getY(); - } - - /** - * Calculates the height of the bounding box - * - * @return the height of the bounding box - */ - public double getHeight() { - return bbox[1].getZ() - bbox[0].getZ(); - } - - /** - * Calculates the depth of the bounding box - * - * @return the depth of the bounding box - */ - public double getDepth() { - return bbox[1].getX() - bbox[0].getX(); - } - - /** - * Returns the length of the longest side of the bounding box, ignoring the - * height. Only X and Y axis are considered - * - * @return the length of the longest side in X or Y direction - */ - public double getLongestSide() { - double width = getWidth(); - double depth = getDepth(); + private final Vector3d[] bbox; + + /** + * Creates an axis aligned bounding box containing all points of all polygons + * + * @param polygons containing the points from which the box will be created + * @return the bounding box around all points + */ + public static BoundingBox of(Collection polygons) { + return BoundingBoxCalculator.calculateBoundingBox(polygons); + } + + public static BoundingBox ofPoints(List points) { + return BoundingBoxCalculator.calculateBoundingBoxFromPoints(points); + } + + /** + * Creates an axis aligned bounding box of the whole model. + * + * @param model the model containing the features with geometries used for the + * bounding box + * @return the bounding box around all features + */ + public static BoundingBox of(CityDoctorModel model) { + return BoundingBoxCalculator.calculateBoundingBox(model); + } + + /** + * Creates a new bounding box with two vectors as corner points. + * + * @param box the array of length 2 containing both corners + * @return the new bounding box + */ + public static BoundingBox of(Vector3d[] box) { + return new BoundingBox(box); + } + + private BoundingBox(Vector3d[] bbox) { + if (bbox == null || bbox.length != 2) { + throw new IllegalArgumentException("BoundingBox must be an array of the length 2"); + } + this.bbox = bbox; + } + + /** + * Calculates the volume of the box + * + * @return the volume of the box + */ + public double getVolume() { + double length = getDepth(); + double width = getWidth(); + double height = getHeight(); + return height * width * length; + } + + /** + * Calculates the center of the bounding box + * + * @return the center of the bounding box + */ + public Vector3d getCenter() { + return bbox[0].plus(bbox[1].minus(bbox[0]).mult(0.5)); + } + + /** + * Getter for the corner array + * + * @return the array containing the corner points + */ + public Vector3d[] getBox() { + return bbox; + } + + /** + * Calculates the width of the bounding box + * + * @return the width of the bounding box + */ + public double getWidth() { + return bbox[1].getY() - bbox[0].getY(); + } + + /** + * Calculates the height of the bounding box + * + * @return the height of the bounding box + */ + public double getHeight() { + return bbox[1].getZ() - bbox[0].getZ(); + } + + /** + * Calculates the depth of the bounding box + * + * @return the depth of the bounding box + */ + public double getDepth() { + return bbox[1].getX() - bbox[0].getX(); + } + + /** + * Returns the length of the longest side of the bounding box, ignoring the + * height. Only X and Y axis are considered + * + * @return the length of the longest side in X or Y direction + */ + public double getLongestSide() { + double width = getWidth(); + double depth = getDepth(); return Math.max(width, depth); - } - - /** - * Calculates the direction vector from the lower corner to the upper corner - * - * @return the direction vector from the lower corner to the upper corner - */ - public Vector3d getDiagonal() { - return bbox[1].minus(bbox[0]); - } - - /** - * Calculates the distance between the corner points - * - * @return the distance between the corner points - */ - public double getDiagonalLength() { - return bbox[1].getDistance(bbox[0]); - } + } + + /** + * Calculates the direction vector from the lower corner to the upper corner + * + * @return the direction vector from the lower corner to the upper corner + */ + public Vector3d getDiagonal() { + return bbox[1].minus(bbox[0]); + } + + /** + * Calculates the distance between the corner points + * + * @return the distance between the corner points + */ + public double getDiagonalLength() { + return bbox[1].getDistance(bbox[0]); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java index 6a4bb82dd168220b9657b7cec737d211f605a09f..06da0a4465cf3aea626bde9edf263a0f36b51992 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java @@ -1,6 +1,6 @@ /*- * Copyright 2022 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,10 +18,13 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; @@ -34,257 +37,256 @@ import org.xmlobjects.gml.model.geometry.complexes.CompositeSurface; import org.xmlobjects.gml.model.geometry.primitives.Solid; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.check.CheckError; -import de.hft.stuttgart.citydoctor2.check.CheckId; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; public class BridgeConstructiveElement extends CityObject { - - private static final Logger logger = LogManager.getLogger(BridgeConstructiveElement.class); - private static final String CANNOT_ADD = "Cannot add "; + private static final Logger logger = LogManager.getLogger(BridgeConstructiveElement.class); + + private static final String CANNOT_ADD = "Cannot add "; + + @Serial + private static final long serialVersionUID = 7353233899458901155L; + + private final org.citygml4j.core.model.bridge.BridgeConstructiveElement gmlBridgeElement; + private final List boundarySurfaceList = new ArrayList<>(); + + + public BridgeConstructiveElement(org.citygml4j.core.model.bridge.BridgeConstructiveElement gmlObject) { + this.gmlBridgeElement = gmlObject; + } + + @Override + public Copyable createCopyInstance() { + return new BridgeConstructiveElement(gmlBridgeElement); + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + // only handles CityGML2 for now + // unknown which CityGML is handled here + // need context information to decide + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + switch (geom.getType()) { + case SOLID: + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + break; + case MULTI_SURFACE: + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + break; + case COMPOSITE_SURFACE: + CompositeSurface cs = CityGmlUtils.createCompositeSurface(geom, factory, config); + setCompositeSurfaceAccordingToLod(geom, cs); + break; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + reCreateBoundarySurface(factory, config, bs); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BoundarySurface bs : boundarySurfaceList) { + bs.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + return false; + } + + private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { + if (bs.getGeometries().isEmpty()) { + for (AbstractSpaceBoundaryProperty bsp : gmlBridgeElement.getBoundaries()) { + if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { + logger.warn("Found empty boundary surface: {}, removing from BridgeConstructiveElement", bs.getGmlId()); + gmlBridgeElement.getBoundaries().remove(bsp); + break; + } + } + return; + } + bs.reCreateGeometries(factory, config); + } - @Serial - private static final long serialVersionUID = 7353233899458901155L; + private void setCompositeSurfaceAccordingToLod(Geometry geom, CompositeSurface cs) { + switch (geom.getLod()) { + case LOD1: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new GeometryProperty<>(cs)); + break; + case LOD2: + gmlBridgeElement.getDeprecatedProperties().setLod2Geometry(new GeometryProperty<>(cs)); + break; + case LOD3: + gmlBridgeElement.getDeprecatedProperties().setLod3Geometry(new GeometryProperty<>(cs)); + break; + case LOD4: + gmlBridgeElement.getDeprecatedProperties().setLod4Geometry(new GeometryProperty<>(cs)); + break; + default: + throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " composite surface to buildings"); + } + } - private final org.citygml4j.core.model.bridge.BridgeConstructiveElement gmlBridgeElement; - private final List boundarySurfaceList = new ArrayList<>(); + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new SolidProperty(solid)); + break; + case LOD2: + gmlBridgeElement.getDeprecatedProperties().setLod2Geometry(new SolidProperty(solid)); + break; + case LOD3: + gmlBridgeElement.getDeprecatedProperties().setLod3Geometry(new SolidProperty(solid)); + break; + case LOD4: + gmlBridgeElement.getDeprecatedProperties().setLod4Geometry(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " solid to buildings"); + } + } + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD1: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD2: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD3: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD4: + gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " multi surface to buildings"); + } + } - public BridgeConstructiveElement(org.citygml4j.core.model.bridge.BridgeConstructiveElement gmlObject) { - this.gmlBridgeElement = gmlObject; - } + @Override + public org.citygml4j.core.model.bridge.BridgeConstructiveElement getGmlObject() { + return gmlBridgeElement; + } - @Override - public Copyable createCopyInstance() { - return new BridgeConstructiveElement(gmlBridgeElement); - } + @Override + public void unsetGmlGeometries() { + gmlBridgeElement.setLod0MultiSurface(null); + gmlBridgeElement.setLod2MultiSurface(null); + gmlBridgeElement.setLod3MultiSurface(null); + DeprecatedPropertiesOfBridgeConstructiveElement depProps = gmlBridgeElement.getDeprecatedProperties(); + depProps.setLod1Geometry(null); + depProps.setLod2Geometry(null); + depProps.setLod3Geometry(null); + depProps.setLod4Geometry(null); + gmlBridgeElement.setLod1Solid(null); + gmlBridgeElement.setLod2Solid(null); + gmlBridgeElement.setLod3Solid(null); + for (BoundarySurface bs : boundarySurfaceList) { + bs.unsetGmlGeometries(); + } + } - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - // only handles CityGML2 for now - // unknown which CityGML is handled here - // need context information to decide - for (Geometry geom : getGeometries()) { - switch (geom.getType()) { - case SOLID: - Solid solid = CityGmlUtils.createSolid(geom, factory, config); - setSolidAccordingToLod(geom, solid); - break; - case MULTI_SURFACE: - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - setMultiSurfaceAccordingToLod(geom, ms); - break; - case COMPOSITE_SURFACE: - CompositeSurface cs = CityGmlUtils.createCompositeSurface(geom, factory, config); - setCompositeSurfaceAccordingToLod(geom, cs); - break; - } - } - for (BoundarySurface bs : boundarySurfaceList) { - reCreateBoundarySurface(factory, config, bs); - } - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.accept(c); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (BoundarySurface bs : boundarySurfaceList) { - bs.collectContainedErrors(errors); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearAllContainedCheckResults(); - for (BoundarySurface bs : boundarySurfaceList) { - bs.clearAllContainedCheckResults(); - } - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (BoundarySurface bs : boundarySurfaceList) { - if (bs.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (BoundarySurface bs : boundarySurfaceList) { - if (bs.containsAnyError()) { - return true; - } - } - return false; - } - - private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { - if (bs.getGeometries().isEmpty()) { - for (AbstractSpaceBoundaryProperty bsp : gmlBridgeElement.getBoundaries()) { - if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { - logger.warn("Found empty boundary surface: {}, removing from BridgeConstructiveElement", bs.getGmlId()); - gmlBridgeElement.getBoundaries().remove(bsp); - break; - } - } - return; - } - bs.reCreateGeometries(factory, config); - } + @Override + public FeatureType getFeatureType() { + return FeatureType.BRIDGE_CONSTRUCTION_ELEMENT; + } - private void setCompositeSurfaceAccordingToLod(Geometry geom, CompositeSurface cs) { - switch (geom.getLod()) { - case LOD1: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new GeometryProperty<>(cs)); - break; - case LOD2: - gmlBridgeElement.getDeprecatedProperties().setLod2Geometry(new GeometryProperty<>(cs)); - break; - case LOD3: - gmlBridgeElement.getDeprecatedProperties().setLod3Geometry(new GeometryProperty<>(cs)); - break; - case LOD4: - gmlBridgeElement.getDeprecatedProperties().setLod4Geometry(new GeometryProperty<>(cs)); - break; - default: - throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " composite surface to buildings"); - } - } + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } - private void setSolidAccordingToLod(Geometry geom, Solid solid) { - switch (geom.getLod()) { - case LOD1: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new SolidProperty(solid)); - break; - case LOD2: - gmlBridgeElement.getDeprecatedProperties().setLod2Geometry(new SolidProperty(solid)); - break; - case LOD3: - gmlBridgeElement.getDeprecatedProperties().setLod3Geometry(new SolidProperty(solid)); - break; - case LOD4: - gmlBridgeElement.getDeprecatedProperties().setLod4Geometry(new SolidProperty(solid)); - break; - default: - throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " solid to buildings"); - } - } - - private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { - switch (geom.getLod()) { - case LOD0: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD1: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD2: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD3: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD4: - gmlBridgeElement.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " multi surface to buildings"); - } - } + public List getBoundarySurfaces() { + return boundarySurfaceList; + } - @Override - public org.citygml4j.core.model.bridge.BridgeConstructiveElement getGmlObject() { - return gmlBridgeElement; - } + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + } - @Override - public void unsetGmlGeometries() { - gmlBridgeElement.setLod0MultiSurface(null); - gmlBridgeElement.setLod2MultiSurface(null); - gmlBridgeElement.setLod3MultiSurface(null); - DeprecatedPropertiesOfBridgeConstructiveElement depProps = gmlBridgeElement.getDeprecatedProperties(); - depProps.setLod1Geometry(null); - depProps.setLod2Geometry(null); - depProps.setLod3Geometry(null); - depProps.setLod4Geometry(null); - gmlBridgeElement.setLod1Solid(null); - gmlBridgeElement.setLod2Solid(null); - gmlBridgeElement.setLod3Solid(null); - for (BoundarySurface bs : boundarySurfaceList) { - bs.unsetGmlGeometries(); - } - } + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + } - @Override - public FeatureType getFeatureType() { - return FeatureType.BRIDGE_CONSTRUCTION_ELEMENT; - } + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + } - public void addBoundarySurface(BoundarySurface bs) { - boundarySurfaceList.add(bs); - bs.setParent(this); - } - - public List getBoundarySurfaces() { - return boundarySurfaceList; - } - - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (BoundarySurface bs : boundarySurfaceList) { - bs.prepareForChecking(); - } - } - - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (BoundarySurface bs : boundarySurfaceList) { - bs.clearMetaInformation(); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - handler.addInstance(boundarySurfaceList); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - BridgeConstructiveElement originalBce = (BridgeConstructiveElement) original; - for (BoundarySurface originalBs : originalBce.boundarySurfaceList) { - boundarySurfaceList.add(handler.getCopyInstance(originalBs)); - } - } + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + BridgeConstructiveElement originalBce = (BridgeConstructiveElement) original; + for (BoundarySurface originalBs : originalBce.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java index 9ec8da311f2899b89fe8e5851e2ef7b3363b4108..6a02d0aae65d407d779c93783e9997540f37708f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java @@ -52,8 +52,10 @@ public class BridgeObject extends CityObject { private final List elements = new ArrayList<>(2); private final List boundarySurfaces = new ArrayList<>(2); private final List bridgeInstallations = new ArrayList<>(2); + private final List bridgeRooms = new ArrayList<>(2); private AbstractBridge ab; private BridgeType type; + public BridgeObject(BridgeType type, AbstractBridge ab) { this.ab = ab; this.type = type; @@ -72,9 +74,16 @@ public class BridgeObject extends CityObject { return bridgeInstallations; } + public List getBridgeRooms() { + return bridgeRooms; + } + @Override public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } if (geom.getType() == GeometryType.MULTI_SURFACE) { MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); setMultiSurfaceAccordingToLod(geom, ms); @@ -95,6 +104,9 @@ public class BridgeObject extends CityObject { for (BridgeConstructiveElement ele : elements) { ele.reCreateGeometries(factory, config); } + for (BridgeRoom br : bridgeRooms) { + br.reCreateGeometries(factory, config); + } } @@ -135,11 +147,16 @@ public class BridgeObject extends CityObject { throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to bridges"); } } + public void addBridgeInstallation(Installation coBi) { bridgeInstallations.add(coBi); coBi.setParent(this); } + public void addBridgeRoom(BridgeRoom room) { + bridgeRooms.add(room); + } + @Override public void clearAllContainedCheckResults() { super.clearAllContainedCheckResults(); @@ -155,6 +172,9 @@ public class BridgeObject extends CityObject { for (BridgeConstructiveElement ele : elements) { ele.clearAllContainedCheckResults(); } + for (BridgeRoom br : bridgeRooms) { + br.clearAllContainedCheckResults(); + } } @Override @@ -172,6 +192,9 @@ public class BridgeObject extends CityObject { for (BridgeConstructiveElement ele : elements) { ele.collectContainedErrors(errors); } + for (BridgeRoom br : bridgeRooms) { + br.collectContainedErrors(errors); + } } @@ -199,6 +222,11 @@ public class BridgeObject extends CityObject { return true; } } + for (BridgeRoom br : bridgeRooms) { + if (br.containsAnyError()) { + return true; + } + } return false; } @@ -236,6 +264,11 @@ public class BridgeObject extends CityObject { return true; } } + for (BridgeRoom br : bridgeRooms) { + if (br.containsError(checkIdentifier)) { + return true; + } + } return false; } @@ -267,6 +300,9 @@ public class BridgeObject extends CityObject { for (BridgeConstructiveElement ele : elements) { ele.accept(c); } + for (BridgeRoom br : bridgeRooms) { + br.accept(c); + } } @@ -324,6 +360,9 @@ public class BridgeObject extends CityObject { for (BridgeConstructiveElement ele : elements) { ele.unsetGmlGeometries(); } + for (BridgeRoom br : bridgeRooms) { + br.unsetGmlGeometries(); + } } @@ -348,6 +387,9 @@ public class BridgeObject extends CityObject { for (Installation bi : bridgeInstallations) { bi.prepareForChecking(); } + for (BridgeObject part : parts) { + part.prepareForChecking(); + } } @Override @@ -369,6 +411,10 @@ public class BridgeObject extends CityObject { ele.clearMetaInformation(); } + for (BridgeRoom br : bridgeRooms) { + br.clearMetaInformation(); + } + } @Override @@ -390,6 +436,10 @@ public class BridgeObject extends CityObject { handler.addInstance(ele); } + for (BridgeRoom br : bridgeRooms) { + handler.addInstance(br); + } + } public void anonymize() { @@ -429,6 +479,10 @@ public class BridgeObject extends CityObject { getConstructiveElements().add(handler.getCopyInstance(ele)); } + for (BridgeRoom br : originalBo.bridgeRooms) { + getBridgeRooms().add(handler.getCopyInstance(br)); + } + } public List getBoundarySurfaces() { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoom.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoom.java new file mode 100644 index 0000000000000000000000000000000000000000..11b20d0aefedd217601e5f1db6a7e9f623c37862 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoom.java @@ -0,0 +1,50 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; + +import java.io.Serial; + +public class BridgeRoom extends AbstractRoom { + + @Serial + private static final long serialVersionUID = -276088332165299253L; + + private BridgeObject parent; + + private BridgeRoom() { + } + + public BridgeRoom(BridgeObject parent) { + this.parent = parent; + parent.addBridgeRoom(this); + } + + + public void setGmlObject(org.citygml4j.core.model.bridge.BridgeRoom cgmlRoom) { + super.cgmlRoom = cgmlRoom; + } + + + public BridgeObject getParent() { + return parent; + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + BridgeRoom oRoom = (BridgeRoom) original; + parent = handler.getCopyInstance(oRoom.getParent()); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(parent); + } + + @Override + public Copyable createCopyInstance() { + return new BridgeRoom(); + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoomFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoomFurniture.java new file mode 100644 index 0000000000000000000000000000000000000000..6bcc1041753c3fb88f04fd54c6dc6c25ac9b2da3 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoomFurniture.java @@ -0,0 +1,21 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.bridge.BridgeFurniture; + +import java.io.Serial; + +public class BridgeRoomFurniture extends AbstractFurniture { + + @Serial + private static final long serialVersionUID = 2450802405053172352L; + + public void setGmlObject(BridgeFurniture gmlObject) { + super.setGmlObject(gmlObject); + } + + @Override + public Copyable createCopyInstance() { + return new BridgeRoomFurniture(); + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java index 3acf2b120c7c084c1db473a5dc01ea9e7f26d27d..2d397166afb32e2c6ee1179f3289806d46560bd7 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,158 +18,157 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - -import org.citygml4j.core.model.building.BuildingInstallation; -import org.citygml4j.core.model.building.BuildingInstallationProperty; -import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; -import org.citygml4j.core.util.geometry.GeometryFactory; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.building.BuildingInstallation; +import org.citygml4j.core.model.building.BuildingInstallationProperty; +import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; +import org.citygml4j.core.util.geometry.GeometryFactory; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; public class Building extends AbstractBuilding { - @Serial - private static final long serialVersionUID = 588480113268630052L; - - private final List buildingParts = new ArrayList<>(2); - - public List getBuildingParts() { - return buildingParts; - } - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - super.reCreateGeometries(factory, config); - for (BuildingPart bp : buildingParts) { - bp.reCreateGeometries(factory, config); - } - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (BuildingPart bp : buildingParts) { - bp.accept(c); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearAllContainedCheckResults(); - for (BuildingPart bp : buildingParts) { - bp.clearAllContainedCheckResults(); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (BuildingPart bp : buildingParts) { - bp.collectContainedErrors(errors); - } - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (BuildingPart bp : buildingParts) { - if (bp.containsAnyError()) { - return true; - } - } - return false; - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (BuildingPart bp : buildingParts) { - if (bp.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - public void addBuildingPart(BuildingPart buildingPart) { - buildingParts.add(buildingPart); - } - - @Override - public String toString() { - return "Building [id=" + getGmlId() + "]"; - } - - public void anonymize() { - for (Geometry geom : getGeometries()) { - geom.anonymize(); - } - org.citygml4j.core.model.building.Building gmlB = new org.citygml4j.core.model.building.Building(); - gmlB.setId(GmlId.generateId().getGmlString()); - for (Installation bi : getBuildingInstallations()) { - bi.anonymize(); - gmlB.getBuildingInstallations().add(new BuildingInstallationProperty((BuildingInstallation) bi.getGmlObject())); - } - for (BoundarySurface bs : getBoundarySurfaces()) { - bs.anonymize(); - gmlB.addBoundary(new AbstractSpaceBoundaryProperty(bs.getGmlObject())); - } - setCityGmlBuilding(gmlB); - } - - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (BuildingPart part : buildingParts) { - part.clearMetaInformation(); - } - } - - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (BuildingPart part : buildingParts) { - part.prepareForChecking(); - } - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - Building originalBuilding = (Building) original; - for (BuildingPart originalBp : originalBuilding.buildingParts) { - buildingParts.add(handler.getCopyInstance(originalBp)); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - for (BuildingPart bp : buildingParts) { - handler.addInstance(bp); - } - } - - @Override - public Copyable createCopyInstance() { - return new Building(); - } + @Serial + private static final long serialVersionUID = 588480113268630052L; + + private final List buildingParts = new ArrayList<>(2); + + public List getBuildingParts() { + return buildingParts; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + super.reCreateGeometries(factory, config); + for (BuildingPart bp : buildingParts) { + bp.reCreateGeometries(factory, config); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BuildingPart bp : buildingParts) { + bp.accept(c); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BuildingPart bp : buildingParts) { + bp.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BuildingPart bp : buildingParts) { + bp.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BuildingPart bp : buildingParts) { + if (bp.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BuildingPart bp : buildingParts) { + if (bp.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + public void addBuildingPart(BuildingPart buildingPart) { + buildingParts.add(buildingPart); + } + + @Override + public String toString() { + return "Building [id=" + getGmlId() + "]"; + } + + public void anonymize() { + for (Geometry geom : getGeometries()) { + geom.anonymize(); + } + org.citygml4j.core.model.building.Building gmlB = new org.citygml4j.core.model.building.Building(); + gmlB.setId(GmlId.generateId().getGmlString()); + for (Installation bi : getBuildingInstallations()) { + bi.anonymize(); + gmlB.getBuildingInstallations().add(new BuildingInstallationProperty((BuildingInstallation) bi.getGmlObject())); + } + for (BoundarySurface bs : getBoundarySurfaces()) { + bs.anonymize(); + gmlB.addBoundary(new AbstractSpaceBoundaryProperty(bs.getGmlObject())); + } + setCityGmlBuilding(gmlB); + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BuildingPart part : buildingParts) { + part.clearMetaInformation(); + } + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BuildingPart part : buildingParts) { + part.prepareForChecking(); + } + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + Building originalBuilding = (Building) original; + for (BuildingPart originalBp : originalBuilding.buildingParts) { + buildingParts.add(handler.getCopyInstance(originalBp)); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (BuildingPart bp : buildingParts) { + handler.addInstance(bp); + } + } + + @Override + public Copyable createCopyInstance() { + return new Building(); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingPart.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingPart.java index ad8a196e390de21d63ce6edc4a0fc85bd9fdf3c3..166d55b4ff727b2a750c6e8fb6fb357743cfa1a7 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingPart.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingPart.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -24,50 +24,50 @@ import de.hft.stuttgart.citydoctor2.utils.Copyable; import java.io.Serial; public class BuildingPart extends AbstractBuilding { - - @Serial - private static final long serialVersionUID = 8200322261958679163L; - - private Building parent; - - private BuildingPart() { - } - - public BuildingPart(Building parent) { - this.parent = parent; - parent.addBuildingPart(this); - } - - public Building getParent() { - return parent; - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.BUILDING_PART; - } - @Override - public String toString() { - return "BuildingPart [id=" + getGmlId() + "]"; - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - BuildingPart originalPart = (BuildingPart) original; - parent = handler.getCopyInstance(originalPart.parent); - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - handler.addInstance(parent); - } + @Serial + private static final long serialVersionUID = 8200322261958679163L; + + private Building parent; + + private BuildingPart() { + } + + public BuildingPart(Building parent) { + this.parent = parent; + parent.addBuildingPart(this); + } + + public Building getParent() { + return parent; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.BUILDING_PART; + } + + @Override + public String toString() { + return "BuildingPart [id=" + getGmlId() + "]"; + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + BuildingPart originalPart = (BuildingPart) original; + parent = handler.getCopyInstance(originalPart.parent); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(parent); + } - @Override - public Copyable createCopyInstance() { - return new BuildingPart(); - } + @Override + public Copyable createCopyInstance() { + return new BuildingPart(); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoom.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoom.java new file mode 100644 index 0000000000000000000000000000000000000000..67c5f58472f70cf10c6b784a4a3c3d8bba9b0181 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoom.java @@ -0,0 +1,63 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.building.BuildingFurnitureProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public class BuildingRoom extends AbstractRoom { + + @Serial + private static final long serialVersionUID = -276088332165299253L; + private final List furnitureRefs = new ArrayList<>(2); + private CityObject parent; + + public void setGmlObject(org.citygml4j.core.model.building.BuildingRoom cgmlRoom) { + super.cgmlRoom = cgmlRoom; + } + + + public void setParent(CityObject parent) { + this.parent = parent; + } + + public void addFurnitureRef(BuildingFurnitureProperty furnitureRef) { + furnitureRefs.add(furnitureRef); + } + + /** + * Returns the list of citygml3 furniture objects registered to this room. + * The reference objects only hold a HRef to the actual furniture object. + * + * @return + */ + public List getFurnitureRefs() { + return furnitureRefs; + } + + public CityObject getParent() { + return parent; + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + + BuildingRoom oRoom = (BuildingRoom) original; + parent = handler.getCopyInstance(oRoom.getParent()); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(parent); + } + + @Override + public Copyable createCopyInstance() { + return new BuildingRoom(); + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoomFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoomFurniture.java new file mode 100644 index 0000000000000000000000000000000000000000..19897cdfd0bbca7d3e6664c0262dc3301295394b --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoomFurniture.java @@ -0,0 +1,24 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + + +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.building.BuildingFurniture; + +import java.io.Serial; + +public class BuildingRoomFurniture extends AbstractFurniture { + + @Serial + private static final long serialVersionUID = -1046265159354525567L; + + public void setGmlObject(BuildingFurniture gmlObject) { + super.setGmlObject(gmlObject); + } + + @Override + public Copyable createCopyInstance() { + return new BuildingRoomFurniture(); + } + +} + diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java new file mode 100644 index 0000000000000000000000000000000000000000..0017c71158f78412a4b8f7c91d89ddd3ea733e67 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java @@ -0,0 +1,129 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.util.geometry.GeometryFactory; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public class BuildingUnit extends AbstractBuildingSubdivision { + + @Serial + private static final long serialVersionUID = -2931788311665810322L; + + private final List storeys = new ArrayList<>(); + + @Override + public Copyable createCopyInstance() { + return new BuildingUnit(); + } + + + @Override + public void unsetGmlGeometries() { + super.unsetGmlGeometries(); + for (Storey storey : storeys) { + storey.unsetGmlGeometries(); + } + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + super.reCreateGeometries(factory, config); + for (Storey storey : storeys) { + storey.reCreateGeometries(factory, config); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + for (Storey storey : storeys) { + storey.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Storey storey : storeys) { + storey.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (Storey storey : storeys) { + storey.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Storey storey : storeys) { + if (storey.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Storey storey : storeys) { + if (storey.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (Storey storey : storeys) { + storey.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (Storey storey : storeys) { + storey.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (Storey storey : storeys) { + storey.collectInstances(handler); + } + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + BuildingUnit originalBu = (BuildingUnit) original; + for (Storey storey : originalBu.storeys) { + storeys.add(handler.getCopyInstance(storey)); + } + this.abs = originalBu.abs; + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java index 12fffe370cfeb0de503a0cf67e9c6e3a5e23400e..918188982eecb6b9b9fe7de5129f52190ef72f53 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,24 +18,6 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.BufferedWriter; -import java.io.File; -import java.io.IOException; -import java.io.UncheckedIOException; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.EnumMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Stream; - -import org.citygml4j.core.model.CityGMLVersion; -import org.citygml4j.core.model.core.CityModel; - import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; @@ -43,361 +25,441 @@ import de.hft.stuttgart.citydoctor2.exceptions.CityDoctorWriteException; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.writer.CityGMLWriterUtils; import de.hft.stuttgart.quality.model.types.ValidationPlan; +import org.citygml4j.core.model.CityGMLVersion; +import org.citygml4j.core.model.core.CityModel; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.Files; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Stream; /** * The complete CityGML model containing all features that are used in * CityDoctor - * - * @author Matthias Betz * + * @author Matthias Betz */ public class CityDoctorModel { - private static final String COULD_NOT_FIND_FEATURE = "Could not find feature: "; - private final List buildings; - private final List vegetation; - private final List bridges; - private final List land; - private final List roads; - private final List water; - private CityModel cModel; - private final ParserConfiguration config; - private final String fileName; - private final File file; - private final List globalErrors; - private boolean isValidated = false; - private ValidationPlan plan; - private CityGMLVersion cityGMLVersion; - - public CityDoctorModel(ParserConfiguration config, File file) { - if (config == null) { - throw new IllegalArgumentException("Parser configuration may not be null"); - } - this.fileName = file.getName(); - this.config = config; - this.file = file; - buildings = new ArrayList<>(); - vegetation = new ArrayList<>(); - bridges = new ArrayList<>(); - land = new ArrayList<>(); - roads = new ArrayList<>(); - water = new ArrayList<>(); - globalErrors = new ArrayList<>(); - } - - public boolean isValidated() { - return isValidated; - } - - public void setValidated(ValidationPlan plan) { - if (plan == null) { - this.plan = null; - this.isValidated = false; - return; - } - this.plan = plan; - this.isValidated = true; - } - - public ValidationPlan getValidationPlan() { - return plan; - } - - public void addGlobalError(CheckError err) { - globalErrors.add(err); - } - - public void addGlobalErrors(List generalErrors) { - globalErrors.addAll(generalErrors); - } - - public List getGlobalErrors() { - return globalErrors; - } - - public File getFile() { - return file; - } - - public Stream createFeatureStream() { - return Stream.of(buildings.stream(), vegetation.stream(), bridges.stream(), land.stream(), roads.stream(), - water.stream()).flatMap(co -> co); - } - - public void saveAs(String file, boolean saveQualityAde) throws CityDoctorWriteException { - if (file.endsWith(".off")) { - exportAsOff(file); - } else { - ValidationPlan tempPlan = plan; - if (!saveQualityAde) { - setValidated(null); - } - exportAsGML(file); - if (!saveQualityAde) { - setValidated(tempPlan); - } - } - } - - private void exportAsGML(String file) throws CityDoctorWriteException { - CityGMLWriterUtils.writeCityModel(file, this); - } - - private void exportAsOff(String file) { - file = file.substring(0, file.lastIndexOf('.')); - File folder = new File(file); - folder.mkdirs(); - createFeatureStream().forEach(co -> { - Map> polygonMap = new EnumMap<>(Lod.class); - Check c = new AbstractCheck() { - - @Override - public void check(Geometry geom) { - polygonMap.compute(geom.getLod(), (lod, polys) -> { - if (polys == null) { - polys = new HashSet<>(); - } - for (Polygon poly : geom.getPolygons()) { - polys.add(poly.getOriginal()); - } - return polys; - }); - } - }; - co.accept(c); - - Set highestLod = polygonMap.get(Lod.LOD2); - if (highestLod == null) { - highestLod = polygonMap.get(Lod.LOD1); - } - if (highestLod == null) { - return; - } - Map idMap = new LinkedHashMap<>(); - AtomicInteger counter = new AtomicInteger(0); - for (Polygon poly : highestLod) { - addRing(poly.getExteriorRing(), idMap, counter); - } - - try (BufferedWriter writer = Files.newBufferedWriter(folder.toPath().resolve(co.getGmlId() + ".off"))) { - writer.write("OFF\n"); - writer.write(Integer.toString(idMap.size())); - writer.write(' '); - writer.write(Integer.toString(highestLod.size())); - writer.write(" 0\n"); - for (Vertex v : idMap.keySet()) { - writer.write(Double.toString(v.getX())); - writer.write(' '); - writer.write(Double.toString(v.getY())); - writer.write(' '); - writer.write(Double.toString(v.getZ())); - writer.write('\n'); - } - for (Polygon poly : highestLod) { - writer.write(Integer.toString(poly.getExteriorRing().getVertices().size() - 1)); - writer.write(' '); - for (int i = 0; i < poly.getExteriorRing().getVertices().size() - 1; i++) { - Vertex v = poly.getExteriorRing().getVertices().get(i); - writer.write(Integer.toString(idMap.get(v))); - writer.write(' '); - } - writer.write('\n'); - } - } catch (IOException e) { - throw new UncheckedIOException(e); - } - - }); - } - - private void addRing(LinearRing ring, Map idMap, AtomicInteger counter) { - for (Vertex v : ring.getVertices()) { - idMap.computeIfAbsent(v, k -> counter.getAndIncrement()); - } - } - - public Set collectErrors() { - List errors = new ArrayList<>(); - collectErrorsFromList(errors, buildings); - collectErrorsFromList(errors, vegetation); - collectErrorsFromList(errors, bridges); - collectErrorsFromList(errors, land); - collectErrorsFromList(errors, roads); - collectErrorsFromList(errors, water); - return new HashSet<>(errors); - } - - private void collectErrorsFromList(List errors, List cos) { - for (CityObject co : cos) { - co.collectContainedErrors(errors); - } - } - - public String getFileName() { - return fileName; - } - - public void addBridge(BridgeObject coBridge) { - bridges.add(coBridge); - } - - public void addBuilding(Building coBuilding) { - buildings.add(coBuilding); - } - - public List getBuildings() { - return buildings; - } - - public List getBridges() { - return bridges; - } - - public void setCityModel(CityModel cModel) { - this.cModel = cModel; - } - - public CityModel getCityModel() { - return cModel; - } - - public List getTransportation() { - return roads; - } - - public List getWater() { - return water; - } - - public List getLand() { - return land; - } - - public List getVegetation() { - return vegetation; - } - - public void addWater(WaterObject wo) { - water.add(wo); - } - - public void addLand(LandObject lo) { - land.add(lo); - } - - public void addVegetation(Vegetation veg) { - vegetation.add(veg); - } - - public void addTransportation(TransportationObject to) { - roads.add(to); - } - - public int getNumberOfFeatures() { - return buildings.size() + vegetation.size() + bridges.size() + land.size() + roads.size() + water.size(); - } - - public ParserConfiguration getParserConfig() { - return config; - } - - public void replaceFeature(CityObject currentFeature, CityObject nextFeature) { - if (nextFeature instanceof Building) { - replaceBuilding(currentFeature, nextFeature); - } else if (nextFeature instanceof BridgeObject) { - replaceBridge(currentFeature, nextFeature); - } else if (nextFeature instanceof TransportationObject) { - replaceTransportationObject(currentFeature, nextFeature); - } else if (nextFeature instanceof Vegetation) { - replaceVegetation(currentFeature, nextFeature); - } else if (nextFeature instanceof LandObject) { - replaceLandObject(currentFeature, nextFeature); - } else if (nextFeature instanceof WaterObject) { - replaceWaterObject(currentFeature, nextFeature); - } - } - - private void replaceWaterObject(CityObject currentFeature, CityObject nextFeature) { - int index = water.indexOf(currentFeature); - if (index == -1) { - throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in water objects"); - } - water.set(index, (WaterObject) nextFeature); - } - - private void replaceLandObject(CityObject currentFeature, CityObject nextFeature) { - int index = land.indexOf(currentFeature); - if (index == -1) { - throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in land objects"); - } - land.set(index, nextFeature); - } - - private void replaceVegetation(CityObject currentFeature, CityObject nextFeature) { - int index = vegetation.indexOf(currentFeature); - if (index == -1) { - throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in vegetation"); - } - vegetation.set(index, (Vegetation) nextFeature); - } - - private void replaceTransportationObject(CityObject currentFeature, CityObject nextFeature) { - int index = roads.indexOf(currentFeature); - if (index == -1) { - throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in transportation objects"); - } - roads.set(index, (TransportationObject) nextFeature); - } - - private void replaceBridge(CityObject currentFeature, CityObject nextFeature) { - int index = bridges.indexOf(currentFeature); - if (index == -1) { - throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in bridges"); - } - bridges.set(index, (BridgeObject) nextFeature); - } - - private void replaceBuilding(CityObject currentFeature, CityObject nextFeature) { - int index = buildings.indexOf(currentFeature); - if (index == -1) { - throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in buildings"); - } - buildings.set(index, (Building) nextFeature); - } - - public void addCityObject(CityObject co) { - if (co instanceof Building b) { - buildings.add(b); - } else if (co instanceof BridgeObject bo) { - bridges.add(bo); - } else if (co instanceof TransportationObject to) { - roads.add(to); - } else if (co instanceof Vegetation veg) { - vegetation.add(veg); - } else if (co instanceof LandObject lo) { - land.add(lo); - } else if (co instanceof WaterObject wo) { - water.add(wo); - } else if (co instanceof ReliefObject) { - land.add(co); - } else if (co instanceof TinObject) { - land.add(co); - } - } - - public void setParsedCityGMLVersion(CityGMLVersion cityGMLVersion) { - this.cityGMLVersion = cityGMLVersion; - } - - public CityGMLVersion getCityGMLVersion() { - return cityGMLVersion; - } - - public void addRelief(ReliefObject relief) { - addCityObject(relief); - } - - public void addTin(TinObject tin) { - addCityObject(tin); - } + private static final String COULD_NOT_FIND_FEATURE = "Could not find feature: "; + private final List buildings; + private final List vegetation; + private final List bridges; + private final List cityfurniture; + private final List genericObjects; + private final List land; + private final List roads; + private final List tunnels; + private final List water; + private CityModel cModel; + private final ParserConfiguration config; + private final String fileName; + private final File file; + private final List globalErrors; + private boolean isValidated = false; + private ValidationPlan plan; + private CityGMLVersion cityGMLVersion; + + public CityDoctorModel(ParserConfiguration config, File file) { + if (config == null) { + throw new IllegalArgumentException("Parser configuration may not be null"); + } + this.fileName = file.getName(); + this.config = config; + this.file = file; + buildings = new ArrayList<>(); + vegetation = new ArrayList<>(); + bridges = new ArrayList<>(); + land = new ArrayList<>(); + roads = new ArrayList<>(); + tunnels = new ArrayList<>(); + water = new ArrayList<>(); + cityfurniture = new ArrayList<>(); + genericObjects = new ArrayList<>(); + globalErrors = new ArrayList<>(); + } + + public boolean isValidated() { + return isValidated; + } + + public void setValidated(ValidationPlan plan) { + if (plan == null) { + this.plan = null; + this.isValidated = false; + return; + } + this.plan = plan; + this.isValidated = true; + } + + public ValidationPlan getValidationPlan() { + return plan; + } + + public void addGlobalError(CheckError err) { + globalErrors.add(err); + } + + public void addGlobalErrors(List generalErrors) { + globalErrors.addAll(generalErrors); + } + + public List getGlobalErrors() { + return globalErrors; + } + + public File getFile() { + return file; + } + + public Stream createFeatureStream() { + return Stream.of(buildings.stream(), vegetation.stream(), bridges.stream(), land.stream(), roads.stream(), + tunnels.stream(), water.stream(), cityfurniture.stream(), genericObjects.stream()).flatMap(co -> co); + } + + public void saveAs(String file, boolean saveQualityAde) throws CityDoctorWriteException { + if (file.endsWith(".off")) { + exportAsOff(file); + } else { + ValidationPlan tempPlan = plan; + if (!saveQualityAde) { + setValidated(null); + } + exportAsGML(file); + if (!saveQualityAde) { + setValidated(tempPlan); + } + } + } + + private void exportAsGML(String file) throws CityDoctorWriteException { + CityGMLWriterUtils.writeCityModel(file, this); + } + + private void exportAsOff(String file) { + file = file.substring(0, file.lastIndexOf('.')); + File folder = new File(file); + folder.mkdirs(); + createFeatureStream().forEach(co -> { + Map> polygonMap = new EnumMap<>(Lod.class); + Check c = new AbstractCheck() { + + @Override + public void check(Geometry geom) { + polygonMap.compute(geom.getLod(), (lod, polys) -> { + if (polys == null) { + polys = new HashSet<>(); + } + for (Polygon poly : geom.getPolygons()) { + polys.add(poly.getOriginal()); + } + return polys; + }); + } + }; + co.accept(c); + + Set highestLod = polygonMap.get(Lod.LOD2); + if (highestLod == null) { + highestLod = polygonMap.get(Lod.LOD1); + } + if (highestLod == null) { + return; + } + Map idMap = new LinkedHashMap<>(); + AtomicInteger counter = new AtomicInteger(0); + for (Polygon poly : highestLod) { + addRing(poly.getExteriorRing(), idMap, counter); + } + + try (BufferedWriter writer = Files.newBufferedWriter(folder.toPath().resolve(co.getGmlId() + ".off"))) { + writer.write("OFF\n"); + writer.write(Integer.toString(idMap.size())); + writer.write(' '); + writer.write(Integer.toString(highestLod.size())); + writer.write(" 0\n"); + for (Vertex v : idMap.keySet()) { + writer.write(Double.toString(v.getX())); + writer.write(' '); + writer.write(Double.toString(v.getY())); + writer.write(' '); + writer.write(Double.toString(v.getZ())); + writer.write('\n'); + } + for (Polygon poly : highestLod) { + writer.write(Integer.toString(poly.getExteriorRing().getVertices().size() - 1)); + writer.write(' '); + for (int i = 0; i < poly.getExteriorRing().getVertices().size() - 1; i++) { + Vertex v = poly.getExteriorRing().getVertices().get(i); + writer.write(Integer.toString(idMap.get(v))); + writer.write(' '); + } + writer.write('\n'); + } + } catch (IOException e) { + throw new UncheckedIOException(e); + } + + }); + } + + private void addRing(LinearRing ring, Map idMap, AtomicInteger counter) { + for (Vertex v : ring.getVertices()) { + idMap.computeIfAbsent(v, k -> counter.getAndIncrement()); + } + } + + public Set collectErrors() { + List errors = new ArrayList<>(); + collectErrorsFromList(errors, buildings); + collectErrorsFromList(errors, vegetation); + collectErrorsFromList(errors, bridges); + collectErrorsFromList(errors, land); + collectErrorsFromList(errors, roads); + collectErrorsFromList(errors, tunnels); + collectErrorsFromList(errors, water); + collectErrorsFromList(errors, cityfurniture); + collectErrorsFromList(errors, genericObjects); + return new HashSet<>(errors); + } + + private void collectErrorsFromList(List errors, List cos) { + for (CityObject co : cos) { + co.collectContainedErrors(errors); + } + } + + public String getFileName() { + return fileName; + } + + public void addBridge(BridgeObject coBridge) { + bridges.add(coBridge); + } + + public void addBuilding(Building coBuilding) { + buildings.add(coBuilding); + } + + public List getBuildings() { + return buildings; + } + + public List getBridges() { + return bridges; + } + + public List getCityFurniture() { + return cityfurniture; + } + + public void addCityFurniture(CityFurniture coFurniture) { + cityfurniture.add(coFurniture); + } + + public List getGenericCityObjects() { + return genericObjects; + } + + public void addGenericCityObject(GenericCityObject coGenericCityObject) { + genericObjects.add(coGenericCityObject); + } + + public void setCityModel(CityModel cModel) { + this.cModel = cModel; + } + + public CityModel getCityModel() { + return cModel; + } + + public List getTransportation() { + return roads; + } + + public List getTunnels() { + return tunnels; + } + + public List getWater() { + return water; + } + + public List getLand() { + return land; + } + + public List getVegetation() { + return vegetation; + } + + public void addWater(WaterObject wo) { + water.add(wo); + } + + public void addLand(LandObject lo) { + land.add(lo); + } + + public void addVegetation(Vegetation veg) { + vegetation.add(veg); + } + + public void addTransportation(TransportationObject to) { + roads.add(to); + } + + public void addTunnel(Tunnel tunnel) { + tunnels.add(tunnel); + } + + public int getNumberOfFeatures() { + return buildings.size() + vegetation.size() + bridges.size() + land.size() + tunnels.size() + + roads.size() + water.size() + cityfurniture.size() + genericObjects.size(); + } + + public ParserConfiguration getParserConfig() { + return config; + } + + public void replaceFeature(CityObject currentFeature, CityObject nextFeature) { + if (nextFeature instanceof Building) { + replaceBuilding(currentFeature, nextFeature); + } else if (nextFeature instanceof BridgeObject) { + replaceBridge(currentFeature, nextFeature); + } else if (nextFeature instanceof TransportationObject) { + replaceTransportationObject(currentFeature, nextFeature); + } else if (nextFeature instanceof Tunnel) { + replaceTunnel(currentFeature, nextFeature); + } else if (nextFeature instanceof Vegetation) { + replaceVegetation(currentFeature, nextFeature); + } else if (nextFeature instanceof LandObject) { + replaceLandObject(currentFeature, nextFeature); + } else if (nextFeature instanceof WaterObject) { + replaceWaterObject(currentFeature, nextFeature); + } else if (nextFeature instanceof CityFurniture) { + replaceCityFurniture(currentFeature, nextFeature); + } else if (nextFeature instanceof GenericCityObject) { + replaceGenericCityObject(currentFeature, nextFeature); + } + } + + private void replaceWaterObject(CityObject currentFeature, CityObject nextFeature) { + int index = water.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in water objects"); + } + water.set(index, (WaterObject) nextFeature); + } + + private void replaceLandObject(CityObject currentFeature, CityObject nextFeature) { + int index = land.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in land objects"); + } + land.set(index, nextFeature); + } + + private void replaceVegetation(CityObject currentFeature, CityObject nextFeature) { + int index = vegetation.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in vegetation"); + } + vegetation.set(index, (Vegetation) nextFeature); + } + + private void replaceCityFurniture(CityObject currentFeature, CityObject nextFeature) { + int index = cityfurniture.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in vegetation"); + } + cityfurniture.set(index, (CityFurniture) nextFeature); + } + + private void replaceGenericCityObject(CityObject currentFeature, CityObject nextFeature) { + int index = genericObjects.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in generic city objects"); + } + genericObjects.set(index, (GenericCityObject) nextFeature); + } + + private void replaceTransportationObject(CityObject currentFeature, CityObject nextFeature) { + int index = roads.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in transportation objects"); + } + roads.set(index, (TransportationObject) nextFeature); + } + + private void replaceTunnel(CityObject currentFeature, CityObject nextFeature) { + int index = tunnels.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in tunnels"); + } + tunnels.set(index, (Tunnel) nextFeature); + } + + private void replaceBridge(CityObject currentFeature, CityObject nextFeature) { + int index = bridges.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in bridges"); + } + bridges.set(index, (BridgeObject) nextFeature); + } + + private void replaceBuilding(CityObject currentFeature, CityObject nextFeature) { + int index = buildings.indexOf(currentFeature); + if (index == -1) { + throw new IllegalStateException(COULD_NOT_FIND_FEATURE + currentFeature + " in buildings"); + } + buildings.set(index, (Building) nextFeature); + } + + public void addCityObject(CityObject co) { + if (co instanceof Building b) { + buildings.add(b); + } else if (co instanceof BridgeObject bo) { + bridges.add(bo); + } else if (co instanceof TransportationObject to) { + roads.add(to); + } else if (co instanceof Tunnel tu) { + tunnels.add(tu); + } else if (co instanceof Vegetation veg) { + vegetation.add(veg); + } else if (co instanceof LandObject lo) { + land.add(lo); + } else if (co instanceof WaterObject wo) { + water.add(wo); + } else if (co instanceof ReliefObject) { + land.add(co); + } else if (co instanceof TinObject) { + land.add(co); + } else if (co instanceof CityFurniture cf) { + cityfurniture.add(cf); + } else if (co instanceof GenericCityObject gco) { + genericObjects.add(gco); + } + } + + public void setParsedCityGMLVersion(CityGMLVersion cityGMLVersion) { + this.cityGMLVersion = cityGMLVersion; + } + + public CityGMLVersion getCityGMLVersion() { + return cityGMLVersion; + } + + public void addRelief(ReliefObject relief) { + addCityObject(relief); + } + + public void addTin(TinObject tin) { + addCityObject(tin); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java new file mode 100644 index 0000000000000000000000000000000000000000..51387e46be3281e4a47a9391eb9379abd711cc1e --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java @@ -0,0 +1,117 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.core.AbstractCityObject; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; + +public class CityFurniture extends CityObject { + + @Serial + private static final long serialVersionUID = 3325661061543962473L; + + private org.citygml4j.core.model.cityfurniture.CityFurniture cgmlCityFurniture; + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + } + + + @Override + public AbstractCityObject getGmlObject() { + return cgmlCityFurniture; + } + + public void setGmlObject(org.citygml4j.core.model.cityfurniture.CityFurniture gmlCityFurniture) { + cgmlCityFurniture = gmlCityFurniture; + } + + @Override + public void unsetGmlGeometries() { + cgmlCityFurniture.setLod0MultiSurface(null); + cgmlCityFurniture.setLod2MultiSurface(null); + cgmlCityFurniture.setLod3MultiSurface(null); + cgmlCityFurniture.setLod1Solid(null); + cgmlCityFurniture.setLod2Solid(null); + cgmlCityFurniture.setLod3Solid(null); + cgmlCityFurniture.getDeprecatedProperties().setLod4Geometry(null); + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + cgmlCityFurniture.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + cgmlCityFurniture.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + cgmlCityFurniture.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + cgmlCityFurniture.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + cgmlCityFurniture.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + cgmlCityFurniture.setLod3Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); + } + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.CITY_FURNITURE; + } + + @Override + public Copyable createCopyInstance() { + return new CityFurniture(); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + CityFurniture originalCF = (CityFurniture) original; + cgmlCityFurniture = originalCF.cgmlCityFurniture; + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java index 1f45d0eba7808b5c7fc938b92bbd5d20328a7971..7e3b52573dec699ae071bda0cc7a3a22fbe88d5d 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,184 +18,191 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -import org.citygml4j.core.model.core.AbstractCityObject; -import org.citygml4j.core.util.geometry.GeometryFactory; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.core.AbstractCityObject; +import org.citygml4j.core.util.geometry.GeometryFactory; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** * Abstract class for general features such as Buildings, Water objects, ... *
* Contains the geometries - * - * @author Matthias Betz * + * @author Matthias Betz */ public abstract class CityObject extends GmlElement { - @Serial - private static final long serialVersionUID = 651712070755024188L; - - private final List geometryList = new ArrayList<>(); - - /** - * Recreates the CityGML4j geometry in this object. The CityGML4j geometry is - * deleted from the data structure as was mapped to the city doctor data - * structure. For writing CityGML files the geometry has to be restored. Also - * maps changes to geometry back to CityGML4j - * - * @param factory needed to create CityGML4j data structures - * @param config contains information whether a city doctor point was - * transformed to a different coordinate system. It would need to - * be transformed to the original coordinate system - */ - public abstract void reCreateGeometries(GeometryFactory factory, ParserConfiguration config); - - /** - * Getter for the CityGML4j data object - * - * @return the CityGML4j data object - */ - public abstract AbstractCityObject getGmlObject(); - - /** - * Remove the CityGML4j geometries from the data structure to save memory. - */ - public abstract void unsetGmlGeometries(); - - public void addGeometry(Geometry geom) { - Objects.requireNonNull(geom); - geometryList.add(geom); - geom.setParent(this); - } - - public List getGeometries() { - return geometryList; - } - - public void removeGeometry(Lod lod) { + @Serial + private static final long serialVersionUID = 651712070755024188L; + + private final List geometryList = new ArrayList<>(); + private final List genericAttributeList = new ArrayList<>(); + /** + * Recreates the CityGML4j geometry in this object. The CityGML4j geometry is + * deleted from the data structure as was mapped to the city doctor data + * structure. For writing CityGML files the geometry has to be restored. Also + * maps changes to geometry back to CityGML4j + * + * @param factory needed to create CityGML4j data structures + * @param config contains information whether a city doctor point was + * transformed to a different coordinate system. It would need to + * be transformed to the original coordinate system + */ + public abstract void reCreateGeometries(GeometryFactory factory, ParserConfiguration config); + + /** + * Getter for the CityGML4j data object + * + * @return the CityGML4j data object + */ + public abstract AbstractCityObject getGmlObject(); + + /** + * Remove the CityGML4j geometries from the data structure to save memory. + */ + public abstract void unsetGmlGeometries(); + + public void addGeometry(Geometry geom) { + Objects.requireNonNull(geom); + geometryList.add(geom); + geom.setParent(this); + } + + + public List getGeometries() { + return geometryList; + } + + public void removeGeometry(Lod lod) { geometryList.removeIf(geom -> geom.getLod() == lod); - } - - public void removeGeometry(Lod lod, GeometryType type) { + } + + public void removeGeometry(Lod lod, GeometryType type) { geometryList.removeIf(geom -> geom.getLod() == lod && geom.getType() == type); - } - - public Geometry getHighestLodGeometry() { - Geometry highestLodGeometry = null; - Lod highestLod = null; - for (Geometry geom : geometryList) { - if (highestLod == null || geom.getLod().isHigher(highestLod)) { - highestLodGeometry = geom; - highestLod = geom.getLod(); - } - } - return highestLodGeometry; - } - - public abstract FeatureType getFeatureType(); - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (Geometry geom : geometryList) { - geom.accept(c); - } - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (Geometry geom : geometryList) { - if (geom.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - @Override - public void clearAllContainedCheckResults() { - super.clearCheckResults(); - for (Geometry geom : geometryList) { - geom.clearAllContainedCheckResults(); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (Geometry geom : geometryList) { - geom.collectContainedErrors(errors); - } - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (Geometry geom : geometryList) { - if (geom.containsAnyError()) { - return true; - } - } - return false; - } - - public Geometry getGeometry(GeometryType type, Lod lod) { - for (Geometry geom : geometryList) { - if (geom.getType() == type && geom.getLod() == lod) { - return geom; - } - } - return null; - } - - @Override - public void prepareForChecking() { - for (Geometry geom : geometryList) { - geom.prepareForChecking(); - } - } - - @Override - public void clearMetaInformation() { - for (Geometry geom : geometryList) { - geom.clearMetaInformation(); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - for (Geometry geom : geometryList) { - handler.addInstance(geom); - } - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - CityObject originalCo = (CityObject) original; - for (Geometry geom : originalCo.geometryList) { - geometryList.add(handler.getCopyInstance(geom)); - } - } + } + + public Geometry getHighestLodGeometry() { + Geometry highestLodGeometry = null; + Lod highestLod = null; + for (Geometry geom : geometryList) { + if (highestLod == null || geom.getLod().isHigher(highestLod)) { + highestLodGeometry = geom; + highestLod = geom.getLod(); + } + } + return highestLodGeometry; + } + + public void addGenericAttribute(GenericAttribute genericAttribute) { + genericAttributeList.add(genericAttribute); + } + + public List getGenericAttributes() { + return genericAttributeList; + } + + public abstract FeatureType getFeatureType(); + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Geometry geom : geometryList) { + geom.accept(c); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Geometry geom : geometryList) { + if (geom.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public void clearAllContainedCheckResults() { + super.clearCheckResults(); + for (Geometry geom : geometryList) { + geom.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Geometry geom : geometryList) { + geom.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Geometry geom : geometryList) { + if (geom.containsAnyError()) { + return true; + } + } + return false; + } + + public Geometry getGeometry(GeometryType type, Lod lod) { + for (Geometry geom : geometryList) { + if (geom.getType() == type && geom.getLod() == lod) { + return geom; + } + } + return null; + } + + @Override + public void prepareForChecking() { + for (Geometry geom : geometryList) { + geom.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + for (Geometry geom : geometryList) { + geom.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + for (Geometry geom : geometryList) { + handler.addInstance(geom); + } + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + CityObject originalCo = (CityObject) original; + for (Geometry geom : originalCo.geometryList) { + geometryList.add(handler.getCopyInstance(geom)); + } + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CompositeCollection.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CompositeCollection.java new file mode 100644 index 0000000000000000000000000000000000000000..98ad871470edfb9692eb01a100cec09a23246512 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CompositeCollection.java @@ -0,0 +1,54 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author Riegel + */ +public final class CompositeCollection { + + @Serial + private static final long serialVersionUID = -1867197873443341287L; + + private GmlId gmlId; + private List compositeMembers = new ArrayList<>(); + private List childComposites = new ArrayList<>(); + + public void addCompositeMember(ConcretePolygon p) { + compositeMembers.add(p); + p.setPartOfComposite(this); + } + + public void addAllChildComposites(List children) { + childComposites.addAll(children); + } + + public List getChildComposites() { + return childComposites; + } + + public List getCompositeMembers() { + List copy = new ArrayList<>(compositeMembers); + for (CompositeCollection c : childComposites) { + copy.addAll(c.getCompositeMembers()); + } + return copy; + } + + public List getNonRecursiveCompositeMembers() { + return compositeMembers; + } + + public void setGmlId(GmlId gmlId) { + this.gmlId = gmlId; + } + + public GmlId getGmlId() { + return gmlId; + } + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java index c57113e2c3581b4baf46871fa43b389d3dff143a..a654fd4cce5ea15e2d6f1ab1b1b4f13d26b750b0 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java @@ -18,11 +18,6 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; @@ -33,6 +28,11 @@ import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + /** * A polygon that actually contains the rings and points representing the * geometry @@ -49,12 +49,11 @@ public class ConcretePolygon extends Polygon { private List innerRings; private BoundarySurface partOfSurface; private Installation partfOfInstallation; + private CompositeCollection partOfComposite = null; private Geometry parent; private LinkedPolygon linkedFromPolygon; - public ConcretePolygon() { - // TODO Auto-generated constructor stub - } + public ConcretePolygon() {} /* * (non-Javadoc) @@ -138,6 +137,18 @@ public class ConcretePolygon extends Polygon { parent = geometry; } + protected void setPartOfComposite(CompositeCollection comp) { + this.partOfComposite = comp; + } + + public CompositeCollection getPartOfComposite() { + return partOfComposite; + } + + public boolean isCompositeMember() { + return (partOfComposite != null); + } + /* * (non-Javadoc) * diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Edge.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Edge.java index 0aed3e21356634512a731e2a286dccb891a620a0..4df5da10beeaeabbf4ee2213ee02ba6e59b929a1 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Edge.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Edge.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,202 +18,201 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; + import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; - /** * Representing an edge between two consecutive points of a linear ring - * - * @author Matthias Betz * + * @author Matthias Betz */ public class Edge implements Serializable, Copyable { - @Serial - private static final long serialVersionUID = -504694863498128296L; - - private final List adjacentPolygons = new ArrayList<>(2); - private final List adjacentRings = new ArrayList<>(2); - - private Vertex from; - private Vertex to; - - // start with 1 for a new edge - private int numberOfHalfEdges = 1; - private int numberOfOppositeHalfEdges; - - public Edge(Vertex from, Vertex to) { - this.from = from; - this.to = to; - } - - private Edge() { - } - - public Vertex getFrom() { - return from; - } - - public Vertex getTo() { - return to; - } - - public void addHalfEdge(Vertex v0, Vertex v1) { - if (v0 == null || v1 == null) { - return; - } - if (isPointOfEdge(v0, from) && isPointOfEdge(v1, to)) { - numberOfHalfEdges++; - return; - } - if (isPointOfEdge(v1, from) && isPointOfEdge(v0, to)) { - numberOfOppositeHalfEdges++; - return; - } - throw new IllegalStateException( - "The given vertices do not form this edge\n v0=" + v0 + ", v1=" + v1 + ", edge" + this); - } - - private boolean isPointOfEdge(Vertex v0, Vertex edgePoint) { + @Serial + private static final long serialVersionUID = -504694863498128296L; + + private final List adjacentPolygons = new ArrayList<>(2); + private final List adjacentRings = new ArrayList<>(2); + + private Vertex from; + private Vertex to; + + // start with 1 for a new edge + private int numberOfHalfEdges = 1; + private int numberOfOppositeHalfEdges; + + public Edge(Vertex from, Vertex to) { + this.from = from; + this.to = to; + } + + private Edge() { + } + + public Vertex getFrom() { + return from; + } + + public Vertex getTo() { + return to; + } + + public void addHalfEdge(Vertex v0, Vertex v1) { + if (v0 == null || v1 == null) { + return; + } + if (isPointOfEdge(v0, from) && isPointOfEdge(v1, to)) { + numberOfHalfEdges++; + return; + } + if (isPointOfEdge(v1, from) && isPointOfEdge(v0, to)) { + numberOfOppositeHalfEdges++; + return; + } + throw new IllegalStateException( + "The given vertices do not form this edge\n v0=" + v0 + ", v1=" + v1 + ", edge" + this); + } + + private boolean isPointOfEdge(Vertex v0, Vertex edgePoint) { return v0.equals(edgePoint); } - public boolean formedByIgnoreDirection(Vertex v1, Vertex v2) { - return (v1 == from && v2 == to) || (v1 == to && v2 == from); - } - - public boolean equalsIgnoreDirection(Edge other) { - return (other.from.equals(from) && other.to.equals(to)) || (other.from.equals(to) && other.to.equals(from)); - } - - public int getNumberOfHalfEdges() { - return numberOfHalfEdges; - } - - public int getNumberOppositeHalfEdges() { - return numberOfOppositeHalfEdges; - } - - public int getNumberOfAllHalfEdges() { - return numberOfHalfEdges + numberOfOppositeHalfEdges; - } - - public List getAdjacentPolygons() { - return adjacentPolygons; - } - - public List getAdjacentRings() { - return adjacentRings; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((from == null) ? 0 : from.hashCode()); - result = prime * result + ((to == null) ? 0 : to.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - Edge other = (Edge) obj; - if (from == null) { - if (other.from != null) { - return false; - } - } else if (!from.equals(other.from)) { - return false; - } - if (to == null) { + public boolean formedByIgnoreDirection(Vertex v1, Vertex v2) { + return (v1 == from && v2 == to) || (v1 == to && v2 == from); + } + + public boolean equalsIgnoreDirection(Edge other) { + return (other.from.equals(from) && other.to.equals(to)) || (other.from.equals(to) && other.to.equals(from)); + } + + public int getNumberOfHalfEdges() { + return numberOfHalfEdges; + } + + public int getNumberOppositeHalfEdges() { + return numberOfOppositeHalfEdges; + } + + public int getNumberOfAllHalfEdges() { + return numberOfHalfEdges + numberOfOppositeHalfEdges; + } + + public List getAdjacentPolygons() { + return adjacentPolygons; + } + + public List getAdjacentRings() { + return adjacentRings; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((from == null) ? 0 : from.hashCode()); + result = prime * result + ((to == null) ? 0 : to.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Edge other = (Edge) obj; + if (from == null) { + if (other.from != null) { + return false; + } + } else if (!from.equals(other.from)) { + return false; + } + if (to == null) { return other.to == null; - } else return to.equals(other.to); - } - - public void addAdjacentPolygon(Polygon p) { - adjacentPolygons.add(p); - } - - public void addAdjacentRing(LinearRing lr) { - adjacentRings.add(lr); - } - - @Override - public String toString() { - return "Edge [from=" + from + ", to=" + to + "]"; - } - - public boolean contains(Vertex v) { - return v == from || v == to; - } - - public Vertex getConnectionPoint(Edge e) { - if (from == e.getTo() || from == e.getFrom()) { - return from; - } - if (to == e.getTo() || to == e.getFrom()) { - return to; - } - return null; - } - - /** - * finds the point on the other end of the edge if the given vertex is one of - * the end points. - * - * @param c the given vertex - * @return the opposite vertex or null if the given vertex is not an end point. - */ - public Vertex getOppositeVertex(Vertex c) { - if (c == from) { - return to; - } - if (c == to) { - return from; - } - return null; - } - - @Override - public void collectInstances(CopyHandler handler) { - handler.addInstance(from); - handler.addInstance(to); - handler.addInstance(adjacentPolygons); - handler.addInstance(adjacentRings); - } - - @Override - public Copyable createCopyInstance() { - return new Edge(); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - Edge originalEdge = (Edge) original; - from = handler.getCopyInstance(originalEdge.from); - to = handler.getCopyInstance(originalEdge.to); - numberOfHalfEdges = originalEdge.numberOfHalfEdges; - numberOfOppositeHalfEdges = originalEdge.numberOfOppositeHalfEdges; - for (Polygon originalPoly : originalEdge.adjacentPolygons) { - adjacentPolygons.add(handler.getCopyInstance(originalPoly)); - } - for (LinearRing originalRing : originalEdge.adjacentRings) { - adjacentRings.add(handler.getCopyInstance(originalRing)); - } - } + } else return to.equals(other.to); + } + + public void addAdjacentPolygon(Polygon p) { + adjacentPolygons.add(p); + } + + public void addAdjacentRing(LinearRing lr) { + adjacentRings.add(lr); + } + + @Override + public String toString() { + return "Edge [from=" + from + ", to=" + to + "]"; + } + + public boolean contains(Vertex v) { + return v == from || v == to; + } + + public Vertex getConnectionPoint(Edge e) { + if (from == e.getTo() || from == e.getFrom()) { + return from; + } + if (to == e.getTo() || to == e.getFrom()) { + return to; + } + return null; + } + + /** + * finds the point on the other end of the edge if the given vertex is one of + * the end points. + * + * @param c the given vertex + * @return the opposite vertex or null if the given vertex is not an end point. + */ + public Vertex getOppositeVertex(Vertex c) { + if (c == from) { + return to; + } + if (c == to) { + return from; + } + return null; + } + + @Override + public void collectInstances(CopyHandler handler) { + handler.addInstance(from); + handler.addInstance(to); + handler.addInstance(adjacentPolygons); + handler.addInstance(adjacentRings); + } + + @Override + public Copyable createCopyInstance() { + return new Edge(); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + Edge originalEdge = (Edge) original; + from = handler.getCopyInstance(originalEdge.from); + to = handler.getCopyInstance(originalEdge.to); + numberOfHalfEdges = originalEdge.numberOfHalfEdges; + numberOfOppositeHalfEdges = originalEdge.numberOfOppositeHalfEdges; + for (Polygon originalPoly : originalEdge.adjacentPolygons) { + adjacentPolygons.add(handler.getCopyInstance(originalPoly)); + } + for (LinearRing originalRing : originalEdge.adjacentRings) { + adjacentRings.add(handler.getCopyInstance(originalRing)); + } + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/FeatureType.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/FeatureType.java index c0cff7c5ba61a860b62e55de1a568c3e31ff1dfe..cb49e1e0be23185738391db890f127310de131c0 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/FeatureType.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/FeatureType.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -20,13 +20,12 @@ package de.hft.stuttgart.citydoctor2.datastructure; /** * Possible feature types in CityGML - * - * @author Matthias Betz * + * @author Matthias Betz */ public enum FeatureType { - BUILDING, TRANSPORTATION, VEGETATION, BRIDGE, LAND, WATER, BOUNDARY_SURFACE, INSTALLATION, OPENING, - BUILDING_PART, BRIDGE_CONSTRUCTION_ELEMENT, BRIDGE_INSTALLATION - + BUILDING, TRANSPORTATION, VEGETATION, BRIDGE, LAND, WATER, BOUNDARY_SURFACE, INSTALLATION, OPENING, + BUILDING_PART, BUILDING_SUBDIVISION, BRIDGE_CONSTRUCTION_ELEMENT, BRIDGE_INSTALLATION, ROOM, FURNITURE, CITY_FURNITURE, + GENERIC_CITY_OBJECT, TUNNEL, TUNNEL_PART, TUNNEL_CONSTRUCTION_ELEMENT, TUNNEL_INSTALLATION, } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericAttribute.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericAttribute.java new file mode 100644 index 0000000000000000000000000000000000000000..6262123228db8e5638098f9fe380fe576d80f4a6 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericAttribute.java @@ -0,0 +1,72 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.citygml4j.core.model.core.AbstractGenericAttributeProperty; +import org.citygml4j.core.model.generics.*; + + +public class GenericAttribute { + + private static final Logger logger = LogManager.getLogger(GenericAttribute.class); + + private final AbstractGenericAttributeProperty original; + + private String type; + private String name; + private String value; + + public GenericAttribute(AbstractGenericAttributeProperty attributeProperty) { + original = attributeProperty; + if (attributeProperty.getObject() == null) { + logger.warn("GenericAttribute {} is null", attributeProperty); + return; + } + name = attributeProperty.getObject().getName(); + + if (attributeProperty.getObject() instanceof StringAttribute sa) { + type = "StringAttribute"; + value = sa.getValue(); + } else if (attributeProperty.getObject() instanceof IntAttribute ia) { + type = "IntAttribute"; + value = ia.getValue().toString(); + } else if (attributeProperty.getObject() instanceof DoubleAttribute da) { + type = "DoubleAttribute"; + value = da.getValue().toString(); + } else if (attributeProperty.getObject() instanceof DateAttribute date) { + type = "DateAttribute"; + value = date.getValue().toString(); + } else if (attributeProperty.getObject() instanceof UriAttribute ua) { + type = "UriAttribute"; + value = ua.getValue(); + } else if (attributeProperty.getObject() instanceof MeasureAttribute ma) { + type = "MeasureAttribute"; + value = ma.getValue().toString(); + } else if (attributeProperty.getObject() instanceof CodeAttribute ca) { + type = "CodeAttribute"; + value = ca.getValue().toString(); + } else { + logger.warn("GenericAttribute {} is of unknown type {}", attributeProperty, attributeProperty.getObject()); + value = attributeProperty.getObject().getValue().toString(); + type = "Unknown type"; + } + + } + + public AbstractGenericAttributeProperty getOriginal() { + return original; + } + + public String getName() { + return name; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.format("%s: [ %s = %s ]", type, name, value); + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java new file mode 100644 index 0000000000000000000000000000000000000000..1da5f5d0d3c4e0599bfdab1901f08330e320852d --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java @@ -0,0 +1,230 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.citygml4j.core.model.core.AbstractCityObject; +import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +/** + * + */ +public class GenericCityObject extends CityObject { + + @Serial + private static final long serialVersionUID = 5886527664552294353L; + + private org.citygml4j.core.model.generics.GenericOccupiedSpace cgmlGos; + + private static final Logger logger = LogManager.getLogger(GenericCityObject.class); + + private final List boundarySurfaceList = new ArrayList<>(); + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + } + } + for (BoundarySurface bs : boundarySurfaceList) { + reCreateBoundarySurface(factory, config, bs); + } + } + + private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { + if (bs.getGeometries().isEmpty()) { + for (AbstractSpaceBoundaryProperty bsp : cgmlGos.getBoundaries()) { + if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { + logger.warn("Found empty boundary surface: {}, removing from generic object", bs.getGmlId()); + cgmlGos.getBoundaries().remove(bsp); + break; + } + } + return; + } + bs.reCreateGeometries(factory, config); + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + cgmlGos.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + cgmlGos.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + cgmlGos.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " multi surface to buildings"); + } + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + cgmlGos.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + cgmlGos.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + cgmlGos.setLod3Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot add " + geom.getLod() + " solid to buildings"); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BoundarySurface bs : boundarySurfaceList) { + bs.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + GenericCityObject originalGos = (GenericCityObject) original; + for (BoundarySurface originalBs : originalGos.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + cgmlGos = originalGos.cgmlGos; + } + + @Override + public AbstractCityObject getGmlObject() { + return null; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.GENERIC_CITY_OBJECT; + } + + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + @Override + public void unsetGmlGeometries() { + cgmlGos.setLod1Solid(null); + cgmlGos.setLod2Solid(null); + cgmlGos.setLod3Solid(null); + cgmlGos.setLod2MultiSurface(null); + cgmlGos.setLod3MultiSurface(null); + for (BoundarySurface bs : boundarySurfaceList) { + bs.unsetGmlGeometries(); + } + } + + public void setGmlObject(org.citygml4j.core.model.generics.GenericOccupiedSpace gos) { + this.cgmlGos = gos; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } + + + @Override + public Copyable createCopyInstance() { + return new GenericCityObject(); + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java index 3c3988c9bdd83c0029bc97853c1f976d856acd4c..85357649a514ebbf61d59f256fd364c548de386a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,16 +18,6 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Random; -import java.util.Set; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; @@ -39,420 +29,423 @@ import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; import de.hft.stuttgart.citydoctor2.utils.SerializablePair; +import java.io.Serial; +import java.util.*; +import java.util.Map.Entry; + /** * Representation of a geometry containing the polygons and edges - * - * @author Matthias Betz * + * @author Matthias Betz */ public class Geometry extends GmlElement { - private static final String FAILED_REMOVING_POLYGON = "Removing polygon %s but polygon is not in geometry"; - - @Serial - private static final long serialVersionUID = 2539031030917731575L; - - private static final Random r = new Random(); - - private GeometryType type; - private final Lod lod; - - private CityObject parent; - - private final List polygons = new ArrayList<>(2); - private List edges; - private Map, Edge> edgeMap; - private List vertices; - - public Geometry(GeometryType type, Lod lod) { - this.lod = lod; - this.type = type; - } - - void setParent(CityObject parent) { - this.parent = parent; - } - - public CityObject getParent() { - return parent; - } - - public void setType(GeometryType type) { - this.type = type; - } - - public GeometryType getType() { - return type; - } - - public Lod getLod() { - return lod; - } - - public List getPolygons() { - return polygons; - } - - public void addPolygon(Polygon cdPoly) { - polygons.add(cdPoly); - cdPoly.setParent(this); - // set part of boundary surface or building installation or both - if (parent instanceof BoundarySurface bs) { - cdPoly.setPartOfSurface(bs); - if (bs.getParent() instanceof Installation bi) { - cdPoly.setPartOfInstallation(bi); - } - } else if (parent instanceof Installation bi) { - cdPoly.setPartOfInstallation(bi); - } - } - - public void updateEdges() { - edges = new ArrayList<>(); - edgeMap = new HashMap<>(); - Map duplicacyMap = new HashMap<>(); - for (Polygon p : polygons) { - LinearRing extRing = p.getExteriorRing(); - createEdgesFromRing(duplicacyMap, p, extRing); - for (LinearRing inner : p.getInnerRings()) { - createEdgesFromRing(duplicacyMap, p, inner); - } - } - } - - void anonymize() { - setGmlId(GmlId.generateId()); - for (Polygon p : polygons) { - p.anonymize(); - } - double minX = Double.MAX_VALUE; - double minY = Double.MAX_VALUE; - double minZ = Double.MAX_VALUE; - for (Vertex v : vertices) { - if (v.getX() < minX) { - minX = v.getX(); - } - if (v.getY() < minY) { - minY = v.getY(); - } - if (v.getZ() < minZ) { - minZ = v.getZ(); - } - } - double varX = r.nextDouble() * 10; - double varY = r.nextDouble() * 10; - double varZ = r.nextDouble() * 10; - for (Vertex v : vertices) { - v.setX(v.getX() - minX + varX); - v.setY(v.getY() - minY + varY); - v.setZ(v.getZ() - minZ + varZ); - } - } - - private void createEdgesFromRing(Map duplicacyMap, Polygon p, LinearRing ring) { - if (ring == null) { - return; - } - // only go to size -1 as ring should be closed - for (int i = 0; i < ring.getVertices().size() - 1; i++) { - Vertex v0 = ring.getVertices().get(i); - Vertex v1 = ring.getVertices().get(i + 1); - Edge tempEdge = new Edge(v0, v1); - Edge e = duplicacyMap.get(tempEdge); - if (e == null) { - // no duplicate found, enter edges - Edge oppositeEdge = new Edge(v1, v0); - duplicacyMap.put(tempEdge, tempEdge); - duplicacyMap.put(oppositeEdge, tempEdge); - e = tempEdge; - edges.add(e); - edgeMap.put(new SerializablePair<>(v0, v1), e); - edgeMap.put(new SerializablePair<>(v1, v0), e); - } else { - e.addHalfEdge(v0, v1); - } - e.addAdjacentPolygon(p); - e.addAdjacentRing(ring); - } - } - - public Vector3d getCenter() { - return calculateBoundingBox().getCenter(); - } - - /** - * This will calculate two points where every other point in the geometry is - * between those two. If the geometry does not contain points or is null, an - * empty array is returned. This is considered an axis aligned bounding box. - * Only the exterior rings of the polygons is used as inner rings should be - * within the exterior or they are faulty. - * - * @return an array of two points. The first contains the lowest coordinates, - * the second contains the highest coordinates - */ - public BoundingBox calculateBoundingBox() { - return BoundingBoxCalculator.calculateBoundingBox(polygons); - } - - public double calculateVolume() { - double sum = 0; - Vector3d center = calculateBoundingBox().getCenter(); - for (Polygon p : polygons) { - TesselatedPolygon tesselatedPolygon = p.tesselate(); - for (Triangle3d t : tesselatedPolygon.getTriangles()) { - Vector3d p1 = t.getP1().minus(center); - Vector3d p2 = t.getP2().minus(center); - Vector3d p3 = t.getP3().minus(center); - sum += det(p1.getCoordinates(), p2.getCoordinates(), p3.getCoordinates()); - } - } - return sum / 6d; - } - - private double det(double[] a, double[] b, double[] c) { - return -c[0] * b[1] * a[2] + b[0] * c[1] * a[2] + c[0] * a[1] * b[2] - a[0] * c[1] * b[2] - b[0] * a[1] * c[2] - + a[0] * b[1] * c[2]; - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (Polygon p : polygons) { - if (p.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - @Override - public void clearAllContainedCheckResults() { - super.clearCheckResults(); - for (Polygon p : polygons) { - p.clearAllContainedCheckResults(); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (Polygon p : polygons) { - p.collectContainedErrors(errors); - } - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (Polygon p : polygons) { - if (p.containsAnyError()) { - return true; - } - } - return false; - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (Polygon p : polygons) { - p.accept(c); - } - } - - @Override - public String toString() { - return "Geometry [type=" + type + ", lod=" + lod + ", id=" + getGmlId() + "]"; - } - - public List getVertices() { - return vertices; - } - - public List getEdges() { - return edges; - } - - public List getEdgesAdjacentTo(Vertex v) { - List adjacentEdges = new ArrayList<>(); - for (Edge e : edges) { - if (e.getFrom() == v || e.getTo() == v) { - adjacentEdges.add(e); - } - } - return adjacentEdges; - } - - public Edge getEdge(Vertex v1, Vertex v2) { - return edgeMap.get(new SerializablePair<>(v1, v2)); - } - - public void updateEdgesAndVertices() { - updateVertices(); - updateEdges(); - } - - public void updateVertices() { - Set vertexSet = new HashSet<>(); - for (Polygon p : getPolygons()) { - updateRing(vertexSet, p.getExteriorRing()); - for (LinearRing inner : p.getInnerRings()) { - updateRing(vertexSet, inner); - } - } - vertices = new ArrayList<>(vertexSet); - } - - private void updateRing(Set vertexSet, LinearRing ring) { - if (ring == null) { - return; - } - for (Vertex v : ring.getVertices()) { - if (vertexSet.add(v)) { - // new vertex, clear adjacent rings in case new rings have been added - v.clearAdjacentRings(this); - } - // add ring to adjacent rings of vertex - v.addAdjacentRing(ring, this); - } - } - - void removePolygon(Polygon p) { - p.removeRings(); - if (!polygons.remove(p)) { - throw new IllegalStateException(String.format(FAILED_REMOVING_POLYGON, p)); - } - if (p.isLink()) { - Polygon original = p.getOriginal(); - if (!original.getParent().polygons.remove(original)) { - throw new IllegalStateException(String.format(FAILED_REMOVING_POLYGON, p)); - } - } else if (p.isLinkedTo()) { - Polygon link = p.getLinkedFromPolygon(); - if (!link.getParent().polygons.remove(link)) { - throw new IllegalStateException(String.format(FAILED_REMOVING_POLYGON, p)); - } - } - } - - public void replacePolygon(Polygon p, ConcretePolygon... polygons) { - removePolygon(p); - if (p.isLink()) { - Geometry geom2 = p.getOriginal().getParent(); - for (ConcretePolygon newPoly : polygons) { - geom2.addPolygon(newPoly); - addPolygon(new LinkedPolygon(newPoly, this)); - } - } else if (p.isLinkedTo()) { - Geometry geom2 = p.getLinkedFromPolygon().getParent(); - for (ConcretePolygon newPoly : polygons) { - addPolygon(newPoly); - geom2.addPolygon(new LinkedPolygon(newPoly, geom2)); - } - } else { - for (Polygon newPoly : polygons) { - addPolygon(newPoly); - } - } - - } - - public List getEdgesAdjacentTo(Polygon p) { - List list = new ArrayList<>(); - for (Edge e : edges) { - if (e.getAdjacentPolygons().contains(p)) { - list.add(e); - } - } - return list; - } - - public boolean containsPolygon(Polygon other) { - for (Polygon p : polygons) { - if (p.getGmlId().equals(other.getGmlId())) { - return true; - } - } - return false; - } - - @Override - public void prepareForChecking() { - updateEdgesAndVertices(); - } - - @Override - public void clearMetaInformation() { - if (vertices != null) { - for (Vertex v : vertices) { - v.clearAdjacentRings(); - } - vertices = null; - } - edges = null; - edgeMap = null; - } - - @Override - public void collectInstances(CopyHandler handler) { - handler.addInstance(parent); - handler.addInstance(polygons); - handler.addInstance(edges); - handler.addInstance(vertices); - if (edgeMap != null) { - for (Entry, Edge> e : edgeMap.entrySet()) { - handler.addInstance(e.getKey().getValue0()); - handler.addInstance(e.getKey().getValue1()); - handler.addInstance(e.getValue()); - } - } - } - - @Override - public Copyable createCopyInstance() { - return new Geometry(type, lod); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - Geometry originalGeometry = (Geometry) original; - for (Polygon originalPoly : originalGeometry.polygons) { - polygons.add(handler.getCopyInstance(originalPoly)); - } - if (originalGeometry.edges != null) { - edges = new ArrayList<>(originalGeometry.edges.size()); - for (Edge originalEdge : originalGeometry.edges) { - edges.add(handler.getCopyInstance(originalEdge)); - } - } - if (originalGeometry.edgeMap != null) { - edgeMap = new HashMap<>(originalGeometry.edgeMap.size()); - for (Entry, Edge> originalEntry : originalGeometry.edgeMap.entrySet()) { - Vertex copyV0 = handler.getCopyInstance(originalEntry.getKey().getValue0()); - Vertex copyV1 = handler.getCopyInstance(originalEntry.getKey().getValue1()); - SerializablePair pair = new SerializablePair<>(copyV0, copyV1); - Edge copyEdge = handler.getCopyInstance(originalEntry.getValue()); - edgeMap.put(pair, copyEdge); - } - } - if (originalGeometry.vertices != null) { - vertices = new ArrayList<>(originalGeometry.vertices.size()); - for (Vertex originalVertex : originalGeometry.vertices) { - vertices.add(handler.getCopyInstance(originalVertex)); - } - } - parent = handler.getCopyInstance(originalGeometry.parent); - - } + private static final String FAILED_REMOVING_POLYGON = "Removing polygon %s but polygon is not in geometry"; + + @Serial + private static final long serialVersionUID = 2539031030917731575L; + + private static final Random r = new Random(); + + private GeometryType type; + private final Lod lod; + + private CityObject parent; + + private final List polygons = new ArrayList<>(2); + private List edges; + private Map, Edge> edgeMap; + private List vertices; + + public Geometry(GeometryType type, Lod lod) { + this.lod = lod; + this.type = type; + } + + void setParent(CityObject parent) { + this.parent = parent; + } + + public CityObject getParent() { + return parent; + } + + public void setType(GeometryType type) { + this.type = type; + } + + public GeometryType getType() { + return type; + } + + public Lod getLod() { + return lod; + } + + public List getPolygons() { + return polygons; + } + + public void addPolygon(Polygon cdPoly) { + polygons.add(cdPoly); + cdPoly.setParent(this); + // set part of boundary surface or building installation or both + if (parent instanceof BoundarySurface bs) { + cdPoly.setPartOfSurface(bs); + if (bs.getParent() instanceof Installation bi) { + cdPoly.setPartOfInstallation(bi); + } + } else if (parent instanceof Installation bi) { + cdPoly.setPartOfInstallation(bi); + } + } + + public void updateEdges() { + edges = new ArrayList<>(); + edgeMap = new HashMap<>(); + Map duplicacyMap = new HashMap<>(); + for (Polygon p : polygons) { + LinearRing extRing = p.getExteriorRing(); + createEdgesFromRing(duplicacyMap, p, extRing); + for (LinearRing inner : p.getInnerRings()) { + createEdgesFromRing(duplicacyMap, p, inner); + } + } + } + + void anonymize() { + setGmlId(GmlId.generateId()); + for (Polygon p : polygons) { + p.anonymize(); + } + double minX = Double.MAX_VALUE; + double minY = Double.MAX_VALUE; + double minZ = Double.MAX_VALUE; + for (Vertex v : vertices) { + if (v.getX() < minX) { + minX = v.getX(); + } + if (v.getY() < minY) { + minY = v.getY(); + } + if (v.getZ() < minZ) { + minZ = v.getZ(); + } + } + double varX = r.nextDouble() * 10; + double varY = r.nextDouble() * 10; + double varZ = r.nextDouble() * 10; + for (Vertex v : vertices) { + v.setX(v.getX() - minX + varX); + v.setY(v.getY() - minY + varY); + v.setZ(v.getZ() - minZ + varZ); + } + } + + private void createEdgesFromRing(Map duplicacyMap, Polygon p, LinearRing ring) { + if (ring == null) { + return; + } + // only go to size -1 as ring should be closed + for (int i = 0; i < ring.getVertices().size() - 1; i++) { + Vertex v0 = ring.getVertices().get(i); + Vertex v1 = ring.getVertices().get(i + 1); + Edge tempEdge = new Edge(v0, v1); + Edge e = duplicacyMap.get(tempEdge); + if (e == null) { + // no duplicate found, enter edges + Edge oppositeEdge = new Edge(v1, v0); + duplicacyMap.put(tempEdge, tempEdge); + duplicacyMap.put(oppositeEdge, tempEdge); + e = tempEdge; + edges.add(e); + edgeMap.put(new SerializablePair<>(v0, v1), e); + edgeMap.put(new SerializablePair<>(v1, v0), e); + } else { + e.addHalfEdge(v0, v1); + } + e.addAdjacentPolygon(p); + e.addAdjacentRing(ring); + } + } + + public Vector3d getCenter() { + return calculateBoundingBox().getCenter(); + } + + /** + * This will calculate two points where every other point in the geometry is + * between those two. If the geometry does not contain points or is null, an + * empty array is returned. This is considered an axis aligned bounding box. + * Only the exterior rings of the polygons is used as inner rings should be + * within the exterior or they are faulty. + * + * @return an array of two points. The first contains the lowest coordinates, + * the second contains the highest coordinates + */ + public BoundingBox calculateBoundingBox() { + return BoundingBoxCalculator.calculateBoundingBox(polygons); + } + + public double calculateVolume() { + double sum = 0; + Vector3d center = calculateBoundingBox().getCenter(); + for (Polygon p : polygons) { + TesselatedPolygon tesselatedPolygon = p.tesselate(); + for (Triangle3d t : tesselatedPolygon.getTriangles()) { + Vector3d p1 = t.getP1().minus(center); + Vector3d p2 = t.getP2().minus(center); + Vector3d p3 = t.getP3().minus(center); + sum += det(p1.getCoordinates(), p2.getCoordinates(), p3.getCoordinates()); + } + } + return sum / 6d; + } + + private double det(double[] a, double[] b, double[] c) { + return -c[0] * b[1] * a[2] + b[0] * c[1] * a[2] + c[0] * a[1] * b[2] - a[0] * c[1] * b[2] - b[0] * a[1] * c[2] + + a[0] * b[1] * c[2]; + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (Polygon p : polygons) { + if (p.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public void clearAllContainedCheckResults() { + super.clearCheckResults(); + for (Polygon p : polygons) { + p.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (Polygon p : polygons) { + p.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (Polygon p : polygons) { + if (p.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (Polygon p : polygons) { + p.accept(c); + } + } + + @Override + public String toString() { + return "Geometry [type=" + type + ", lod=" + lod + ", id=" + getGmlId() + "]"; + } + + public List getVertices() { + return vertices; + } + + public List getEdges() { + return edges; + } + + public List getEdgesAdjacentTo(Vertex v) { + List adjacentEdges = new ArrayList<>(); + for (Edge e : edges) { + if (e.getFrom() == v || e.getTo() == v) { + adjacentEdges.add(e); + } + } + return adjacentEdges; + } + + public Edge getEdge(Vertex v1, Vertex v2) { + return edgeMap.get(new SerializablePair<>(v1, v2)); + } + + public void updateEdgesAndVertices() { + updateVertices(); + updateEdges(); + } + + public void updateVertices() { + Set vertexSet = new HashSet<>(); + for (Polygon p : getPolygons()) { + updateRing(vertexSet, p.getExteriorRing()); + for (LinearRing inner : p.getInnerRings()) { + updateRing(vertexSet, inner); + } + } + vertices = new ArrayList<>(vertexSet); + } + + private void updateRing(Set vertexSet, LinearRing ring) { + if (ring == null) { + return; + } + for (Vertex v : ring.getVertices()) { + if (vertexSet.add(v)) { + // new vertex, clear adjacent rings in case new rings have been added + v.clearAdjacentRings(this); + } + // add ring to adjacent rings of vertex + v.addAdjacentRing(ring, this); + } + } + + void removePolygon(Polygon p) { + p.removeRings(); + if (!polygons.remove(p)) { + throw new IllegalStateException(String.format(FAILED_REMOVING_POLYGON, p)); + } + if (p.isLink()) { + Polygon original = p.getOriginal(); + if (!original.getParent().polygons.remove(original)) { + throw new IllegalStateException(String.format(FAILED_REMOVING_POLYGON, p)); + } + } else if (p.isLinkedTo()) { + Polygon link = p.getLinkedFromPolygon(); + if (!link.getParent().polygons.remove(link)) { + throw new IllegalStateException(String.format(FAILED_REMOVING_POLYGON, p)); + } + } + } + + public void replacePolygon(Polygon p, ConcretePolygon... polygons) { + removePolygon(p); + if (p.isLink()) { + Geometry geom2 = p.getOriginal().getParent(); + for (ConcretePolygon newPoly : polygons) { + geom2.addPolygon(newPoly); + addPolygon(new LinkedPolygon(newPoly, this)); + } + } else if (p.isLinkedTo()) { + Geometry geom2 = p.getLinkedFromPolygon().getParent(); + for (ConcretePolygon newPoly : polygons) { + addPolygon(newPoly); + geom2.addPolygon(new LinkedPolygon(newPoly, geom2)); + } + } else { + for (Polygon newPoly : polygons) { + addPolygon(newPoly); + } + } + + } + + public List getEdgesAdjacentTo(Polygon p) { + List list = new ArrayList<>(); + for (Edge e : edges) { + if (e.getAdjacentPolygons().contains(p)) { + list.add(e); + } + } + return list; + } + + public boolean containsPolygon(Polygon other) { + for (Polygon p : polygons) { + if (p.getGmlId().equals(other.getGmlId())) { + return true; + } + } + return false; + } + + @Override + public void prepareForChecking() { + updateEdgesAndVertices(); + } + + @Override + public void clearMetaInformation() { + if (vertices != null) { + for (Vertex v : vertices) { + v.clearAdjacentRings(); + } + vertices = null; + } + edges = null; + edgeMap = null; + } + + @Override + public void collectInstances(CopyHandler handler) { + handler.addInstance(parent); + handler.addInstance(polygons); + handler.addInstance(edges); + handler.addInstance(vertices); + if (edgeMap != null) { + for (Entry, Edge> e : edgeMap.entrySet()) { + handler.addInstance(e.getKey().getValue0()); + handler.addInstance(e.getKey().getValue1()); + handler.addInstance(e.getValue()); + } + } + } + + @Override + public Copyable createCopyInstance() { + return new Geometry(type, lod); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + Geometry originalGeometry = (Geometry) original; + for (Polygon originalPoly : originalGeometry.polygons) { + polygons.add(handler.getCopyInstance(originalPoly)); + } + if (originalGeometry.edges != null) { + edges = new ArrayList<>(originalGeometry.edges.size()); + for (Edge originalEdge : originalGeometry.edges) { + edges.add(handler.getCopyInstance(originalEdge)); + } + } + if (originalGeometry.edgeMap != null) { + edgeMap = new HashMap<>(originalGeometry.edgeMap.size()); + for (Entry, Edge> originalEntry : originalGeometry.edgeMap.entrySet()) { + Vertex copyV0 = handler.getCopyInstance(originalEntry.getKey().getValue0()); + Vertex copyV1 = handler.getCopyInstance(originalEntry.getKey().getValue1()); + SerializablePair pair = new SerializablePair<>(copyV0, copyV1); + Edge copyEdge = handler.getCopyInstance(originalEntry.getValue()); + edgeMap.put(pair, copyEdge); + } + } + if (originalGeometry.vertices != null) { + vertices = new ArrayList<>(originalGeometry.vertices.size()); + for (Vertex originalVertex : originalGeometry.vertices) { + vertices.add(handler.getCopyInstance(originalVertex)); + } + } + parent = handler.getCopyInstance(originalGeometry.parent); + + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryType.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryType.java index 2f95ee1d4547ae21ed6df029539a9a34b4008e06..6172f3dc8df3e8b76a2493848a018f04d56f107e 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryType.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryType.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -20,12 +20,11 @@ package de.hft.stuttgart.citydoctor2.datastructure; /** * Available geometry types - * - * @author Matthias Betz * + * @author Matthias Betz */ public enum GeometryType { - MULTI_SURFACE, SOLID, COMPOSITE_SURFACE + MULTI_SURFACE, SOLID, COMPOSITE_SURFACE } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlElement.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlElement.java index f2c0229639463b13dce5c329e40578c4fae64045..4b719599b0d81e4a0b0f878001e6e6857709b8a9 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlElement.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlElement.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -26,38 +26,37 @@ import java.io.Serial; /** * A general GML element that has a gml id - * - * @author Matthias Betz * + * @author Matthias Betz */ public abstract class GmlElement extends Checkable implements Copyable { - @Serial - private static final long serialVersionUID = -3242505393303017359L; - - private GmlId gmlId; - - public void setGmlId(GmlId id) { - gmlId = id; - } - - @Override - public GmlId getGmlId() { - if (gmlId == null) { - gmlId = GmlId.generateId(); - } - return gmlId; - } - - public boolean hasExistingGmlId() { - return gmlId != null && !gmlId.isGenerated(); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - GmlElement originalElement = (GmlElement) original; - // generate gml id before copying - gmlId = originalElement.getGmlId(); - } - + @Serial + private static final long serialVersionUID = -3242505393303017359L; + + private GmlId gmlId; + + public void setGmlId(GmlId id) { + gmlId = id; + } + + @Override + public GmlId getGmlId() { + if (gmlId == null) { + gmlId = GmlId.generateId(); + } + return gmlId; + } + + public boolean hasExistingGmlId() { + return gmlId != null && !gmlId.isGenerated(); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + GmlElement originalElement = (GmlElement) original; + // generate gml id before copying + gmlId = originalElement.getGmlId(); + } + } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlId.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlId.java index effc3cd7986c777da5cf75f4ea17596ffcb44c2c..ec2cf3c998f74f33f7e4a9b5b871ab31f0715a83 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlId.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GmlId.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -25,83 +25,82 @@ import java.util.concurrent.atomic.AtomicInteger; /** * Represents a GML id. Additionally contains information whether this id was * generated by city doctor - * - * @author Matthias Betz * + * @author Matthias Betz */ public class GmlId implements Serializable { - @Serial - private static final long serialVersionUID = 4273817255150972966L; + @Serial + private static final long serialVersionUID = 4273817255150972966L; - /* prefixes for generation */ - private static final String GENERAL_GEN = "CityDoctor_%d_%d"; - private static final AtomicInteger ID_COUNTER = new AtomicInteger(); + /* prefixes for generation */ + private static final String GENERAL_GEN = "CityDoctor_%d_%d"; + private static final AtomicInteger ID_COUNTER = new AtomicInteger(); - private final String gmlString; - private final boolean generated; + private final String gmlString; + private final boolean generated; - public GmlId(String gmlId) { - this(gmlId, false); - } + public GmlId(String gmlId) { + this(gmlId, false); + } - private GmlId(String gmlId, boolean generated) { - if (gmlId == null || gmlId.isEmpty()) { - throw new IllegalArgumentException("GmlId may not be null or empty. If no GmlId is given generate one"); - } - this.gmlString = gmlId; - this.generated = generated; - } + private GmlId(String gmlId, boolean generated) { + if (gmlId == null || gmlId.isEmpty()) { + throw new IllegalArgumentException("GmlId may not be null or empty. If no GmlId is given generate one"); + } + this.gmlString = gmlId; + this.generated = generated; + } - @Override - public String toString() { - return gmlString; - } + @Override + public String toString() { + return gmlString; + } - public String getGmlString() { - return gmlString; - } + public String getGmlString() { + return gmlString; + } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (generated ? 1231 : 1237); - result = prime * result + ((gmlString == null) ? 0 : gmlString.hashCode()); - return result; - } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + (generated ? 1231 : 1237); + result = prime * result + ((gmlString == null) ? 0 : gmlString.hashCode()); + return result; + } - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - GmlId other = (GmlId) obj; - if (generated != other.generated) { - return false; - } - if (gmlString == null) { + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + GmlId other = (GmlId) obj; + if (generated != other.generated) { + return false; + } + if (gmlString == null) { return other.gmlString == null; - } else return gmlString.equals(other.gmlString); + } else return gmlString.equals(other.gmlString); } - /** - * Determines if the GML-ID was generated by CityDoctor or not. - * - * @return True if it was generated, otherwise false. - */ - public boolean isGenerated() { - return generated; - } + /** + * Determines if the GML-ID was generated by CityDoctor or not. + * + * @return True if it was generated, otherwise false. + */ + public boolean isGenerated() { + return generated; + } - public static GmlId generateId() { - return new GmlId(String.format(GENERAL_GEN, System.currentTimeMillis(), ID_COUNTER.getAndIncrement()), true); - } + public static GmlId generateId() { + return new GmlId(String.format(GENERAL_GEN, System.currentTimeMillis(), ID_COUNTER.getAndIncrement()), true); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java new file mode 100644 index 0000000000000000000000000000000000000000..f219de024883002a449e9adcd70ab921cdf000f4 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java @@ -0,0 +1,102 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.math.TransformationMatrix; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.citygml4j.core.model.core.ImplicitGeometry; + +import java.io.Serial; +import java.util.List; + +/** + * Datastructure for representation and resolving of implicit geometries + * + * @author Riegel + */ +public class ImplicitGeometryHolder extends Geometry { + + private static final Logger logger = LogManager.getLogger(ImplicitGeometryHolder.class); + @Serial + private static final long serialVersionUID = -8938931081577196349L; + + private ImplicitGeometry cgmlImplicitGeometry = null; + + private final PrototypeGeometryType type; + private final Geometry prototypeGeometry; + + public ImplicitGeometryHolder(ImplicitGeometry cgmlImplicitGeometry, LibraryObject libObject) { + super(libObject.getType(), libObject.getLod()); + prototypeGeometry = libObject; + type = PrototypeGeometryType.LIBRARY_OBJECT; + this.cgmlImplicitGeometry = cgmlImplicitGeometry; + applyTransformation(); + } + + public ImplicitGeometryHolder(ImplicitGeometry cgmlImplicitGeometry, RelativeGeometry relativeGeometry) { + super(relativeGeometry.getType(), relativeGeometry.getLod()); + prototypeGeometry = relativeGeometry; + type = PrototypeGeometryType.RELATIVE_GEOMETRY; + this.cgmlImplicitGeometry = cgmlImplicitGeometry; + applyTransformation(); + } + + + /** + * Applies the transformation matrix of the implicit geometry to a copy of the reference geometry and copies the resulting + * transformed geometry into this object. + */ + private void applyTransformation() { + TransformationMatrix transformMatrix = new TransformationMatrix(cgmlImplicitGeometry); + Geometry transformedGeom = transformMatrix.transformGeometry(prototypeGeometry); + transformedGeom.getPolygons().forEach(this::addPolygon); + this.updateEdgesAndVertices(); + } + + public PrototypeGeometryType getPrototypeGeometryType() { + return type; + } + + @Override + public void accept(Check c) { + prototypeGeometry.accept(c); + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + return prototypeGeometry.containsError(checkIdentifier); + } + + @Override + public void clearAllContainedCheckResults() { + prototypeGeometry.clearAllContainedCheckResults(); + } + + @Override + public void collectContainedErrors(List errors) { + prototypeGeometry.clearAllContainedCheckResults(); + } + + @Override + public boolean containsAnyError() { + return prototypeGeometry.containsAnyError(); + } + + @Override + public void prepareForChecking() { + this.updateEdgesAndVertices(); + prototypeGeometry.prepareForChecking(); + } + + @Override + public boolean isValidated() { + return prototypeGeometry.isValidated(); + } + + public enum PrototypeGeometryType { + LIBRARY_OBJECT, RELATIVE_GEOMETRY + } + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java index c7f485e2b3f7769222e912ae420a1341e5f2603f..c14dc035a3e2e0808136a05640967557c07f5e88 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,10 +18,13 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.citygml4j.core.model.bridge.BridgeInstallation; import org.citygml4j.core.model.construction.AbstractInstallation; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; @@ -32,252 +35,248 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.complexes.CompositeSurface; import org.xmlobjects.gml.model.geometry.primitives.SurfaceProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.check.CheckError; -import de.hft.stuttgart.citydoctor2.check.CheckId; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; public class Installation extends CityObject { - @Serial - private static final long serialVersionUID = 1576237433322680191L; - - private List boundarySurfaces = new ArrayList<>(4); - - private AbstractInstallation gmlBi; - - private CityObject parent; - - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - if (ms != null) { - setGeometryAccordingToLod(geom.getLod(), new MultiSurfaceProperty(ms)); - } - } else if (geom.getType() == GeometryType.COMPOSITE_SURFACE) { - CompositeSurface cs = CityGmlUtils.createCompositeSurface(geom, factory, config); - if (cs != null) { - setGeometryAccordingToLod(geom.getLod(), new SurfaceProperty(cs)); - } - } else { - throw new IllegalStateException("BuildingInstallation not have Solid geometries"); - } - } - for (BoundarySurface bs : boundarySurfaces) { - bs.reCreateGeometries(factory, config); - } - } - - private void setGeometryAccordingToLod(Lod lod, GeometryProperty ms) { - if (gmlBi instanceof org.citygml4j.core.model.building.BuildingInstallation localBi) { - addGeometryToBuildingInstallation(lod, ms, localBi); - } else if (gmlBi instanceof BridgeInstallation localBi) { - addGeometryToBridgeInstallation(lod, ms, localBi); - } - } - - private void addGeometryToBuildingInstallation(Lod lod, GeometryProperty ms, - org.citygml4j.core.model.building.BuildingInstallation localBi) { - switch (lod) { - case LOD2: - localBi.getDeprecatedProperties().setLod2Geometry(ms); - break; - case LOD3: - localBi.getDeprecatedProperties().setLod3Geometry(ms); - break; - case LOD4: - localBi.getDeprecatedProperties().setLod4Geometry(ms); - break; - default: - throw new IllegalStateException("Found geometry with LOD other than LOD2," - + " LOD3, LOD4, which is illegal for BuildingInstallations: " + lod); - } - } - - private void addGeometryToBridgeInstallation(Lod lod, GeometryProperty ms, BridgeInstallation localBi) { - switch (lod) { - case LOD2: - localBi.getDeprecatedProperties().setLod2Geometry(ms); - break; - case LOD3: - localBi.getDeprecatedProperties().setLod3Geometry(ms); - break; - case LOD4: - localBi.getDeprecatedProperties().setLod4Geometry(ms); - break; - default: - throw new IllegalStateException("Found geometry with LOD other than LOD2," - + " LOD3, LOD4, which is illegal for BuildingInstallations: " + lod); - } - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (BoundarySurface bs : boundarySurfaces) { - bs.accept(c); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearAllContainedCheckResults(); - for (BoundarySurface bs : boundarySurfaces) { - bs.clearAllContainedCheckResults(); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (BoundarySurface bs : boundarySurfaces) { - bs.collectContainedErrors(errors); - } - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (BoundarySurface bs : boundarySurfaces) { - if (bs.containsAnyError()) { - return true; - } - } - return false; - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (BoundarySurface bs : boundarySurfaces) { - if (bs.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - public void setParent(CityObject parent) { - this.parent = parent; - } - - public CityObject getParent() { - return parent; - } - - public void addBoundarySurface(BoundarySurface bs) { - boundarySurfaces.add(bs); - bs.setParent(this); - } - - public void unsetGmlGeometries() { - if (gmlBi instanceof org.citygml4j.core.model.building.BuildingInstallation localBi) { - localBi.getDeprecatedProperties().setLod2Geometry(null); - localBi.getDeprecatedProperties().setLod3Geometry(null); - localBi.getDeprecatedProperties().setLod4Geometry(null); - } else if (gmlBi instanceof BridgeInstallation localBi) { - removeGeometriesFromBridgeInstallation(localBi); - } - for (BoundarySurface bs : boundarySurfaces) { - bs.unsetGmlGeometries(); - } - } - - private void removeGeometriesFromBridgeInstallation(BridgeInstallation localBi) { - localBi.getDeprecatedProperties().setLod2Geometry(null); - localBi.getDeprecatedProperties().setLod3Geometry(null); - localBi.getDeprecatedProperties().setLod4Geometry(null); - } - - public void setGmlObject(AbstractInstallation gmlBi) { - this.gmlBi = gmlBi; - } - - @Override - public String toString() { - return "BuildingInstallation [id=" + getGmlId() + "]"; - } - - void anonymize() { - setGmlId(GmlId.generateId()); - gmlBi = new org.citygml4j.core.model.building.BuildingInstallation(); - gmlBi.setId(getGmlId().getGmlString()); - for (BoundarySurface bs : boundarySurfaces) { - bs.anonymize(); - gmlBi.getBoundaries().add(new AbstractSpaceBoundaryProperty(bs.getGmlObject())); - } - } - - - @Override - public AbstractInstallation getGmlObject() { - return gmlBi; - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.INSTALLATION; - } - - public List getBoundarySurfaces() { - if (boundarySurfaces == null) { - boundarySurfaces = new ArrayList<>(4); - } - return boundarySurfaces; - } - - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (BoundarySurface bs : boundarySurfaces) { - bs.clearMetaInformation(); - } - } - - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (BoundarySurface bs : boundarySurfaces) { - bs.prepareForChecking(); - } - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - Installation originalBi = (Installation) original; - for (BoundarySurface originalBs : originalBi.boundarySurfaces) { - boundarySurfaces.add(handler.getCopyInstance(originalBs)); - } - gmlBi = originalBi.gmlBi; - parent = handler.getCopyInstance(parent); - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - for (BoundarySurface bs : boundarySurfaces) { - handler.addInstance(bs); - } - handler.addInstance(parent); - } - - @Override - public Copyable createCopyInstance() { - return new Installation(); - } + @Serial + private static final long serialVersionUID = 1576237433322680191L; + + private List boundarySurfaces = new ArrayList<>(4); + + private AbstractInstallation gmlBi; + + private CityObject parent; + + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + if (ms != null) { + setGeometryAccordingToLod(geom.getLod(), new MultiSurfaceProperty(ms)); + } + } else if (geom.getType() == GeometryType.COMPOSITE_SURFACE) { + CompositeSurface cs = CityGmlUtils.createCompositeSurface(geom, factory, config); + if (cs != null) { + setGeometryAccordingToLod(geom.getLod(), new SurfaceProperty(cs)); + } + } else { + throw new IllegalStateException("BuildingInstallation not have Solid geometries"); + } + } + for (BoundarySurface bs : boundarySurfaces) { + bs.reCreateGeometries(factory, config); + } + } + + private void setGeometryAccordingToLod(Lod lod, GeometryProperty ms) { + if (gmlBi instanceof org.citygml4j.core.model.building.BuildingInstallation localBi) { + addGeometryToBuildingInstallation(lod, ms, localBi); + } else if (gmlBi instanceof BridgeInstallation localBi) { + addGeometryToBridgeInstallation(lod, ms, localBi); + } + } + + private void addGeometryToBuildingInstallation(Lod lod, GeometryProperty ms, + org.citygml4j.core.model.building.BuildingInstallation localBi) { + switch (lod) { + case LOD2: + localBi.getDeprecatedProperties().setLod2Geometry(ms); + break; + case LOD3: + localBi.getDeprecatedProperties().setLod3Geometry(ms); + break; + case LOD4: + localBi.getDeprecatedProperties().setLod4Geometry(ms); + break; + default: + throw new IllegalStateException("Found geometry with LOD other than LOD2," + + " LOD3, LOD4, which is illegal for BuildingInstallations: " + lod); + } + } + + private void addGeometryToBridgeInstallation(Lod lod, GeometryProperty ms, BridgeInstallation localBi) { + switch (lod) { + case LOD2: + localBi.getDeprecatedProperties().setLod2Geometry(ms); + break; + case LOD3: + localBi.getDeprecatedProperties().setLod3Geometry(ms); + break; + case LOD4: + localBi.getDeprecatedProperties().setLod4Geometry(ms); + break; + default: + throw new IllegalStateException("Found geometry with LOD other than LOD2," + + " LOD3, LOD4, which is illegal for BuildingInstallations: " + lod); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BoundarySurface bs : boundarySurfaces) { + bs.accept(c); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BoundarySurface bs : boundarySurfaces) { + bs.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BoundarySurface bs : boundarySurfaces) { + bs.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaces) { + if (bs.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaces) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + public void setParent(CityObject parent) { + this.parent = parent; + } + + public CityObject getParent() { + return parent; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaces.add(bs); + bs.setParent(this); + } + + public void unsetGmlGeometries() { + if (gmlBi instanceof org.citygml4j.core.model.building.BuildingInstallation localBi) { + localBi.getDeprecatedProperties().setLod2Geometry(null); + localBi.getDeprecatedProperties().setLod3Geometry(null); + localBi.getDeprecatedProperties().setLod4Geometry(null); + } else if (gmlBi instanceof BridgeInstallation localBi) { + removeGeometriesFromBridgeInstallation(localBi); + } + for (BoundarySurface bs : boundarySurfaces) { + bs.unsetGmlGeometries(); + } + } + + private void removeGeometriesFromBridgeInstallation(BridgeInstallation localBi) { + localBi.getDeprecatedProperties().setLod2Geometry(null); + localBi.getDeprecatedProperties().setLod3Geometry(null); + localBi.getDeprecatedProperties().setLod4Geometry(null); + } + + public void setGmlObject(AbstractInstallation gmlBi) { + this.gmlBi = gmlBi; + } + + @Override + public String toString() { + return "BuildingInstallation [id=" + getGmlId() + "]"; + } + + void anonymize() { + setGmlId(GmlId.generateId()); + gmlBi = new org.citygml4j.core.model.building.BuildingInstallation(); + gmlBi.setId(getGmlId().getGmlString()); + for (BoundarySurface bs : boundarySurfaces) { + bs.anonymize(); + gmlBi.getBoundaries().add(new AbstractSpaceBoundaryProperty(bs.getGmlObject())); + } + } + + + @Override + public AbstractInstallation getGmlObject() { + return gmlBi; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.INSTALLATION; + } + + public List getBoundarySurfaces() { + if (boundarySurfaces == null) { + boundarySurfaces = new ArrayList<>(4); + } + return boundarySurfaces; + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BoundarySurface bs : boundarySurfaces) { + bs.clearMetaInformation(); + } + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BoundarySurface bs : boundarySurfaces) { + bs.prepareForChecking(); + } + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + Installation originalBi = (Installation) original; + for (BoundarySurface originalBs : originalBi.boundarySurfaces) { + boundarySurfaces.add(handler.getCopyInstance(originalBs)); + } + gmlBi = originalBi.gmlBi; + parent = handler.getCopyInstance(parent); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (BoundarySurface bs : boundarySurfaces) { + handler.addInstance(bs); + } + handler.addInstance(parent); + } + + @Override + public Copyable createCopyInstance() { + return new Installation(); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java index 8c56fbfebe653700e1dec25d47d67bca1fe6630f..a6a5a321b1949953f5beaf758a32d6a39a7920b2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,107 +18,105 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.citygml4j.core.model.core.AbstractCityObject; import org.citygml4j.core.model.landuse.LandUse; import org.citygml4j.core.util.geometry.GeometryFactory; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.Copyable; - import java.io.Serial; /** * Represents a land use CityGML object. - * - * @author Matthias Betz * + * @author Matthias Betz */ public class LandObject extends CityObject { - @Serial - private static final long serialVersionUID = 1887455662411087326L; - - private LandUse lu; - - public LandObject(LandUse lu) { - this.lu = lu; - } - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - setMultiSurfaceAccordingToLod(geom, ms); - } else { - throw new IllegalStateException("Landuse cannot have solids: " + geom); - } - } - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.LAND; - } - - private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { - switch (geom.getLod()) { - case LOD0: - lu.setLod0MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD1: - lu.setLod1MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD2: - lu.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - lu.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD4: - lu.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); - break; - } - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - } - - @Override - public AbstractCityObject getGmlObject() { - return lu; - } - - @Override - public void unsetGmlGeometries() { - lu.setLod0MultiSurface(null); - lu.setLod1MultiSurface(null); - lu.setLod2MultiSurface(null); - lu.setLod3MultiSurface(null); - lu.getDeprecatedProperties().setLod4MultiSurface(null); - } - - public void setGmlObject(LandUse landUse) { - lu = landUse; - } - - @Override - public String toString() { - return "LandObject [id=" + getGmlId() + "]"; - } - - @Override - public Copyable createCopyInstance() { - return new LandObject(lu); - } + @Serial + private static final long serialVersionUID = 1887455662411087326L; + + private LandUse lu; + + public LandObject(LandUse lu) { + this.lu = lu; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + } else { + throw new IllegalStateException("Landuse cannot have solids: " + geom); + } + } + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.LAND; + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + lu.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD1: + lu.setLod1MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + lu.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + lu.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + lu.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + } + + @Override + public AbstractCityObject getGmlObject() { + return lu; + } + + @Override + public void unsetGmlGeometries() { + lu.setLod0MultiSurface(null); + lu.setLod1MultiSurface(null); + lu.setLod2MultiSurface(null); + lu.setLod3MultiSurface(null); + lu.getDeprecatedProperties().setLod4MultiSurface(null); + } + + public void setGmlObject(LandUse landUse) { + lu = landUse; + } + + @Override + public String toString() { + return "LandObject [id=" + getGmlId() + "]"; + } + + @Override + public Copyable createCopyInstance() { + return new LandObject(lu); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LibraryObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LibraryObject.java new file mode 100644 index 0000000000000000000000000000000000000000..f1e2024c079b2e83ac3ae8ad766cdff0fbce1893 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LibraryObject.java @@ -0,0 +1,81 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.parser.CityGmlParseException; +import de.hft.stuttgart.citydoctor2.parser.CityGmlParser; +import de.hft.stuttgart.citydoctor2.parser.InvalidGmlFileException; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.Serial; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Reference object for handling of implicit geometries with a library object contained in an external file + * + * @author Riegel + */ +public class LibraryObject extends Geometry { + + private static final Logger logger = LogManager.getLogger(LibraryObject.class); + @Serial + private static final long serialVersionUID = -50293435187454911L; + private final String filepath; + private final ParserConfiguration config; + private static Map libraryObjects = new ConcurrentHashMap<>(); + + public static LibraryObject of(Path path, ParserConfiguration config) { + if (libraryObjects.containsKey(path.toString())) { + return libraryObjects.get(path.toString()); + } + Geometry protoGeom = parseFile(path, config); + if (protoGeom == null) { + return null; + } + LibraryObject libOb = new LibraryObject(protoGeom.getType(), protoGeom.getLod(), path, config); + protoGeom.getPolygons().forEach(libOb::addPolygon); + libOb.updateEdgesAndVertices(); + libraryObjects.put(path.toString(), libOb); + return libOb; + } + + private LibraryObject(GeometryType type, Lod lod, Path path, ParserConfiguration config) { + super(type, lod); + this.filepath = path.toString(); + this.config = config; + } + + + private static Geometry parseFile(Path path, ParserConfiguration config) { + Geometry geo = null; + if (path.toFile().exists()) { + try { + CityGmlParser.gagLogger(true); + CityDoctorModel model = CityGmlParser.parseCityGmlFile(path.toString(), config); + List objects = model.createFeatureStream().toList(); + if (objects.isEmpty()) { + throw new InvalidGmlFileException("Referenced library-object's gml file does not contain a CityGML object!"); + } else if (objects.size() > 1) { + throw new InvalidGmlFileException("Referenced library-object's gml file contains more than one CityGML object!"); + } + geo = objects.get(0).getHighestLodGeometry(); + } catch (CityGmlParseException e) { + logger.error(String.format( + "Encountered an error while parsing library object %s", path)); + logger.error(e.getStackTrace()); + } catch (InvalidGmlFileException e) { + logger.error(e.getStackTrace()); + } finally { + // Failsafe to remove gag should parsing fail + CityGmlParser.gagLogger(false); + } + } else { + logger.error(String.format("Implicit geometry references non-existing library object file %s.", path)); + } + return geo; + } + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java index 4261ddde2634415172b2cec2f71344f4007964f1..ff16150b33a55075e2099d5511d75b68067fc460 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,337 +18,332 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.math.ProjectionAxis; -import de.hft.stuttgart.citydoctor2.math.Ring2d; -import de.hft.stuttgart.citydoctor2.math.UnitVector3d; -import de.hft.stuttgart.citydoctor2.math.Vector2d; -import de.hft.stuttgart.citydoctor2.math.Vector3d; +import de.hft.stuttgart.citydoctor2.math.*; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + /** * Represents a linear ring used in polygons. The ring contains the vertices. - * - * @author Matthias Betz * + * @author Matthias Betz */ public class LinearRing extends GmlElement { - @Serial - private static final long serialVersionUID = -2488180830514940722L; - - private LinearRingType type; - private Polygon parent; - - private final List vertices = new ArrayList<>(); - - public enum LinearRingType { - EXTERIOR, INTERIOR - } - - public LinearRing(LinearRingType type) { - this.type = type; - } - - /** - * Checks whether a point is inside this ring. A point on the edge does count as - * inside. - * - * @param v the point. - * @return true if the point is inside or on an edge, false if it is outside. - */ - public boolean isPointInside(Vector3d v) { - // project to 2d ring - ProjectionAxis axis = ProjectionAxis.of(this); - Vector2d point = axis.project(v); - Ring2d ring = Ring2d.of(this, axis); - - int t = -1; - for (int i = 0; i < ring.getVertices().size() - 1; i++) { - t = t * crossProdTest(point, ring.getVertices().get(i), ring.getVertices().get(i + 1)); - if (t == 0) { - return true; - } - } - return t >= 0; - } - - private int crossProdTest(Vector2d a, Vector2d b, Vector2d c) { - if (a.getY() == b.getY() && a.getY() == c.getY()) { - if ((b.getX() <= a.getX() && a.getX() <= c.getX()) || (c.getX() <= a.getX() && a.getX() <= b.getX())) { - return 0; - } else { - return 1; - } - } - if (a.getY() == b.getY() && a.getX() == b.getX()) { - return 0; - } - if (b.getY() > c.getY()) { - Vector2d temp = b; - b = c; - c = temp; - } - if (a.getY() <= b.getY() || a.getY() > c.getY()) { - return 1; - } - return calculateDelta(a, b, c); - } - - private int calculateDelta(Vector2d a, Vector2d b, Vector2d c) { - double delta = (b.getX() - a.getX()) * (c.getY() - a.getY()) - (b.getY() - a.getY()) * (c.getX() - a.getX()); - if (delta > 0) { - return -1; - } else if (delta < 0) { - return 1; - } else { - return 0; - } - } - - /** - * Calculates the normal vector of the ring. Method by Newell. If the Newell - * method would return a (0, 0, 0) vector a cross product is formed from the - * first 3 vertices. If there are no 3 vertices available (1, 0, 0) is returned. - * - * @return the normal as a normalized vector - */ - public UnitVector3d calculateNormalNormalized() { - return calculateNormal().normalize(); - } - - /** - * Calculates the normal vector of the ring. Method by Newell. If the Newell - * method would return a (0, 0, 0) vector a cross product is formed from the - * first 3 vertices. If there are no 3 vertices available (1, 0, 0) is returned. - * - * @return the normal vector - */ - public Vector3d calculateNormal() { - double[] coords = new double[3]; - for (int i = 0; i < vertices.size() - 1; i++) { - Vertex current = vertices.get(i); - Vertex next = vertices.get(i + 1); - coords[0] += (current.getZ() + next.getZ()) * (current.getY() - next.getY()); - coords[1] += (current.getX() + next.getX()) * (current.getZ() - next.getZ()); - coords[2] += (current.getY() + next.getY()) * (current.getX() - next.getX()); - } - - if (coords[0] == 0 && coords[1] == 0 && coords[2] == 0) { - // no valid normal vector found - if (vertices.size() < 3) { - // no three points, return x-axis - return UnitVector3d.X_AXIS; - } - - Vertex v1 = vertices.get(0); - Vertex v2 = vertices.get(1); - Vertex v3 = vertices.get(2); - return calculateNormalWithCross(v1, v2, v3); - } - return new Vector3d(coords); - } - - public double getArea() { - int n = vertices.size(); - if (n < 3) - return 0.0; // a degenerated polygon - - // prepare an vertex array with n+2 vertices: - // V[0] ... V[n-1] - the n different vertices - // V[n]=V[0] - // V[n+1]=V[1] - Vertex[] vertexArray = new Vertex[n + 2]; - for (int i = 0; i < n; i++) { - vertexArray[i] = vertices.get(i); - } - vertexArray[n] = vertices.get(0); - vertexArray[n + 1] = vertices.get(1); - double area = 0; - - // make sure the normal has been calculated - Vector3d normal = calculateNormal(); - // select largest abs coordinate to ignore for projection - double ax = Math.abs(normal.getX()); // abs x-coord - double ay = Math.abs(normal.getY()); // abs y-coord - double az = Math.abs(normal.getZ()); // abs z-coord - - // coord to ignore: 1=x, 2=y, 3=z - int coord = 3; // ignore z-coord - if (ax > ay) { - if (ax > az) { - coord = 1; // ignore x-coord - } - } else if (ay > az) { - coord = 2; // ignore y-coord - } - - // compute area of the 2D projection - for (int i = 1, j = 2, k = 0; i <= vertexArray.length - 2; i++, j++, k++) { - switch (coord) { - case 1: - area += (vertexArray[i].getY() * (vertexArray[j].getZ() - vertexArray[k].getZ())); - break; - case 2: - area += (vertexArray[i].getX() * (vertexArray[j].getZ() - vertexArray[k].getZ())); - break; - case 3: - area += (vertexArray[i].getX() * (vertexArray[j].getY() - vertexArray[k].getY())); - break; - default: - throw new IllegalStateException(); - } - } - - // scale to get area before projection - double an = Math.sqrt(ax * ax + ay * ay + az * az); // length of normal vector - - switch (coord) { - case 1: - area *= (an / (2 * ax)); - break; - case 2: - area *= (an / (2 * ay)); - break; - case 3: - area *= (an / (2 * az)); - break; - default: - throw new IllegalStateException(); - } - - return Math.abs(area); - } - - private UnitVector3d calculateNormalWithCross(Vertex v1, Vertex v2, Vertex v3) { - Vector3d dir1 = v2.minus(v1); - Vector3d dir2 = v3.minus(v1); - Vector3d cross = dir1.cross(dir2); - return cross.normalize(); - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearCheckResults(); - } - - public void setParent(Polygon polygon) { - parent = polygon; - } - - public Polygon getParent() { - return parent; - } - - public LinearRingType getType() { - return type; - } - - public List getVertices() { - return vertices; - } - - public void addVertex(Vertex v) { - vertices.add(v); - if (parent == null) { - return; - } - if (parent.isLinkedTo()) { - v.addAdjacentRing(this, parent.getLinkedFromPolygon().getParent()); - } - v.addAdjacentRing(this, parent.getParent()); - } - - public void addVertex(int i, Vertex v) { - vertices.add(i, v); - if (parent.isLinkedTo()) { - v.addAdjacentRing(this, parent.getLinkedFromPolygon().getParent()); - } - v.addAdjacentRing(this, parent.getParent()); - } - - public void setVertex(int i, Vertex v) { - vertices.set(i, v); - if (parent.isLinkedTo()) { - v.addAdjacentRing(this, parent.getLinkedFromPolygon().getParent()); - } - v.addAdjacentRing(this, parent.getParent()); - } - - @Override - public String toString() { - return "LinearRing [type=" + type + ", gmlId=" + getGmlId() + "]"; - } - - void anonymize() { - setGmlId(GmlId.generateId()); - } - - public boolean isRingConnectedViaPoint(LinearRing other) { - for (Vertex v : vertices) { - if (other.getVertices().contains(v)) { - return true; - } - } - return false; - } - - public boolean hasPointAsCorner(Vertex v) { - return vertices.contains(v); - } - - public void setType(LinearRingType type) { - this.type = type; - } - - public void addAllVertices(List extRing) { - vertices.addAll(extRing); - } - - @Override - public void prepareForChecking() { - parent.getParent().prepareForChecking(); - } - - @Override - public void clearMetaInformation() { - parent.getParent().clearMetaInformation(); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - LinearRing originalRing = (LinearRing) original; - type = originalRing.type; - parent = handler.getCopyInstance(originalRing.parent); - for (Vertex v : originalRing.vertices) { - vertices.add(handler.getCopyInstance(v)); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - for (Vertex v : vertices) { - handler.addInstance(v); - } - handler.addInstance(parent); - } - - @Override - public Copyable createCopyInstance() { - return new LinearRing(type); - } + @Serial + private static final long serialVersionUID = -2488180830514940722L; + + private LinearRingType type; + private Polygon parent; + + private final List vertices = new ArrayList<>(); + + public enum LinearRingType { + EXTERIOR, INTERIOR + } + + public LinearRing(LinearRingType type) { + this.type = type; + } + + /** + * Checks whether a point is inside this ring. A point on the edge does count as + * inside. + * + * @param v the point. + * @return true if the point is inside or on an edge, false if it is outside. + */ + public boolean isPointInside(Vector3d v) { + // project to 2d ring + ProjectionAxis axis = ProjectionAxis.of(this); + Vector2d point = axis.project(v); + Ring2d ring = Ring2d.of(this, axis); + + int t = -1; + for (int i = 0; i < ring.getVertices().size() - 1; i++) { + t = t * crossProdTest(point, ring.getVertices().get(i), ring.getVertices().get(i + 1)); + if (t == 0) { + return true; + } + } + return t >= 0; + } + + private int crossProdTest(Vector2d a, Vector2d b, Vector2d c) { + if (a.getY() == b.getY() && a.getY() == c.getY()) { + if ((b.getX() <= a.getX() && a.getX() <= c.getX()) || (c.getX() <= a.getX() && a.getX() <= b.getX())) { + return 0; + } else { + return 1; + } + } + if (a.getY() == b.getY() && a.getX() == b.getX()) { + return 0; + } + if (b.getY() > c.getY()) { + Vector2d temp = b; + b = c; + c = temp; + } + if (a.getY() <= b.getY() || a.getY() > c.getY()) { + return 1; + } + return calculateDelta(a, b, c); + } + + private int calculateDelta(Vector2d a, Vector2d b, Vector2d c) { + double delta = (b.getX() - a.getX()) * (c.getY() - a.getY()) - (b.getY() - a.getY()) * (c.getX() - a.getX()); + if (delta > 0) { + return -1; + } else if (delta < 0) { + return 1; + } else { + return 0; + } + } + + /** + * Calculates the normal vector of the ring. Method by Newell. If the Newell + * method would return a (0, 0, 0) vector a cross product is formed from the + * first 3 vertices. If there are no 3 vertices available (1, 0, 0) is returned. + * + * @return the normal as a normalized vector + */ + public UnitVector3d calculateNormalNormalized() { + return calculateNormal().normalize(); + } + + /** + * Calculates the normal vector of the ring. Method by Newell. If the Newell + * method would return a (0, 0, 0) vector a cross product is formed from the + * first 3 vertices. If there are no 3 vertices available (1, 0, 0) is returned. + * + * @return the normal vector + */ + public Vector3d calculateNormal() { + double[] coords = new double[3]; + for (int i = 0; i < vertices.size() - 1; i++) { + Vertex current = vertices.get(i); + Vertex next = vertices.get(i + 1); + coords[0] += (current.getZ() + next.getZ()) * (current.getY() - next.getY()); + coords[1] += (current.getX() + next.getX()) * (current.getZ() - next.getZ()); + coords[2] += (current.getY() + next.getY()) * (current.getX() - next.getX()); + } + + if (coords[0] == 0 && coords[1] == 0 && coords[2] == 0) { + // no valid normal vector found + if (vertices.size() < 3) { + // no three points, return x-axis + return UnitVector3d.X_AXIS; + } + + Vertex v1 = vertices.get(0); + Vertex v2 = vertices.get(1); + Vertex v3 = vertices.get(2); + return calculateNormalWithCross(v1, v2, v3); + } + return new Vector3d(coords); + } + + public double getArea() { + int n = vertices.size(); + if (n < 3) + return 0.0; // a degenerated polygon + + // prepare an vertex array with n+2 vertices: + // V[0] ... V[n-1] - the n different vertices + // V[n]=V[0] + // V[n+1]=V[1] + Vertex[] vertexArray = new Vertex[n + 2]; + for (int i = 0; i < n; i++) { + vertexArray[i] = vertices.get(i); + } + vertexArray[n] = vertices.get(0); + vertexArray[n + 1] = vertices.get(1); + double area = 0; + + // make sure the normal has been calculated + Vector3d normal = calculateNormal(); + // select largest abs coordinate to ignore for projection + double ax = Math.abs(normal.getX()); // abs x-coord + double ay = Math.abs(normal.getY()); // abs y-coord + double az = Math.abs(normal.getZ()); // abs z-coord + + // coord to ignore: 1=x, 2=y, 3=z + int coord = 3; // ignore z-coord + if (ax > ay) { + if (ax > az) { + coord = 1; // ignore x-coord + } + } else if (ay > az) { + coord = 2; // ignore y-coord + } + + // compute area of the 2D projection + for (int i = 1, j = 2, k = 0; i <= vertexArray.length - 2; i++, j++, k++) { + switch (coord) { + case 1: + area += (vertexArray[i].getY() * (vertexArray[j].getZ() - vertexArray[k].getZ())); + break; + case 2: + area += (vertexArray[i].getX() * (vertexArray[j].getZ() - vertexArray[k].getZ())); + break; + case 3: + area += (vertexArray[i].getX() * (vertexArray[j].getY() - vertexArray[k].getY())); + break; + default: + throw new IllegalStateException(); + } + } + + // scale to get area before projection + double an = Math.sqrt(ax * ax + ay * ay + az * az); // length of normal vector + + switch (coord) { + case 1: + area *= (an / (2 * ax)); + break; + case 2: + area *= (an / (2 * ay)); + break; + case 3: + area *= (an / (2 * az)); + break; + default: + throw new IllegalStateException(); + } + + return Math.abs(area); + } + + private UnitVector3d calculateNormalWithCross(Vertex v1, Vertex v2, Vertex v3) { + Vector3d dir1 = v2.minus(v1); + Vector3d dir2 = v3.minus(v1); + Vector3d cross = dir1.cross(dir2); + return cross.normalize(); + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearCheckResults(); + } + + public void setParent(Polygon polygon) { + parent = polygon; + } + + public Polygon getParent() { + return parent; + } + + public LinearRingType getType() { + return type; + } + + public List getVertices() { + return vertices; + } + + public void addVertex(Vertex v) { + vertices.add(v); + if (parent == null) { + return; + } + if (parent.isLinkedTo()) { + v.addAdjacentRing(this, parent.getLinkedFromPolygon().getParent()); + } + v.addAdjacentRing(this, parent.getParent()); + } + + public void addVertex(int i, Vertex v) { + vertices.add(i, v); + if (parent.isLinkedTo()) { + v.addAdjacentRing(this, parent.getLinkedFromPolygon().getParent()); + } + v.addAdjacentRing(this, parent.getParent()); + } + + public void setVertex(int i, Vertex v) { + vertices.set(i, v); + if (parent.isLinkedTo()) { + v.addAdjacentRing(this, parent.getLinkedFromPolygon().getParent()); + } + v.addAdjacentRing(this, parent.getParent()); + } + + @Override + public String toString() { + return "LinearRing [type=" + type + ", gmlId=" + getGmlId() + "]"; + } + + void anonymize() { + setGmlId(GmlId.generateId()); + } + + public boolean isRingConnectedViaPoint(LinearRing other) { + for (Vertex v : vertices) { + if (other.getVertices().contains(v)) { + return true; + } + } + return false; + } + + public boolean hasPointAsCorner(Vertex v) { + return vertices.contains(v); + } + + public void setType(LinearRingType type) { + this.type = type; + } + + public void addAllVertices(List extRing) { + vertices.addAll(extRing); + } + + @Override + public void prepareForChecking() { + parent.getParent().prepareForChecking(); + } + + @Override + public void clearMetaInformation() { + parent.getParent().clearMetaInformation(); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + LinearRing originalRing = (LinearRing) original; + type = originalRing.type; + parent = handler.getCopyInstance(originalRing.parent); + for (Vertex v : originalRing.vertices) { + vertices.add(handler.getCopyInstance(v)); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + for (Vertex v : vertices) { + handler.addInstance(v); + } + handler.addInstance(parent); + } + + @Override + public Copyable createCopyInstance() { + return new LinearRing(type); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java index c502b69d2dcff599006e3a35be45a91c71670836..5f6a167518430ff0121ecd463d2469b66436032c 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,10 +18,6 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.List; -import java.util.Map; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; @@ -31,275 +27,277 @@ import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.List; +import java.util.Map; + /** * A polygon that does not contain the geometry but is only a link to an actual * polygon. Created when href in CityGML are used. - * - * @author Matthias Betz * + * @author Matthias Betz */ public class LinkedPolygon extends Polygon { - @Serial - private static final long serialVersionUID = -4897578390280277931L; - - private Geometry parent; - private ConcretePolygon poly; - - private LinkedPolygon() { - } - - /** - * - * @param poly polygon this is linked to - * @param parent the parent of the linked polygon - */ - public LinkedPolygon(ConcretePolygon poly, Geometry parent) { - this.parent = parent; - this.poly = poly; - poly.setLinkedTo(this); - for (Vertex v : poly.getExteriorRing().getVertices()) { - v.addAdjacentRing(poly.getExteriorRing(), parent); - } - for (LinearRing lr : poly.getInnerRings()) { - for (Vertex v : lr.getVertices()) { - v.addAdjacentRing(lr, parent); - } - } - } - - @Override - public CheckResult getCheckResult(Check c) { - return poly.getCheckResult(c); - } - - @Override - public Map getAllCheckResults() { - return poly.getAllCheckResults(); - } - - @Override - public boolean hasAnyError() { - return poly.hasAnyError(); - } - - @Override - public boolean hasDependencyNotMetError(CheckId id) { - return poly.hasDependencyNotMetError(id); - } - - @Override - public CheckResult getCheckResult(CheckId id) { - return poly.getCheckResult(id); - } - - @Override - public boolean hasCheckResults() { - return poly.hasCheckResults(); - } - - @Override - public void setGmlId(GmlId id) { - poly.setGmlId(id); - } - - @Override - public GmlId getGmlId() { - return poly.getGmlId(); - } - - @Override - public void accept(Check c) { - // linked polygons are not checked - setValidated(true); - } - - @Override - public void addCheckResult(CheckResult cr) { - poly.addCheckResult(cr); - } - - @Override - public void collectContainedErrors(List errors) { - poly.collectContainedErrors(errors); - } - - @Override - public boolean containsAnyError() { - return poly.containsAnyError(); - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - return poly.containsError(checkIdentifier); - } - - @Override - public void clearCheckResults() { - poly.clearCheckResults(); - } - - @Override - public Vector3d calculateNormalNormalized() { - return poly.calculateNormalNormalized(); - } - - @Override - public Vector3d calculateNormal() { - return poly.calculateNormal(); - } - - @Override - public TesselatedPolygon tesselate() { - return poly.tesselate(); - } - - @Override - public LinearRing getExteriorRing() { - return poly.getExteriorRing(); - } - - @Override - public List getInnerRings() { - return poly.getInnerRings(); - } - - @Override - public boolean isPointInsideExteriorRing(Vector3d v) { - return poly.isPointInsideExteriorRing(v); - } - - @Override - public Geometry getParent() { - return parent; - } - - @Override - public void setParent(Geometry geometry) { - this.parent = geometry; - } - - @Override - public void setExteriorRing(LinearRing extRing) { - poly.setExteriorRing(extRing); - } - - @Override - public boolean isPolygonConnectedViaPoint(Polygon other) { - return poly.isPolygonConnectedViaPoint(other); - } - - @Override - public String toString() { - return "LinkedPolygon [" + poly.getGmlId() + "]"; - } - - @Override - public void addInteriorRing(LinearRing inter) { - poly.addInteriorRing(inter); - } - - @Override - public BoundarySurface getPartOfSurface() { - return poly.getPartOfSurface(); - } - - @Override - public void setPartOfSurface(BoundarySurface bs) { - poly.setPartOfSurface(bs); - } - - @Override - public void removeInnerRing(LinearRing ring) { - poly.removeInnerRing(ring); - } - - @Override - public void setPartOfInstallation(Installation bi) { - poly.setPartOfInstallation(bi); - } - - @Override - public Installation getPartOfInstallation() { - return poly.getPartOfInstallation(); - } - - @Override - public boolean hasPointAsCorner(Vertex v) { - return poly.hasPointAsCorner(v); - } - - @Override - public void removeRings() { - poly.removeRings(); - } - - @Override - public boolean isLink() { - return true; - } - - @Override - public LinkedPolygon getLinkedFromPolygon() { - return this; - } - - @Override - void anonymize() { - poly.anonymize(); - } - - @Override - public void clearAllContainedCheckResults() { - poly.clearAllContainedCheckResults(); - } - - @Override - public ConcretePolygon getOriginal() { - return poly; - } - - @Override - public void prepareForChecking() { - poly.prepareForChecking(); - } - - @Override - public void clearMetaInformation() { - poly.clearMetaInformation(); - } - - @Override - public boolean isLinkedTo() { - return false; - } - - @Override - public void collectInstances(CopyHandler handler) { - handler.addInstance(parent); - handler.addInstance(poly); - } - - @Override - public Copyable createCopyInstance() { - return new LinkedPolygon(); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - LinkedPolygon linkedOriginal = (LinkedPolygon) original; - parent = handler.getCopyInstance(linkedOriginal.parent); - poly = handler.getCopyInstance(linkedOriginal.poly); - } - - @Override - public void remove() { - poly.remove(); - } - - @Override - public double getArea() { - return poly.getArea(); - } + @Serial + private static final long serialVersionUID = -4897578390280277931L; + + private Geometry parent; + private ConcretePolygon poly; + + private LinkedPolygon() { + } + + /** + * @param poly polygon this is linked to + * @param parent the parent of the linked polygon + */ + public LinkedPolygon(ConcretePolygon poly, Geometry parent) { + this.parent = parent; + this.poly = poly; + poly.setLinkedTo(this); + for (Vertex v : poly.getExteriorRing().getVertices()) { + v.addAdjacentRing(poly.getExteriorRing(), parent); + } + for (LinearRing lr : poly.getInnerRings()) { + for (Vertex v : lr.getVertices()) { + v.addAdjacentRing(lr, parent); + } + } + } + + @Override + public CheckResult getCheckResult(Check c) { + return poly.getCheckResult(c); + } + + @Override + public Map getAllCheckResults() { + return poly.getAllCheckResults(); + } + + @Override + public boolean hasAnyError() { + return poly.hasAnyError(); + } + + @Override + public boolean hasDependencyNotMetError(CheckId id) { + return poly.hasDependencyNotMetError(id); + } + + @Override + public CheckResult getCheckResult(CheckId id) { + return poly.getCheckResult(id); + } + + @Override + public boolean hasCheckResults() { + return poly.hasCheckResults(); + } + + @Override + public void setGmlId(GmlId id) { + poly.setGmlId(id); + } + + @Override + public GmlId getGmlId() { + return poly.getGmlId(); + } + + @Override + public void accept(Check c) { + // linked polygons are not checked + setValidated(true); + } + + @Override + public void addCheckResult(CheckResult cr) { + poly.addCheckResult(cr); + } + + @Override + public void collectContainedErrors(List errors) { + poly.collectContainedErrors(errors); + } + + @Override + public boolean containsAnyError() { + return poly.containsAnyError(); + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + return poly.containsError(checkIdentifier); + } + + @Override + public void clearCheckResults() { + poly.clearCheckResults(); + } + + @Override + public Vector3d calculateNormalNormalized() { + return poly.calculateNormalNormalized(); + } + + @Override + public Vector3d calculateNormal() { + return poly.calculateNormal(); + } + + @Override + public TesselatedPolygon tesselate() { + return poly.tesselate(); + } + + @Override + public LinearRing getExteriorRing() { + return poly.getExteriorRing(); + } + + @Override + public List getInnerRings() { + return poly.getInnerRings(); + } + + @Override + public boolean isPointInsideExteriorRing(Vector3d v) { + return poly.isPointInsideExteriorRing(v); + } + + @Override + public Geometry getParent() { + return parent; + } + + @Override + public void setParent(Geometry geometry) { + this.parent = geometry; + } + + @Override + public void setExteriorRing(LinearRing extRing) { + poly.setExteriorRing(extRing); + } + + @Override + public boolean isPolygonConnectedViaPoint(Polygon other) { + return poly.isPolygonConnectedViaPoint(other); + } + + @Override + public String toString() { + return "LinkedPolygon [" + poly.getGmlId() + "]"; + } + + @Override + public void addInteriorRing(LinearRing inter) { + poly.addInteriorRing(inter); + } + + @Override + public BoundarySurface getPartOfSurface() { + return poly.getPartOfSurface(); + } + + @Override + public void setPartOfSurface(BoundarySurface bs) { + poly.setPartOfSurface(bs); + } + + @Override + public void removeInnerRing(LinearRing ring) { + poly.removeInnerRing(ring); + } + + @Override + public void setPartOfInstallation(Installation bi) { + poly.setPartOfInstallation(bi); + } + + @Override + public Installation getPartOfInstallation() { + return poly.getPartOfInstallation(); + } + + @Override + public boolean hasPointAsCorner(Vertex v) { + return poly.hasPointAsCorner(v); + } + + @Override + public void removeRings() { + poly.removeRings(); + } + + @Override + public boolean isLink() { + return true; + } + + @Override + public LinkedPolygon getLinkedFromPolygon() { + return this; + } + + @Override + void anonymize() { + poly.anonymize(); + } + + @Override + public void clearAllContainedCheckResults() { + poly.clearAllContainedCheckResults(); + } + + @Override + public ConcretePolygon getOriginal() { + return poly; + } + + @Override + public void prepareForChecking() { + poly.prepareForChecking(); + } + + @Override + public void clearMetaInformation() { + poly.clearMetaInformation(); + } + + @Override + public boolean isLinkedTo() { + return false; + } + + @Override + public void collectInstances(CopyHandler handler) { + handler.addInstance(parent); + handler.addInstance(poly); + } + + @Override + public Copyable createCopyInstance() { + return new LinkedPolygon(); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + LinkedPolygon linkedOriginal = (LinkedPolygon) original; + parent = handler.getCopyInstance(linkedOriginal.parent); + poly = handler.getCopyInstance(linkedOriginal.poly); + } + + @Override + public void remove() { + poly.remove(); + } + + @Override + public double getArea() { + return poly.getArea(); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Lod.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Lod.java index 12eec058c2b0fd71152187c7d5eedde6bdada226..8fd31cf8a389ddbb1d40684473c47b37a18a6fd0 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Lod.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Lod.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -20,24 +20,23 @@ package de.hft.stuttgart.citydoctor2.datastructure; /** * The different LODs available in CityGML - * - * @author Matthias Betz * + * @author Matthias Betz */ public enum Lod { - LOD0(0), LOD1(1), LOD2(2), LOD3(3), LOD4(4); + LOD0(0), LOD1(1), LOD2(2), LOD3(3), LOD4(4); - private final int rank; + private final int rank; - private Lod(int rank) { - this.rank = rank; - } + private Lod(int rank) { + this.rank = rank; + } - public boolean isHigher(Lod other) { - if (other == null) { - return true; - } - return rank > other.rank; - } + public boolean isHigher(Lod other) { + if (other == null) { + return true; + } + return rank > other.rank; + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java index fe2d22808b7e8b4876b16cf471df723aa04d62a3..9d4890b527aae53eeab875fc1356aed7a7d8644f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,17 +18,16 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import org.citygml4j.core.model.construction.AbstractFillingSurface; -import org.citygml4j.core.model.core.AbstractCityObject; -import org.citygml4j.core.util.geometry.GeometryFactory; -import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; -import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.construction.AbstractFillingSurface; +import org.citygml4j.core.model.core.AbstractCityObject; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import java.io.Serial; @@ -36,145 +35,144 @@ import java.io.Serial; * Represents an Opening suchs a window or Door in a surface of a feature. * Contains a reference to the boundary surface where this opening is embedded * in. - * - * @author Matthias Betz * + * @author Matthias Betz */ public class Opening extends CityObject { - @Serial - private static final long serialVersionUID = 6409303152284607944L; - - private BoundarySurface partOf; - private OpeningType type; - private SurfaceFeatureType featureType; - - private AbstractFillingSurface ao; - - private Opening(OpeningType type) { - this.type = type; - } - - public Opening(OpeningType type, SurfaceFeatureType featureType, BoundarySurface partOf, - AbstractFillingSurface ao) { - this.featureType = featureType; - this.partOf = partOf; - this.type = type; - this.ao = ao; - } - - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - if (ao.getId() != null) { - ao.setId(getGmlId().getGmlString()); - } - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - setGeometryAccordingToLod(geom.getLod(), new MultiSurfaceProperty(ms)); - } else { - throw new IllegalStateException("Openings can only have MultiSurface geometries"); - } - } - } - - private void setGeometryAccordingToLod(Lod lod, MultiSurfaceProperty ms) { - switch (lod) { - case LOD0: - ao.setLod0MultiSurface(ms); - break; - case LOD1: - ao.setLod1MultiSurface(ms); - break; - case LOD2: - ao.setLod2MultiSurface(ms); - break; - case LOD3: - ao.setLod3MultiSurface(ms); - break; - case LOD4: - ao.getDeprecatedProperties().setLod4MultiSurface(ms); - break; - default: - throw new IllegalStateException("Cannot add geometry to opening because lod is not allowed: " + lod); - } - } - - - public SurfaceFeatureType getSurfaceFeatureType() { - return featureType; - } - - public BoundarySurface getPartOf() { - return partOf; - } - - public void setType(OpeningType type) { - this.type = type; - } - - public OpeningType getType() { - return type; - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - } - - @Override - public void clearAllContainedCheckResults() { - super.clearCheckResults(); - } - - public void unsetGmlGeometries() { - ao.setLod0MultiSurface(null); - ao.setLod1MultiSurface(null); - ao.setLod2MultiSurface(null); - ao.setLod3MultiSurface(null); - ao.getDeprecatedProperties().setLod4MultiSurface(null); - } - - @Override - public String toString() { - return "Opening [type=" + type + ", id=" + getGmlId() + "]"; - } - - public void setPartOfSurface(BoundarySurface boundarySurface) { - partOf = boundarySurface; - } - - @Override - public AbstractCityObject getGmlObject() { - return ao; - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.OPENING; - } - - @Override - public Copyable createCopyInstance() { - return new Opening(type); - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - handler.addInstance(partOf); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - Opening originalOpening = (Opening) original; - partOf = handler.getCopyInstance(originalOpening.partOf); - type = originalOpening.type; - featureType = originalOpening.featureType; - ao = originalOpening.ao; - } + @Serial + private static final long serialVersionUID = 6409303152284607944L; + + private BoundarySurface partOf; + private OpeningType type; + private SurfaceFeatureType featureType; + + private AbstractFillingSurface ao; + + private Opening(OpeningType type) { + this.type = type; + } + + public Opening(OpeningType type, SurfaceFeatureType featureType, BoundarySurface partOf, + AbstractFillingSurface ao) { + this.featureType = featureType; + this.partOf = partOf; + this.type = type; + this.ao = ao; + } + + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + if (ao.getId() != null) { + ao.setId(getGmlId().getGmlString()); + } + for (Geometry geom : getGeometries()) { + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setGeometryAccordingToLod(geom.getLod(), new MultiSurfaceProperty(ms)); + } else { + throw new IllegalStateException("Openings can only have MultiSurface geometries"); + } + } + } + + private void setGeometryAccordingToLod(Lod lod, MultiSurfaceProperty ms) { + switch (lod) { + case LOD0: + ao.setLod0MultiSurface(ms); + break; + case LOD1: + ao.setLod1MultiSurface(ms); + break; + case LOD2: + ao.setLod2MultiSurface(ms); + break; + case LOD3: + ao.setLod3MultiSurface(ms); + break; + case LOD4: + ao.getDeprecatedProperties().setLod4MultiSurface(ms); + break; + default: + throw new IllegalStateException("Cannot add geometry to opening because lod is not allowed: " + lod); + } + } + + + public SurfaceFeatureType getSurfaceFeatureType() { + return featureType; + } + + public BoundarySurface getPartOf() { + return partOf; + } + + public void setType(OpeningType type) { + this.type = type; + } + + public OpeningType getType() { + return type; + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearCheckResults(); + } + + public void unsetGmlGeometries() { + ao.setLod0MultiSurface(null); + ao.setLod1MultiSurface(null); + ao.setLod2MultiSurface(null); + ao.setLod3MultiSurface(null); + ao.getDeprecatedProperties().setLod4MultiSurface(null); + } + + @Override + public String toString() { + return "Opening [type=" + type + ", id=" + getGmlId() + "]"; + } + + public void setPartOfSurface(BoundarySurface boundarySurface) { + partOf = boundarySurface; + } + + @Override + public AbstractCityObject getGmlObject() { + return ao; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.OPENING; + } + + @Override + public Copyable createCopyInstance() { + return new Opening(type); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(partOf); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + Opening originalOpening = (Opening) original; + partOf = handler.getCopyInstance(originalOpening.partOf); + type = originalOpening.type; + featureType = originalOpening.featureType; + ao = originalOpening.ao; + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/OpeningType.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/OpeningType.java index a4e5c9c65aef34b418e0ab41075f471f581407c3..3029048ec0665aa27c239aa447d24d2ebf3116d9 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/OpeningType.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/OpeningType.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -20,12 +20,11 @@ package de.hft.stuttgart.citydoctor2.datastructure; /** * The available opening types in CityGML - * - * @author Matthias Betz * + * @author Matthias Betz */ public enum OpeningType { - DOOR, WINDOW, UNKNOWN + DOOR, WINDOW, UNKNOWN } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Polygon.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Polygon.java index 48bdecf9484332cde5dc83300f5ac11199140d3d..27e62aea052f8e1e8882a9e5969a94e94c590735 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Polygon.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Polygon.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,70 +18,70 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.List; - import de.hft.stuttgart.citydoctor2.math.Vector3d; import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon; +import java.io.Serial; +import java.util.List; + /** * Interface for concrete and linked polygons. - * - * @author Matthias Betz * + * @author Matthias Betz */ public abstract class Polygon extends GmlElement { - @Serial - private static final long serialVersionUID = -613942946364706513L; + @Serial + private static final long serialVersionUID = -613942946364706513L; + + public abstract Vector3d calculateNormalNormalized(); + + public abstract Vector3d calculateNormal(); + + public abstract TesselatedPolygon tesselate(); - public abstract Vector3d calculateNormalNormalized(); - public abstract Vector3d calculateNormal(); + public abstract LinearRing getExteriorRing(); - public abstract TesselatedPolygon tesselate(); + public abstract List getInnerRings(); - public abstract LinearRing getExteriorRing(); + public abstract boolean isPointInsideExteriorRing(Vector3d v); - public abstract List getInnerRings(); + public abstract Geometry getParent(); - public abstract boolean isPointInsideExteriorRing(Vector3d v); + public abstract void setParent(Geometry geometry); - public abstract Geometry getParent(); + public abstract void setExteriorRing(LinearRing extRing); - public abstract void setParent(Geometry geometry); + public abstract boolean isPolygonConnectedViaPoint(Polygon other); - public abstract void setExteriorRing(LinearRing extRing); + public abstract void addInteriorRing(LinearRing inter); - public abstract boolean isPolygonConnectedViaPoint(Polygon other); + public abstract BoundarySurface getPartOfSurface(); - public abstract void addInteriorRing(LinearRing inter); + public abstract void setPartOfSurface(BoundarySurface bs); - public abstract BoundarySurface getPartOfSurface(); + public abstract void removeInnerRing(LinearRing ring); - public abstract void setPartOfSurface(BoundarySurface bs); + public abstract void setPartOfInstallation(Installation bi); - public abstract void removeInnerRing(LinearRing ring); + public abstract Installation getPartOfInstallation(); - public abstract void setPartOfInstallation(Installation bi); + public abstract boolean hasPointAsCorner(Vertex v); - public abstract Installation getPartOfInstallation(); + public abstract void removeRings(); - public abstract boolean hasPointAsCorner(Vertex v); + public abstract boolean isLinkedTo(); - public abstract void removeRings(); + public abstract boolean isLink(); - public abstract boolean isLinkedTo(); + public abstract LinkedPolygon getLinkedFromPolygon(); - public abstract boolean isLink(); + abstract void anonymize(); - public abstract LinkedPolygon getLinkedFromPolygon(); + public abstract ConcretePolygon getOriginal(); - abstract void anonymize(); + public abstract void remove(); - public abstract ConcretePolygon getOriginal(); - - public abstract void remove(); - - public abstract double getArea(); + public abstract double getArea(); } \ No newline at end of file diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/RelativeGeometry.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/RelativeGeometry.java new file mode 100644 index 0000000000000000000000000000000000000000..bbacc03a7f8266db710cc83f154baf8b0112cc63 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/RelativeGeometry.java @@ -0,0 +1,41 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.Serial; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Reference object for handling of implicit geometries with a relative geometry + * + * @author Riegel + */ +public class RelativeGeometry extends Geometry { + + private static final Logger logger = LogManager.getLogger(RelativeGeometry.class); + @Serial + private static final long serialVersionUID = -686112245455298977L; + + private static Map relativeGeometries = new ConcurrentHashMap<>(); + + public static RelativeGeometry of(Geometry geom) { + if (relativeGeometries.containsKey(geom)) { + return relativeGeometries.get(geom); + } + RelativeGeometry relGeo = new RelativeGeometry(geom.getType(), geom.getLod()); + geom.getPolygons().forEach(relGeo::addPolygon); + relGeo.updateEdgesAndVertices(); + relativeGeometries.put(geom, relGeo); + return relGeo; + } + + + private RelativeGeometry(GeometryType type, Lod lod) { + super(type, lod); + } +} + + diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java index 9cc7dea6e1f3222772f744411273e31683f21085..af04cd103c94360a202be17ebded38aadf4b08bb 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java @@ -1,6 +1,6 @@ /*- * Copyright 2022 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,142 +18,141 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - -import org.citygml4j.core.model.relief.ReliefFeature; -import org.citygml4j.core.util.geometry.GeometryFactory; - import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CopyHandler; import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.relief.ReliefFeature; +import org.citygml4j.core.util.geometry.GeometryFactory; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; public class ReliefObject extends CityObject { - - @Serial - private static final long serialVersionUID = -9162169874426519903L; - - private final ReliefFeature feature; - - private final List components = new ArrayList<>(); - - public ReliefObject(ReliefFeature feature) { - this.feature = feature; - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (TinObject tin : components) { - tin.accept(c); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - handler.addInstance(components); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - ReliefObject originalRelief = (ReliefObject) original; - for (TinObject tin : originalRelief.components) { - components.add(handler.getCopyInstance(tin)); - } - } - - @Override - public Copyable createCopyInstance() { - return new ReliefObject(feature); - } - - @Override - public void prepareForChecking() { - for (TinObject component : components) { - component.prepareForChecking(); - } - } - - @Override - public void clearMetaInformation() { - for (TinObject component : components) { - component.clearMetaInformation(); - } - } - - @Override - public void clearAllContainedCheckResults() { - for (TinObject component : components) { - component.clearAllContainedCheckResults(); - } - } - - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (TinObject tin : components) { - tin.collectContainedErrors(errors); - } - } - - @Override - public boolean containsAnyError() { - boolean containsError = super.containsAnyError(); - if (containsError) { - return true; - } - for (TinObject tin : components) { - if (tin.containsAnyError()) { - return true; - } - } - return false; - } - - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (TinObject tin : components) { - if (tin.containsError(checkIdentifier)) { - return true; - } - } - return false; - } - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - // no geometries - } - - @Override - public ReliefFeature getGmlObject() { - return feature; - } - - @Override - public void unsetGmlGeometries() { - // no geometries - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.LAND; - } - - public List getComponents() { - return components; - } + + @Serial + private static final long serialVersionUID = -9162169874426519903L; + + private final ReliefFeature feature; + + private final List components = new ArrayList<>(); + + public ReliefObject(ReliefFeature feature) { + this.feature = feature; + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (TinObject tin : components) { + tin.accept(c); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + handler.addInstance(components); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + ReliefObject originalRelief = (ReliefObject) original; + for (TinObject tin : originalRelief.components) { + components.add(handler.getCopyInstance(tin)); + } + } + + @Override + public Copyable createCopyInstance() { + return new ReliefObject(feature); + } + + @Override + public void prepareForChecking() { + for (TinObject component : components) { + component.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + for (TinObject component : components) { + component.clearMetaInformation(); + } + } + + @Override + public void clearAllContainedCheckResults() { + for (TinObject component : components) { + component.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (TinObject tin : components) { + tin.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean containsError = super.containsAnyError(); + if (containsError) { + return true; + } + for (TinObject tin : components) { + if (tin.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (TinObject tin : components) { + if (tin.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + // no geometries + } + + @Override + public ReliefFeature getGmlObject() { + return feature; + } + + @Override + public void unsetGmlGeometries() { + // no geometries + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.LAND; + } + + public List getComponents() { + return components; + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java new file mode 100644 index 0000000000000000000000000000000000000000..bc8da9f22b6df62b495cdf89d5c25fcc9c970ab5 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java @@ -0,0 +1,128 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.util.geometry.GeometryFactory; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public class Storey extends AbstractBuildingSubdivision { + + @Serial + private static final long serialVersionUID = 5162814691642668089L; + + private final List buildingUnits = new ArrayList<>(); + + @Override + public Copyable createCopyInstance() { + return new Storey(); + } + + @Override + public void unsetGmlGeometries() { + super.unsetGmlGeometries(); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.unsetGmlGeometries(); + } + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + super.reCreateGeometries(factory, config); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.reCreateGeometries(factory, config); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BuildingUnit buildingUnit : buildingUnits) { + if (buildingUnit.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BuildingUnit buildingUnit : buildingUnits) { + if (buildingUnit.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (BuildingUnit buildingUnit : buildingUnits) { + buildingUnit.collectInstances(handler); + } + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + Storey originalSt = (Storey) original; + for (BuildingUnit buildingUnit : originalSt.buildingUnits) { + buildingUnits.add(handler.getCopyInstance(buildingUnit)); + } + this.abs = originalSt.abs; + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/SurfaceFeatureType.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/SurfaceFeatureType.java index 238a775543700b656178aed478c005bb04d7c91e..a8d5210fac33a298dadb3f318298c02a48679fd2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/SurfaceFeatureType.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/SurfaceFeatureType.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -20,12 +20,11 @@ package de.hft.stuttgart.citydoctor2.datastructure; /** * Availabel bridge types in CityGML - * - * @author Matthias Betz * + * @author Matthias Betz */ public enum SurfaceFeatureType { - BUILDING, BRIDGE, TUNNEL + BUILDING, BRIDGE, TUNNEL } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java index 03f5f1a556caf8933149824f7c6839b9dd6ad88d..278de32c29b8a32fb7b897bb4f915bde9a9a78c0 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java @@ -1,6 +1,6 @@ /*- * Copyright 2022 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,10 +18,9 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.citygml4j.core.model.relief.TINRelief; @@ -31,70 +30,70 @@ import org.xmlobjects.gml.model.geometry.primitives.Triangle; import org.xmlobjects.gml.model.geometry.primitives.TriangleArrayProperty; import org.xmlobjects.gml.model.geometry.primitives.TriangulatedSurface; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; public class TinObject extends CityObject { - private static final Logger logger = LogManager.getLogger(TinObject.class); + private static final Logger logger = LogManager.getLogger(TinObject.class); - @Serial - private static final long serialVersionUID = 1910744427384724422L; + @Serial + private static final long serialVersionUID = 1910744427384724422L; - private final TINRelief gmlRelief; + private final TINRelief gmlRelief; - public TinObject(TINRelief gmlRelief) { - this.gmlRelief = gmlRelief; - } + public TinObject(TINRelief gmlRelief) { + this.gmlRelief = gmlRelief; + } - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - } + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + } - @Override - public TinObject createCopyInstance() { - return new TinObject(gmlRelief); - } + @Override + public TinObject createCopyInstance() { + return new TinObject(gmlRelief); + } - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - if (getGeometries().isEmpty()) { - return; - } - if (getGeometries().size() > 1) { - logger.warn("A TINRelief can only have one geometry but found {}. Using the first geometry found", - getGeometries().size()); - } - Geometry geom = getGeometries().get(0); - List triangles = new ArrayList<>(); - TriangulatedSurface surface = new TriangulatedSurface(); - surface.setPatches(new TriangleArrayProperty(triangles)); - for (Polygon poly : geom.getPolygons()) { - LinearRing ring = poly.getExteriorRing(); - Triangle t = new Triangle(); - t.setExterior(new AbstractRingProperty(CityGmlUtils.createGmlRing(factory, config, ring))); - triangles.add(t); - } - } + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + if (getGeometries().isEmpty()) { + return; + } + if (getGeometries().size() > 1) { + logger.warn("A TINRelief can only have one geometry but found {}. Using the first geometry found", + getGeometries().size()); + } + Geometry geom = getGeometries().get(0); + List triangles = new ArrayList<>(); + TriangulatedSurface surface = new TriangulatedSurface(); + surface.setPatches(new TriangleArrayProperty(triangles)); + for (Polygon poly : geom.getPolygons()) { + LinearRing ring = poly.getExteriorRing(); + Triangle t = new Triangle(); + t.setExterior(new AbstractRingProperty(CityGmlUtils.createGmlRing(factory, config, ring))); + triangles.add(t); + } + } - @Override - public TINRelief getGmlObject() { - return gmlRelief; - } + @Override + public TINRelief getGmlObject() { + return gmlRelief; + } - @Override - public void unsetGmlGeometries() { - gmlRelief.setTin(null); - } + @Override + public void unsetGmlGeometries() { + gmlRelief.setTin(null); + } - @Override - public FeatureType getFeatureType() { - return FeatureType.LAND; - } + @Override + public FeatureType getFeatureType() { + return FeatureType.LAND; + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationObject.java index d3020ea53520707ece384ace8de109db8cb420c3..77ca707cb018bfbeb705fd73f2b6b8974574876b 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationObject.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,10 +18,13 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.citygml4j.core.model.core.AbstractCityObject; import org.citygml4j.core.model.core.AbstractSpace; import org.citygml4j.core.model.transportation.AbstractTransportationSpace; @@ -31,299 +34,297 @@ import org.citygml4j.core.util.geometry.GeometryFactory; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.check.CheckError; -import de.hft.stuttgart.citydoctor2.check.CheckId; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; /** * Representation of a transportation object. - * - * @author Matthias Betz * + * @author Matthias Betz */ public class TransportationObject extends CityObject { - @Serial - private static final long serialVersionUID = -2698907271726700390L; + @Serial + private static final long serialVersionUID = -2698907271726700390L; + + public enum TransportationType { + ROAD, TRACK, RAILWAY, TRAFFIC_AREA, AUXILLIARY_TRAFFIC_AREA, TRANSPORTATION_COMPLEX, SQUARE, AUXILLIARY_TRAFFIC_SPACE, TRAFFIC_SPACE + } + + private AbstractCityObject ato; + private final List composesOf = new ArrayList<>(1); + private final TransportationType type; - public enum TransportationType { - ROAD, TRACK, RAILWAY, TRAFFIC_AREA, AUXILLIARY_TRAFFIC_AREA, TRANSPORTATION_COMPLEX, SQUARE, AUXILLIARY_TRAFFIC_SPACE, TRAFFIC_SPACE - } + public TransportationObject(TransportationType type) { + this.type = type; + } - private AbstractCityObject ato; - private final List composesOf = new ArrayList<>(1); - private final TransportationType type; + @Override + public FeatureType getFeatureType() { + return FeatureType.TRANSPORTATION; + } - public TransportationObject(TransportationType type) { - this.type = type; - } + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + switch (type) { + case ROAD, TRACK, RAILWAY, SQUARE, TRANSPORTATION_COMPLEX: + AbstractTransportationSpace tc = (AbstractTransportationSpace) ato; + setMultiSurfaceAccordingToLod(tc, ms, geom.getLod()); + break; + case TRAFFIC_AREA: + TrafficArea ta = (TrafficArea) ato; + setMultiSurfaceAccordingToLod(ta, ms, geom.getLod()); + break; + case AUXILLIARY_TRAFFIC_AREA: + AuxiliaryTrafficArea ata = (AuxiliaryTrafficArea) ato; + setMultiSurfaceAccordingToLod(ata, ms, geom.getLod()); + break; + case AUXILLIARY_TRAFFIC_SPACE, TRAFFIC_SPACE: + AbstractSpace ats = (AbstractSpace) ato; + setMultiSurfaceAccordingToLod(ats, ms, geom.getLod()); + break; + } + } else { + throw new IllegalStateException("Geometry in TransportationObject cannot be of type " + geom.getType() + + ". Only MultiSurface allowed"); + } + } + for (TransportationObject children : composesOf) { + children.reCreateGeometries(factory, config); + } + } - @Override - public FeatureType getFeatureType() { - return FeatureType.TRANSPORTATION; - } + private void setMultiSurfaceAccordingToLod(AbstractSpace ats, MultiSurface ms, Lod lod) { + switch (lod) { + case LOD0: + ats.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + ats.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + ats.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("cannot set geometry with LOD for AuxiliaryTrafficSpace: " + lod); + } + } - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - switch (type) { - case ROAD, TRACK, RAILWAY, SQUARE, TRANSPORTATION_COMPLEX: - AbstractTransportationSpace tc = (AbstractTransportationSpace) ato; - setMultiSurfaceAccordingToLod(tc, ms, geom.getLod()); - break; - case TRAFFIC_AREA: - TrafficArea ta = (TrafficArea) ato; - setMultiSurfaceAccordingToLod(ta, ms, geom.getLod()); - break; - case AUXILLIARY_TRAFFIC_AREA: - AuxiliaryTrafficArea ata = (AuxiliaryTrafficArea) ato; - setMultiSurfaceAccordingToLod(ata, ms, geom.getLod()); - break; - case AUXILLIARY_TRAFFIC_SPACE, TRAFFIC_SPACE: - AbstractSpace ats = (AbstractSpace) ato; - setMultiSurfaceAccordingToLod(ats, ms, geom.getLod()); - break; - } - } else { - throw new IllegalStateException("Geometry in TransportationObject cannot be of type " + geom.getType() - + ". Only MultiSurface allowed"); - } - } - for (TransportationObject children : composesOf) { - children.reCreateGeometries(factory, config); - } - } + private void setMultiSurfaceAccordingToLod(AbstractTransportationSpace tc, MultiSurface ms, Lod lod) { + switch (lod) { + case LOD1: + tc.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + tc.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + tc.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + tc.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("cannot set geometry with LOD for TransportationComplex: " + lod); + } + } - private void setMultiSurfaceAccordingToLod(AbstractSpace ats, MultiSurface ms, Lod lod) { - switch (lod) { - case LOD0: - ats.setLod0MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD2: - ats.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - ats.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("cannot set geometry with LOD for AuxiliaryTrafficSpace: " + lod); - } - } + private void setMultiSurfaceAccordingToLod(AuxiliaryTrafficArea ata, MultiSurface ms, Lod lod) { + switch (lod) { + case LOD0: + ata.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD1: + ata.setLod1MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + ata.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + ata.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + ata.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("cannot set geometry with LOD for AuxiliaryTrafficArea: " + lod); + } + } - private void setMultiSurfaceAccordingToLod(AbstractTransportationSpace tc, MultiSurface ms, Lod lod) { - switch (lod) { - case LOD1: - tc.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD2: - tc.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - tc.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD4: - tc.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("cannot set geometry with LOD for TransportationComplex: " + lod); - } - } + private void setMultiSurfaceAccordingToLod(TrafficArea ta, MultiSurface ms, Lod lod) { + switch (lod) { + case LOD2: + ta.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + ta.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + ta.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("cannot set geometry with LOD for TrafficArea: " + lod); + } + } - private void setMultiSurfaceAccordingToLod(AuxiliaryTrafficArea ata, MultiSurface ms, Lod lod) { - switch (lod) { - case LOD0: - ata.setLod0MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD1: - ata.setLod1MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD2: - ata.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - ata.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD4: - ata.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("cannot set geometry with LOD for AuxiliaryTrafficArea: " + lod); - } - } + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (TransportationObject to : composesOf) { + if (to.containsError(checkIdentifier)) { + return true; + } + } + return false; + } - private void setMultiSurfaceAccordingToLod(TrafficArea ta, MultiSurface ms, Lod lod) { - switch (lod) { - case LOD2: - ta.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - ta.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD4: - ta.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("cannot set geometry with LOD for TrafficArea: " + lod); - } - } + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (TransportationObject to : composesOf) { + to.clearAllContainedCheckResults(); + } + } - @Override - public boolean containsError(CheckId checkIdentifier) { - boolean hasError = super.containsError(checkIdentifier); - if (hasError) { - return true; - } - for (TransportationObject to : composesOf) { - if (to.containsError(checkIdentifier)) { - return true; - } - } - return false; - } + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (TransportationObject to : composesOf) { + to.collectContainedErrors(errors); + } + } - @Override - public void clearAllContainedCheckResults() { - super.clearAllContainedCheckResults(); - for (TransportationObject to : composesOf) { - to.clearAllContainedCheckResults(); - } - } + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (TransportationObject to : composesOf) { + if (to.containsAnyError()) { + return true; + } + } + return false; + } - @Override - public void collectContainedErrors(List errors) { - super.collectContainedErrors(errors); - for (TransportationObject to : composesOf) { - to.collectContainedErrors(errors); - } - } + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (TransportationObject to : composesOf) { + to.accept(c); + } + } - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (TransportationObject to : composesOf) { - if (to.containsAnyError()) { - return true; - } - } - return false; - } + @Override + public AbstractCityObject getGmlObject() { + return ato; + } - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (TransportationObject to : composesOf) { - to.accept(c); - } - } + @Override + public void unsetGmlGeometries() { + switch (type) { + case ROAD, TRACK, RAILWAY, SQUARE, TRANSPORTATION_COMPLEX: + AbstractTransportationSpace tc = (AbstractTransportationSpace) ato; + tc.getDeprecatedProperties().setLod1MultiSurface(null); + tc.setLod2MultiSurface(null); + tc.setLod3MultiSurface(null); + tc.getDeprecatedProperties().setLod4MultiSurface(null); + break; + case TRAFFIC_AREA: + TrafficArea ta = (TrafficArea) ato; + ta.setLod2MultiSurface(null); + ta.setLod3MultiSurface(null); + ta.getDeprecatedProperties().setLod4MultiSurface(null); + break; + case AUXILLIARY_TRAFFIC_AREA: + AuxiliaryTrafficArea ata = (AuxiliaryTrafficArea) ato; + ata.setLod0MultiSurface(null); + ata.setLod1MultiSurface(null); + ata.setLod2MultiSurface(null); + ata.setLod3MultiSurface(null); + ata.getDeprecatedProperties().setLod4MultiSurface(null); + break; + case AUXILLIARY_TRAFFIC_SPACE, TRAFFIC_SPACE: + AbstractSpace ats = (AbstractSpace) ato; + ats.setLod0MultiSurface(null); + ats.setLod2MultiSurface(null); + ats.setLod3MultiSurface(null); + break; + } + } - @Override - public AbstractCityObject getGmlObject() { - return ato; - } + public void setGmlObject(AbstractCityObject tc) { + ato = tc; + } - @Override - public void unsetGmlGeometries() { - switch (type) { - case ROAD, TRACK, RAILWAY, SQUARE,TRANSPORTATION_COMPLEX: - AbstractTransportationSpace tc = (AbstractTransportationSpace) ato; - tc.getDeprecatedProperties().setLod1MultiSurface(null); - tc.setLod2MultiSurface(null); - tc.setLod3MultiSurface(null); - tc.getDeprecatedProperties().setLod4MultiSurface(null); - break; - case TRAFFIC_AREA: - TrafficArea ta = (TrafficArea) ato; - ta.setLod2MultiSurface(null); - ta.setLod3MultiSurface(null); - ta.getDeprecatedProperties().setLod4MultiSurface(null); - break; - case AUXILLIARY_TRAFFIC_AREA: - AuxiliaryTrafficArea ata = (AuxiliaryTrafficArea) ato; - ata.setLod0MultiSurface(null); - ata.setLod1MultiSurface(null); - ata.setLod2MultiSurface(null); - ata.setLod3MultiSurface(null); - ata.getDeprecatedProperties().setLod4MultiSurface(null); - break; - case AUXILLIARY_TRAFFIC_SPACE, TRAFFIC_SPACE: - AbstractSpace ats = (AbstractSpace) ato; - ats.setLod0MultiSurface(null); - ats.setLod2MultiSurface(null); - ats.setLod3MultiSurface(null); - break; - } - } + public void addChild(TransportationObject subTrans) { + composesOf.add(subTrans); + } - public void setGmlObject(AbstractCityObject tc) { - ato = tc; - } + public List getChildren() { + return composesOf; + } - public void addChild(TransportationObject subTrans) { - composesOf.add(subTrans); - } + public TransportationType getTransportationType() { + return type; + } - public List getChildren() { - return composesOf; - } + @Override + public String toString() { + return "TransportationObject [id=" + getGmlId() + "]"; + } - public TransportationType getTransportationType() { - return type; - } + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (TransportationObject child : composesOf) { + child.prepareForChecking(); + } + } - @Override - public String toString() { - return "TransportationObject [id=" + getGmlId() + "]"; - } + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (TransportationObject child : composesOf) { + child.clearMetaInformation(); + } + } - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (TransportationObject child : composesOf) { - child.prepareForChecking(); - } - } + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (TransportationObject to : composesOf) { + handler.addInstance(to); + } + } - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (TransportationObject child : composesOf) { - child.clearMetaInformation(); - } - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - for (TransportationObject to : composesOf) { - handler.addInstance(to); - } - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - super.fillValues(original, handler); - TransportationObject originalTo = (TransportationObject) original; - for (TransportationObject to : originalTo.composesOf) { - composesOf.add(handler.getCopyInstance(to)); - } - ato = originalTo.ato; - } + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + TransportationObject originalTo = (TransportationObject) original; + for (TransportationObject to : originalTo.composesOf) { + composesOf.add(handler.getCopyInstance(to)); + } + ato = originalTo.ato; + } - @Override - public Copyable createCopyInstance() { - return new TransportationObject(type); - } + @Override + public Copyable createCopyInstance() { + return new TransportationObject(type); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java new file mode 100644 index 0000000000000000000000000000000000000000..4a53dba1f36131191b987f2c7a450ec22c68cece --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java @@ -0,0 +1,157 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; +import org.citygml4j.core.model.tunnel.TunnelInstallation; +import org.citygml4j.core.model.tunnel.TunnelInstallationProperty; +import org.citygml4j.core.util.geometry.GeometryFactory; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public class Tunnel extends AbstractTunnel { + + @Serial + private static final long serialVersionUID = 5316281216192555555L; + + private List tunnelParts = new ArrayList<>(); + + public List getTunnelParts() { + return tunnelParts; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + super.reCreateGeometries(factory, config); + for (TunnelPart tp : tunnelParts) { + tp.reCreateGeometries(factory, config); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (TunnelPart tp : tunnelParts) { + tp.accept(c); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (TunnelPart tp : tunnelParts) { + tp.clearAllContainedCheckResults(); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (TunnelPart tp : tunnelParts) { + tp.collectContainedErrors(errors); + } + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (TunnelPart tp : tunnelParts) { + if (tp.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (TunnelPart tp : tunnelParts) { + if (tp.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + public void addTunnelPart(TunnelPart tunnelPart) { + tunnelParts.add(tunnelPart); + } + + @Override + public String toString() { + return "Tunnel [id=" + getGmlId() + "]"; + } + + public void anonymize() { + for (Geometry geom : getGeometries()) { + geom.anonymize(); + } + org.citygml4j.core.model.tunnel.Tunnel gmlT = new org.citygml4j.core.model.tunnel.Tunnel(); + gmlT.setId(GmlId.generateId().getGmlString()); + for (Installation ti : getTunnelInstallations()) { + ti.anonymize(); + gmlT.getTunnelInstallations().add(new TunnelInstallationProperty((TunnelInstallation) ti.getGmlObject())); + } + for (BoundarySurface bs : getBoundarySurfaces()) { + bs.anonymize(); + gmlT.addBoundary(new AbstractSpaceBoundaryProperty(bs.getGmlObject())); + } + setCityGmlBuilding(gmlT); + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (TunnelPart tp : tunnelParts) { + tp.clearMetaInformation(); + } + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (TunnelPart tp : tunnelParts) { + tp.prepareForChecking(); + } + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + Tunnel originalTunnel = (Tunnel) original; + for (TunnelPart originalTp : originalTunnel.tunnelParts) { + tunnelParts.add(handler.getCopyInstance(originalTp)); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + for (TunnelPart tp : tunnelParts) { + handler.addInstance(tp); + } + } + + @Override + public Copyable createCopyInstance() { + return new Tunnel(); + } + + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java new file mode 100644 index 0000000000000000000000000000000000000000..4e8dad0c10ec368a54747d2b417c6fb7e70954bc --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java @@ -0,0 +1,233 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckId; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; +import org.citygml4j.core.util.geometry.GeometryFactory; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; +import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; +import org.xmlobjects.gml.model.geometry.primitives.Solid; +import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public class TunnelConstructiveElement extends CityObject { + + private static final Logger logger = LogManager.getLogger(TunnelConstructiveElement.class); + + private static final String CANNOT_ADD = "Cannot add "; + + @Serial + private static final long serialVersionUID = 7353233899458901155L; + + private final org.citygml4j.core.model.tunnel.TunnelConstructiveElement gmlTunnelElement; + private final List boundarySurfaceList = new ArrayList<>(); + + + public TunnelConstructiveElement(org.citygml4j.core.model.tunnel.TunnelConstructiveElement gmlObject) { + this.gmlTunnelElement = gmlObject; + } + + @Override + public Copyable createCopyInstance() { + return new TunnelConstructiveElement(gmlTunnelElement); + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + // only handles CityGML2 for now + // unknown which CityGML is handled here + // need context information to decide + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + switch (geom.getType()) { + case SOLID: + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + setSolidAccordingToLod(geom, solid); + break; + case MULTI_SURFACE: + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + setMultiSurfaceAccordingToLod(geom, ms); + break; + } + } + for (BoundarySurface bs : boundarySurfaceList) { + reCreateBoundarySurface(factory, config, bs); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + } + + @Override + public void collectContainedErrors(List errors) { + super.collectContainedErrors(errors); + for (BoundarySurface bs : boundarySurfaceList) { + bs.collectContainedErrors(errors); + } + } + + @Override + public void clearAllContainedCheckResults() { + super.clearAllContainedCheckResults(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearAllContainedCheckResults(); + } + } + + @Override + public boolean containsError(CheckId checkIdentifier) { + boolean hasError = super.containsError(checkIdentifier); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsError(checkIdentifier)) { + return true; + } + } + return false; + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + return false; + } + + private void reCreateBoundarySurface(GeometryFactory factory, ParserConfiguration config, BoundarySurface bs) { + if (bs.getGeometries().isEmpty()) { + for (AbstractSpaceBoundaryProperty bsp : gmlTunnelElement.getBoundaries()) { + if (bsp.getObject() != null && bsp.getObject() == bs.getGmlObject()) { + logger.warn("Found empty boundary surface: {}, removing from TunnelConstructiveElement", bs.getGmlId()); + gmlTunnelElement.getBoundaries().remove(bsp); + break; + } + } + return; + } + bs.reCreateGeometries(factory, config); + } + + private void setSolidAccordingToLod(Geometry geom, Solid solid) { + switch (geom.getLod()) { + case LOD1: + gmlTunnelElement.setLod1Solid(new SolidProperty(solid)); + break; + case LOD2: + gmlTunnelElement.setLod2Solid(new SolidProperty(solid)); + break; + case LOD3: + gmlTunnelElement.setLod3Solid(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " solid to buildings"); + } + } + + private void setMultiSurfaceAccordingToLod(Geometry geom, MultiSurface ms) { + switch (geom.getLod()) { + case LOD0: + gmlTunnelElement.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + gmlTunnelElement.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + gmlTunnelElement.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException(CANNOT_ADD + geom.getLod() + " multi surface to buildings"); + } + } + + @Override + public org.citygml4j.core.model.tunnel.TunnelConstructiveElement getGmlObject() { + return gmlTunnelElement; + } + + @Override + public void unsetGmlGeometries() { + gmlTunnelElement.setLod0MultiSurface(null); + gmlTunnelElement.setLod2MultiSurface(null); + gmlTunnelElement.setLod3MultiSurface(null); + gmlTunnelElement.setLod1Solid(null); + gmlTunnelElement.setLod2Solid(null); + gmlTunnelElement.setLod3Solid(null); + for (BoundarySurface bs : boundarySurfaceList) { + bs.unsetGmlGeometries(); + } + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.TUNNEL_CONSTRUCTION_ELEMENT; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } + + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + TunnelConstructiveElement originalTce = (TunnelConstructiveElement) original; + for (BoundarySurface originalTs : originalTce.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalTs)); + } + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelFurniture.java new file mode 100644 index 0000000000000000000000000000000000000000..747f5ee8d783f922997c2f8309920aa1a982bb40 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelFurniture.java @@ -0,0 +1,21 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.utils.Copyable; + +import java.io.Serial; + +public class TunnelFurniture extends AbstractFurniture { + + @Serial + private static final long serialVersionUID = -4667219019432204174L; + + public void setGmlObject(org.citygml4j.core.model.tunnel.TunnelFurniture gmlObject) { + super.setGmlObject(gmlObject); + } + + @Override + public Copyable createCopyInstance() { + return new BuildingRoomFurniture(); + } + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelHollow.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelHollow.java new file mode 100644 index 0000000000000000000000000000000000000000..1659cbf7cf01f8dec3008826af6cde41b727b488 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelHollow.java @@ -0,0 +1,56 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import org.citygml4j.core.model.tunnel.TunnelFurnitureProperty; + +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; + +public class TunnelHollow extends AbstractRoom { + @Serial + private static final long serialVersionUID = -276088332165299253L; + private final List furnitureRefs = new ArrayList<>(2); + private CityObject parent; + + public void setGmlObject(org.citygml4j.core.model.tunnel.HollowSpace gmlHollowSpace) { + super.cgmlRoom = gmlHollowSpace; + } + + + public void setParent(CityObject parent) { + this.parent = parent; + } + + public void addFurnitureRef(TunnelFurnitureProperty furnitureRef) { + furnitureRefs.add(furnitureRef); + } + + public List getFurnitureRefs() { + return furnitureRefs; + } + + public CityObject getParent() { + return parent; + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + + TunnelHollow oHollow = (TunnelHollow) original; + parent = handler.getCopyInstance(oHollow.getParent()); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(parent); + } + + @Override + public Copyable createCopyInstance() { + return new TunnelHollow(); + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelPart.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelPart.java new file mode 100644 index 0000000000000000000000000000000000000000..b0dd64b3d22a641e25024c233e5218384da46169 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelPart.java @@ -0,0 +1,55 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; + +import java.io.Serial; + +public class TunnelPart extends AbstractTunnel { + + @Serial + private static final long serialVersionUID = 8200322261958679163L; + + private Tunnel parent; + + + public TunnelPart(Tunnel parent) { + this.parent = parent; + parent.addTunnelPart(this); + } + + public Tunnel getParent() { + return parent; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.TUNNEL_PART; + } + + @Override + public String toString() { + return "TunnelPart [id=" + getGmlId() + "]"; + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + super.fillValues(original, handler); + TunnelPart originalPart = (TunnelPart) original; + parent = handler.getCopyInstance(originalPart.parent); + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(parent); + } + + @Override + public Copyable createCopyInstance() { + return new TunnelPart(); + } + + private TunnelPart() { + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java index 7e2d0924292a58f0915201f30caf42f2d17c0997..29ecff16b387550b084c3de7fc812e82ef4da5f5 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,9 +18,10 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.Collections; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.citygml4j.core.model.core.AbstractCityObject; import org.citygml4j.core.model.vegetation.AbstractVegetationObject; import org.citygml4j.core.model.vegetation.PlantCover; @@ -33,185 +34,185 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.primitives.Solid; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.Collections; /** * Representation of CityGML vegetation objects - * - * @author Matthias Betz * + * @author Matthias Betz */ public class Vegetation extends CityObject { - @Serial - private static final long serialVersionUID = -5136358065541704146L; - - public enum VegetationType { - SOLITARY_VEGETATION_OBJECT, PLANT_COVER - } - - private AbstractVegetationObject citygmlVegetation; - private final VegetationType type; - - public Vegetation(VegetationType type) { - this.type = type; - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.VEGETATION; - } - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - if (type == VegetationType.SOLITARY_VEGETATION_OBJECT) { - SolitaryVegetationObject svo = (SolitaryVegetationObject) citygmlVegetation; - setMultiSurfaceAccordingToLod(svo, ms, geom.getLod()); - } else { - PlantCover pc = (PlantCover) citygmlVegetation; - setMultiSurfaceAccordingToLod(pc, ms, geom.getLod()); - } - } else { - Solid solid = CityGmlUtils.createSolid(geom, factory, config); - if (type == VegetationType.SOLITARY_VEGETATION_OBJECT) { - SolitaryVegetationObject svo = (SolitaryVegetationObject) citygmlVegetation; - setSolidAccordingToLod(svo, solid, geom.getLod()); - } else { - PlantCover pc = (PlantCover) citygmlVegetation; - setSolidAccordingToLod(pc, solid, geom.getLod()); - } - } - } - } - - private void setSolidAccordingToLod(PlantCover pc, Solid solid, Lod lod) { - switch (lod) { - case LOD1: - pc.getDeprecatedProperties().setLod1MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); - break; - case LOD2: - pc.getDeprecatedProperties().setLod2MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); - break; - case LOD3: - pc.getDeprecatedProperties().setLod3MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); - break; - case LOD4: - pc.getDeprecatedProperties().setLod4MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); - break; - default: - throw new IllegalStateException("Cannot set Solid with lod to PlantCover:" + lod); - } - } - - private void setSolidAccordingToLod(SolitaryVegetationObject svo, Solid solid, Lod lod) { - switch (lod) { - case LOD1: - svo.getDeprecatedProperties().setLod1Geometry(new SolidProperty(solid)); - break; - case LOD2: - svo.getDeprecatedProperties().setLod2Geometry(new SolidProperty(solid)); - break; - case LOD3: - svo.getDeprecatedProperties().setLod3Geometry(new SolidProperty(solid)); - break; - case LOD4: - svo.getDeprecatedProperties().setLod4Geometry(new SolidProperty(solid)); - break; - default: - throw new IllegalStateException("Cannot set Solid with lod to SolitaryVegetationObject:" + lod); - } - } - - private void setMultiSurfaceAccordingToLod(PlantCover pc, MultiSurface ms, Lod lod) { - switch (lod) { - case LOD1: - pc.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD2: - pc.setLod2MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD3: - pc.setLod3MultiSurface(new MultiSurfaceProperty(ms)); - break; - case LOD4: - pc.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("Cannot set MultiSurface with lod to PlantCover:" + lod); - } - - } - - private void setMultiSurfaceAccordingToLod(SolitaryVegetationObject svo, MultiSurface ms, Lod lod) { - switch (lod) { - case LOD1: - svo.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD2: - svo.getDeprecatedProperties().setLod2Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD3: - svo.getDeprecatedProperties().setLod3Geometry(new MultiSurfaceProperty(ms)); - break; - case LOD4: - svo.getDeprecatedProperties().setLod4Geometry(new MultiSurfaceProperty(ms)); - break; - default: - throw new IllegalStateException("Cannot set MultiSurface with lod to SolitaryVegetationObject:" + lod); - } - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - } - - @Override - public AbstractCityObject getGmlObject() { - return citygmlVegetation; - } - - @Override - public void unsetGmlGeometries() { - if (type == VegetationType.SOLITARY_VEGETATION_OBJECT) { - SolitaryVegetationObject svo = (SolitaryVegetationObject) citygmlVegetation; - svo.getDeprecatedProperties().setLod1Geometry(null); - svo.getDeprecatedProperties().setLod2Geometry(null); - svo.getDeprecatedProperties().setLod3Geometry(null); - svo.getDeprecatedProperties().setLod4Geometry(null); - } else { - PlantCover pc = (PlantCover) citygmlVegetation; - pc.getDeprecatedProperties().setLod1MultiSurface(null); - pc.setLod2MultiSurface(null); - pc.setLod3MultiSurface(null); - pc.getDeprecatedProperties().setLod4MultiSurface(null); - } - } - - public void setGmlObject(AbstractVegetationObject avo) { - citygmlVegetation = avo; - } - - public VegetationType getVegetationType() { - return type; - } - - @Override - public String toString() { - return "Vegetation [id=" + getGmlId() + "]"; - } - - @Override - public Copyable createCopyInstance() { - return new Vegetation(type); - } + @Serial + private static final long serialVersionUID = -5136358065541704146L; + + public enum VegetationType { + SOLITARY_VEGETATION_OBJECT, PLANT_COVER + } + + private AbstractVegetationObject citygmlVegetation; + private final VegetationType type; + + public Vegetation(VegetationType type) { + this.type = type; + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.VEGETATION; + } + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom instanceof ImplicitGeometryHolder) { + continue; + } + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + if (type == VegetationType.SOLITARY_VEGETATION_OBJECT) { + SolitaryVegetationObject svo = (SolitaryVegetationObject) citygmlVegetation; + setMultiSurfaceAccordingToLod(svo, ms, geom.getLod()); + } else { + PlantCover pc = (PlantCover) citygmlVegetation; + setMultiSurfaceAccordingToLod(pc, ms, geom.getLod()); + } + } else { + Solid solid = CityGmlUtils.createSolid(geom, factory, config); + if (type == VegetationType.SOLITARY_VEGETATION_OBJECT) { + SolitaryVegetationObject svo = (SolitaryVegetationObject) citygmlVegetation; + setSolidAccordingToLod(svo, solid, geom.getLod()); + } else { + PlantCover pc = (PlantCover) citygmlVegetation; + setSolidAccordingToLod(pc, solid, geom.getLod()); + } + } + } + } + + private void setSolidAccordingToLod(PlantCover pc, Solid solid, Lod lod) { + switch (lod) { + case LOD1: + pc.getDeprecatedProperties().setLod1MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); + break; + case LOD2: + pc.getDeprecatedProperties().setLod2MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); + break; + case LOD3: + pc.getDeprecatedProperties().setLod3MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); + break; + case LOD4: + pc.getDeprecatedProperties().setLod4MultiSolid(new MultiSolidProperty(new MultiSolid(Collections.singletonList(new SolidProperty(solid))))); + break; + default: + throw new IllegalStateException("Cannot set Solid with lod to PlantCover:" + lod); + } + } + + private void setSolidAccordingToLod(SolitaryVegetationObject svo, Solid solid, Lod lod) { + switch (lod) { + case LOD1: + svo.getDeprecatedProperties().setLod1Geometry(new SolidProperty(solid)); + break; + case LOD2: + svo.getDeprecatedProperties().setLod2Geometry(new SolidProperty(solid)); + break; + case LOD3: + svo.getDeprecatedProperties().setLod3Geometry(new SolidProperty(solid)); + break; + case LOD4: + svo.getDeprecatedProperties().setLod4Geometry(new SolidProperty(solid)); + break; + default: + throw new IllegalStateException("Cannot set Solid with lod to SolitaryVegetationObject:" + lod); + } + } + + private void setMultiSurfaceAccordingToLod(PlantCover pc, MultiSurface ms, Lod lod) { + switch (lod) { + case LOD1: + pc.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD2: + pc.setLod2MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD3: + pc.setLod3MultiSurface(new MultiSurfaceProperty(ms)); + break; + case LOD4: + pc.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot set MultiSurface with lod to PlantCover:" + lod); + } + + } + + private void setMultiSurfaceAccordingToLod(SolitaryVegetationObject svo, MultiSurface ms, Lod lod) { + switch (lod) { + case LOD1: + svo.getDeprecatedProperties().setLod1Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD2: + svo.getDeprecatedProperties().setLod2Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD3: + svo.getDeprecatedProperties().setLod3Geometry(new MultiSurfaceProperty(ms)); + break; + case LOD4: + svo.getDeprecatedProperties().setLod4Geometry(new MultiSurfaceProperty(ms)); + break; + default: + throw new IllegalStateException("Cannot set MultiSurface with lod to SolitaryVegetationObject:" + lod); + } + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + } + + @Override + public AbstractCityObject getGmlObject() { + return citygmlVegetation; + } + + @Override + public void unsetGmlGeometries() { + if (type == VegetationType.SOLITARY_VEGETATION_OBJECT) { + SolitaryVegetationObject svo = (SolitaryVegetationObject) citygmlVegetation; + svo.getDeprecatedProperties().setLod1Geometry(null); + svo.getDeprecatedProperties().setLod2Geometry(null); + svo.getDeprecatedProperties().setLod3Geometry(null); + svo.getDeprecatedProperties().setLod4Geometry(null); + } else { + PlantCover pc = (PlantCover) citygmlVegetation; + pc.getDeprecatedProperties().setLod1MultiSurface(null); + pc.setLod2MultiSurface(null); + pc.setLod3MultiSurface(null); + pc.getDeprecatedProperties().setLod4MultiSurface(null); + } + } + + public void setGmlObject(AbstractVegetationObject avo) { + citygmlVegetation = avo; + } + + public VegetationType getVegetationType() { + return type; + } + + @Override + public String toString() { + return "Vegetation [id=" + getGmlId() + "]"; + } + + @Override + public Copyable createCopyInstance() { + return new Vegetation(type); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vertex.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vertex.java index eb61ef7cd1a4d74126f2b0c26cbe37190abb12ed..cc7e9a5d826da314f6ca8a04cb17873ea8254af7 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vertex.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vertex.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,155 +18,154 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; +import de.hft.stuttgart.citydoctor2.math.Vector3d; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; +import de.hft.stuttgart.citydoctor2.utils.SerializablePair; + import java.io.Serial; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -import de.hft.stuttgart.citydoctor2.math.Vector3d; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; -import de.hft.stuttgart.citydoctor2.utils.SerializablePair; - /** * Contains the vertex information of a point in a linear ring - * - * @author Matthias Betz * + * @author Matthias Betz */ public class Vertex extends Vector3d implements Copyable { - @Serial - private static final long serialVersionUID = -5525361920397934892L; - - private List>> adjacentRings = new ArrayList<>(2); - - public Vertex(double x, double y, double z) { - super(x, y, z); - } - - public Vertex(Vector3d vec) { - super(vec); - } - - private Set getAdjacentRingsWithoutNeighbor(Geometry geom) { - for (SerializablePair> adjacency : adjacentRings) { - if (adjacency.getValue0() == geom) { - return adjacency.getValue1(); - } - } - throw new IllegalStateException("Requested adjacent rings with Geometry not containing this vertex"); - } - - public Set getAdjacentRings(Geometry geom) { - return getAdjacentRingsWithoutNeighbor(geom); - } - - void addAdjacentRing(LinearRing ring, Geometry geom) { - findAdjacentRingsForGeometry(geom).add(ring); - } - - private Set findAdjacentRingsForGeometry(Geometry geom) { - HashSet adjacendRingsSet = null; - for (SerializablePair> adjacency : adjacentRings) { - if (adjacency.getValue0() == geom) { - adjacendRingsSet = adjacency.getValue1(); - } - } - if (adjacendRingsSet == null) { - adjacendRingsSet = new HashSet<>(4); - adjacentRings.add(new SerializablePair<>(geom, adjacendRingsSet)); - } - return adjacendRingsSet; - } - - private Set getAdjacentPolygonsWithoutNeighbor(Geometry geom) { - for (SerializablePair> adjacency : adjacentRings) { - if (adjacency.getValue0() == geom) { - Set polygons = new HashSet<>(); - for (LinearRing lr : adjacency.getValue1()) { - polygons.add(lr.getParent()); - } - return polygons; - } - } - throw new IllegalStateException("Requested adjacent polygons with Geometry not containing this vertex"); - } - - public Set getAdjacentPolygons(Geometry geom) { - return getAdjacentPolygonsWithoutNeighbor(geom); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - return prime * result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (!super.equals(obj)) { - return false; - } - return getClass() == obj.getClass(); - } - - @Override - public String toString() { - return "Vertex [x=" + getX() + ", y=" + getY() + ", z=" + getZ() + "]"; - } - - public void clearAdjacentRings(Geometry geometry) { - if (adjacentRings == null) { - return; - } - findAdjacentRingsForGeometry(geometry).clear(); - } - - void removeAdjacency(LinearRing lr, Geometry geom) { - findAdjacentRingsForGeometry(geom).remove(lr); - } - - /** - * Remove all adjacent rings from this vertex, ignoring geometry association - */ - void clearAdjacentRings() { - adjacentRings = new ArrayList<>(2); - } - - @Override - public void collectInstances(CopyHandler handler) { - for (SerializablePair> pair : adjacentRings) { - handler.addInstance(pair.getValue0()); - for (LinearRing lr : pair.getValue1()) { - handler.addInstance(lr); - } - } - } - - @Override - public Copyable createCopyInstance() { - return new Vertex(this); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - Vertex originalVertex = (Vertex) original; - // vertex point data already filled - for (SerializablePair> pair : originalVertex.adjacentRings) { - Geometry geomCopy = handler.getCopyInstance(pair.getValue0()); - HashSet set = new HashSet<>(); - for (LinearRing originalRing : pair.getValue1()) { - set.add(handler.getCopyInstance(originalRing)); - } - SerializablePair> copyPair = new SerializablePair<>(geomCopy, set); - adjacentRings.add(copyPair); - } - } - + @Serial + private static final long serialVersionUID = -5525361920397934892L; + + private List>> adjacentRings = new ArrayList<>(2); + + public Vertex(double x, double y, double z) { + super(x, y, z); + } + + public Vertex(Vector3d vec) { + super(vec); + } + + private Set getAdjacentRingsWithoutNeighbor(Geometry geom) { + for (SerializablePair> adjacency : adjacentRings) { + if (adjacency.getValue0() == geom) { + return adjacency.getValue1(); + } + } + throw new IllegalStateException("Requested adjacent rings with Geometry not containing this vertex"); + } + + public Set getAdjacentRings(Geometry geom) { + return getAdjacentRingsWithoutNeighbor(geom); + } + + void addAdjacentRing(LinearRing ring, Geometry geom) { + findAdjacentRingsForGeometry(geom).add(ring); + } + + private Set findAdjacentRingsForGeometry(Geometry geom) { + HashSet adjacendRingsSet = null; + for (SerializablePair> adjacency : adjacentRings) { + if (adjacency.getValue0() == geom) { + adjacendRingsSet = adjacency.getValue1(); + } + } + if (adjacendRingsSet == null) { + adjacendRingsSet = new HashSet<>(4); + adjacentRings.add(new SerializablePair<>(geom, adjacendRingsSet)); + } + return adjacendRingsSet; + } + + private Set getAdjacentPolygonsWithoutNeighbor(Geometry geom) { + for (SerializablePair> adjacency : adjacentRings) { + if (adjacency.getValue0() == geom) { + Set polygons = new HashSet<>(); + for (LinearRing lr : adjacency.getValue1()) { + polygons.add(lr.getParent()); + } + return polygons; + } + } + throw new IllegalStateException("Requested adjacent polygons with Geometry not containing this vertex"); + } + + public Set getAdjacentPolygons(Geometry geom) { + return getAdjacentPolygonsWithoutNeighbor(geom); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + return prime * result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + return getClass() == obj.getClass(); + } + + @Override + public String toString() { + return "Vertex [x=" + getX() + ", y=" + getY() + ", z=" + getZ() + "]"; + } + + public void clearAdjacentRings(Geometry geometry) { + if (adjacentRings == null) { + return; + } + findAdjacentRingsForGeometry(geometry).clear(); + } + + void removeAdjacency(LinearRing lr, Geometry geom) { + findAdjacentRingsForGeometry(geom).remove(lr); + } + + /** + * Remove all adjacent rings from this vertex, ignoring geometry association + */ + void clearAdjacentRings() { + adjacentRings = new ArrayList<>(2); + } + + @Override + public void collectInstances(CopyHandler handler) { + for (SerializablePair> pair : adjacentRings) { + handler.addInstance(pair.getValue0()); + for (LinearRing lr : pair.getValue1()) { + handler.addInstance(lr); + } + } + } + + @Override + public Copyable createCopyInstance() { + return new Vertex(this); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + Vertex originalVertex = (Vertex) original; + // vertex point data already filled + for (SerializablePair> pair : originalVertex.adjacentRings) { + Geometry geomCopy = handler.getCopyInstance(pair.getValue0()); + HashSet set = new HashSet<>(); + for (LinearRing originalRing : pair.getValue1()) { + set.add(handler.getCopyInstance(originalRing)); + } + SerializablePair> copyPair = new SerializablePair<>(geomCopy, set); + adjacentRings.add(copyPair); + } + } + } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java index 9a551a35aa6cd38ee583e407603281ede3ea497c..c48e88042fd5e0eb98d5a803fa4a2646d69ab81a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,155 +18,153 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import java.io.Serial; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; +import de.hft.stuttgart.citydoctor2.utils.CopyHandler; +import de.hft.stuttgart.citydoctor2.utils.Copyable; import org.citygml4j.core.model.core.AbstractCityObject; import org.citygml4j.core.model.waterbody.WaterBody; import org.citygml4j.core.util.geometry.GeometryFactory; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; -import de.hft.stuttgart.citydoctor2.utils.CopyHandler; -import de.hft.stuttgart.citydoctor2.utils.Copyable; +import java.io.Serial; +import java.util.ArrayList; +import java.util.List; /** * Represents cityGML water body objects. - * - * @author Matthias Betz * + * @author Matthias Betz */ public class WaterObject extends CityObject { - @Serial - private static final long serialVersionUID = -3821060595086337424L; - - private WaterBody gmlWater; - private final List boundarySurfaceList = new ArrayList<>(); - - @Override - public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { - for (Geometry geom : getGeometries()) { - if (geom.getType() == GeometryType.MULTI_SURFACE) { - MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); - if (geom.getLod() == Lod.LOD0) { - gmlWater.setLod0MultiSurface(new MultiSurfaceProperty(ms)); - } else if (geom.getLod() == Lod.LOD1) { - gmlWater.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); - } else { - throw new IllegalStateException( - "Cannot add MultiSurface geometry with lod to WaterBody:" + geom.getLod()); - } - } else { - throw new IllegalStateException("Cannot add Solid geometry to WaterBody"); - } - } - } - - /** - * Getter for all boundary surfaces contained in this building. - * - * @return the boundary surfaces - */ - public List getBoundarySurfaces() { - return boundarySurfaceList; - } - - public void addBoundarySurface(BoundarySurface bs) { - boundarySurfaceList.add(bs); - bs.setParent(this); - } - - @Override - public FeatureType getFeatureType() { - return FeatureType.WATER; - } - - @Override - public void accept(Check c) { - super.accept(c); - if (c.canExecute(this)) { - c.check(this); - } - for (BoundarySurface bs : boundarySurfaceList) { - bs.accept(c); - } - } - - @Override - public AbstractCityObject getGmlObject() { - return gmlWater; - } - - @Override - public void unsetGmlGeometries() { - gmlWater.setLod0MultiSurface(null); - gmlWater.getDeprecatedProperties().setLod1MultiSurface(null); - } - - public void setGmlObject(WaterBody waterBody) { - gmlWater = waterBody; - } - - @Override - public String toString() { - return "WaterObject [id=" + getGmlId() + "]"; - } - - @Override - public WaterObject createCopyInstance() { - return new WaterObject(); - } - - @Override - public void fillValues(Copyable original, CopyHandler handler) { - WaterObject wo = (WaterObject) original; - WaterObject originalWaterObject = (WaterObject) original; - for (BoundarySurface originalBs : originalWaterObject.boundarySurfaceList) { - boundarySurfaceList.add(handler.getCopyInstance(originalBs)); - } - gmlWater = wo.gmlWater; - - } - - @Override - public boolean containsAnyError() { - boolean hasError = super.containsAnyError(); - if (hasError) { - return true; - } - for (BoundarySurface bs : boundarySurfaceList) { - if (bs.containsAnyError()) { - return true; - } - } - return false; - } - - @Override - public void collectInstances(CopyHandler handler) { - super.collectInstances(handler); - handler.addInstance(boundarySurfaceList); - } - - @Override - public void clearMetaInformation() { - super.clearMetaInformation(); - for (BoundarySurface bs : boundarySurfaceList) { - bs.clearMetaInformation(); - } - } - - @Override - public void prepareForChecking() { - super.prepareForChecking(); - for (BoundarySurface bs : boundarySurfaceList) { - bs.prepareForChecking(); - } - } + @Serial + private static final long serialVersionUID = -3821060595086337424L; + + private WaterBody gmlWater; + private final List boundarySurfaceList = new ArrayList<>(); + + @Override + public void reCreateGeometries(GeometryFactory factory, ParserConfiguration config) { + for (Geometry geom : getGeometries()) { + if (geom.getType() == GeometryType.MULTI_SURFACE) { + MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config); + if (geom.getLod() == Lod.LOD0) { + gmlWater.setLod0MultiSurface(new MultiSurfaceProperty(ms)); + } else if (geom.getLod() == Lod.LOD1) { + gmlWater.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms)); + } else { + throw new IllegalStateException( + "Cannot add MultiSurface geometry with lod to WaterBody:" + geom.getLod()); + } + } else { + throw new IllegalStateException("Cannot add Solid geometry to WaterBody"); + } + } + } + + /** + * Getter for all boundary surfaces contained in this building. + * + * @return the boundary surfaces + */ + public List getBoundarySurfaces() { + return boundarySurfaceList; + } + + public void addBoundarySurface(BoundarySurface bs) { + boundarySurfaceList.add(bs); + bs.setParent(this); + } + + @Override + public FeatureType getFeatureType() { + return FeatureType.WATER; + } + + @Override + public void accept(Check c) { + super.accept(c); + if (c.canExecute(this)) { + c.check(this); + } + for (BoundarySurface bs : boundarySurfaceList) { + bs.accept(c); + } + } + + @Override + public AbstractCityObject getGmlObject() { + return gmlWater; + } + + @Override + public void unsetGmlGeometries() { + gmlWater.setLod0MultiSurface(null); + gmlWater.getDeprecatedProperties().setLod1MultiSurface(null); + } + + public void setGmlObject(WaterBody waterBody) { + gmlWater = waterBody; + } + + @Override + public String toString() { + return "WaterObject [id=" + getGmlId() + "]"; + } + + @Override + public WaterObject createCopyInstance() { + return new WaterObject(); + } + + @Override + public void fillValues(Copyable original, CopyHandler handler) { + WaterObject wo = (WaterObject) original; + WaterObject originalWaterObject = (WaterObject) original; + for (BoundarySurface originalBs : originalWaterObject.boundarySurfaceList) { + boundarySurfaceList.add(handler.getCopyInstance(originalBs)); + } + gmlWater = wo.gmlWater; + + } + + @Override + public boolean containsAnyError() { + boolean hasError = super.containsAnyError(); + if (hasError) { + return true; + } + for (BoundarySurface bs : boundarySurfaceList) { + if (bs.containsAnyError()) { + return true; + } + } + return false; + } + + @Override + public void collectInstances(CopyHandler handler) { + super.collectInstances(handler); + handler.addInstance(boundarySurfaceList); + } + + @Override + public void clearMetaInformation() { + super.clearMetaInformation(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.clearMetaInformation(); + } + } + + @Override + public void prepareForChecking() { + super.prepareForChecking(); + for (BoundarySurface bs : boundarySurfaceList) { + bs.prepareForChecking(); + } + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java index 6b0cb62e8e7ebfb14a0674cd6f533c0b07bdabab..881ca6b1f91526f4f0ac7140324b5b149508bda4 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,48 +18,38 @@ */ package de.hft.stuttgart.citydoctor2.mapper.citygml3; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - +import de.hft.stuttgart.citydoctor2.datastructure.AbstractBuilding; +import de.hft.stuttgart.citydoctor2.datastructure.AbstractTunnel; +import de.hft.stuttgart.citydoctor2.datastructure.BridgeConstructiveElement; +import de.hft.stuttgart.citydoctor2.datastructure.*; +import de.hft.stuttgart.citydoctor2.datastructure.Building; +import de.hft.stuttgart.citydoctor2.datastructure.BuildingPart; +import de.hft.stuttgart.citydoctor2.datastructure.BuildingRoom; +import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; +import de.hft.stuttgart.citydoctor2.datastructure.Polygon; +import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject.BridgeType; +import de.hft.stuttgart.citydoctor2.datastructure.TunnelConstructiveElement; +import de.hft.stuttgart.citydoctor2.datastructure.TunnelFurniture; +import de.hft.stuttgart.citydoctor2.datastructure.TunnelPart; +import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject.TransportationType; +import de.hft.stuttgart.citydoctor2.datastructure.Vegetation.VegetationType; +import de.hft.stuttgart.citydoctor2.math.graph.KDTree; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.Localization; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.citygml4j.core.model.CityGMLVersion; -import org.citygml4j.core.model.bridge.AbstractBridge; -import org.citygml4j.core.model.bridge.Bridge; -import org.citygml4j.core.model.bridge.BridgeConstructiveElementProperty; -import org.citygml4j.core.model.bridge.BridgeInstallation; -import org.citygml4j.core.model.bridge.BridgeInstallationProperty; -import org.citygml4j.core.model.bridge.BridgePart; -import org.citygml4j.core.model.bridge.BridgePartProperty; -import org.citygml4j.core.model.building.BuildingInstallationProperty; -import org.citygml4j.core.model.building.BuildingPartProperty; +import org.citygml4j.core.model.bridge.*; +import org.citygml4j.core.model.building.BuildingUnit; +import org.citygml4j.core.model.building.Storey; +import org.citygml4j.core.model.building.*; import org.citygml4j.core.model.construction.AbstractConstruction; -import org.citygml4j.core.model.core.AbstractCityObject; -import org.citygml4j.core.model.core.AbstractFeatureWithLifespan; -import org.citygml4j.core.model.core.AbstractOccupiedSpace; -import org.citygml4j.core.model.core.AbstractPhysicalSpace; -import org.citygml4j.core.model.core.AbstractSpace; -import org.citygml4j.core.model.core.AbstractSpaceBoundary; -import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; -import org.citygml4j.core.model.core.AbstractThematicSurface; -import org.citygml4j.core.model.core.AbstractUnoccupiedSpace; -import org.citygml4j.core.model.core.CityModel; +import org.citygml4j.core.model.core.*; import org.citygml4j.core.model.deprecated.transportation.TransportationComplex; import org.citygml4j.core.model.landuse.LandUse; -import org.citygml4j.core.model.transportation.AbstractTransportationSpace; -import org.citygml4j.core.model.transportation.AuxiliaryTrafficArea; -import org.citygml4j.core.model.transportation.AuxiliaryTrafficSpace; -import org.citygml4j.core.model.transportation.AuxiliaryTrafficSpaceProperty; -import org.citygml4j.core.model.transportation.Railway; -import org.citygml4j.core.model.transportation.Road; -import org.citygml4j.core.model.transportation.Square; -import org.citygml4j.core.model.transportation.Track; -import org.citygml4j.core.model.transportation.TrafficArea; -import org.citygml4j.core.model.transportation.TrafficSpace; -import org.citygml4j.core.model.transportation.TrafficSpaceProperty; +import org.citygml4j.core.model.transportation.*; +import org.citygml4j.core.model.tunnel.Tunnel; +import org.citygml4j.core.model.tunnel.*; import org.citygml4j.core.model.vegetation.AbstractVegetationObject; import org.citygml4j.core.model.vegetation.PlantCover; import org.citygml4j.core.model.vegetation.SolitaryVegetationObject; @@ -71,727 +61,1198 @@ import org.xmlobjects.gml.model.geometry.AbstractGeometry; import org.xmlobjects.gml.model.geometry.GeometryProperty; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; -import org.xmlobjects.gml.model.geometry.primitives.AbstractSolid; -import org.xmlobjects.gml.model.geometry.primitives.AbstractSurface; -import org.xmlobjects.gml.model.geometry.primitives.Shell; -import org.xmlobjects.gml.model.geometry.primitives.ShellProperty; -import org.xmlobjects.gml.model.geometry.primitives.Solid; -import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; -import org.xmlobjects.gml.model.geometry.primitives.SurfaceProperty; +import org.xmlobjects.gml.model.geometry.complexes.CompositeSurface; +import org.xmlobjects.gml.model.geometry.primitives.*; -import de.hft.stuttgart.citydoctor2.datastructure.AbstractBuilding; -import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; -import de.hft.stuttgart.citydoctor2.datastructure.BridgeConstructiveElement; -import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject; -import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject.BridgeType; -import de.hft.stuttgart.citydoctor2.datastructure.Building; -import de.hft.stuttgart.citydoctor2.datastructure.BuildingPart; -import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; -import de.hft.stuttgart.citydoctor2.datastructure.CityObject; -import de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon; -import de.hft.stuttgart.citydoctor2.datastructure.Geometry; -import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; -import de.hft.stuttgart.citydoctor2.datastructure.GmlElement; -import de.hft.stuttgart.citydoctor2.datastructure.GmlId; -import de.hft.stuttgart.citydoctor2.datastructure.Installation; -import de.hft.stuttgart.citydoctor2.datastructure.LandObject; -import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; -import de.hft.stuttgart.citydoctor2.datastructure.LinkedPolygon; -import de.hft.stuttgart.citydoctor2.datastructure.Lod; -import de.hft.stuttgart.citydoctor2.datastructure.Opening; -import de.hft.stuttgart.citydoctor2.datastructure.Polygon; -import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject; -import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject.TransportationType; -import de.hft.stuttgart.citydoctor2.datastructure.Vegetation; -import de.hft.stuttgart.citydoctor2.datastructure.Vegetation.VegetationType; -import de.hft.stuttgart.citydoctor2.datastructure.Vertex; -import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; -import de.hft.stuttgart.citydoctor2.math.graph.KDTree; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.Localization; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class Citygml3FeatureMapper extends ObjectWalker { - private static final Logger logger = LogManager.getLogger(Citygml3FeatureMapper.class); - - private final CityDoctorModel model; - - private Map polygonMap = new HashMap<>(); - private List references = new ArrayList<>(); - private Map vertexMap = new HashMap<>(); - private final ParserConfiguration config; - - private final double neighborDistance; - - public Citygml3FeatureMapper(ParserConfiguration config, Path path) { - this.config = config; - model = new CityDoctorModel(config, path.toFile()); - neighborDistance = 1.8d / Math.pow(10, config.getNumberOfRoundingPlaces()); - } - - @Override - public void visit(AbstractSpace space) { - // if we are here, an AbstractSpace thing was read that is not handled in the - // other methods - - } - - @Override - public void visit(org.citygml4j.core.model.building.Building gmlBuilding) { - Building cdBuilding = new Building(); - readAbstractBuilding(gmlBuilding, cdBuilding); - for (BuildingPartProperty bpProp : gmlBuilding.getBuildingParts()) { - if (!bpProp.isSetObject()) { - continue; - } - BuildingPart part = new BuildingPart(cdBuilding); - readAbstractBuilding(bpProp.getObject(), part); - } - model.addBuilding(cdBuilding); - } - - @Override - public void visit(WaterBody waterBody) { - WaterObject wo = new WaterObject(); - wo.setGmlObject(waterBody); - mapAbstractOccupiedSpace(waterBody, wo); - parseAndAddMultiSurface(waterBody.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, wo); - parseAndAddSolid(waterBody.getDeprecatedProperties().getLod4Solid(), Lod.LOD4, wo); - - SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, vertexMap, config); - for (AbstractSpaceBoundaryProperty surfaceProp : waterBody.getBoundaries()) { - if (!surfaceProp.isSetObject()) { - continue; - } - AbstractSpaceBoundary surface = surfaceProp.getObject(); - surface.accept(surfaceMapper); - } - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - wo.addBoundarySurface(bs); - } - - resolveAndClearReferences(); - wo.unsetGmlGeometries(); - updateEdgesAndVertices(wo); - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - updateEdgesAndVertices(bs); - } - model.addWater(wo); - } - - @Override - public void visit(LandUse landUse) { - LandObject lo = new LandObject(landUse); - - mapAbstractThematicSurface(landUse, lo); - - finishCityObjectConstruction(lo); - model.addLand(lo); - } - - @Override - public void visit(PlantCover plantCover) { - Vegetation veg = new Vegetation(VegetationType.PLANT_COVER); - veg.setGmlObject(plantCover); - mapAbstractVegetationObject(plantCover, veg); - - parseAndAddMultiSurface(plantCover.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, veg); - parseAndAddMultiSurface(plantCover.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, veg); - - finishCityObjectConstruction(veg); - model.addVegetation(veg); - } - - @Override - public void visit(SolitaryVegetationObject solitaryVegetationObject) { - Vegetation veg = new Vegetation(VegetationType.SOLITARY_VEGETATION_OBJECT); - veg.setGmlObject(solitaryVegetationObject); - mapAbstractVegetationObject(solitaryVegetationObject, veg); - - parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod1Geometry(), Lod.LOD1, veg); - parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod2Geometry(), Lod.LOD2, veg); - parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod3Geometry(), Lod.LOD3, veg); - parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod4Geometry(), Lod.LOD4, veg); - - finishCityObjectConstruction(veg); - model.addVegetation(veg); - } - - private void mapAbstractVegetationObject(AbstractVegetationObject avo, Vegetation veg) { - mapAbstractOccupiedSpace(avo, veg); - } - - private void mapAbstractOccupiedSpace(AbstractOccupiedSpace aos, CityObject co) { - mapAbstractPhysicalSpace(aos, co); - } - - private void mapAbstractPhysicalSpace(AbstractPhysicalSpace aps, CityObject co) { - mapAbstractSpace(aps, co); - } - - private void mapAbstractSpace(AbstractSpace as, CityObject co) { - mapAbstractFeature(as, co); - parseAndAddMultiSurface(as.getLod0MultiSurface(), Lod.LOD0, co); - parseAndAddMultiSurface(as.getLod2MultiSurface(), Lod.LOD2, co); - parseAndAddMultiSurface(as.getLod3MultiSurface(), Lod.LOD3, co); - parseAndAddSolid(as.getLod1Solid(), Lod.LOD1, co); - parseAndAddSolid(as.getLod2Solid(), Lod.LOD2, co); - parseAndAddSolid(as.getLod3Solid(), Lod.LOD3, co); - } - - @Override - public void visit(Bridge bridge) { - BridgeObject bo = new BridgeObject(BridgeType.BRIDGE, bridge); - for (BridgePartProperty bPartProperty : bridge.getBridgeParts()) { - if (!bPartProperty.isSetObject()) { - continue; - } - BridgePart gmlBridgePart = bPartProperty.getObject(); - BridgeObject bPart = new BridgeObject(BridgeType.BRIDGE_PART, gmlBridgePart); - mapAbstractBridge(gmlBridgePart, bPart); - bo.addBridgePart(bPart); - } - mapAbstractBridge(bridge, bo); - resolveAndClearReferences(); - updateEdgesAndVertices(bo); - for (BridgeObject part : bo.getParts()) { - updateEdgesAndVertices(part); - } - for (BridgeConstructiveElement ele : bo.getConstructiveElements()) { - updateEdgesAndVertices(ele); - for (BoundarySurface bs : ele.getBoundarySurfaces()) { - updateEdgesAndVertices(bs); - } - } - for (Installation bi : bo.getBridgeInstallations()) { - updateEdgesAndVertices(bi); - for (BoundarySurface bs : bi.getBoundarySurfaces()) { - updateEdgesAndVertices(bs); - } - } - model.addBridge(bo); - } - - private void mapAbstractBridge(AbstractBridge ab, BridgeObject bo) { - mapAbstractConstruction(ab, bo); - for (BridgeConstructiveElementProperty eleProp : ab.getBridgeConstructiveElements()) { - if (!eleProp.isSetObject()) { - continue; - } - org.citygml4j.core.model.bridge.BridgeConstructiveElement constructiveElement = eleProp.getObject(); - BridgeConstructiveElement cdEle = new BridgeConstructiveElement(constructiveElement); - mapConstructiveElement(constructiveElement, cdEle); - bo.addConstructiveElement(cdEle); - } - - List bridgeInstallations = ab.getBridgeInstallations(); - for (BridgeInstallationProperty installationProp : bridgeInstallations) { - var gmlBi = installationProp.getObject(); - if (gmlBi == null) { - // ignore empty properties - continue; - } - Installation bi = mapBridgeInstallation(gmlBi); - bo.addBridgeInstallation(bi); - } - - SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, vertexMap, config); - for (AbstractSpaceBoundaryProperty surfaceProp : ab.getBoundaries()) { - if (!surfaceProp.isSetObject()) { - continue; - } - AbstractSpaceBoundary surface = surfaceProp.getObject(); - surface.accept(surfaceMapper); - } - updatePartOfSurface(bo, surfaceMapper); - - for (BoundarySurface bs : bo.getBoundarySurfaces()) { - updateEdgesAndVertices(bs); - } - - bo.unsetGmlGeometries(); - } - - private Installation mapBridgeInstallation(BridgeInstallation gmlBi) { - Installation bi = new Installation(); - bi.setGmlObject(gmlBi); - mapAbstractOccupiedSpace(gmlBi, bi); - GeometryProperty lod2Prop = gmlBi.getDeprecatedProperties().getLod2Geometry(); - parseAndAddAbstractGeometry(lod2Prop, Lod.LOD2, bi); - GeometryProperty lod3Prop = gmlBi.getDeprecatedProperties().getLod3Geometry(); - parseAndAddAbstractGeometry(lod3Prop, Lod.LOD3, bi); - GeometryProperty lod4Prop = gmlBi.getDeprecatedProperties().getLod4Geometry(); - parseAndAddAbstractGeometry(lod4Prop, Lod.LOD4, bi); - bi.unsetGmlGeometries(); - - SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, vertexMap, config); - for (AbstractSpaceBoundaryProperty surfaceProp : gmlBi.getBoundaries()) { - if (!surfaceProp.isSetObject()) { - continue; - } - AbstractSpaceBoundary surface = surfaceProp.getObject(); - surface.accept(surfaceMapper); - } - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - bi.addBoundarySurface(bs); - for (Geometry geom : bs.getGeometries()) { - for (Polygon p : geom.getPolygons()) { - p.setPartOfSurface(bs); - p.setPartOfInstallation(bi); - } - } - } - for (Geometry geom : bi.getGeometries()) { - for (Polygon p : geom.getPolygons()) { - p.setPartOfInstallation(bi); - } - } - - return bi; - } - - private void updatePartOfSurface(BridgeObject bo, SurfaceMapper surfaceMapper) { - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - bo.addBoundarySurface(bs); - for (Geometry geom : bs.getGeometries()) { - for (Polygon p : geom.getPolygons()) { - p.setPartOfSurface(bs); - } - } - } - } - - private void mapConstructiveElement(org.citygml4j.core.model.bridge.BridgeConstructiveElement ele, BridgeConstructiveElement bce) { - mapAbstractConstructiveElement(ele, bce); - - SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, vertexMap, config); - for (AbstractSpaceBoundaryProperty surfaceProp : ele.getBoundaries()) { - if (!surfaceProp.isSetObject()) { - continue; - } - AbstractSpaceBoundary surface = surfaceProp.getObject(); - surface.accept(surfaceMapper); - } - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - bce.addBoundarySurface(bs); - } - } - - private void mapAbstractConstructiveElement(org.citygml4j.core.model.bridge.BridgeConstructiveElement ele, BridgeConstructiveElement bce) { - mapAbstractOccupiedSpace(ele, bce); - } - - private void mapAbstractConstruction(AbstractConstruction ac, BridgeObject bo) { - mapAbstractOccupiedSpace(ac, bo); - } - - @Override - public void visit(AuxiliaryTrafficArea ata) { - TransportationObject to = new TransportationObject(TransportationType.AUXILLIARY_TRAFFIC_AREA); - mapAbstractThematicSurface(ata, to); - finishTransportationMapping(to); - } - - @Override - public void visit(TrafficArea ta) { - TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); - mapAbstractThematicSurface(ta, to); - finishTransportationMapping(to); - } - - @Override - public void visit(Road road) { - TransportationObject to = new TransportationObject(TransportationType.ROAD); - mapAbstractTransportationSpace(road, to); - finishTransportationMapping(to); - } - - private void mapAbstractThematicSurface(AbstractThematicSurface ats, CityObject co) { - mapAbstractSpaceBoundary(ats, co); - parseAndAddMultiSurface(ats.getLod0MultiSurface(), Lod.LOD0, co); - parseAndAddMultiSurface(ats.getLod1MultiSurface(), Lod.LOD1, co); - parseAndAddMultiSurface(ats.getLod2MultiSurface(), Lod.LOD2, co); - parseAndAddMultiSurface(ats.getLod3MultiSurface(), Lod.LOD3, co); - parseAndAddMultiSurface(ats.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, co); - } - - private void mapAbstractSpaceBoundary(AbstractSpaceBoundary asb, CityObject co) { - mapAbstractCityObject(asb, co); - } - - private void mapAbstractCityObject(AbstractCityObject aco, CityObject to) { - mapAbstractFeatureWithLifespan(aco, to); - } - - private void mapAbstractFeatureWithLifespan(AbstractFeatureWithLifespan afwl, CityObject to) { - mapAbstractFeature(afwl, to); - } - - private void mapAbstractFeature(AbstractFeature af, CityObject to) { - mapAbstractGML(af, to); - } - - private void mapAbstractGML(AbstractGML ag, CityObject to) { - parseId(ag, to); - } - - @Override - public void visit(Railway railway) { - TransportationObject to = new TransportationObject(TransportationType.RAILWAY); - mapAbstractTransportationSpace(railway, to); - finishTransportationMapping(to); - } - - @Override - public void visit(Square square) { - TransportationObject to = new TransportationObject(TransportationType.SQUARE); - mapAbstractTransportationSpace(square, to); - finishTransportationMapping(to); - } - - @Override - public void visit(Track track) { - TransportationObject to = new TransportationObject(TransportationType.TRACK); - mapAbstractTransportationSpace(track, to); - finishTransportationMapping(to); - } - - @Override - public void visit(TransportationComplex transportationComplex) { - TransportationObject to = new TransportationObject(TransportationType.TRANSPORTATION_COMPLEX); - mapAbstractTransportationSpace(transportationComplex, to); - finishTransportationMapping(to); - } - - private void finishTransportationMapping(TransportationObject to) { - finishCityObjectConstruction(to); - model.addTransportation(to); - } - - private void finishCityObjectConstruction(CityObject co) { - co.unsetGmlGeometries(); - resolveAndClearReferences(); - updateEdgesAndVertices(co); - } - - private void mapAbstractTransportationSpace(AbstractTransportationSpace ats, TransportationObject to) { - to.setGmlObject(ats); - parseAbstractTransportationSpaceGeometries(ats, to); - for (TrafficSpaceProperty tsp : ats.getTrafficSpaces()) { - if (tsp.isSetObject()) { - TransportationObject trafficSpace = new TransportationObject(TransportationType.TRAFFIC_SPACE); - mapTrafficSpace(tsp.getObject(), trafficSpace); - finishTransportationMapping(trafficSpace); - to.getChildren().add(trafficSpace); - } - } - for (AuxiliaryTrafficSpaceProperty auxTrafficProp : ats.getAuxiliaryTrafficSpaces()) { - if (auxTrafficProp.isSetObject()) { - TransportationObject trafficSpace = parseAuxiliaryTrafficSpace(auxTrafficProp.getObject()); - finishTransportationMapping(trafficSpace); - to.addChild(trafficSpace); - } - } - } - - private void mapTrafficSpace(TrafficSpace ts, TransportationObject to) { - mapAbstractUnoccupiedSpace(ts, to); - } - - private void mapAbstractUnoccupiedSpace(AbstractUnoccupiedSpace aus, TransportationObject to) { - mapAbstractPhysicalSpace(aus, to); - } - - private TransportationObject parseAuxiliaryTrafficSpace(AuxiliaryTrafficSpace ats) { - TransportationObject to = new TransportationObject(TransportationType.AUXILLIARY_TRAFFIC_SPACE); - parseAbstractSpaceGeometries(ats, to); - finishCityObjectConstruction(to); - return to; - } - - private void parseAbstractTransportationSpaceGeometries(AbstractTransportationSpace space, CityObject co) { - parseAndAddMultiSurface(space.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, co); - parseAndAddMultiSurface(space.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, co); - } - - private void parseAbstractSpaceGeometries(AbstractSpace as, CityObject co) { - parseAndAddMultiSurface(as.getLod0MultiSurface(), Lod.LOD0, co); - parseAndAddMultiSurface(as.getLod2MultiSurface(), Lod.LOD2, co); - parseAndAddMultiSurface(as.getLod3MultiSurface(), Lod.LOD3, co); - parseAndAddSolid(as.getLod1Solid(), Lod.LOD1, co); - parseAndAddSolid(as.getLod2Solid(), Lod.LOD2, co); - parseAndAddSolid(as.getLod3Solid(), Lod.LOD3, co); - } - - private void parseAndAddMultiSurface(MultiSurfaceProperty msp, Lod lod, CityObject co) { - if (msp == null || msp.getObject() == null) { - return; - } - Geometry geom = parseMultiSurface(msp.getObject(), lod); - co.addGeometry(geom); - } - - private void parseAndAddSolid(SolidProperty sp, Lod lod, CityObject co) { - if (sp == null || sp.getObject() == null) { - return; - } - Geometry geom = parseSolid(sp.getObject(), lod); - if (geom != null) { - co.addGeometry(geom); - } - } - - private void resolveAndClearReferences() { - for (ResolvableReference ref : references) { - String href = ref.href(); - if (href.startsWith("#")) { - href = href.substring(1); - } - Geometry geom = ref.geometry(); - ConcretePolygon concPoly = polygonMap.get(href); - if (concPoly == null) { - if (logger.isWarnEnabled()) { - logger.warn(Localization.getText("FeatureMapper.polygonUnreferenced"), href); - } - continue; - } - LinkedPolygon lPoly = new LinkedPolygon(concPoly, geom); - if (geom.getParent() instanceof BoundarySurface bs) { - lPoly.setPartOfSurface(bs); - if (bs.getParent() instanceof Installation bi) { - lPoly.setPartOfInstallation(bi); - } - } - geom.addPolygon(lPoly); - } - - // clear storage for polygons and vertices - // probably faster than .clear() ? - references = new ArrayList<>(); - vertexMap = new HashMap<>(); - polygonMap = new HashMap<>(); - } - - private void readAbstractBuilding(org.citygml4j.core.model.building.AbstractBuilding gmlAb, - AbstractBuilding cdBuilding) { - mapAbstractOccupiedSpace(gmlAb, cdBuilding); - cdBuilding.setGmlObject(gmlAb); - - // parse deprecated geometries - parseAndAddMultiSurface(gmlAb.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, cdBuilding); - parseAndAddMultiSurface(gmlAb.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, cdBuilding); - parseAndAddSolid(gmlAb.getDeprecatedProperties().getLod4Solid(), Lod.LOD4, cdBuilding); - - for (BuildingInstallationProperty biProp : gmlAb.getBuildingInstallations()) { - var gmlBi = biProp.getObject(); - if (gmlBi == null) { - // ignore empty properties - continue; - } - Installation bi = mapBuildingInstallation(gmlBi); - cdBuilding.addBuildingInstallation(bi); - } - - SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, vertexMap, config); - for (AbstractSpaceBoundaryProperty surfaceProp : gmlAb.getBoundaries()) { - if (!surfaceProp.isSetObject()) { - continue; - } - AbstractSpaceBoundary surface = surfaceProp.getObject(); - surface.accept(surfaceMapper); - } - updatePartOfSurface(cdBuilding, surfaceMapper); - - cdBuilding.unsetGmlGeometries(); - resolveAndClearReferences(); - updateEdgesAndVertices(cdBuilding); - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - updateEdgesAndVertices(bs); - for (Opening o : bs.getOpenings()) { - updateEdgesAndVertices(o); - } - } - for (Installation bi : cdBuilding.getBuildingInstallations()) { - updateEdgesAndVertices(bi); - for (BoundarySurface bs : bi.getBoundarySurfaces()) { - updateEdgesAndVertices(bs); - for (Opening o : bs.getOpenings()) { - updateEdgesAndVertices(o); - } - } - } - } - - private void updatePartOfSurface(AbstractBuilding cdBuilding, SurfaceMapper surfaceMapper) { - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - cdBuilding.addBoundarySurface(bs); - for (Geometry geom : bs.getGeometries()) { - for (Polygon p : geom.getPolygons()) { - p.setPartOfSurface(bs); - } - } - } - } - - public static void parseId(AbstractGML gml, GmlElement gmlElement) { - String id = gml.getId(); - if (id != null) { - gmlElement.setGmlId(new GmlId(id)); - } - } - - private Installation mapBuildingInstallation(org.citygml4j.core.model.building.BuildingInstallation gmlBi) { - Installation bi = new Installation(); - bi.setGmlObject(gmlBi); - mapAbstractOccupiedSpace(gmlBi, bi); - GeometryProperty lod2Prop = gmlBi.getDeprecatedProperties().getLod2Geometry(); - parseAndAddAbstractGeometry(lod2Prop, Lod.LOD2, bi); - GeometryProperty lod3Prop = gmlBi.getDeprecatedProperties().getLod3Geometry(); - parseAndAddAbstractGeometry(lod3Prop, Lod.LOD3, bi); - GeometryProperty lod4Prop = gmlBi.getDeprecatedProperties().getLod4Geometry(); - parseAndAddAbstractGeometry(lod4Prop, Lod.LOD4, bi); - bi.unsetGmlGeometries(); - - SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, vertexMap, config); - for (AbstractSpaceBoundaryProperty surfaceProp : gmlBi.getBoundaries()) { - if (!surfaceProp.isSetObject()) { - continue; - } - AbstractSpaceBoundary surface = surfaceProp.getObject(); - surface.accept(surfaceMapper); - } - for (BoundarySurface bs : surfaceMapper.getSurfaces()) { - bi.addBoundarySurface(bs); - for (Geometry geom : bs.getGeometries()) { - for (Polygon p : geom.getPolygons()) { - p.setPartOfSurface(bs); - p.setPartOfInstallation(bi); - } - } - } - for (Geometry geom : bi.getGeometries()) { - for (Polygon p : geom.getPolygons()) { - p.setPartOfInstallation(bi); - } - } - - return bi; - } - - private void parseAndAddAbstractGeometry(GeometryProperty geomProp, Lod lod, CityObject co) { - if (geomProp == null || geomProp.getObject() == null) { - return; - } - AbstractGeometry abstractGeometry = geomProp.getObject(); - if (abstractGeometry instanceof MultiSurface ms) { - Geometry geom = parseMultiSurface(ms, lod); - co.addGeometry(geom); - } else if (abstractGeometry instanceof Solid solid) { - Geometry geom = parseSolid(solid, lod); - if (geom != null) { - co.addGeometry(geom); - } - } else { - logger.warn("Cannot handle geometry type {}, ignoring", abstractGeometry.getClass().getSimpleName()); - } - } - - private Geometry parseSolid(AbstractSolid abstractSolid, Lod lod) { - if (abstractSolid instanceof Solid s) { - return handleSolidGeometry(s, lod); - } else { - logger.warn("Cannot handle solid class {}, can only process pure solids", - abstractSolid.getClass().getSimpleName()); - return null; - } - } - - private Geometry handleSolidGeometry(Solid solid, Lod lod) { - ShellProperty exteriorProperty = solid.getExterior(); - if (exteriorProperty == null || exteriorProperty.getObject() == null) { - logger.warn("Found solid {} without exterior hull, ignoring", solid.getId()); - return null; - } - Geometry geom = new Geometry(GeometryType.SOLID, lod); - Shell exterior = solid.getExterior().getObject(); - Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); - readSurfaceMember(geom, geometryMapper, exterior.getSurfaceMembers()); - return geom; - } - - private Geometry parseMultiSurface(MultiSurface ms, Lod lod) { - Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, lod); - Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); - readSurfaceMember(geom, geometryMapper, ms.getSurfaceMember()); - return geom; - } - - private void readSurfaceMember(Geometry geom, Citygml3GeometryMapper geometryMapper, - List surfaceMember) { - for (SurfaceProperty prop : surfaceMember) { - if (prop.getHref() != null) { - references.add(new ResolvableReference(prop.getHref(), geom)); - continue; - } - if (prop.getObject() != null) { - AbstractSurface as = prop.getObject(); - as.accept(geometryMapper); - } - } - - List polygons = geometryMapper.getPolygons(); - - for (ConcretePolygon concretePoly : polygons) { - geom.addPolygon(concretePoly); - if (concretePoly.hasExistingGmlId()) { - polygonMap.put(concretePoly.getGmlId().getGmlString(), concretePoly); - } - } - } - - private void updateEdgesAndVertices(CityObject co) { - // searching for neighboring vertices, replacing them with one single vertex to - // avoid later problems with edges and manifold problems - for (Geometry geom : co.getGeometries()) { - KDTree tree = new KDTree(); - for (Polygon poly : geom.getPolygons()) { - LinearRing lr = poly.getExteriorRing(); - updateRing(tree, lr); - for (LinearRing innerRing : poly.getInnerRings()) { - updateRing(tree, innerRing); - } - } - if (!config.useLowMemoryConsumption()) { - // no low memory consumption mode meaning create all meta information in - // geometry - geom.updateEdgesAndVertices(); - } - } - } - - private void updateRing(KDTree tree, LinearRing lr) { - for (int i = 0; i < lr.getVertices().size(); i++) { - Vertex v = lr.getVertices().get(i); - List nodesInRange = tree.getNodesInRange(v, neighborDistance); - if (nodesInRange.isEmpty()) { - tree.add(v); - } else { - // replace other vertex with any neighboring one - Vertex original = nodesInRange.get(0); - lr.setVertex(i, original); - } - } - } - - public void setCityModel(CityModel cModel) { - model.setCityModel(cModel); - } - - public CityDoctorModel getModel() { - return model; - } - - public void setCityGMLVersion(CityGMLVersion cityGMLVersion) { - model.setParsedCityGMLVersion(cityGMLVersion); - } + private static final Logger logger = LogManager.getLogger(Citygml3FeatureMapper.class); + + private final CityDoctorModel model; + private final ParserConfiguration config; + private final Path directory; + private final double neighborDistance; + private Map polygonMap = new HashMap<>(); + private Map compositeMap = new HashMap<>(); + private List references = new ArrayList<>(); + private Map vertexMap = new HashMap<>(); + + public Citygml3FeatureMapper(ParserConfiguration config, Path path) { + this.config = config; + this.directory = path.getParent(); + model = new CityDoctorModel(config, path.toFile()); + neighborDistance = 1.8d / Math.pow(10, config.getNumberOfRoundingPlaces()); + } + + public static void parseId(AbstractGML gml, GmlElement gmlElement) { + String id = gml.getId(); + if (id != null) { + gmlElement.setGmlId(new GmlId(id)); + } + } + + @Override + public void visit(AbstractSpace space) { + // if we are here, an AbstractSpace thing was read that is not handled in the + // other methods + + } + + @Override + public void visit(org.citygml4j.core.model.cityfurniture.CityFurniture gmlCityFurniture) { + CityFurniture cf = new CityFurniture(); + cf.setGmlObject(gmlCityFurniture); + mapAbstractOccupiedSpace(gmlCityFurniture, cf); + resolveAndClearReferences(); + cf.unsetGmlGeometries(); + updateEdgesAndVertices(cf); + model.addCityFurniture(cf); + } + + @Override + public void visit(org.citygml4j.core.model.generics.GenericOccupiedSpace gos) { + GenericCityObject gco = new GenericCityObject(); + gco.setGmlObject(gos); + GeometryProperty agLod1 = gos.getDeprecatedProperties().getLod1Geometry(); + GeometryProperty agLod4 = gos.getDeprecatedProperties().getLod4Geometry(); + if (agLod1 != null && agLod1.getObject() != null && + agLod1.getObject() instanceof MultiSurface ms) { + gco.addGeometry(parseMultiSurface(ms, Lod.LOD1)); + } + if (agLod4 != null && agLod4.getObject() != null) { + if (agLod4.getObject() instanceof MultiSurface ms) { + gco.addGeometry(parseMultiSurface(ms, Lod.LOD4)); + } else if (agLod4.getObject() instanceof AbstractSolid solid) { + gco.addGeometry(parseSolid(solid, Lod.LOD4)); + } + } + mapAbstractOccupiedSpace(gos, gco); + resolveAndClearReferences(); + gco.unsetGmlGeometries(); + updateEdgesAndVertices(gco); + model.addGenericCityObject(gco); + } + + @Override + public void visit(org.citygml4j.core.model.building.Building gmlBuilding) { + Building cdBuilding = new Building(); + readAbstractBuilding(gmlBuilding, cdBuilding); + for (BuildingPartProperty bpProp : gmlBuilding.getBuildingParts()) { + if (!bpProp.isSetObject()) { + continue; + } + BuildingPart part = new BuildingPart(cdBuilding); + readAbstractBuilding(bpProp.getObject(), part); + } + model.addBuilding(cdBuilding); + } + + @Override + public void visit(WaterBody waterBody) { + WaterObject wo = new WaterObject(); + wo.setGmlObject(waterBody); + mapAbstractOccupiedSpace(waterBody, wo); + parseAndAddMultiSurface(waterBody.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, wo); + parseAndAddSolid(waterBody.getDeprecatedProperties().getLod4Solid(), Lod.LOD4, wo); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : waterBody.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + wo.addBoundarySurface(bs); + } + + resolveAndClearReferences(); + wo.unsetGmlGeometries(); + updateEdgesAndVertices(wo); + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + updateEdgesAndVertices(bs); + } + model.addWater(wo); + } + + @Override + public void visit(LandUse landUse) { + LandObject lo = new LandObject(landUse); + + mapAbstractThematicSurface(landUse, lo); + + finishCityObjectConstruction(lo); + model.addLand(lo); + } + + @Override + public void visit(PlantCover plantCover) { + Vegetation veg = new Vegetation(VegetationType.PLANT_COVER); + veg.setGmlObject(plantCover); + mapAbstractVegetationObject(plantCover, veg); + + parseAndAddMultiSurface(plantCover.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, veg); + parseAndAddMultiSurface(plantCover.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, veg); + + finishCityObjectConstruction(veg); + model.addVegetation(veg); + } + + @Override + public void visit(SolitaryVegetationObject solitaryVegetationObject) { + Vegetation veg = new Vegetation(VegetationType.SOLITARY_VEGETATION_OBJECT); + veg.setGmlObject(solitaryVegetationObject); + mapAbstractVegetationObject(solitaryVegetationObject, veg); + + parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod1Geometry(), Lod.LOD1, veg); + parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod2Geometry(), Lod.LOD2, veg); + parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod3Geometry(), Lod.LOD3, veg); + parseAndAddAbstractGeometry(solitaryVegetationObject.getDeprecatedProperties().getLod4Geometry(), Lod.LOD4, veg); + + finishCityObjectConstruction(veg); + model.addVegetation(veg); + } + + private void mapAbstractVegetationObject(AbstractVegetationObject avo, Vegetation veg) { + mapAbstractOccupiedSpace(avo, veg); + } + + private void mapAbstractOccupiedSpace(AbstractOccupiedSpace aos, CityObject co) { + mapAbstractPhysicalSpace(aos, co); + parseImplicitGeometry(aos, co); + } + + private void mapAbstractPhysicalSpace(AbstractPhysicalSpace aps, CityObject co) { + mapAbstractSpace(aps, co); + } + + private void mapAbstractSpace(AbstractSpace as, CityObject co) { + mapAbstractFeature(as, co); + parseAndAddMultiSurface(as.getLod0MultiSurface(), Lod.LOD0, co); + parseAndAddMultiSurface(as.getLod2MultiSurface(), Lod.LOD2, co); + parseAndAddMultiSurface(as.getLod3MultiSurface(), Lod.LOD3, co); + parseAndAddSolid(as.getLod1Solid(), Lod.LOD1, co); + parseAndAddSolid(as.getLod2Solid(), Lod.LOD2, co); + parseAndAddSolid(as.getLod3Solid(), Lod.LOD3, co); + parseAndAddGenericAttributes(as, co); + } + + private void parseAndAddGenericAttributes(AbstractSpace as, CityObject co) { + for (AbstractGenericAttributeProperty aga : as.getGenericAttributes()) { + co.addGenericAttribute(new GenericAttribute(aga)); + } + } + + @Override + public void visit(Bridge bridge) { + BridgeObject bo = new BridgeObject(BridgeType.BRIDGE, bridge); + + + // parse deprecated geometries + parseAndAddMultiSurface(bridge.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, bo); + parseAndAddMultiSurface(bridge.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, bo); + parseAndAddSolid(bridge.getDeprecatedProperties().getLod4Solid(), Lod.LOD4, bo); + + mapAbstractBridge(bridge, bo); + for (BridgePartProperty bPartProperty : bridge.getBridgeParts()) { + if (!bPartProperty.isSetObject()) { + continue; + } + BridgePart gmlBridgePart = bPartProperty.getObject(); + BridgeObject bPart = new BridgeObject(BridgeType.BRIDGE_PART, gmlBridgePart); + mapAbstractBridge(gmlBridgePart, bPart); + bo.addBridgePart(bPart); + } + resolveAndClearReferences(); + updateEdgesAndVertices(bo); + for (BridgeObject part : bo.getParts()) { + updateEdgesAndVertices(part); + } + for (BridgeConstructiveElement ele : bo.getConstructiveElements()) { + updateEdgesAndVertices(ele); + for (BoundarySurface bs : ele.getBoundarySurfaces()) { + updateEdgesAndVertices(bs); + } + } + for (Installation bi : bo.getBridgeInstallations()) { + updateEdgesAndVertices(bi); + for (BoundarySurface bs : bi.getBoundarySurfaces()) { + updateEdgesAndVertices(bs); + } + } + model.addBridge(bo); + } + + private void mapAbstractBridge(AbstractBridge ab, BridgeObject bo) { + mapAbstractConstruction(ab, bo); + for (BridgeConstructiveElementProperty eleProp : ab.getBridgeConstructiveElements()) { + if (!eleProp.isSetObject()) { + continue; + } + org.citygml4j.core.model.bridge.BridgeConstructiveElement constructiveElement = eleProp.getObject(); + BridgeConstructiveElement cdEle = new BridgeConstructiveElement(constructiveElement); + mapConstructiveElement(constructiveElement, cdEle); + bo.addConstructiveElement(cdEle); + } + + List bridgeInstallations = ab.getBridgeInstallations(); + for (BridgeInstallationProperty installationProp : bridgeInstallations) { + var gmlBi = installationProp.getObject(); + if (gmlBi == null) { + // ignore empty properties + continue; + } + Installation bi = mapBridgeInstallation(gmlBi); + bo.addBridgeInstallation(bi); + } + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : ab.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + updatePartOfSurface(bo, surfaceMapper); + + for (BoundarySurface bs : bo.getBoundarySurfaces()) { + updateEdgesAndVertices(bs); + } + + bo.unsetGmlGeometries(); + } + + private Installation mapBridgeInstallation(BridgeInstallation gmlBi) { + Installation bi = new Installation(); + bi.setGmlObject(gmlBi); + mapAbstractOccupiedSpace(gmlBi, bi); + GeometryProperty lod2Prop = gmlBi.getDeprecatedProperties().getLod2Geometry(); + parseAndAddAbstractGeometry(lod2Prop, Lod.LOD2, bi); + GeometryProperty lod3Prop = gmlBi.getDeprecatedProperties().getLod3Geometry(); + parseAndAddAbstractGeometry(lod3Prop, Lod.LOD3, bi); + GeometryProperty lod4Prop = gmlBi.getDeprecatedProperties().getLod4Geometry(); + parseAndAddAbstractGeometry(lod4Prop, Lod.LOD4, bi); + bi.unsetGmlGeometries(); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlBi.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + bi.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + p.setPartOfInstallation(bi); + } + } + } + for (Geometry geom : bi.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfInstallation(bi); + } + } + + return bi; + } + + @Override + public void visit(Tunnel tunnel) { + de.hft.stuttgart.citydoctor2.datastructure.Tunnel tu = new de.hft.stuttgart.citydoctor2.datastructure.Tunnel(); + for (TunnelPartProperty tPartProperty : tunnel.getTunnelParts()) { + if (!tPartProperty.isSetObject()) { + continue; + } + org.citygml4j.core.model.tunnel.TunnelPart gmlTunnelPart = tPartProperty.getObject(); + TunnelPart tPart = new TunnelPart(tu); + readAbstractTunnel(gmlTunnelPart, tPart); + tu.addTunnelPart(tPart); + } + readAbstractTunnel(tunnel, tu); + resolveAndClearReferences(); + updateEdgesAndVertices(tu); + for (TunnelPart part : tu.getTunnelParts()) { + updateEdgesAndVertices(part); + } + model.addTunnel(tu); + + } + + private void readAbstractTunnel(org.citygml4j.core.model.tunnel.AbstractTunnel gmlTunnel, AbstractTunnel cdTunnel) { + mapAbstractOccupiedSpace(gmlTunnel, cdTunnel); + cdTunnel.setGmlObject(gmlTunnel); + + // parse deprecated geometries + parseAndAddMultiSurface(gmlTunnel.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, cdTunnel); + parseAndAddMultiSurface(gmlTunnel.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, cdTunnel); + parseAndAddSolid(gmlTunnel.getDeprecatedProperties().getLod4Solid(), Lod.LOD4, cdTunnel); + + for (TunnelInstallationProperty tiProp : gmlTunnel.getTunnelInstallations()) { + var gmlTi = tiProp.getObject(); + if (gmlTi == null) { + // ignore empty properties + continue; + } + Installation ti = mapTunnelInstallation(gmlTi); + cdTunnel.addTunnelInstallation(ti); + } + + for (HollowSpaceProperty thProp : gmlTunnel.getHollowSpaces()) { + var gmlTh = thProp.getObject(); + if (gmlTh == null) { + continue; + } + TunnelHollow br = mapTunnelHollow(gmlTh); + cdTunnel.addTunnelHollow(br); + } + for (Installation ti : cdTunnel.getTunnelInstallations()) { + updateEdgesAndVertices(ti); + for (BoundarySurface bs : ti.getBoundarySurfaces()) { + updateEdgesAndVertices(bs); + for (Opening o : bs.getOpenings()) { + updateEdgesAndVertices(o); + } + } + } + for (TunnelFurnitureProperty tfProp : gmlTunnel.getTunnelFurniture()) { + var gmlTf = tfProp.getObject(); + if (gmlTf == null) { + continue; + } + TunnelFurniture tf = mapTunnelFurniture(gmlTf); + cdTunnel.addTunnelFurniture(tf); + } + + for (TunnelConstructiveElementProperty teProp : gmlTunnel.getTunnelConstructiveElements()) { + var gmlTc = teProp.getObject(); + if (gmlTc == null) { + continue; + } + TunnelConstructiveElement tc = mapTunnelConstructiveElement(gmlTc); + cdTunnel.addTunnelConstructiveElement(tc); + } + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlTunnel.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + updateEdgesAndVertices(bs); + for (Opening o : bs.getOpenings()) { + updateEdgesAndVertices(o); + } + } + + + cdTunnel.unsetGmlGeometries(); + resolveAndClearReferences(); + updateEdgesAndVertices(cdTunnel); + } + + private Installation mapTunnelInstallation(TunnelInstallation gmlTi) { + Installation ti = new Installation(); + ti.setGmlObject(gmlTi); + mapAbstractOccupiedSpace(gmlTi, ti); + GeometryProperty lod2Prop = gmlTi.getDeprecatedProperties().getLod2Geometry(); + parseAndAddAbstractGeometry(lod2Prop, Lod.LOD2, ti); + GeometryProperty lod3Prop = gmlTi.getDeprecatedProperties().getLod3Geometry(); + parseAndAddAbstractGeometry(lod3Prop, Lod.LOD3, ti); + GeometryProperty lod4Prop = gmlTi.getDeprecatedProperties().getLod4Geometry(); + parseAndAddAbstractGeometry(lod4Prop, Lod.LOD4, ti); + ti.unsetGmlGeometries(); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlTi.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + ti.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + p.setPartOfInstallation(ti); + } + } + } + for (Geometry geom : ti.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfInstallation(ti); + } + } + + return ti; + } + + private TunnelHollow mapTunnelHollow(HollowSpace gmlHo) { + TunnelHollow tHollow = new TunnelHollow(); + tHollow.setGmlObject(gmlHo); + mapAbstractUnoccupiedSpace(gmlHo, tHollow); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlHo.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + tHollow.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + for (TunnelInstallationProperty tiProp : gmlHo.getTunnelInstallations()) { + var gmlTi = tiProp.getObject(); + if (gmlTi == null) { + // ignore empty properties + continue; + } + Installation bi = mapTunnelInstallation(gmlTi); + tHollow.addRoomInstallation(bi); + } + for (TunnelFurnitureProperty tfProp : gmlHo.getTunnelFurniture()) { + var gmlHref = tfProp.getHref(); + if (gmlHref == null) { + continue; + } + tHollow.addFurnitureRef(tfProp); + } + return tHollow; + } + + private TunnelFurniture mapTunnelFurniture(org.citygml4j.core.model.tunnel.TunnelFurniture gmlTf) { + TunnelFurniture tf = new TunnelFurniture(); + tf.setGmlObject(gmlTf); + mapAbstractOccupiedSpace(gmlTf, tf); + tf.unsetGmlGeometries(); + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlTf.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + tf.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + return tf; + } + + private TunnelConstructiveElement mapTunnelConstructiveElement(org.citygml4j.core.model.tunnel.TunnelConstructiveElement gmlTe) { + TunnelConstructiveElement te = new TunnelConstructiveElement(gmlTe); + mapAbstractOccupiedSpace(gmlTe, te); + te.unsetGmlGeometries(); + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlTe.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + te.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + return te; + } + + private void updatePartOfSurface(BridgeObject bo, SurfaceMapper surfaceMapper) { + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + bo.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + } + + private void mapConstructiveElement(org.citygml4j.core.model.bridge.BridgeConstructiveElement ele, BridgeConstructiveElement bce) { + mapAbstractConstructiveElement(ele, bce); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : ele.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + bce.addBoundarySurface(bs); + } + } + + private void mapAbstractConstructiveElement(org.citygml4j.core.model.bridge.BridgeConstructiveElement ele, BridgeConstructiveElement bce) { + mapAbstractOccupiedSpace(ele, bce); + } + + private void mapAbstractConstruction(AbstractConstruction ac, BridgeObject bo) { + mapAbstractOccupiedSpace(ac, bo); + } + + @Override + public void visit(AuxiliaryTrafficArea ata) { + TransportationObject to = new TransportationObject(TransportationType.AUXILLIARY_TRAFFIC_AREA); + mapAbstractThematicSurface(ata, to); + finishTransportationMapping(to); + } + + @Override + public void visit(TrafficArea ta) { + TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); + mapAbstractThematicSurface(ta, to); + finishTransportationMapping(to); + } + + @Override + public void visit(Road road) { + TransportationObject to = new TransportationObject(TransportationType.ROAD); + mapAbstractTransportationSpace(road, to); + finishTransportationMapping(to); + } + + private void mapAbstractThematicSurface(AbstractThematicSurface ats, CityObject co) { + mapAbstractSpaceBoundary(ats, co); + parseAndAddMultiSurface(ats.getLod0MultiSurface(), Lod.LOD0, co); + parseAndAddMultiSurface(ats.getLod1MultiSurface(), Lod.LOD1, co); + parseAndAddMultiSurface(ats.getLod2MultiSurface(), Lod.LOD2, co); + parseAndAddMultiSurface(ats.getLod3MultiSurface(), Lod.LOD3, co); + parseAndAddMultiSurface(ats.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, co); + } + + private void mapAbstractSpaceBoundary(AbstractSpaceBoundary asb, CityObject co) { + mapAbstractCityObject(asb, co); + } + + private void mapAbstractCityObject(AbstractCityObject aco, CityObject to) { + mapAbstractFeatureWithLifespan(aco, to); + } + + private void mapAbstractFeatureWithLifespan(AbstractFeatureWithLifespan afwl, CityObject to) { + mapAbstractFeature(afwl, to); + } + + private void mapAbstractFeature(AbstractFeature af, CityObject to) { + mapAbstractGML(af, to); + } + + private void mapAbstractGML(AbstractGML ag, CityObject to) { + parseId(ag, to); + } + + @Override + public void visit(Railway railway) { + TransportationObject to = new TransportationObject(TransportationType.RAILWAY); + mapAbstractTransportationSpace(railway, to); + finishTransportationMapping(to); + } + + @Override + public void visit(Square square) { + TransportationObject to = new TransportationObject(TransportationType.SQUARE); + mapAbstractTransportationSpace(square, to); + finishTransportationMapping(to); + } + + @Override + public void visit(Track track) { + TransportationObject to = new TransportationObject(TransportationType.TRACK); + mapAbstractTransportationSpace(track, to); + finishTransportationMapping(to); + } + + @Override + public void visit(TransportationComplex transportationComplex) { + TransportationObject to = new TransportationObject(TransportationType.TRANSPORTATION_COMPLEX); + mapAbstractTransportationSpace(transportationComplex, to); + finishTransportationMapping(to); + } + + private void finishTransportationMapping(TransportationObject to) { + finishCityObjectConstruction(to); + model.addTransportation(to); + } + + private void finishCityObjectConstruction(CityObject co) { + co.unsetGmlGeometries(); + resolveAndClearReferences(); + updateEdgesAndVertices(co); + } + + private void mapAbstractTransportationSpace(AbstractTransportationSpace ats, TransportationObject to) { + to.setGmlObject(ats); + parseAbstractTransportationSpaceGeometries(ats, to); + for (TrafficSpaceProperty tsp : ats.getTrafficSpaces()) { + if (tsp.isSetObject()) { + TransportationObject trafficSpace = new TransportationObject(TransportationType.TRAFFIC_SPACE); + mapTrafficSpace(tsp.getObject(), trafficSpace); + finishTransportationMapping(trafficSpace); + to.getChildren().add(trafficSpace); + } + } + for (AuxiliaryTrafficSpaceProperty auxTrafficProp : ats.getAuxiliaryTrafficSpaces()) { + if (auxTrafficProp.isSetObject()) { + TransportationObject trafficSpace = parseAuxiliaryTrafficSpace(auxTrafficProp.getObject()); + finishTransportationMapping(trafficSpace); + to.addChild(trafficSpace); + } + } + } + + private void mapTrafficSpace(TrafficSpace ts, TransportationObject to) { + mapAbstractUnoccupiedSpace(ts, to); + } + + private void mapAbstractUnoccupiedSpace(AbstractUnoccupiedSpace aus, CityObject co) { + mapAbstractPhysicalSpace(aus, co); + } + + private TransportationObject parseAuxiliaryTrafficSpace(AuxiliaryTrafficSpace ats) { + TransportationObject to = new TransportationObject(TransportationType.AUXILLIARY_TRAFFIC_SPACE); + parseAbstractSpaceGeometries(ats, to); + finishCityObjectConstruction(to); + return to; + } + + private void parseAbstractTransportationSpaceGeometries(AbstractTransportationSpace space, CityObject co) { + parseAndAddMultiSurface(space.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, co); + parseAndAddMultiSurface(space.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, co); + } + + private void parseAbstractSpaceGeometries(AbstractSpace as, CityObject co) { + parseAndAddMultiSurface(as.getLod0MultiSurface(), Lod.LOD0, co); + parseAndAddMultiSurface(as.getLod2MultiSurface(), Lod.LOD2, co); + parseAndAddMultiSurface(as.getLod3MultiSurface(), Lod.LOD3, co); + parseAndAddSolid(as.getLod1Solid(), Lod.LOD1, co); + parseAndAddSolid(as.getLod2Solid(), Lod.LOD2, co); + parseAndAddSolid(as.getLod3Solid(), Lod.LOD3, co); + + } + + private void parseAndAddMultiSurface(MultiSurfaceProperty msp, Lod lod, CityObject co) { + if (msp == null || msp.getObject() == null) { + return; + } + Geometry geom = parseMultiSurface(msp.getObject(), lod); + co.addGeometry(geom); + } + + private void parseAndAddSolid(SolidProperty sp, Lod lod, CityObject co) { + if (sp == null || sp.getObject() == null) { + return; + } + Geometry geom = parseSolid(sp.getObject(), lod); + if (geom != null) { + co.addGeometry(geom); + } + } + + private void parseAndAddCompositeSurface(MultiSurfaceProperty ms, Lod lod, CityObject co) { + if (ms == null || ms.getObject() == null) { + return; + } + List surfaces = ms.getObject().getSurfaceMember(); + for (SurfaceProperty surface : surfaces) { + if (surface.getObject() instanceof CompositeSurface cs) { + Geometry geom = parseCompositeSurface(cs, lod); + if (geom != null) { + co.addGeometry(geom); + } + } + } + + } + + private void parseImplicitGeometry(AbstractOccupiedSpace aos, CityObject co) { + for (int i = 1; i <= 3; i++) { + if (aos.getImplicitRepresentation(i) == null) { + continue; + } + if (aos.getImplicitRepresentation(i).getObject() != null) { + ImplicitGeometry impGeom = aos.getImplicitRepresentation(i).getObject(); + ImplicitGeometryHolder igh = resolveImplicitGeometry(impGeom, i); + if (igh != null) { + co.addGeometry(igh); + } + } else if (aos.getImplicitRepresentation(i).getHref() != null) { + // Hrefs of ImplicitGeometries point to its RelativeGeometry. + // Can be ignored for CD since the Href is only used for repeating the RelativeGeometry at different LODs + } + + + } + + } + + private ImplicitGeometryHolder resolveImplicitGeometry(ImplicitGeometry ig, int lodInt) { + ImplicitGeometryHolder igh = null; + if (ig.getLibraryObject() != null) { + Path libraryObjectPath = directory.resolve(ig.getLibraryObject()); + LibraryObject libObj = LibraryObject.of(libraryObjectPath, config); + if (libObj != null) { + igh = new ImplicitGeometryHolder(ig, libObj); + } + } else if (ig.getRelativeGeometry() != null) { + AbstractGeometry aGeom = ig.getRelativeGeometry().getObject(); + Geometry geom = null; + Lod lod = Lod.values()[lodInt]; + RelativeGeometry relGeo = null; + if (aGeom instanceof MultiSurface ms) { + geom = parseMultiSurface(ms, lod); + } else if (aGeom instanceof Solid s) { + geom = parseSolid(s, lod); + } else if (aGeom instanceof CompositeSurface cs) { + geom = parseCompositeSurface(cs, lod); + } + if (geom != null) { + relGeo = RelativeGeometry.of(geom); + igh = new ImplicitGeometryHolder(ig, relGeo); + } + + } else { + logger.error(String.format("Implicit geometry of GML-ID %s has no referenced geometry.", ig.getId())); + } + return igh; + } + + private void resolveAndClearReferences() { + for (ResolvableReference ref : references) { + String href = ref.href(); + if (href.startsWith("#")) { + href = href.substring(1); + } + Geometry geom = ref.geometry(); + CompositeCollection comp = compositeMap.get(href); + if (comp != null) { + comp.getCompositeMembers().forEach(geom::addPolygon); + } else { + ConcretePolygon concPoly = polygonMap.get(href); + if (concPoly == null) { + if (logger.isWarnEnabled()) { + logger.warn(Localization.getText("FeatureMapper.polygonUnreferenced"), href); + } + } else { + LinkedPolygon lPoly = new LinkedPolygon(concPoly, geom); + if (geom.getParent() instanceof BoundarySurface bs) { + lPoly.setPartOfSurface(bs); + if (bs.getParent() instanceof Installation bi) { + lPoly.setPartOfInstallation(bi); + } + } + geom.addPolygon(lPoly); + } + } + } + + // clear storage for polygons and vertices + // probably faster than .clear() ? + references = new ArrayList<>(); + vertexMap = new HashMap<>(); + polygonMap = new HashMap<>(); + } + + private void readAbstractBuilding(org.citygml4j.core.model.building.AbstractBuilding gmlAb, + AbstractBuilding cdBuilding) { + mapAbstractOccupiedSpace(gmlAb, cdBuilding); + cdBuilding.setGmlObject(gmlAb); + + // parse deprecated geometries + parseAndAddMultiSurface(gmlAb.getDeprecatedProperties().getLod1MultiSurface(), Lod.LOD1, cdBuilding); + parseAndAddMultiSurface(gmlAb.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, cdBuilding); + parseAndAddSolid(gmlAb.getDeprecatedProperties().getLod4Solid(), Lod.LOD4, cdBuilding); + + for (BuildingInstallationProperty biProp : gmlAb.getBuildingInstallations()) { + var gmlBi = biProp.getObject(); + if (gmlBi == null) { + // ignore empty properties + continue; + } + Installation bi = mapBuildingInstallation(gmlBi); + cdBuilding.addBuildingInstallation(bi); + } + + for (BuildingRoomProperty brProp : gmlAb.getBuildingRooms()) { + var gmlBr = brProp.getObject(); + if (gmlBr == null) { + continue; + } + BuildingRoom br = mapBuildingRoom(gmlBr); + cdBuilding.addBuildingRoom(br); + } + + for (AbstractBuildingSubdivisionProperty abs : gmlAb.getBuildingSubdivisions()) { + var gmlABS = abs.getObject(); + if (gmlABS == null) { + continue; + } + if (gmlABS instanceof Storey gmlStorey) { + de.hft.stuttgart.citydoctor2.datastructure.Storey storey = mapBuildingStorey(gmlStorey); + cdBuilding.addStorey(storey); + } else if (gmlABS instanceof BuildingUnit gmlBU) { + de.hft.stuttgart.citydoctor2.datastructure.BuildingUnit bu = mapBuildingUnit(gmlBU); + cdBuilding.addBuildingUnit(bu); + } + } + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlAb.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + updatePartOfSurface(cdBuilding, surfaceMapper); + + cdBuilding.unsetGmlGeometries(); + resolveAndClearReferences(); + updateEdgesAndVertices(cdBuilding); + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + updateEdgesAndVertices(bs); + for (Opening o : bs.getOpenings()) { + updateEdgesAndVertices(o); + } + } + for (Installation bi : cdBuilding.getBuildingInstallations()) { + updateEdgesAndVertices(bi); + for (BoundarySurface bs : bi.getBoundarySurfaces()) { + updateEdgesAndVertices(bs); + for (Opening o : bs.getOpenings()) { + updateEdgesAndVertices(o); + } + } + } + for (BuildingFurnitureProperty bfProp : gmlAb.getBuildingFurniture()) { + var gmlBf = bfProp.getObject(); + if (gmlBf == null) { + continue; + } + BuildingRoomFurniture bf = mapBuildingFurniture(gmlBf); + cdBuilding.addBuildingRoomFurniture(bf); + } + } + + private BuildingRoom mapBuildingRoom(org.citygml4j.core.model.building.BuildingRoom gmlBr) { + + BuildingRoom br = new BuildingRoom(); + br.setGmlObject(gmlBr); + mapAbstractUnoccupiedSpace(gmlBr, br); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlBr.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + br.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + for (BuildingInstallationProperty biProp : gmlBr.getBuildingInstallations()) { + var gmlBi = biProp.getObject(); + if (gmlBi == null) { + // ignore empty properties + continue; + } + Installation bi = mapBuildingInstallation(gmlBi); + br.addRoomInstallation(bi); + } + for (BuildingFurnitureProperty bfProp : gmlBr.getBuildingFurniture()) { + var gmlHref = bfProp.getHref(); + if (gmlHref == null) { + continue; + } + br.addFurnitureRef(bfProp); + } + + + return br; + } + + private BuildingRoomFurniture mapBuildingFurniture(BuildingFurniture gmlAF) { + BuildingRoomFurniture bf = new BuildingRoomFurniture(); + bf.setGmlObject(gmlAF); + mapAbstractOccupiedSpace(gmlAF, bf); + bf.unsetGmlGeometries(); + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlAF.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + bf.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + return bf; + + } + + private de.hft.stuttgart.citydoctor2.datastructure.Storey mapBuildingStorey(Storey gmlStorey) { + de.hft.stuttgart.citydoctor2.datastructure.Storey storey = new de.hft.stuttgart.citydoctor2.datastructure.Storey(); + storey.setGmlObject(gmlStorey); + mapAbstractSpace(gmlStorey, storey); + storey.unsetGmlGeometries(); + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlStorey.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + storey.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + return storey; + } + + private de.hft.stuttgart.citydoctor2.datastructure.BuildingUnit mapBuildingUnit(BuildingUnit gmlBU) { + de.hft.stuttgart.citydoctor2.datastructure.BuildingUnit bu = new de.hft.stuttgart.citydoctor2.datastructure.BuildingUnit(); + bu.setGmlObject(gmlBU); + mapAbstractSpace(gmlBU, bu); + bu.unsetGmlGeometries(); + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlBU.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + bu.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + return bu; + } + + private void updatePartOfSurface(AbstractBuilding cdBuilding, SurfaceMapper surfaceMapper) { + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + cdBuilding.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + } + } + } + } + + private Installation mapBuildingInstallation(org.citygml4j.core.model.building.BuildingInstallation gmlBi) { + Installation bi = new Installation(); + bi.setGmlObject(gmlBi); + mapAbstractOccupiedSpace(gmlBi, bi); + GeometryProperty lod2Prop = gmlBi.getDeprecatedProperties().getLod2Geometry(); + parseAndAddAbstractGeometry(lod2Prop, Lod.LOD2, bi); + GeometryProperty lod3Prop = gmlBi.getDeprecatedProperties().getLod3Geometry(); + parseAndAddAbstractGeometry(lod3Prop, Lod.LOD3, bi); + GeometryProperty lod4Prop = gmlBi.getDeprecatedProperties().getLod4Geometry(); + parseAndAddAbstractGeometry(lod4Prop, Lod.LOD4, bi); + bi.unsetGmlGeometries(); + + SurfaceMapper surfaceMapper = new SurfaceMapper(polygonMap, references, compositeMap, vertexMap, config); + for (AbstractSpaceBoundaryProperty surfaceProp : gmlBi.getBoundaries()) { + if (!surfaceProp.isSetObject()) { + continue; + } + AbstractSpaceBoundary surface = surfaceProp.getObject(); + surface.accept(surfaceMapper); + } + for (BoundarySurface bs : surfaceMapper.getSurfaces()) { + bi.addBoundarySurface(bs); + for (Geometry geom : bs.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfSurface(bs); + p.setPartOfInstallation(bi); + } + } + } + for (Geometry geom : bi.getGeometries()) { + for (Polygon p : geom.getPolygons()) { + p.setPartOfInstallation(bi); + } + } + + return bi; + } + + private void parseAndAddAbstractGeometry(GeometryProperty geomProp, Lod lod, CityObject co) { + if (geomProp == null || geomProp.getObject() == null) { + return; + } + AbstractGeometry abstractGeometry = geomProp.getObject(); + if (abstractGeometry instanceof MultiSurface ms) { + Geometry geom = parseMultiSurface(ms, lod); + co.addGeometry(geom); + } else if (abstractGeometry instanceof Solid solid) { + Geometry geom = parseSolid(solid, lod); + if (geom != null) { + co.addGeometry(geom); + } + } else { + logger.warn("Cannot handle geometry type {}, ignoring", abstractGeometry.getClass().getSimpleName()); + } + } + + private Geometry parseSolid(AbstractSolid abstractSolid, Lod lod) { + if (abstractSolid instanceof Solid s) { + return handleSolidGeometry(s, lod); + } else { + logger.warn("Cannot handle solid class {}, can only process pure solids", + abstractSolid.getClass().getSimpleName()); + return null; + } + } + + private Geometry handleSolidGeometry(Solid solid, Lod lod) { + ShellProperty exteriorProperty = solid.getExterior(); + if (exteriorProperty == null || exteriorProperty.getObject() == null) { + logger.warn("Found solid {} without exterior hull, ignoring", solid.getId()); + return null; + } + Geometry geom = new Geometry(GeometryType.SOLID, lod); + Shell exterior = solid.getExterior().getObject(); + Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); + readSurfaceMember(geom, geometryMapper, exterior.getSurfaceMembers()); + return geom; + } + + private Geometry parseMultiSurface(MultiSurface ms, Lod lod) { + Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, lod); + Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); + readSurfaceMember(geom, geometryMapper, ms.getSurfaceMember()); + return geom; + } + + private void readSurfaceMember(Geometry geom, Citygml3GeometryMapper geometryMapper, + List surfaceMember) { + for (SurfaceProperty prop : surfaceMember) { + if (prop.getHref() != null) { + references.add(new ResolvableReference(prop.getHref(), geom)); + continue; + } + if (prop.getObject() != null) { + AbstractSurface as = prop.getObject(); + as.accept(geometryMapper); + } + } + + List polygons = geometryMapper.getPolygons(); + + for (ConcretePolygon concretePoly : polygons) { + geom.addPolygon(concretePoly); + if (concretePoly.hasExistingGmlId()) { + polygonMap.put(concretePoly.getGmlId().getGmlString(), concretePoly); + } + } + } + + private Geometry parseCompositeSurface(CompositeSurface cs, Lod lod) { + Geometry geom = new Geometry(GeometryType.COMPOSITE_SURFACE, lod); + Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); + readSurfaceMember(geom, geometryMapper, cs.getSurfaceMembers()); + return geom; + } + + private void updateEdgesAndVertices(CityObject co) { + // searching for neighboring vertices, replacing them with one single vertex to + // avoid later problems with edges and manifold problems + for (Geometry geom : co.getGeometries()) { + KDTree tree = new KDTree(); + for (Polygon poly : geom.getPolygons()) { + LinearRing lr = poly.getExteriorRing(); + updateRing(tree, lr); + for (LinearRing innerRing : poly.getInnerRings()) { + updateRing(tree, innerRing); + } + } + if (!config.useLowMemoryConsumption()) { + // no low memory consumption mode meaning create all meta information in + // geometry + geom.updateEdgesAndVertices(); + } + } + } + + private void updateRing(KDTree tree, LinearRing lr) { + for (int i = 0; i < lr.getVertices().size(); i++) { + Vertex v = lr.getVertices().get(i); + List nodesInRange = tree.getNodesInRange(v, neighborDistance); + if (nodesInRange.isEmpty()) { + tree.add(v); + } else { + // replace other vertex with any neighboring one + Vertex original = nodesInRange.get(0); + lr.setVertex(i, original); + } + } + } + + public void setCityModel(CityModel cModel) { + model.setCityModel(cModel); + } + + public CityDoctorModel getModel() { + return model; + } + + public void setCityGMLVersion(CityGMLVersion cityGMLVersion) { + model.setParsedCityGMLVersion(cityGMLVersion); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3GeometryMapper.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3GeometryMapper.java index f80fd0bba5bb9b367f0770c761385ce33fd1742a..d65b32cefa624e1baca7e9238f3371792dbcb6bb 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3GeometryMapper.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3GeometryMapper.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,163 +18,193 @@ */ package de.hft.stuttgart.citydoctor2.mapper.citygml3; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - +import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; +import de.hft.stuttgart.citydoctor2.datastructure.*; +import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import de.hft.stuttgart.citydoctor2.utils.Localization; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.locationtech.proj4j.BasicCoordinateTransform; import org.locationtech.proj4j.ProjCoordinate; -import org.xmlobjects.gml.model.geometry.primitives.AbstractRing; -import org.xmlobjects.gml.model.geometry.primitives.AbstractRingProperty; +import org.xmlobjects.gml.model.geometry.complexes.CompositeSurface; import org.xmlobjects.gml.model.geometry.primitives.Polygon; -import org.xmlobjects.gml.model.geometry.primitives.Ring; +import org.xmlobjects.gml.model.geometry.primitives.*; import org.xmlobjects.gml.visitor.GeometryWalker; -import de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon; -import de.hft.stuttgart.citydoctor2.datastructure.GmlId; -import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; -import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType; -import de.hft.stuttgart.citydoctor2.datastructure.Vertex; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.Localization; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; public class Citygml3GeometryMapper extends GeometryWalker { - - private static final Logger logger = LogManager.getLogger(Citygml3GeometryMapper.class); - - private final List polygons = new ArrayList<>(); - private LinearRing currentRing = null; - private final ParserConfiguration config; - private final ProjCoordinate p1 = new ProjCoordinate(); - private final ProjCoordinate p2 = new ProjCoordinate(); - private final Map vertexMap; - - public Citygml3GeometryMapper(ParserConfiguration config, Map vertices) { - this.config = config; - this.vertexMap = vertices; - } - - @Override - public void visit(Polygon polygon) { - parsePolygon(polygon.getId(), polygon.getExterior(), polygon.getInterior()); - if (polygon.getExterior() == null) { - logger.warn(String.format("No exterior: %s" ,polygon.getId())); - } - } - - private void parsePolygon(String id, AbstractRingProperty exterior, List interior) { - if (exterior == null || exterior.getObject() == null) { - if (logger.isWarnEnabled()) { - logger.warn(Localization.getText("GeometryMapper.emptyPolygon")); - } - return; - } - ConcretePolygon cdPoly = new ConcretePolygon(); - polygons.add(cdPoly); - - if (id != null) { - cdPoly.setGmlId(new GmlId(id)); - } - - currentRing = new LinearRing(LinearRingType.EXTERIOR); - exterior.getObject().accept(this); - cdPoly.setExteriorRing(currentRing); - - for (AbstractRingProperty interiorGmlRing : interior) { - AbstractRing gmlRing = interiorGmlRing.getObject(); - if (gmlRing == null) { - continue; - } - currentRing = new LinearRing(LinearRingType.INTERIOR); - gmlRing.accept(this); - cdPoly.addInteriorRing(currentRing); - } - } - - @Override - public void visit(org.xmlobjects.gml.model.geometry.primitives.LinearRing gmlRing) { - if (gmlRing.getSrsDimension() != null && gmlRing.getSrsDimension() != 3) { - logger.warn("Cannot handle geometry with srsDimension not 3"); - return; - } - if (gmlRing.getId() != null) { - currentRing.setGmlId(new GmlId(gmlRing.getId())); - } - List coordinates = gmlRing.toCoordinateList3D(); - handleCoordinateList(coordinates); - } - - @Override - public void visit(Ring ring) { - if (ring.getSrsDimension() != null && ring.getSrsDimension() != 3) { - logger.warn("Cannot handle geometry with srsDimension not 3"); - return; - } - if (ring.getId() != null) { - currentRing.setGmlId(new GmlId(ring.getId())); - } - List coordinates = ring.toCoordinateList3D(); - handleCoordinateList(coordinates); - } - - private void handleCoordinateList(List coordinates) { - if (coordinates.size() % 3 != 0) { - String id; - if (currentRing.hasExistingGmlId()) { - id = currentRing.getGmlId().getGmlString(); - } else { - id = ""; - } - logger.warn("The number of coordinates for linear ring {} do not result in fully 3D points", id); - } - for (int i = 0; i < coordinates.size(); i = i + 3) { - double x = coordinates.get(i); - double y = coordinates.get(i + 1); - double z = coordinates.get(i + 2); - createVertex(x, y, z); - } - } - - private void createVertex(double x, double y, double z) { - // transform into utm, if available - BasicCoordinateTransform trans = config.getTargetTransform(); - if (trans != null) { - p1.setValue(x, y); - trans.transform(p1, p2); - x = p2.x; - y = p2.y; - z = z / config.getFromMeters(); - } - x = round(x, config.getNumberOfRoundingPlaces()); - y = round(y, config.getNumberOfRoundingPlaces()); - z = round(z, config.getNumberOfRoundingPlaces()); - Vertex v = new Vertex(x, y, z); - Vertex duplicate = vertexMap.get(v); - if (duplicate == null) { - vertexMap.put(v, v); - } else { - v = duplicate; - } - - currentRing.addVertex(v); - } - - private double round(double value, int places) { - if (places < 0) { - throw new IllegalArgumentException(); - } - - BigDecimal bd = BigDecimal.valueOf(value); - bd = bd.setScale(places, RoundingMode.HALF_UP); - return bd.doubleValue(); - } - - public List getPolygons() { - return polygons; - } + + private static final Logger logger = LogManager.getLogger(Citygml3GeometryMapper.class); + + private final List polygons = new ArrayList<>(); + private final List composites = new ArrayList<>(); + private LinearRing currentRing = null; + private final ParserConfiguration config; + private final ProjCoordinate p1 = new ProjCoordinate(); + private final ProjCoordinate p2 = new ProjCoordinate(); + private final Map vertexMap; + + public Citygml3GeometryMapper(ParserConfiguration config, Map vertices) { + this.config = config; + this.vertexMap = vertices; + } + + @Override + public void visit(Polygon polygon) { + parsePolygon(polygon.getId(), polygon.getExterior(), polygon.getInterior()); + if (polygon.getExterior() == null) { + logger.warn(String.format("No exterior: %s", polygon.getId())); + } + } + + private void parsePolygon(String id, AbstractRingProperty exterior, List interior) { + if (exterior == null || exterior.getObject() == null) { + if (logger.isWarnEnabled()) { + logger.warn(Localization.getText("GeometryMapper.emptyPolygon")); + } + return; + } + ConcretePolygon cdPoly = new ConcretePolygon(); + polygons.add(cdPoly); + + if (id != null) { + cdPoly.setGmlId(new GmlId(id)); + } + + currentRing = new LinearRing(LinearRingType.EXTERIOR); + exterior.getObject().accept(this); + cdPoly.setExteriorRing(currentRing); + + for (AbstractRingProperty interiorGmlRing : interior) { + AbstractRing gmlRing = interiorGmlRing.getObject(); + if (gmlRing == null) { + continue; + } + currentRing = new LinearRing(LinearRingType.INTERIOR); + gmlRing.accept(this); + cdPoly.addInteriorRing(currentRing); + } + } + + @Override + public void visit(CompositeSurface cs) { + if (cs.getSurfaceMembers() != null && cs.getSurfaceMembers().isEmpty()) { + logger.warn("CompositeSurface %s is empty", cs.getId()); + return; + } + List surfaceMember = cs.getSurfaceMembers(); + Citygml3GeometryMapper recursiveMapper = new Citygml3GeometryMapper(config, vertexMap); + CompositeCollection comp = new CompositeCollection(); + if (cs.getId() == null) { + comp.setGmlId(GmlId.generateId()); + } else { + comp.setGmlId(new GmlId(cs.getId())); + } + + for (SurfaceProperty prop : surfaceMember) { + if (prop.getObject() != null) { + AbstractSurface as = prop.getObject(); + as.accept(recursiveMapper); + } + } + List compPolys = recursiveMapper.getPolygons(); + compPolys.forEach(comp::addCompositeMember); + comp.addAllChildComposites(recursiveMapper.getComposites()); + composites.add(comp); + polygons.addAll(compPolys); + + } + + @Override + public void visit(org.xmlobjects.gml.model.geometry.primitives.LinearRing gmlRing) { + if (gmlRing.getSrsDimension() != null && gmlRing.getSrsDimension() != 3) { + logger.warn("Cannot handle geometry with srsDimension not 3"); + return; + } + if (gmlRing.getId() != null) { + currentRing.setGmlId(new GmlId(gmlRing.getId())); + } + List coordinates = gmlRing.toCoordinateList3D(); + handleCoordinateList(coordinates); + } + + @Override + public void visit(Ring ring) { + if (ring.getSrsDimension() != null && ring.getSrsDimension() != 3) { + logger.warn("Cannot handle geometry with srsDimension not 3"); + return; + } + if (ring.getId() != null) { + currentRing.setGmlId(new GmlId(ring.getId())); + } + List coordinates = ring.toCoordinateList3D(); + handleCoordinateList(coordinates); + } + + private void handleCoordinateList(List coordinates) { + if (coordinates.size() % 3 != 0) { + String id; + if (currentRing.hasExistingGmlId()) { + id = currentRing.getGmlId().getGmlString(); + } else { + id = ""; + } + logger.warn("The number of coordinates for linear ring {} do not result in fully 3D points", id); + } + for (int i = 0; i < coordinates.size(); i = i + 3) { + double x = coordinates.get(i); + double y = coordinates.get(i + 1); + double z = coordinates.get(i + 2); + createVertex(x, y, z); + } + } + + private void createVertex(double x, double y, double z) { + // transform into utm, if available + BasicCoordinateTransform trans = config.getTargetTransform(); + if (trans != null) { + p1.setValue(x, y); + trans.transform(p1, p2); + x = p2.x; + y = p2.y; + z = z / config.getFromMeters(); + } + x = round(x, config.getNumberOfRoundingPlaces()); + y = round(y, config.getNumberOfRoundingPlaces()); + z = round(z, config.getNumberOfRoundingPlaces()); + Vertex v = new Vertex(x, y, z); + Vertex duplicate = vertexMap.get(v); + if (duplicate == null) { + vertexMap.put(v, v); + } else { + v = duplicate; + } + + currentRing.addVertex(v); + } + + private double round(double value, int places) { + if (places < 0) { + throw new IllegalArgumentException(); + } + + BigDecimal bd = BigDecimal.valueOf(value); + bd = bd.setScale(places, RoundingMode.HALF_UP); + return bd.doubleValue(); + } + + public List getPolygons() { + return polygons; + } + + public List getComposites() { + return composites; + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/SurfaceMapper.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/SurfaceMapper.java index d75534ac755fbc6b9a6d2fd308663cf2823ee271..bbad97e13c0242e626fa7671ace2dd77098e70e2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/SurfaceMapper.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/SurfaceMapper.java @@ -1,6 +1,6 @@ /*- * Copyright 2022 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,23 +18,9 @@ */ package de.hft.stuttgart.citydoctor2.mapper.citygml3; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.citygml4j.core.model.construction.AbstractConstructionSurface; -import org.citygml4j.core.model.construction.AbstractFillingSurface; -import org.citygml4j.core.model.construction.AbstractFillingSurfaceProperty; -import org.citygml4j.core.model.construction.CeilingSurface; -import org.citygml4j.core.model.construction.DoorSurface; -import org.citygml4j.core.model.construction.FloorSurface; -import org.citygml4j.core.model.construction.GroundSurface; -import org.citygml4j.core.model.construction.InteriorWallSurface; -import org.citygml4j.core.model.construction.OuterCeilingSurface; -import org.citygml4j.core.model.construction.OuterFloorSurface; -import org.citygml4j.core.model.construction.RoofSurface; -import org.citygml4j.core.model.construction.WallSurface; -import org.citygml4j.core.model.construction.WindowSurface; +import de.hft.stuttgart.citydoctor2.datastructure.*; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import org.citygml4j.core.model.construction.*; import org.citygml4j.core.model.core.AbstractThematicSurface; import org.citygml4j.core.model.core.ClosureSurface; import org.citygml4j.core.visitor.ObjectWalker; @@ -43,184 +29,185 @@ import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.primitives.AbstractSurface; import org.xmlobjects.gml.model.geometry.primitives.SurfaceProperty; -import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; -import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurfaceType; -import de.hft.stuttgart.citydoctor2.datastructure.CityObject; -import de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon; -import de.hft.stuttgart.citydoctor2.datastructure.Geometry; -import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; -import de.hft.stuttgart.citydoctor2.datastructure.Lod; -import de.hft.stuttgart.citydoctor2.datastructure.Opening; -import de.hft.stuttgart.citydoctor2.datastructure.OpeningType; -import de.hft.stuttgart.citydoctor2.datastructure.SurfaceFeatureType; -import de.hft.stuttgart.citydoctor2.datastructure.Vertex; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; public class SurfaceMapper extends ObjectWalker { - private final List surfaces = new ArrayList<>(); - private final Map polygonMap; - private final List references; - private final Map vertexMap; - private final ParserConfiguration config; - - public SurfaceMapper(Map polygonMap, List references, - Map vertexMap, ParserConfiguration config) { - this.polygonMap = polygonMap; - this.references = references; - this.vertexMap = vertexMap; - this.config = config; - } - - @Override - public void visit(WallSurface wallSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.WALL, - wallSurface); - handleConstructionSurface(wallSurface, surface); - surfaces.add(surface); - } - - private void handleConstructionSurface(AbstractConstructionSurface gmlSurface, BoundarySurface cdSurface) { - for (AbstractFillingSurfaceProperty fillingProp : gmlSurface.getFillingSurfaces()) { - if (fillingProp.isSetObject()) { - readAbstractFillingSurface(fillingProp.getObject(), cdSurface); - } - } - handleThematicSurface(gmlSurface, cdSurface); - cdSurface.unsetGmlGeometries(); - } - - - private void readAbstractFillingSurface(AbstractFillingSurface afs, BoundarySurface cdSurface) { - Opening o; - if (afs instanceof DoorSurface ds) { - o = new Opening(OpeningType.DOOR, SurfaceFeatureType.BUILDING, cdSurface, ds); - } else if (afs instanceof WindowSurface ws){ - o = new Opening(OpeningType.WINDOW, SurfaceFeatureType.BUILDING, cdSurface, ws); - } else { - o = new Opening(OpeningType.UNKNOWN, SurfaceFeatureType.BUILDING, cdSurface, afs); - } - cdSurface.addOpening(o); - parseAndAddMultiSurface(afs.getLod0MultiSurface(), Lod.LOD0, o); - parseAndAddMultiSurface(afs.getLod1MultiSurface(), Lod.LOD1, o); - parseAndAddMultiSurface(afs.getLod2MultiSurface(), Lod.LOD2, o); - parseAndAddMultiSurface(afs.getLod3MultiSurface(), Lod.LOD3, o); - parseAndAddMultiSurface(afs.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, o); - o.unsetGmlGeometries(); - } - - private void handleThematicSurface(AbstractThematicSurface gmlSurface, CityObject cdSurface) { - Citygml3FeatureMapper.parseId(gmlSurface, cdSurface); - parseAndAddMultiSurface(gmlSurface.getLod0MultiSurface(), Lod.LOD0, cdSurface); - parseAndAddMultiSurface(gmlSurface.getLod1MultiSurface(), Lod.LOD1, cdSurface); - parseAndAddMultiSurface(gmlSurface.getLod2MultiSurface(), Lod.LOD2, cdSurface); - parseAndAddMultiSurface(gmlSurface.getLod3MultiSurface(), Lod.LOD3, cdSurface); - parseAndAddMultiSurface(gmlSurface.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, cdSurface); - } - - private void parseAndAddMultiSurface(MultiSurfaceProperty msp, Lod lod, CityObject cdSurface) { - if (msp == null || msp.getObject() == null) { - return; - } - Geometry geom = parseMultiSurface(msp.getObject(), lod); - cdSurface.addGeometry(geom); - } - - private Geometry parseMultiSurface(MultiSurface ms, Lod lod) { - Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, lod); - Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); - readSurfaceMember(geom, geometryMapper, ms.getSurfaceMember()); - return geom; - } - - private void readSurfaceMember(Geometry geom, Citygml3GeometryMapper geometryMapper, - List surfaceMember) { - for (SurfaceProperty prop : surfaceMember) { - if (prop.getHref() != null) { - references.add(new ResolvableReference(prop.getHref(), geom)); - continue; - } - if (prop.getObject() != null) { - AbstractSurface as = prop.getObject(); - as.accept(geometryMapper); - } - } - - List polygons = geometryMapper.getPolygons(); - for (ConcretePolygon concretePoly : polygons) { - geom.addPolygon(concretePoly); - if (concretePoly.hasExistingGmlId()) { - polygonMap.put(concretePoly.getGmlId().getGmlString(), concretePoly); - } - } - } - - @Override - public void visit(FloorSurface floorSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.FLOOR, - floorSurface); - handleConstructionSurface(floorSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(CeilingSurface ceilingSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.CEILING, - ceilingSurface); - handleConstructionSurface(ceilingSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(GroundSurface groundSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.GROUND, - groundSurface); - handleConstructionSurface(groundSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(InteriorWallSurface interiorWallSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.INTERIOR_WALL, - interiorWallSurface); - handleConstructionSurface(interiorWallSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(OuterCeilingSurface outerCeilingSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.OUTER_CEILING, - outerCeilingSurface); - handleConstructionSurface(outerCeilingSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(OuterFloorSurface outerFloorSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.OUTER_FLOOR, - outerFloorSurface); - handleConstructionSurface(outerFloorSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(RoofSurface roofSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.ROOF, - roofSurface); - handleConstructionSurface(roofSurface, surface); - surfaces.add(surface); - } - - @Override - public void visit(ClosureSurface closureSurface) { - BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.CLOSURE, - closureSurface); - handleThematicSurface(closureSurface, surface); - surfaces.add(surface); - } - - public List getSurfaces() { - return surfaces; - } + private final List surfaces = new ArrayList<>(); + private final Map polygonMap; + private final Map compositeMap; + private final List references; + private final Map vertexMap; + private final ParserConfiguration config; + + public SurfaceMapper(Map polygonMap, List references, + Map compositeMap, Map vertexMap, + ParserConfiguration config) { + this.polygonMap = polygonMap; + this.references = references; + this.vertexMap = vertexMap; + this.compositeMap = compositeMap; + this.config = config; + } + + @Override + public void visit(WallSurface wallSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.WALL, + wallSurface); + handleConstructionSurface(wallSurface, surface); + surfaces.add(surface); + } + + private void handleConstructionSurface(AbstractConstructionSurface gmlSurface, BoundarySurface cdSurface) { + for (AbstractFillingSurfaceProperty fillingProp : gmlSurface.getFillingSurfaces()) { + if (fillingProp.isSetObject()) { + readAbstractFillingSurface(fillingProp.getObject(), cdSurface); + } + } + handleThematicSurface(gmlSurface, cdSurface); + cdSurface.unsetGmlGeometries(); + } + + + private void readAbstractFillingSurface(AbstractFillingSurface afs, BoundarySurface cdSurface) { + Opening o; + if (afs instanceof DoorSurface ds) { + o = new Opening(OpeningType.DOOR, SurfaceFeatureType.BUILDING, cdSurface, ds); + } else if (afs instanceof WindowSurface ws) { + o = new Opening(OpeningType.WINDOW, SurfaceFeatureType.BUILDING, cdSurface, ws); + } else { + o = new Opening(OpeningType.UNKNOWN, SurfaceFeatureType.BUILDING, cdSurface, afs); + } + cdSurface.addOpening(o); + parseAndAddMultiSurface(afs.getLod0MultiSurface(), Lod.LOD0, o); + parseAndAddMultiSurface(afs.getLod1MultiSurface(), Lod.LOD1, o); + parseAndAddMultiSurface(afs.getLod2MultiSurface(), Lod.LOD2, o); + parseAndAddMultiSurface(afs.getLod3MultiSurface(), Lod.LOD3, o); + parseAndAddMultiSurface(afs.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, o); + o.unsetGmlGeometries(); + } + + private void handleThematicSurface(AbstractThematicSurface gmlSurface, CityObject cdSurface) { + Citygml3FeatureMapper.parseId(gmlSurface, cdSurface); + parseAndAddMultiSurface(gmlSurface.getLod0MultiSurface(), Lod.LOD0, cdSurface); + parseAndAddMultiSurface(gmlSurface.getLod1MultiSurface(), Lod.LOD1, cdSurface); + parseAndAddMultiSurface(gmlSurface.getLod2MultiSurface(), Lod.LOD2, cdSurface); + parseAndAddMultiSurface(gmlSurface.getLod3MultiSurface(), Lod.LOD3, cdSurface); + parseAndAddMultiSurface(gmlSurface.getDeprecatedProperties().getLod4MultiSurface(), Lod.LOD4, cdSurface); + } + + private void parseAndAddMultiSurface(MultiSurfaceProperty msp, Lod lod, CityObject cdSurface) { + if (msp == null || msp.getObject() == null) { + return; + } + Geometry geom = parseMultiSurface(msp.getObject(), lod); + cdSurface.addGeometry(geom); + } + + private Geometry parseMultiSurface(MultiSurface ms, Lod lod) { + Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, lod); + Citygml3GeometryMapper geometryMapper = new Citygml3GeometryMapper(config, vertexMap); + readSurfaceMember(geom, geometryMapper, ms.getSurfaceMember()); + return geom; + } + + + private void readSurfaceMember(Geometry geom, Citygml3GeometryMapper geometryMapper, + List surfaceMember) { + for (SurfaceProperty prop : surfaceMember) { + if (prop.getHref() != null) { + references.add(new ResolvableReference(prop.getHref(), geom)); + continue; + } + if (prop.getObject() != null) { + AbstractSurface as = prop.getObject(); + as.accept(geometryMapper); + } + } + + List polygons = geometryMapper.getPolygons(); + List composites = geometryMapper.getComposites(); + for (CompositeCollection cc : composites) { + references.add(new ResolvableReference(cc.getGmlId().toString(), geom)); + compositeMap.put(cc.getGmlId().getGmlString(), cc); + } + for (ConcretePolygon concretePoly : polygons) { + geom.addPolygon(concretePoly); + if (concretePoly.hasExistingGmlId()) { + polygonMap.put(concretePoly.getGmlId().getGmlString(), concretePoly); + } + } + + } + + @Override + public void visit(FloorSurface floorSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.FLOOR, + floorSurface); + handleConstructionSurface(floorSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(CeilingSurface ceilingSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.CEILING, + ceilingSurface); + handleConstructionSurface(ceilingSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(GroundSurface groundSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.GROUND, + groundSurface); + handleConstructionSurface(groundSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(InteriorWallSurface interiorWallSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.INTERIOR_WALL, + interiorWallSurface); + handleConstructionSurface(interiorWallSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(OuterCeilingSurface outerCeilingSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.OUTER_CEILING, + outerCeilingSurface); + handleConstructionSurface(outerCeilingSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(OuterFloorSurface outerFloorSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.OUTER_FLOOR, + outerFloorSurface); + handleConstructionSurface(outerFloorSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(RoofSurface roofSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.ROOF, + roofSurface); + handleConstructionSurface(roofSurface, surface); + surfaces.add(surface); + } + + @Override + public void visit(ClosureSurface closureSurface) { + BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.CLOSURE, + closureSurface); + handleThematicSurface(closureSurface, surface); + surfaces.add(surface); + } + + public List getSurfaces() { + return surfaces; + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/math/TransformationMatrix.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/math/TransformationMatrix.java new file mode 100644 index 0000000000000000000000000000000000000000..4ffb8bc54ce3d6f79c686d4ae0f016f15a6e8132 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/math/TransformationMatrix.java @@ -0,0 +1,115 @@ +package de.hft.stuttgart.citydoctor2.math; + +import Jama.Matrix; +import de.hft.stuttgart.citydoctor2.datastructure.*; +import de.hft.stuttgart.citydoctor2.utils.Copy; +import org.citygml4j.core.model.core.ImplicitGeometry; +import org.citygml4j.core.model.core.TransformationMatrix4x4; +import org.xmlobjects.gml.model.geometry.primitives.Point; +import org.xmlobjects.gml.model.geometry.primitives.PointProperty; +import org.xmlobjects.util.copy.CopyBuilder; + +import java.util.*; + +/** + * Adapter class for CityGML-TransformationMatrix4x4 + */ +public class TransformationMatrix { + + private final TransformationMatrix4x4 originalTM4x4; + + private Matrix tMatrix; + /** + * The {@code TransformationMatrix} class is an adapter for applying the {@link TransformationMatrix4x4} of implicitGeometries to geometries + * of CityDoctor's internal model. + * @param transformationMatrix the transformation matrix. + * @param pointProperty the reference point for the translation of the geometry's position. + */ + public TransformationMatrix(TransformationMatrix4x4 transformationMatrix, PointProperty pointProperty) { + originalTM4x4 = transformationMatrix; + setupMatrix(); + incorporateRefPoint(pointProperty); + } + + /** + * The {@code TransformationMatrix} class is an adapter for applying the {@link TransformationMatrix4x4} of implicitGeometries to geometries + * of CityDoctor's internal model. + * @param implicitGeometry the implicitGeometry containing the TransformationMatrix and ReferencePoint. + */ + public TransformationMatrix(ImplicitGeometry implicitGeometry) { + originalTM4x4 = implicitGeometry.getTransformationMatrix(); + setupMatrix(); + incorporateRefPoint(implicitGeometry.getReferencePoint()); + + } + + + private void setupMatrix() { + double[][] matrix = new double[4][4]; + CopyBuilder copyBuilder = new CopyBuilder(); + TransformationMatrix4x4 tmMatrix = (TransformationMatrix4x4) originalTM4x4.deepCopy(copyBuilder); + List tmValues = tmMatrix.toRowMajorList(); + for (int i = 0; i < 4 ; i++){ + for (int j = 0; j < 4 ; j++){ + matrix[i][j] = tmValues.get(i*4+j); + } + } + tMatrix = new Matrix(matrix); + } + + private void incorporateRefPoint(PointProperty pointProperty) { + Point refPoint = pointProperty.getObject(); + List refCoord = refPoint.getPos().toCoordinateList3D(); + double [][] tArray = tMatrix.getArray(); + tArray[0][3] = refCoord.get(0); + tArray[1][3] = refCoord.get(1); + tArray[2][3] = refCoord.get(2); + } + + + /** + * Transforms a vector with the transformation matrix. + * @param referenceGeom reference geometry to transform. + * @return A transformed copy of {@code referenceGeom}. + */ + public Geometry transformGeometry(Geometry referenceGeom) { + + // Create deep copy of reference geom + Geometry geom = Copy.copy(referenceGeom); + Map visitedVertices = new IdentityHashMap<>(); + Set visitedVerticesSet = Collections.newSetFromMap(visitedVertices); + // Transform all vertices + for (Polygon polygon : geom.getPolygons()){ + for (Vertex vertex : polygon.getExteriorRing().getVertices()){ + if (!visitedVerticesSet.contains(vertex)){ + transformVector3D(vertex); + visitedVerticesSet.add(vertex); + } + } + for (LinearRing ring : polygon.getInnerRings()){ + for (Vertex vertex : ring.getVertices()){ + if (!visitedVerticesSet.contains(vertex)){ + transformVector3D(vertex); + visitedVerticesSet.add(vertex); + } + } + } + } + geom.updateEdgesAndVertices(); + return geom; + } + + + public void transformVector3D(Vector3d vector) { + double[] tfVector = new double[]{vector.getX(), vector.getY(), vector.getZ(), 1d}; + Matrix vectorMatrix = new Matrix(tfVector,4); + Matrix res = tMatrix.times(vectorMatrix); + double[] resultVector = res.getRowPackedCopy(); + vector.setX(resultVector[0]); + vector.setY(resultVector[1]); + vector.setZ(resultVector[2]); + } + + + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java index 0a83532669151c3ab1dea7e5bfdde3397c655384..58cdf28924438ef18243b99fa83307d82bd5418f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java @@ -122,6 +122,9 @@ public class CityGmlParser { private static CityGMLContext context; private static List chunkProperties = new ArrayList<>(); + // Toggle to suppress logger output for parsing of libraryObjects + private static boolean gagged = false; + static { System.setProperty("javax.xml.transform.TransformerFactory", "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"); FACTORY = SAXParserFactory.newInstance(); @@ -326,20 +329,29 @@ public class CityGmlParser { return writer; } + /** + * Suppresses logger output of {@link #readAndKeepFeatures} for the next parse. + * Used to prevent logging spam while resolving implicit geometries. + */ + public static void gagLogger(boolean value){ + gagged = value; + } + private static CityDoctorModel readAndKeepFeatures(ParserConfiguration config, Path file, CityGMLInputFactory inputFactory, ObservedInputStream ois) throws CityGMLReadException { try (CityGMLReader reader = inputFactory.createCityGMLReader(ois)) { Citygml3FeatureMapper mapper = new Citygml3FeatureMapper(config, file); + CityGMLVersion version = null; // model is read in chunked mode // object members are replaced by href in model // need to remove the refs and re-add unparsed objects List acos = new ArrayList<>(); while (reader.hasNext()) { AbstractFeature chunk = reader.next(); + version = CityGMLModules.getCityGMLVersion(reader.getName().getNamespaceURI()); if (chunk instanceof CityModel cModel) { cModel.setCityObjectMembers(null); mapper.setCityModel(cModel); - CityGMLVersion version = CityGMLModules.getCityGMLVersion(reader.getName().getNamespaceURI()); mapper.setCityGMLVersion(version); } else if (chunk instanceof AbstractCityObject aco) { acos.add(aco); @@ -362,10 +374,14 @@ public class CityGmlParser { for (AbstractCityObject aco : acos) { cModel.getCityObjectMembers().add(new AbstractCityObjectProperty(aco)); } - if (logger.isInfoEnabled()) { + if (logger.isInfoEnabled() && !gagged) { logger.info(Localization.getText("CityGmlParser.parsedObjects"), mapper.getModel().getNumberOfFeatures()); + } else if (gagged){ + // Remove gag + gagged = false; } + mapper.setCityGMLVersion(version); return mapper.getModel(); } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/CityGmlUtils.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/CityGmlUtils.java index aed503f7600c42097b91266eeaafa3b55f7ef539..564e68df9d83174fa597c6d355d4a90a3a42d0e2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/CityGmlUtils.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/CityGmlUtils.java @@ -1,6 +1,6 @@ /*- * Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart - * + * * This file is part of CityDoctor2. * * CityDoctor2 is free software: you can redistribute it and/or modify @@ -18,181 +18,198 @@ */ package de.hft.stuttgart.citydoctor2.utils; -import java.util.ArrayList; -import java.util.List; - +import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; +import de.hft.stuttgart.citydoctor2.datastructure.Polygon; +import de.hft.stuttgart.citydoctor2.datastructure.*; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import org.citygml4j.core.util.geometry.GeometryFactory; import org.locationtech.proj4j.BasicCoordinateTransform; import org.locationtech.proj4j.ProjCoordinate; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.complexes.CompositeSurface; -import org.xmlobjects.gml.model.geometry.primitives.AbstractRingProperty; -import org.xmlobjects.gml.model.geometry.primitives.Shell; -import org.xmlobjects.gml.model.geometry.primitives.ShellProperty; -import org.xmlobjects.gml.model.geometry.primitives.Solid; -import org.xmlobjects.gml.model.geometry.primitives.SurfaceProperty; - -import de.hft.stuttgart.citydoctor2.datastructure.Geometry; -import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; -import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; -import de.hft.stuttgart.citydoctor2.datastructure.Polygon; -import de.hft.stuttgart.citydoctor2.datastructure.Vertex; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import org.xmlobjects.gml.model.geometry.primitives.*; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * Utility class dedicated to create CityGML4j datastructures. - * - * @author Matthias Betz * + * @author Matthias Betz */ public final class CityGmlUtils { - private CityGmlUtils() { - // util class - } - - public static org.xmlobjects.gml.model.geometry.primitives.Polygon createGmlPolygon(GeometryFactory factory, - Polygon cdPoly, ParserConfiguration config) { - if (cdPoly.getExteriorRing() == null) { - return null; - } - org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = new org.xmlobjects.gml.model.geometry.primitives.Polygon(); - // exterior ring - LinearRing extLr = cdPoly.getExteriorRing(); - if (extLr.getVertices().size() < 3) { - // this ring does not have enough points in it - // this leads to errors when exporting therefore ignore it - return null; - } - org.xmlobjects.gml.model.geometry.primitives.LinearRing gmlLr = createGmlRing(factory, config, extLr); - gmlPoly.setExterior(new AbstractRingProperty(gmlLr)); - - // interior rings - for (LinearRing lr : cdPoly.getInnerRings()) { - gmlLr = createGmlRing(factory, config, lr); - if (lr.getVertices().size() < 3) { - // this ring does not have enough points in it - // this leads to errors when exporting therefore ignore it - return null; - } - gmlPoly.getInterior().add(new AbstractRingProperty(gmlLr)); - } - gmlPoly.setId(cdPoly.getGmlId().getGmlString()); - return gmlPoly; - } - - public static org.xmlobjects.gml.model.geometry.primitives.LinearRing createGmlRing(GeometryFactory factory, - ParserConfiguration config, LinearRing lr) { - - ProjCoordinate p1 = new ProjCoordinate(); - ProjCoordinate p2 = new ProjCoordinate(); - List ringValues = new ArrayList<>(); - BasicCoordinateTransform trans = config.getOriginalTransform(); - for (Vertex v : lr.getVertices()) { - double x = v.getX(); - double y = v.getY(); - double z = v.getZ(); - if (trans != null) { - p1.x = x; - p1.y = y; - trans.transform(p1, p2); - x = p2.x; - y = p2.y; - z = z * config.getFromMeters(); - } - ringValues.add(x); - ringValues.add(y); - ringValues.add(z); - } - - org.xmlobjects.gml.model.geometry.primitives.LinearRing gmlLr = factory.createLinearRing(ringValues, 3); - gmlLr.setId(lr.getGmlId().getGmlString()); - return gmlLr; - } - - public static Solid createSolid(Geometry geom, GeometryFactory factory, ParserConfiguration config) { - if (geom.getType() != GeometryType.SOLID) { - throw new IllegalArgumentException("Only solids are allowed"); - } - - CompositeSurface comp = new CompositeSurface(); - List surfaceMember = comp.getSurfaceMembers(); - for (Polygon cdPoly : geom.getPolygons()) { - if (!cdPoly.isLink()) { - org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); - if (gmlPoly != null) { - surfaceMember.add(new SurfaceProperty(gmlPoly)); - } - } else { - // add reference to polygon - surfaceMember.add(new SurfaceProperty("#" + cdPoly.getGmlId().getGmlString())); - } - } - - if (surfaceMember.isEmpty()) { - return null; - } - Solid solid = new Solid(); - Shell shell = new Shell(surfaceMember); - solid.setExterior(new ShellProperty(shell)); - solid.setId(geom.getGmlId().getGmlString()); - return solid; - } - - public static MultiSurface createMultiSurface(Geometry geom, GeometryFactory factory, - ParserConfiguration config) { - if (geom.getType() != GeometryType.MULTI_SURFACE) { - throw new IllegalArgumentException("This can only handle MultiSurfaces"); - } - List surfaces = new ArrayList<>(); - for (Polygon cdPoly : geom.getPolygons()) { - if (!cdPoly.isLink()) { - // is not part of a boundary surface - org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); - if (gmlPoly != null) { - surfaces.add(new SurfaceProperty(gmlPoly)); - } - } else { - // add reference to polygon - surfaces.add(new SurfaceProperty("#" + cdPoly.getGmlId().getGmlString())); - } - } - if (surfaces.isEmpty()) { - return null; - } - MultiSurface ms = new MultiSurface(surfaces); - ms.setId(geom.getGmlId().getGmlString()); - return ms; - } - - public static MultiSurface createMultiSurface(List polygons, GeometryFactory factory, - ParserConfiguration config) { - List surfaces = new ArrayList<>(); - for (Polygon cdPoly : polygons) { - org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); - if (gmlPoly != null) { - surfaces.add(new SurfaceProperty(gmlPoly)); - } - } - if (surfaces.isEmpty()) { - return null; - } - return new MultiSurface(surfaces); - } - - public static CompositeSurface createCompositeSurface(Geometry geom, GeometryFactory factory, - ParserConfiguration config) { - List surfaces = new ArrayList<>(); - for (Polygon cdPoly : geom.getPolygons()) { - org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); - if (gmlPoly != null) { - surfaces.add(new SurfaceProperty(gmlPoly)); - } - } - if (surfaces.isEmpty()) { - return null; - } - return new CompositeSurface(surfaces); - } + + private CityGmlUtils() { + // util class + } + + public static org.xmlobjects.gml.model.geometry.primitives.Polygon createGmlPolygon(GeometryFactory factory, + Polygon cdPoly, ParserConfiguration config) { + if (cdPoly.getExteriorRing() == null) { + return null; + } + org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = new org.xmlobjects.gml.model.geometry.primitives.Polygon(); + // exterior ring + LinearRing extLr = cdPoly.getExteriorRing(); + if (extLr.getVertices().size() < 3) { + // this ring does not have enough points in it + // this leads to errors when exporting therefore ignore it + return null; + } + org.xmlobjects.gml.model.geometry.primitives.LinearRing gmlLr = createGmlRing(factory, config, extLr); + gmlPoly.setExterior(new AbstractRingProperty(gmlLr)); + + // interior rings + for (LinearRing lr : cdPoly.getInnerRings()) { + gmlLr = createGmlRing(factory, config, lr); + if (lr.getVertices().size() < 3) { + // this ring does not have enough points in it + // this leads to errors when exporting therefore ignore it + return null; + } + gmlPoly.getInterior().add(new AbstractRingProperty(gmlLr)); + } + gmlPoly.setId(cdPoly.getGmlId().getGmlString()); + return gmlPoly; + } + + public static CompositeSurface createGmlComposite(GeometryFactory factory, CompositeCollection comp, + ParserConfiguration config) { + List surfaces = new ArrayList<>(); + for (ConcretePolygon cd : comp.getNonRecursiveCompositeMembers()) { + surfaces.add(new SurfaceProperty(createGmlPolygon(factory, cd, config))); + } + for (CompositeCollection cc : comp.getChildComposites()) { + surfaces.add(new SurfaceProperty(createGmlComposite(factory, cc, config))); + } + if (surfaces.isEmpty()) { + return null; + } + return new CompositeSurface(surfaces); + } + + + public static org.xmlobjects.gml.model.geometry.primitives.LinearRing createGmlRing(GeometryFactory factory, + ParserConfiguration config, LinearRing lr) { + + ProjCoordinate p1 = new ProjCoordinate(); + ProjCoordinate p2 = new ProjCoordinate(); + List ringValues = new ArrayList<>(); + BasicCoordinateTransform trans = config.getOriginalTransform(); + for (Vertex v : lr.getVertices()) { + double x = v.getX(); + double y = v.getY(); + double z = v.getZ(); + if (trans != null) { + p1.x = x; + p1.y = y; + trans.transform(p1, p2); + x = p2.x; + y = p2.y; + z = z * config.getFromMeters(); + } + ringValues.add(x); + ringValues.add(y); + ringValues.add(z); + } + + org.xmlobjects.gml.model.geometry.primitives.LinearRing gmlLr = factory.createLinearRing(ringValues, 3); + gmlLr.setId(lr.getGmlId().getGmlString()); + return gmlLr; + } + + public static Solid createSolid(Geometry geom, GeometryFactory factory, ParserConfiguration config) { + if (geom.getType() != GeometryType.SOLID) { + throw new IllegalArgumentException("Only solids are allowed"); + } + + CompositeSurface comp = new CompositeSurface(); + List surfaceMember = comp.getSurfaceMembers(); + for (Polygon cdPoly : geom.getPolygons()) { + if (!cdPoly.isLink()) { + org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); + if (gmlPoly != null) { + surfaceMember.add(new SurfaceProperty(gmlPoly)); + } + } else { + // add reference to polygon + surfaceMember.add(new SurfaceProperty("#" + cdPoly.getGmlId().getGmlString())); + } + } + + if (surfaceMember.isEmpty()) { + return null; + } + Solid solid = new Solid(); + Shell shell = new Shell(surfaceMember); + solid.setExterior(new ShellProperty(shell)); + solid.setId(geom.getGmlId().getGmlString()); + return solid; + } + + public static MultiSurface createMultiSurface(Geometry geom, GeometryFactory factory, + ParserConfiguration config) { + if (geom.getType() != GeometryType.MULTI_SURFACE && geom.getType() != GeometryType.COMPOSITE_SURFACE) { + throw new IllegalArgumentException("This can only handle MultiSurfaces"); + } + List surfaces = new ArrayList<>(); + Set compositeCollections = new HashSet<>(); + for (Polygon cdPoly : geom.getPolygons()) { + if (cdPoly instanceof ConcretePolygon conc && conc.isCompositeMember()) { + compositeCollections.add(conc.getPartOfComposite()); + } else if (!cdPoly.isLink()) { + // is not part of a boundary surface + org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); + if (gmlPoly != null) { + surfaces.add(new SurfaceProperty(gmlPoly)); + } + } else { + // add reference to polygon + surfaces.add(new SurfaceProperty("#" + cdPoly.getGmlId().getGmlString())); + } + } + for (CompositeCollection cdPoly : compositeCollections) { + surfaces.add(new SurfaceProperty(createGmlComposite(factory, cdPoly, config))); + } + if (surfaces.isEmpty()) { + return null; + } + MultiSurface ms = new MultiSurface(surfaces); + ms.setId(geom.getGmlId().getGmlString()); + return ms; + } + + public static MultiSurface createMultiSurface(List polygons, GeometryFactory factory, + ParserConfiguration config) { + List surfaces = new ArrayList<>(); + for (Polygon cdPoly : polygons) { + org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); + if (gmlPoly != null) { + surfaces.add(new SurfaceProperty(gmlPoly)); + } + } + if (surfaces.isEmpty()) { + return null; + } + return new MultiSurface(surfaces); + } + + public static CompositeSurface createCompositeSurface(Geometry geom, GeometryFactory factory, + ParserConfiguration config) { + List surfaces = new ArrayList<>(); + for (Polygon cdPoly : geom.getPolygons()) { + org.xmlobjects.gml.model.geometry.primitives.Polygon gmlPoly = createGmlPolygon(factory, cdPoly, config); + if (gmlPoly != null) { + surfaces.add(new SurfaceProperty(gmlPoly)); + } + } + if (surfaces.isEmpty()) { + return null; + } + return new CompositeSurface(surfaces); + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java index 52d9da5a2c6220824950590375bd264166d56f8d..00c75d547d02c7e812e1282eff3ef345a774a0bd 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java @@ -68,7 +68,7 @@ public class CityGMLWriterUtils { public static void writeCityModel(String file, CityDoctorModel model) throws CityDoctorWriteException { CityGMLContext gmlContext = CityGmlParser.getContext(); CityModel cModel = model.getCityModel(); - CityGMLOutputFactory factory = gmlContext.createCityGMLOutputFactory(CityGMLVersion.v2_0); + CityGMLOutputFactory factory = gmlContext.createCityGMLOutputFactory(model.getCityGMLVersion()); try (CityGMLWriter writer = factory.createCityGMLWriter(new File(file))) { writer.withIndent(" "); writer.withDefaultPrefixes(); @@ -92,6 +92,9 @@ public class CityGMLWriterUtils { storeCityObjects(model.getLand(), gmlFactory, model, cModel, val); storeCityObjects(model.getTransportation(), gmlFactory, model, cModel, val); storeCityObjects(model.getWater(), gmlFactory, model, cModel, val); + storeCityObjects(model.getCityFurniture(), gmlFactory, model, cModel, val); + storeCityObjects(model.getGenericCityObjects(), gmlFactory, model, cModel, val); + storeCityObjects(model.getTunnels(), gmlFactory, model, cModel, val); writer.write(cModel); cModel.getCityObjectMembers().clear(); @@ -169,6 +172,7 @@ public class CityGMLWriterUtils { if (model.isValidated() && val != null) { QualityADEUtils.writeQualityAde(co, val); } + co.reCreateGeometries(gmlFactory, model.getParserConfig()); cModel.getCityObjectMembers().add(new AbstractCityObjectProperty(co.getGmlObject())); } diff --git a/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization.properties b/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization.properties index bc37e62a0cda1cbe7a85b4c25a1ba0360bf66a25..ddba2444a0e7b17ccb89ea6b0eb324fe2e585fa5 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization.properties +++ b/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization.properties @@ -29,6 +29,9 @@ MainToolBar.wireframe=Show/Hide Wireframe MainToolBar.culling=Enable/Disable Culling MainToolBar.writeReports=Write Reports MainToolBar.executeChecks=Execute Checks +MainToolBar.showWorld=Show entire city model +MainToolBar.resetCamera=Reset view +MainToolBar.hideRoof=Show/Hide roof BoundarySurfaces MainWindow.missingConfig=Could not find configuration file. MainWindow.loadGivenFile=Loading given file, please wait MainWindow.finishedLoading=Finished loading @@ -46,9 +49,12 @@ MainWindow.languageChange=For the change in language to apply, restart CityDocto MainWindow.buildingsTab=Buildings MainWindow.vegetationTab=Vegetation MainWindow.transportationTab=Transportation +MainWindow.tunnelTab=Tunnels MainWindow.bridgeTab=Bridges MainWindow.waterTab=Water MainWindow.terrainTab=Terrain +MainWindow.cityfurnitureTab=CityFurniture +MainWindow.otherObjectsTab=Other MainWindow.viewLabel=View MainWindow.showLabel=Show: MainWindow.searchLabel=Search: @@ -58,6 +64,7 @@ MainWindow.errorsTab=Errors MainWindow.polygonsTab=Polygons MainWindow.edgesTab=Edges MainWindow.verticesTab=Vertices +MainWindow.attributeTab=Attributes MainWindow.logTab=Log MainWindow.globalErrorsTab=Global Errors OpenFileDialog.fileLabel=File: diff --git a/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization_de.properties b/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization_de.properties index f16c85186e32bd1a809710f4f881123d0f4a334a..b93a1419fd7c859b8da3210dbafd579b8d424eb5 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization_de.properties +++ b/CityDoctorParent/CityDoctorModel/src/main/resources/CityDoctorLocalization_de.properties @@ -27,6 +27,9 @@ MainToolBar.wireframe=Zeige/Verstecke Gitternetz MainToolBar.culling=Aktiviere/Deaktiviere Entfernen der R\u00fcckseiten MainToolBar.writeReports=Schreibe Reports MainToolBar.executeChecks=F\u00fchre Pr\u00fcfungen aus +MainToolBar.showWorld=Gesamtes Stadtmodell anzeigen +MainToolBar.resetCamera=Ansicht zur\u00fccksetzen +MainToolBar.hideRoof=Zeige/Verstecke Dach BoundarySurfaces MainWindow.missingConfig=Konnte Konfigurationsdatei nicht finden. MainWindow.loadGivenFile=Lade vorhandene Datei, bitte warten MainWindow.finishedLoading=Fertig geladen @@ -44,9 +47,12 @@ MainWindow.languageChange=Um die Spracheinstellung zu \u00fcbernehmen muss CityD MainWindow.buildingsTab=Geb\u00e4ude MainWindow.vegetationTab=Vegetation MainWindow.transportationTab=Verkehrsobjekte +MainWindow.tunnelTab=Tunnel MainWindow.bridgeTab=Br\u00fccken MainWindow.waterTab=Gew\u00e4sser MainWindow.terrainTab=Gel\u00e4nde +MainWindow.cityfurnitureTab=Stadtm\u00f6bel +MainWindow.otherObjectsTab=Andere MainWindow.viewLabel=Ansicht MainWindow.showLabel=Zeige: MainWindow.searchLabel=Suche: @@ -56,6 +62,7 @@ MainWindow.errorsTab=Fehler MainWindow.polygonsTab=Polygone MainWindow.edgesTab=Kanten MainWindow.verticesTab=Punkte +MainWindow.attributeTab=Attribute MainWindow.logTab=Log MainWindow.globalErrorsTab=Globale Fehler OpenFileDialog.fileLabel=Datei: diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModelTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModelTest.java index 6d7cda6c74d6b99515e7b2f330495671c341c122..0894044efe4855172bf91e7c31f0b4cec8d41a53 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModelTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModelTest.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.UUID; import org.citygml4j.core.ade.ADEException; +import org.citygml4j.core.model.CityGMLVersion; import org.citygml4j.core.model.core.AbstractFeatureProperty; import org.citygml4j.core.model.core.CityModel; import org.citygml4j.xml.writer.CityGMLWriteException; @@ -131,6 +132,7 @@ public class CityDoctorModelTest { File f = Mockito.mock(File.class); ParserConfiguration config = new ParserConfiguration(8, false); CityDoctorModel model = new CityDoctorModel(config, f); + model.setParsedCityGMLVersion(CityGMLVersion.v2_0); CityModel cModel = new CityModel(); model.setCityModel(cModel); Building b = new Building(); @@ -156,6 +158,7 @@ public class CityDoctorModelTest { File f = Mockito.mock(File.class); ParserConfiguration config = new ParserConfiguration(8, false); CityDoctorModel model = new CityDoctorModel(config, f); + model.setParsedCityGMLVersion(CityGMLVersion.v2_0); CityModel cModel = new CityModel(); ValidationPlan plan = new ValidationPlan(); plan.setId("CD_PLAN_" + UUID.randomUUID().toString()); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CompositePolygonTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CompositePolygonTest.java new file mode 100644 index 0000000000000000000000000000000000000000..7aa9ad7763c3c949010b4464d2567ffc94d12042 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CompositePolygonTest.java @@ -0,0 +1,33 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.parser.CityGmlParseException; +import de.hft.stuttgart.citydoctor2.parser.CityGmlParser; +import de.hft.stuttgart.citydoctor2.parser.InvalidGmlFileException; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +public class CompositePolygonTest { + + @Test + public void testCompositePolygonParsing() throws CityGmlParseException, InvalidGmlFileException { + ParserConfiguration config = new ParserConfiguration(8, false); + CityDoctorModel m = CityGmlParser.parseCityGmlFile("src/test/resources/FZK_haus.gml", config); + + Building b = m.getBuildings().get(0); + assertNotNull(b); + assertFalse(b.getBoundarySurfaces().isEmpty()); + for (BoundarySurface bs : b.getBoundarySurfaces()) { + assertNotNull(bs); + assertFalse(bs.getGeometries().isEmpty()); + for (Geometry geom : bs.getGeometries()) { + assertNotNull(geom); + assertFalse(geom.getPolygons().isEmpty()); + } + } + + + } +} diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java new file mode 100644 index 0000000000000000000000000000000000000000..20af439bcbabc72cc99a204906ad244124a46304 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java @@ -0,0 +1,96 @@ +package de.hft.stuttgart.citydoctor2.datastructure; + +import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import org.citygml4j.core.model.core.ImplicitGeometry; +import org.citygml4j.core.model.core.TransformationMatrix4x4; +import org.junit.Before; +import org.junit.Test; +import org.xmlobjects.gml.model.geometry.DirectPosition; +import org.xmlobjects.gml.model.geometry.primitives.Point; +import org.xmlobjects.gml.model.geometry.primitives.PointProperty; +import org.xmlobjects.gml.util.jama.Matrix; + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.junit.Assert.*; + +public class ImplicitGeometryTest { + + private Path path; + private ParserConfiguration config; + private String pathString = "src/test/resources/ImplicitTestGeom.gml"; + private TransformationMatrix4x4 origin; + + @Before + public void setUp() { + path = Paths.get(pathString); + config = new ParserConfiguration(8, false); + Matrix og = new Matrix(4, 4); + og.set(0, 0, 1); + og.set(1, 1, 1); + og.set(2, 2, 1); + + origin = new TransformationMatrix4x4(og); + } + + @Test + public void testLibraryObjectParsing() { + LibraryObject lo = LibraryObject.of(path, config); + assertNotNull(lo); + LibraryObject lo2 = LibraryObject.of(path, config); + assertSame(lo, lo2); + } + + @Test + public void testObjectTransform() { + LibraryObject lo = LibraryObject.of(path, config); + assertNotNull(lo); + ImplicitGeometry geom = new ImplicitGeometry(); + + + geom.setTransformationMatrix(origin); + geom.setReferencePoint(new PointProperty(new Point(new DirectPosition(0, 0)))); + ImplicitGeometryHolder igh = new ImplicitGeometryHolder(geom, lo); + assertNotNull(igh); + + geom.setReferencePoint(new PointProperty(new Point(new DirectPosition(5, 8)))); + ImplicitGeometryHolder igh2 = new ImplicitGeometryHolder(geom, lo); + assertNotNull(igh2); + assertNotEquals(igh, igh2); + BoundingBox bb1 = BoundingBox.of(igh.getPolygons()); + BoundingBox bb2 = BoundingBox.of(igh2.getPolygons()); + assertNotEquals(bb1, bb2); + + } + + @Test + public void testAccept() { + LibraryObject lib = LibraryObject.of(path, config); + assertNotNull(lib); + + ImplicitGeometry geom = new ImplicitGeometry(); + geom.setTransformationMatrix(origin); + geom.setReferencePoint(new PointProperty(new Point(new DirectPosition(0, 0)))); + + int polyCount = lib.getPolygons().size(); + + ImplicitGeometryHolder igh = new ImplicitGeometryHolder(geom, lib); + + AtomicInteger loCounter = new AtomicInteger(0); + + AbstractCheck c = new AbstractCheck() { + @Override + public void check(Polygon lo) { + loCounter.incrementAndGet(); + } + }; + igh.accept(c); + assertEquals("ImplicitGeometryHolder should only check polygons of prototype geometry", + polyCount, loCounter.intValue()); + + } + +} diff --git a/CityDoctorParent/CityDoctorModel/src/test/resources/FZK_haus.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/FZK_haus.gml new file mode 100644 index 0000000000000000000000000000000000000000..c3dcaf77dabc2e34ab3a564083fd7c2e40bfc6b1 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/resources/FZK_haus.gml @@ -0,0 +1,191119 @@ + + + + AC14-FZK-Haus + + + 457841.5 5439082.5 111.8 + 457854.5 5439093.5 118.317669 + + + + + FZK-Haus (Forschungszentrum Karlsruhe, now KIT), created by Karl-Heinz + Haefele + AC14-FZK-Haus + 2017-01-23T00:00:00 + entirelyAboveTerrain + + + GrossPlannedArea + 120.00 + + + + + ConstructionMethod + New Building + + + + + IsLandmarked + NO + + + + + Outer Wall 1 (West) + + + + + + + + + 457842 5439088.49240388 115.913175911167 + 457842.12 5439088.49240388 115.913175911167 + 457842.12 5439088.49809735 115.956422128626 + 457842 5439088.49809735 115.956422128626 + 457842 5439088.49240388 115.913175911167 + + + + + + + + + 457842 5439088.49809735 115.956422128626 + 457842.12 5439088.49809735 115.956422128626 + 457842.12 5439088.5 116 + 457842 5439088.5 116 + 457842 5439088.49809735 115.956422128626 + + + + + + + + + 457842 5439088.5 116 + 457842.12 5439088.5 116 + 457842.12 5439088.49809735 116.043577871374 + 457842 5439088.49809735 116.043577871374 + 457842 5439088.5 116 + + + + + + + + + 457842 5439088.49809735 116.043577871374 + 457842.12 5439088.49809735 116.043577871374 + 457842.12 5439088.49240388 116.086824088833 + 457842 5439088.49240388 116.086824088833 + 457842 5439088.49809735 116.043577871374 + + + + + + + + + 457842 5439088.49240388 116.086824088833 + 457842.12 5439088.49240388 116.086824088833 + 457842.12 5439088.48296291 116.129409522551 + 457842 5439088.48296291 116.129409522551 + 457842 5439088.49240388 116.086824088833 + + + + + + + + + 457842 5439088.48296291 116.129409522551 + 457842.12 5439088.48296291 116.129409522551 + 457842.12 5439088.46984631 116.171010071663 + 457842 5439088.46984631 116.171010071663 + 457842 5439088.48296291 116.129409522551 + + + + + + + + + 457842 5439088.46984631 116.171010071663 + 457842.12 5439088.46984631 116.171010071663 + 457842.12 5439088.45315389 116.21130913087 + 457842 5439088.45315389 116.21130913087 + 457842 5439088.46984631 116.171010071663 + + + + + + + + + 457842 5439088.45315389 116.21130913087 + 457842.12 5439088.45315389 116.21130913087 + 457842.12 5439088.4330127 116.25 + 457842 5439088.4330127 116.25 + 457842 5439088.45315389 116.21130913087 + + + + + + + + + 457842 5439088.4330127 116.25 + 457842.12 5439088.4330127 116.25 + 457842.12 5439088.40957602 116.286788218176 + 457842 5439088.40957602 116.286788218176 + 457842 5439088.4330127 116.25 + + + + + + + + + 457842 5439088.40957602 116.286788218176 + 457842.12 5439088.40957602 116.286788218176 + 457842.12 5439088.38302222 116.321393804843 + 457842 5439088.38302222 116.321393804843 + 457842 5439088.40957602 116.286788218176 + + + + + + + + + 457842 5439088.38302222 116.321393804843 + 457842.12 5439088.38302222 116.321393804843 + 457842.12 5439088.35355339 116.353553390593 + 457842 5439088.35355339 116.353553390593 + 457842 5439088.38302222 116.321393804843 + + + + + + + + + 457842 5439088.35355339 116.353553390593 + 457842.12 5439088.35355339 116.353553390593 + 457842.12 5439088.3213938 116.383022221559 + 457842 5439088.3213938 116.383022221559 + 457842 5439088.35355339 116.353553390593 + + + + + + + + + 457842 5439088.3213938 116.383022221559 + 457842.12 5439088.3213938 116.383022221559 + 457842.12 5439088.28678822 116.409576022145 + 457842 5439088.28678822 116.409576022145 + 457842 5439088.3213938 116.383022221559 + + + + + + + + + 457842 5439088.28678822 116.409576022145 + 457842.12 5439088.28678822 116.409576022145 + 457842.12 5439088.25 116.433012701892 + 457842 5439088.25 116.433012701892 + 457842 5439088.28678822 116.409576022145 + + + + + + + + + 457842 5439088.25 116.433012701892 + 457842.12 5439088.25 116.433012701892 + 457842.12 5439088.21130913 116.453153893518 + 457842 5439088.21130913 116.453153893518 + 457842 5439088.25 116.433012701892 + + + + + + + + + 457842 5439088.21130913 116.453153893518 + 457842.12 5439088.21130913 116.453153893518 + 457842.12 5439088.17101007 116.469846310393 + 457842 5439088.17101007 116.469846310393 + 457842 5439088.21130913 116.453153893518 + + + + + + + + + 457842 5439088.17101007 116.469846310393 + 457842.12 5439088.17101007 116.469846310393 + 457842.12 5439088.12940952 116.482962913145 + 457842 5439088.12940952 116.482962913145 + 457842 5439088.17101007 116.469846310393 + + + + + + + + + 457842 5439088.12940952 116.482962913145 + 457842.12 5439088.12940952 116.482962913145 + 457842.12 5439088.08682409 116.492403876506 + 457842 5439088.08682409 116.492403876506 + 457842 5439088.12940952 116.482962913145 + + + + + + + + + 457842 5439088.08682409 116.492403876506 + 457842.12 5439088.08682409 116.492403876506 + 457842.12 5439088.04357787 116.498097349046 + 457842 5439088.04357787 116.498097349046 + 457842 5439088.08682409 116.492403876506 + + + + + + + + + 457842 5439088.04357787 116.498097349046 + 457842.12 5439088.04357787 116.498097349046 + 457842.12 5439088 116.5 + 457842 5439088 116.5 + 457842 5439088.04357787 116.498097349046 + + + + + + + + + 457842 5439088 116.5 + 457842.12 5439088 116.5 + 457842.12 5439087.95642213 116.498097349046 + 457842 5439087.95642213 116.498097349046 + 457842 5439088 116.5 + + + + + + + + + 457842 5439087.95642213 116.498097349046 + 457842.12 5439087.95642213 116.498097349046 + 457842.12 5439087.91317591 116.492403876506 + 457842 5439087.91317591 116.492403876506 + 457842 5439087.95642213 116.498097349046 + + + + + + + + + 457842 5439087.91317591 116.492403876506 + 457842.12 5439087.91317591 116.492403876506 + 457842.12 5439087.87059048 116.482962913145 + 457842 5439087.87059048 116.482962913145 + 457842 5439087.91317591 116.492403876506 + + + + + + + + + 457842 5439087.87059048 116.482962913145 + 457842.12 5439087.87059048 116.482962913145 + 457842.12 5439087.82898993 116.469846310393 + 457842 5439087.82898993 116.469846310393 + 457842 5439087.87059048 116.482962913145 + + + + + + + + + 457842 5439087.82898993 116.469846310393 + 457842.12 5439087.82898993 116.469846310393 + 457842.12 5439087.78869087 116.453153893518 + 457842 5439087.78869087 116.453153893518 + 457842 5439087.82898993 116.469846310393 + + + + + + + + + 457842 5439087.78869087 116.453153893518 + 457842.12 5439087.78869087 116.453153893518 + 457842.12 5439087.75 116.433012701892 + 457842 5439087.75 116.433012701892 + 457842 5439087.78869087 116.453153893518 + + + + + + + + + 457842 5439087.75 116.433012701892 + 457842.12 5439087.75 116.433012701892 + 457842.12 5439087.71321178 116.409576022145 + 457842 5439087.71321178 116.409576022145 + 457842 5439087.75 116.433012701892 + + + + + + + + + 457842 5439087.71321178 116.409576022145 + 457842.12 5439087.71321178 116.409576022145 + 457842.12 5439087.6786062 116.383022221559 + 457842 5439087.6786062 116.383022221559 + 457842 5439087.71321178 116.409576022145 + + + + + + + + + 457842 5439087.6786062 116.383022221559 + 457842.12 5439087.6786062 116.383022221559 + 457842.12 5439087.64644661 116.353553390593 + 457842 5439087.64644661 116.353553390593 + 457842 5439087.6786062 116.383022221559 + + + + + + + + + 457842 5439087.64644661 116.353553390593 + 457842.12 5439087.64644661 116.353553390593 + 457842.12 5439087.61697778 116.321393804843 + 457842 5439087.61697778 116.321393804843 + 457842 5439087.64644661 116.353553390593 + + + + + + + + + 457842 5439087.61697778 116.321393804843 + 457842.12 5439087.61697778 116.321393804843 + 457842.12 5439087.59042398 116.286788218176 + 457842 5439087.59042398 116.286788218176 + 457842 5439087.61697778 116.321393804843 + + + + + + + + + 457842 5439087.59042398 116.286788218176 + 457842.12 5439087.59042398 116.286788218176 + 457842.12 5439087.5669873 116.25 + 457842 5439087.5669873 116.25 + 457842 5439087.59042398 116.286788218176 + + + + + + + + + 457842 5439087.5669873 116.25 + 457842.12 5439087.5669873 116.25 + 457842.12 5439087.54684611 116.21130913087 + 457842 5439087.54684611 116.21130913087 + 457842 5439087.5669873 116.25 + + + + + + + + + 457842 5439087.54684611 116.21130913087 + 457842.12 5439087.54684611 116.21130913087 + 457842.12 5439087.53015369 116.171010071663 + 457842 5439087.53015369 116.171010071663 + 457842 5439087.54684611 116.21130913087 + + + + + + + + + 457842 5439087.53015369 116.171010071663 + 457842.12 5439087.53015369 116.171010071663 + 457842.12 5439087.51703709 116.129409522551 + 457842 5439087.51703709 116.129409522551 + 457842 5439087.53015369 116.171010071663 + + + + + + + + + 457842 5439087.51703709 116.129409522551 + 457842.12 5439087.51703709 116.129409522551 + 457842.12 5439087.50759612 116.086824088833 + 457842 5439087.50759612 116.086824088833 + 457842 5439087.51703709 116.129409522551 + + + + + + + + + 457842 5439087.50759612 116.086824088833 + 457842.12 5439087.50759612 116.086824088833 + 457842.12 5439087.50190265 116.043577871374 + 457842 5439087.50190265 116.043577871374 + 457842 5439087.50759612 116.086824088833 + + + + + + + + + 457842 5439087.50190265 116.043577871374 + 457842.12 5439087.50190265 116.043577871374 + 457842.12 5439087.5 116 + 457842 5439087.5 116 + 457842 5439087.50190265 116.043577871374 + + + + + + + + + 457842 5439087.5 116 + 457842.12 5439087.5 116 + 457842.12 5439087.50190265 115.956422128626 + 457842 5439087.50190265 115.956422128626 + 457842 5439087.5 116 + + + + + + + + + 457842 5439087.50190265 115.956422128626 + 457842.12 5439087.50190265 115.956422128626 + 457842.12 5439087.50759612 115.913175911167 + 457842 5439087.50759612 115.913175911167 + 457842 5439087.50190265 115.956422128626 + + + + + + + + + 457842 5439087.50759612 115.913175911167 + 457842.12 5439087.50759612 115.913175911167 + 457842.12 5439087.51703709 115.870590477449 + 457842 5439087.51703709 115.870590477449 + 457842 5439087.50759612 115.913175911167 + + + + + + + + + 457842 5439087.51703709 115.870590477449 + 457842.12 5439087.51703709 115.870590477449 + 457842.12 5439087.53015369 115.828989928337 + 457842 5439087.53015369 115.828989928337 + 457842 5439087.51703709 115.870590477449 + + + + + + + + + 457842 5439087.53015369 115.828989928337 + 457842.12 5439087.53015369 115.828989928337 + 457842.12 5439087.54684611 115.78869086913 + 457842 5439087.54684611 115.78869086913 + 457842 5439087.53015369 115.828989928337 + + + + + + + + + 457842 5439087.54684611 115.78869086913 + 457842.12 5439087.54684611 115.78869086913 + 457842.12 5439087.5669873 115.75 + 457842 5439087.5669873 115.75 + 457842 5439087.54684611 115.78869086913 + + + + + + + + + 457842 5439087.5669873 115.75 + 457842.12 5439087.5669873 115.75 + 457842.12 5439087.59042398 115.713211781824 + 457842 5439087.59042398 115.713211781824 + 457842 5439087.5669873 115.75 + + + + + + + + + 457842 5439087.59042398 115.713211781824 + 457842.12 5439087.59042398 115.713211781824 + 457842.12 5439087.61697778 115.678606195157 + 457842 5439087.61697778 115.678606195157 + 457842 5439087.59042398 115.713211781824 + + + + + + + + + 457842 5439087.61697778 115.678606195157 + 457842.12 5439087.61697778 115.678606195157 + 457842.12 5439087.64644661 115.646446609407 + 457842 5439087.64644661 115.646446609407 + 457842 5439087.61697778 115.678606195157 + + + + + + + + + 457842 5439087.64644661 115.646446609407 + 457842.12 5439087.64644661 115.646446609407 + 457842.12 5439087.6786062 115.616977778441 + 457842 5439087.6786062 115.616977778441 + 457842 5439087.64644661 115.646446609407 + + + + + + + + + 457842 5439087.6786062 115.616977778441 + 457842.12 5439087.6786062 115.616977778441 + 457842.12 5439087.71321178 115.590423977855 + 457842 5439087.71321178 115.590423977855 + 457842 5439087.6786062 115.616977778441 + + + + + + + + + 457842 5439087.71321178 115.590423977855 + 457842.12 5439087.71321178 115.590423977855 + 457842.12 5439087.75 115.566987298108 + 457842 5439087.75 115.566987298108 + 457842 5439087.71321178 115.590423977855 + + + + + + + + + 457842 5439087.75 115.566987298108 + 457842.12 5439087.75 115.566987298108 + 457842.12 5439087.78869087 115.546846106482 + 457842 5439087.78869087 115.546846106482 + 457842 5439087.75 115.566987298108 + + + + + + + + + 457842 5439087.78869087 115.546846106482 + 457842.12 5439087.78869087 115.546846106482 + 457842.12 5439087.82898993 115.530153689607 + 457842 5439087.82898993 115.530153689607 + 457842 5439087.78869087 115.546846106482 + + + + + + + + + 457842 5439087.82898993 115.530153689607 + 457842.12 5439087.82898993 115.530153689607 + 457842.12 5439087.87059048 115.517037086855 + 457842 5439087.87059048 115.517037086855 + 457842 5439087.82898993 115.530153689607 + + + + + + + + + 457842 5439087.87059048 115.517037086855 + 457842.12 5439087.87059048 115.517037086855 + 457842.12 5439087.91317591 115.507596123494 + 457842 5439087.91317591 115.507596123494 + 457842 5439087.87059048 115.517037086855 + + + + + + + + + 457842 5439087.91317591 115.507596123494 + 457842.12 5439087.91317591 115.507596123494 + 457842.12 5439087.95642213 115.501902650954 + 457842 5439087.95642213 115.501902650954 + 457842 5439087.91317591 115.507596123494 + + + + + + + + + 457842 5439087.95642213 115.501902650954 + 457842.12 5439087.95642213 115.501902650954 + 457842.12 5439088 115.5 + 457842 5439088 115.5 + 457842 5439087.95642213 115.501902650954 + + + + + + + + + 457842 5439088 115.5 + 457842.12 5439088 115.5 + 457842.12 5439088.04357787 115.501902650954 + 457842 5439088.04357787 115.501902650954 + 457842 5439088 115.5 + + + + + + + + + 457842 5439088.04357787 115.501902650954 + 457842.12 5439088.04357787 115.501902650954 + 457842.12 5439088.08682409 115.507596123494 + 457842 5439088.08682409 115.507596123494 + 457842 5439088.04357787 115.501902650954 + + + + + + + + + 457842 5439088.08682409 115.507596123494 + 457842.12 5439088.08682409 115.507596123494 + 457842.12 5439088.12940952 115.517037086855 + 457842 5439088.12940952 115.517037086855 + 457842 5439088.08682409 115.507596123494 + + + + + + + + + 457842 5439088.12940952 115.517037086855 + 457842.12 5439088.12940952 115.517037086855 + 457842.12 5439088.17101007 115.530153689607 + 457842 5439088.17101007 115.530153689607 + 457842 5439088.12940952 115.517037086855 + + + + + + + + + 457842 5439088.17101007 115.530153689607 + 457842.12 5439088.17101007 115.530153689607 + 457842.12 5439088.21130913 115.546846106482 + 457842 5439088.21130913 115.546846106482 + 457842 5439088.17101007 115.530153689607 + + + + + + + + + 457842 5439088.21130913 115.546846106482 + 457842.12 5439088.21130913 115.546846106482 + 457842.12 5439088.25 115.566987298108 + 457842 5439088.25 115.566987298108 + 457842 5439088.21130913 115.546846106482 + + + + + + + + + 457842 5439088.25 115.566987298108 + 457842.12 5439088.25 115.566987298108 + 457842.12 5439088.28678822 115.590423977855 + 457842 5439088.28678822 115.590423977855 + 457842 5439088.25 115.566987298108 + + + + + + + + + 457842 5439088.28678822 115.590423977855 + 457842.12 5439088.28678822 115.590423977855 + 457842.12 5439088.3213938 115.616977778441 + 457842 5439088.3213938 115.616977778441 + 457842 5439088.28678822 115.590423977855 + + + + + + + + + 457842 5439088.3213938 115.616977778441 + 457842.12 5439088.3213938 115.616977778441 + 457842.12 5439088.35355339 115.646446609407 + 457842 5439088.35355339 115.646446609407 + 457842 5439088.3213938 115.616977778441 + + + + + + + + + 457842 5439088.35355339 115.646446609407 + 457842.12 5439088.35355339 115.646446609407 + 457842.12 5439088.38302222 115.678606195157 + 457842 5439088.38302222 115.678606195157 + 457842 5439088.35355339 115.646446609407 + + + + + + + + + 457842 5439088.38302222 115.678606195157 + 457842.12 5439088.38302222 115.678606195157 + 457842.12 5439088.40957602 115.713211781824 + 457842 5439088.40957602 115.713211781824 + 457842 5439088.38302222 115.678606195157 + + + + + + + + + 457842 5439088.40957602 115.713211781824 + 457842.12 5439088.40957602 115.713211781824 + 457842.12 5439088.4330127 115.75 + 457842 5439088.4330127 115.75 + 457842 5439088.40957602 115.713211781824 + + + + + + + + + 457842 5439088.4330127 115.75 + 457842.12 5439088.4330127 115.75 + 457842.12 5439088.45315389 115.78869086913 + 457842 5439088.45315389 115.78869086913 + 457842 5439088.4330127 115.75 + + + + + + + + + 457842 5439088.45315389 115.78869086913 + 457842.12 5439088.45315389 115.78869086913 + 457842.12 5439088.46984631 115.828989928337 + 457842 5439088.46984631 115.828989928337 + 457842 5439088.45315389 115.78869086913 + + + + + + + + + 457842 5439088.46984631 115.828989928337 + 457842.12 5439088.46984631 115.828989928337 + 457842.12 5439088.48296291 115.870590477449 + 457842 5439088.48296291 115.870590477449 + 457842 5439088.46984631 115.828989928337 + + + + + + + + + 457842 5439088.48296291 115.870590477449 + 457842.12 5439088.48296291 115.870590477449 + 457842.12 5439088.49240388 115.913175911167 + 457842 5439088.49240388 115.913175911167 + 457842 5439088.48296291 115.870590477449 + + + + + + + + + 457842 5439088.505 114.01 + 457842.2 5439088.505 114.01 + 457842.2 5439087.495 114.01 + 457842 5439087.495 114.01 + 457842 5439088.505 114.01 + + + + + + + + + 457842 5439084.205 114 + 457842.12 5439084.205 114 + 457842.12 5439084.205 112.8 + 457842 5439084.205 112.8 + 457842 5439084.205 114 + + + + + + + + + 457842 5439086.205 114 + 457842.12 5439086.205 114 + 457842.12 5439084.205 114 + 457842 5439084.205 114 + 457842 5439086.205 114 + + + + + + + + + 457842 5439084.205 112.8 + 457842.12 5439084.205 112.8 + 457842.12 5439086.205 112.8 + 457842 5439086.205 112.8 + 457842 5439084.205 112.8 + + + + + + + + + 457842 5439091.495 114 + 457842.12 5439091.495 114 + 457842.12 5439089.495 114 + 457842 5439089.495 114 + 457842 5439091.495 114 + + + + + + + + + 457842 5439089.495 114 + 457842.12 5439089.495 114 + 457842.12 5439089.495 112.8 + 457842 5439089.495 112.8 + 457842 5439089.495 114 + + + + + + + + + 457842 5439086.205 112.8 + 457842.12 5439086.205 112.8 + 457842.12 5439086.205 114 + 457842 5439086.205 114 + 457842 5439086.205 112.8 + + + + + + + + + 457842 5439088.505 112 + 457842.2 5439088.505 112 + 457842.2 5439088.505 114.01 + 457842 5439088.505 114.01 + 457842 5439088.505 112 + + + + + + + + + 457842 5439088.505 112 + 457842 5439087.495 112 + 457842.2 5439087.495 112 + 457842.2 5439088.505 112 + 457842 5439088.505 112 + + + + + + + + + 457842 5439087.495 114.01 + 457842.2 5439087.495 114.01 + 457842.2 5439087.495 112 + 457842 5439087.495 112 + 457842 5439087.495 114.01 + + + + + + + + + 457842 5439091.495 112.8 + 457842.12 5439091.495 112.8 + 457842.12 5439091.495 114 + 457842 5439091.495 114 + 457842 5439091.495 112.8 + + + + + + + + + 457842 5439089.495 112.8 + 457842.12 5439089.495 112.8 + 457842.12 5439091.495 112.8 + 457842 5439091.495 112.8 + 457842 5439089.495 112.8 + + + + + + + + + 457842 5439088 118.317691453624 + 457842 5439093 115.430940107676 + 457842 5439093 111.8 + 457842 5439083 111.8 + 457842 5439083 115.430940107676 + 457842 5439088 118.317691453624 + + + + + 457842 5439088.48296291 116.129409522551 + 457842 5439088.46984631 116.171010071663 + 457842 5439088.45315389 116.21130913087 + 457842 5439088.4330127 116.25 + 457842 5439088.40957602 116.286788218176 + 457842 5439088.38302222 116.321393804843 + 457842 5439088.35355339 116.353553390593 + 457842 5439088.3213938 116.383022221559 + 457842 5439088.28678822 116.409576022145 + 457842 5439088.25 116.433012701892 + 457842 5439088.21130913 116.453153893518 + 457842 5439088.17101007 116.469846310393 + 457842 5439088.12940952 116.482962913145 + 457842 5439088.08682409 116.492403876506 + 457842 5439088.04357787 116.498097349046 + 457842 5439088 116.5 + 457842 5439087.95642213 116.498097349046 + 457842 5439087.91317591 116.492403876506 + 457842 5439087.87059048 116.482962913145 + 457842 5439087.82898993 116.469846310393 + 457842 5439087.78869087 116.453153893518 + 457842 5439087.75 116.433012701892 + 457842 5439087.71321178 116.409576022145 + 457842 5439087.6786062 116.383022221559 + 457842 5439087.64644661 116.353553390593 + 457842 5439087.61697778 116.321393804843 + 457842 5439087.59042398 116.286788218176 + 457842 5439087.5669873 116.25 + 457842 5439087.54684611 116.21130913087 + 457842 5439087.53015369 116.171010071663 + 457842 5439087.51703709 116.129409522551 + 457842 5439087.50759612 116.086824088833 + 457842 5439087.50190265 116.043577871374 + 457842 5439087.5 116 + 457842 5439087.50190265 115.956422128626 + 457842 5439087.50759612 115.913175911167 + 457842 5439087.51703709 115.870590477449 + 457842 5439087.53015369 115.828989928337 + 457842 5439087.54684611 115.78869086913 + 457842 5439087.5669873 115.75 + 457842 5439087.59042398 115.713211781824 + 457842 5439087.61697778 115.678606195157 + 457842 5439087.64644661 115.646446609407 + 457842 5439087.6786062 115.616977778441 + 457842 5439087.71321178 115.590423977855 + 457842 5439087.75 115.566987298108 + 457842 5439087.78869087 115.546846106482 + 457842 5439087.82898993 115.530153689607 + 457842 5439087.87059048 115.517037086855 + 457842 5439087.91317591 115.507596123494 + 457842 5439087.95642213 115.501902650954 + 457842 5439088 115.5 + 457842 5439088.04357787 115.501902650954 + 457842 5439088.08682409 115.507596123494 + 457842 5439088.12940952 115.517037086855 + 457842 5439088.17101007 115.530153689607 + 457842 5439088.21130913 115.546846106482 + 457842 5439088.25 115.566987298108 + 457842 5439088.28678822 115.590423977855 + 457842 5439088.3213938 115.616977778441 + 457842 5439088.35355339 115.646446609407 + 457842 5439088.38302222 115.678606195157 + 457842 5439088.40957602 115.713211781824 + 457842 5439088.4330127 115.75 + 457842 5439088.45315389 115.78869086913 + 457842 5439088.46984631 115.828989928337 + 457842 5439088.48296291 115.870590477449 + 457842 5439088.49240388 115.913175911167 + 457842 5439088.49809735 115.956422128626 + 457842 5439088.5 116 + 457842 5439088.49809735 116.043577871374 + 457842 5439088.49240388 116.086824088833 + 457842 5439088.48296291 116.129409522551 + + + + + 457842 5439087.495 114.01 + 457842 5439087.495 112 + 457842 5439088.505 112 + 457842 5439088.505 114.01 + 457842 5439087.495 114.01 + + + + + 457842 5439089.495 114 + 457842 5439089.495 112.8 + 457842 5439091.495 112.8 + 457842 5439091.495 114 + 457842 5439089.495 114 + + + + + 457842 5439086.205 114 + 457842 5439084.205 114 + 457842 5439084.205 112.8 + 457842 5439086.205 112.8 + 457842 5439086.205 114 + + + + + + + + + + + Window Round + + + + + + + 457842.12 5439088.40957602 116.286788218176 + 457842.12 5439088.4330127 116.25 + 457842.12 5439088.45315389 116.21130913087 + 457842.12 5439088.46984631 116.171010071663 + 457842.12 5439088.48296291 116.129409522551 + 457842.12 5439088.49240388 116.086824088833 + 457842.12 5439088.49809735 116.043577871374 + 457842.12 5439088.5 116 + 457842.12 5439088.49809735 115.956422128626 + 457842.12 5439088.49240388 115.913175911167 + 457842.12 5439088.48296291 115.870590477449 + 457842.12 5439088.46984631 115.828989928337 + 457842.12 5439088.45315389 115.78869086913 + 457842.12 5439088.4330127 115.75 + 457842.12 5439088.40957602 115.713211781824 + 457842.12 5439088.38302222 115.678606195157 + 457842.12 5439088.35355339 115.646446609407 + 457842.12 5439088.3213938 115.616977778441 + 457842.12 5439088.28678822 115.590423977855 + 457842.12 5439088.25 115.566987298108 + 457842.12 5439088.21130913 115.546846106482 + 457842.12 5439088.17101007 115.530153689607 + 457842.12 5439088.12940952 115.517037086855 + 457842.12 5439088.08682409 115.507596123494 + 457842.12 5439088.04357787 115.501902650954 + 457842.12 5439088 115.5 + 457842.12 5439087.95642213 115.501902650954 + 457842.12 5439087.91317591 115.507596123494 + 457842.12 5439087.87059048 115.517037086855 + 457842.12 5439087.82898993 115.530153689607 + 457842.12 5439087.78869087 115.546846106482 + 457842.12 5439087.75 115.566987298108 + 457842.12 5439087.71321178 115.590423977855 + 457842.12 5439087.6786062 115.616977778441 + 457842.12 5439087.64644661 115.646446609407 + 457842.12 5439087.61697778 115.678606195157 + 457842.12 5439087.59042398 115.713211781824 + 457842.12 5439087.5669873 115.75 + 457842.12 5439087.54684611 115.78869086913 + 457842.12 5439087.53015369 115.828989928337 + 457842.12 5439087.51703709 115.870590477449 + 457842.12 5439087.50759612 115.913175911167 + 457842.12 5439087.50190265 115.956422128626 + 457842.12 5439087.5 116 + 457842.12 5439087.50190265 116.043577871374 + 457842.12 5439087.50759612 116.086824088833 + 457842.12 5439087.51703709 116.129409522551 + 457842.12 5439087.53015369 116.171010071663 + 457842.12 5439087.54684611 116.21130913087 + 457842.12 5439087.5669873 116.25 + 457842.12 5439087.59042398 116.286788218176 + 457842.12 5439087.61697778 116.321393804843 + 457842.12 5439087.64644661 116.353553390593 + 457842.12 5439087.6786062 116.383022221559 + 457842.12 5439087.71321178 116.409576022145 + 457842.12 5439087.75 116.433012701892 + 457842.12 5439087.78869087 116.453153893518 + 457842.12 5439087.82898993 116.469846310393 + 457842.12 5439087.87059048 116.482962913145 + 457842.12 5439087.91317591 116.492403876506 + 457842.12 5439087.95642213 116.498097349046 + 457842.12 5439088 116.5 + 457842.12 5439088.04357787 116.498097349046 + 457842.12 5439088.08682409 116.492403876506 + 457842.12 5439088.12940952 116.482962913145 + 457842.12 5439088.17101007 116.469846310393 + 457842.12 5439088.21130913 116.453153893518 + 457842.12 5439088.25 116.433012701892 + 457842.12 5439088.28678822 116.409576022145 + 457842.12 5439088.3213938 116.383022221559 + 457842.12 5439088.35355339 116.353553390593 + 457842.12 5439088.38302222 116.321393804843 + 457842.12 5439088.40957602 116.286788218176 + + + + + + + + + + + Window North + + + + + + + 457842.12 5439089.495 114 + 457842.12 5439091.495 114 + 457842.12 5439091.495 112.8 + 457842.12 5439089.495 112.8 + 457842.12 5439089.495 114 + + + + + + + + + + + + + + + + + 457842.2 5439087.495 114.01 + 457842.2 5439088.505 114.01 + 457842.2 5439088.505 112 + 457842.2 5439087.495 112 + 457842.2 5439087.495 114.01 + + + + + + + + + + + Window South + + + + + + + 457842.12 5439086.205 112.8 + 457842.12 5439084.205 112.8 + 457842.12 5439084.205 114 + 457842.12 5439086.205 114 + 457842.12 5439086.205 112.8 + + + + + + + + + + + + + Outer Wall 2 (South) + + + + + + + + + 457849.005 5439083 114.375 + 457849.005 5439083.2 114.375 + 457849.005 5439083.2 112 + 457849.005 5439083 112 + 457849.005 5439083 114.375 + + + + + + + + + 457852.21 5439083 114 + 457852.21 5439083.12 114 + 457852.21 5439083.12 112.8 + 457852.21 5439083 112.8 + 457852.21 5439083 114 + + + + + + + + + 457845.79 5439083 114 + 457845.79 5439083.12 114 + 457845.79 5439083.12 112.8 + 457845.79 5439083 112.8 + 457845.79 5439083 114 + + + + + + + + + 457845.79 5439083 112.8 + 457845.79 5439083.12 112.8 + 457843.79 5439083.12 112.8 + 457843.79 5439083 112.8 + 457845.79 5439083 112.8 + + + + + + + + + 457846.995 5439083 114.375 + 457846.995 5439083.2 114.375 + 457849.005 5439083.2 114.375 + 457849.005 5439083 114.375 + 457846.995 5439083 114.375 + + + + + + + + + 457843.79 5439083 112.8 + 457843.79 5439083.12 112.8 + 457843.79 5439083.12 114 + 457843.79 5439083 114 + 457843.79 5439083 112.8 + + + + + + + + + 457846.995 5439083 112 + 457846.995 5439083.2 112 + 457846.995 5439083.2 114.375 + 457846.995 5439083 114.375 + 457846.995 5439083 112 + + + + + + + + + 457850.21 5439083 114 + 457850.21 5439083.12 114 + 457852.21 5439083.12 114 + 457852.21 5439083 114 + 457850.21 5439083 114 + + + + + + + + + 457850.21 5439083 112.8 + 457850.21 5439083.12 112.8 + 457850.21 5439083.12 114 + 457850.21 5439083 114 + 457850.21 5439083 112.8 + + + + + + + + + 457846.995 5439083 112 + 457849.005 5439083 112 + 457849.005 5439083.2 112 + 457846.995 5439083.2 112 + 457846.995 5439083 112 + + + + + + + + + 457852.21 5439083 112.8 + 457852.21 5439083.12 112.8 + 457850.21 5439083.12 112.8 + 457850.21 5439083 112.8 + 457852.21 5439083 112.8 + + + + + + + + + 457843.79 5439083 114 + 457843.79 5439083.12 114 + 457845.79 5439083.12 114 + 457845.79 5439083 114 + 457843.79 5439083 114 + + + + + + + + + 457854 5439083 115.430940107676 + 457842 5439083 115.430940107676 + 457842 5439083 111.8 + 457854 5439083 111.8 + 457854 5439083 115.430940107676 + + + + + 457849.005 5439083 114.375 + 457849.005 5439083 112 + 457846.995 5439083 112 + 457846.995 5439083 114.375 + 457849.005 5439083 114.375 + + + + + 457850.21 5439083 114 + 457852.21 5439083 114 + 457852.21 5439083 112.8 + 457850.21 5439083 112.8 + 457850.21 5439083 114 + + + + + 457845.79 5439083 112.8 + 457843.79 5439083 112.8 + 457843.79 5439083 114 + 457845.79 5439083 114 + 457845.79 5439083 112.8 + + + + + + + + + + + Window East + + + + + + + 457852.21 5439083.12 112.8 + 457852.21 5439083.12 114 + 457850.21 5439083.12 114 + 457850.21 5439083.12 112.8 + 457852.21 5439083.12 112.8 + + + + + + + + + + + Window West + + + + + + + 457843.79 5439083.12 112.8 + 457845.79 5439083.12 112.8 + 457845.79 5439083.12 114 + 457843.79 5439083.12 114 + 457843.79 5439083.12 112.8 + + + + + + + + + + + Door South + + + + + + + 457849.005 5439083.2 112 + 457849.005 5439083.2 114.375 + 457846.995 5439083.2 114.375 + 457846.995 5439083.2 112 + 457849.005 5439083.2 112 + + + + + + + + + + + + + Outer Wall 3 (East) + + + + + + + + + 457854 5439087.78869087 115.546846106482 + 457853.87 5439087.78869087 115.546846106482 + 457853.87 5439087.75 115.566987298108 + 457854 5439087.75 115.566987298108 + 457854 5439087.78869087 115.546846106482 + + + + + + + + + 457854 5439087.87059048 116.482962913145 + 457853.87 5439087.87059048 116.482962913145 + 457853.87 5439087.91317591 116.492403876506 + 457854 5439087.91317591 116.492403876506 + 457854 5439087.87059048 116.482962913145 + + + + + + + + + 457854 5439088.04357787 116.498097349046 + 457853.87 5439088.04357787 116.498097349046 + 457853.87 5439088.08682409 116.492403876506 + 457854 5439088.08682409 116.492403876506 + 457854 5439088.04357787 116.498097349046 + + + + + + + + + 457854 5439088.45315389 116.21130913087 + 457853.87 5439088.45315389 116.21130913087 + 457853.87 5439088.46984631 116.171010071663 + 457854 5439088.46984631 116.171010071663 + 457854 5439088.45315389 116.21130913087 + + + + + + + + + 457854 5439088.49240388 115.913175911167 + 457853.87 5439088.49240388 115.913175911167 + 457853.87 5439088.48296291 115.870590477449 + 457854 5439088.48296291 115.870590477449 + 457854 5439088.49240388 115.913175911167 + + + + + + + + + 457854 5439088.49809735 115.956422128626 + 457853.87 5439088.49809735 115.956422128626 + 457853.87 5439088.49240388 115.913175911167 + 457854 5439088.49240388 115.913175911167 + 457854 5439088.49809735 115.956422128626 + + + + + + + + + 457854 5439088.40957602 115.713211781824 + 457853.87 5439088.40957602 115.713211781824 + 457853.87 5439088.38302222 115.678606195157 + 457854 5439088.38302222 115.678606195157 + 457854 5439088.40957602 115.713211781824 + + + + + + + + + 457854 5439087.50759612 115.913175911167 + 457853.87 5439087.50759612 115.913175911167 + 457853.87 5439087.50190265 115.956422128626 + 457854 5439087.50190265 115.956422128626 + 457854 5439087.50759612 115.913175911167 + + + + + + + + + 457854 5439087.59042398 116.286788218176 + 457853.87 5439087.59042398 116.286788218176 + 457853.87 5439087.61697778 116.321393804843 + 457854 5439087.61697778 116.321393804843 + 457854 5439087.59042398 116.286788218176 + + + + + + + + + 457854 5439087.91317591 115.507596123494 + 457853.87 5439087.91317591 115.507596123494 + 457853.87 5439087.87059048 115.517037086855 + 457854 5439087.87059048 115.517037086855 + 457854 5439087.91317591 115.507596123494 + + + + + + + + + 457854 5439087.54684611 116.21130913087 + 457853.87 5439087.54684611 116.21130913087 + 457853.87 5439087.5669873 116.25 + 457854 5439087.5669873 116.25 + 457854 5439087.54684611 116.21130913087 + + + + + + + + + 457854 5439087.59042398 115.713211781824 + 457853.87 5439087.59042398 115.713211781824 + 457853.87 5439087.5669873 115.75 + 457854 5439087.5669873 115.75 + 457854 5439087.59042398 115.713211781824 + + + + + + + + + 457854 5439088.21130913 115.546846106482 + 457853.87 5439088.21130913 115.546846106482 + 457853.87 5439088.17101007 115.530153689607 + 457854 5439088.17101007 115.530153689607 + 457854 5439088.21130913 115.546846106482 + + + + + + + + + 457854 5439087.78869087 116.453153893518 + 457853.87 5439087.78869087 116.453153893518 + 457853.87 5439087.82898993 116.469846310393 + 457854 5439087.82898993 116.469846310393 + 457854 5439087.78869087 116.453153893518 + + + + + + + + + 457854 5439088.21130913 116.453153893518 + 457853.87 5439088.21130913 116.453153893518 + 457853.87 5439088.25 116.433012701892 + 457854 5439088.25 116.433012701892 + 457854 5439088.21130913 116.453153893518 + + + + + + + + + 457854 5439088.28678822 115.590423977855 + 457853.87 5439088.28678822 115.590423977855 + 457853.87 5439088.25 115.566987298108 + 457854 5439088.25 115.566987298108 + 457854 5439088.28678822 115.590423977855 + + + + + + + + + 457854 5439087.51703709 115.870590477449 + 457853.87 5439087.51703709 115.870590477449 + 457853.87 5439087.50759612 115.913175911167 + 457854 5439087.50759612 115.913175911167 + 457854 5439087.51703709 115.870590477449 + + + + + + + + + 457854 5439088.46984631 116.171010071663 + 457853.87 5439088.46984631 116.171010071663 + 457853.87 5439088.48296291 116.129409522551 + 457854 5439088.48296291 116.129409522551 + 457854 5439088.46984631 116.171010071663 + + + + + + + + + 457854 5439087.61697778 115.678606195157 + 457853.87 5439087.61697778 115.678606195157 + 457853.87 5439087.59042398 115.713211781824 + 457854 5439087.59042398 115.713211781824 + 457854 5439087.61697778 115.678606195157 + + + + + + + + + 457854 5439088.48296291 116.129409522551 + 457853.87 5439088.48296291 116.129409522551 + 457853.87 5439088.49240388 116.086824088833 + 457854 5439088.49240388 116.086824088833 + 457854 5439088.48296291 116.129409522551 + + + + + + + + + 457854 5439088.04357787 115.501902650954 + 457853.87 5439088.04357787 115.501902650954 + 457853.87 5439088 115.5 + 457854 5439088 115.5 + 457854 5439088.04357787 115.501902650954 + + + + + + + + + 457854 5439088.3213938 115.616977778441 + 457853.87 5439088.3213938 115.616977778441 + 457853.87 5439088.28678822 115.590423977855 + 457854 5439088.28678822 115.590423977855 + 457854 5439088.3213938 115.616977778441 + + + + + + + + + 457854 5439088.40957602 116.286788218176 + 457853.87 5439088.40957602 116.286788218176 + 457853.87 5439088.4330127 116.25 + 457854 5439088.4330127 116.25 + 457854 5439088.40957602 116.286788218176 + + + + + + + + + 457854 5439087.64644661 116.353553390593 + 457853.87 5439087.64644661 116.353553390593 + 457853.87 5439087.6786062 116.383022221559 + 457854 5439087.6786062 116.383022221559 + 457854 5439087.64644661 116.353553390593 + + + + + + + + + 457854 5439088.28678822 116.409576022145 + 457853.87 5439088.28678822 116.409576022145 + 457853.87 5439088.3213938 116.383022221559 + 457854 5439088.3213938 116.383022221559 + 457854 5439088.28678822 116.409576022145 + + + + + + + + + 457854 5439088.49240388 116.086824088833 + 457853.87 5439088.49240388 116.086824088833 + 457853.87 5439088.49809735 116.043577871374 + 457854 5439088.49809735 116.043577871374 + 457854 5439088.49240388 116.086824088833 + + + + + + + + + 457854 5439087.53015369 115.828989928337 + 457853.87 5439087.53015369 115.828989928337 + 457853.87 5439087.51703709 115.870590477449 + 457854 5439087.51703709 115.870590477449 + 457854 5439087.53015369 115.828989928337 + + + + + + + + + 457854 5439088.35355339 116.353553390593 + 457853.87 5439088.35355339 116.353553390593 + 457853.87 5439088.38302222 116.321393804843 + 457854 5439088.38302222 116.321393804843 + 457854 5439088.35355339 116.353553390593 + + + + + + + + + 457854 5439088.17101007 115.530153689607 + 457853.87 5439088.17101007 115.530153689607 + 457853.87 5439088.12940952 115.517037086855 + 457854 5439088.12940952 115.517037086855 + 457854 5439088.17101007 115.530153689607 + + + + + + + + + 457854 5439087.87059048 115.517037086855 + 457853.87 5439087.87059048 115.517037086855 + 457853.87 5439087.82898993 115.530153689607 + 457854 5439087.82898993 115.530153689607 + 457854 5439087.87059048 115.517037086855 + + + + + + + + + 457854 5439088.38302222 116.321393804843 + 457853.87 5439088.38302222 116.321393804843 + 457853.87 5439088.40957602 116.286788218176 + 457854 5439088.40957602 116.286788218176 + 457854 5439088.38302222 116.321393804843 + + + + + + + + + 457854 5439088.08682409 115.507596123494 + 457853.87 5439088.08682409 115.507596123494 + 457853.87 5439088.04357787 115.501902650954 + 457854 5439088.04357787 115.501902650954 + 457854 5439088.08682409 115.507596123494 + + + + + + + + + 457854 5439087.5669873 115.75 + 457853.87 5439087.5669873 115.75 + 457853.87 5439087.54684611 115.78869086913 + 457854 5439087.54684611 115.78869086913 + 457854 5439087.5669873 115.75 + + + + + + + + + 457854 5439087.5 116 + 457853.87 5439087.5 116 + 457853.87 5439087.50190265 116.043577871374 + 457854 5439087.50190265 116.043577871374 + 457854 5439087.5 116 + + + + + + + + + 457854 5439088.4330127 116.25 + 457853.87 5439088.4330127 116.25 + 457853.87 5439088.45315389 116.21130913087 + 457854 5439088.45315389 116.21130913087 + 457854 5439088.4330127 116.25 + + + + + + + + + 457854 5439088.46984631 115.828989928337 + 457853.87 5439088.46984631 115.828989928337 + 457853.87 5439088.45315389 115.78869086913 + 457854 5439088.45315389 115.78869086913 + 457854 5439088.46984631 115.828989928337 + + + + + + + + + 457854 5439087.6786062 116.383022221559 + 457853.87 5439087.6786062 116.383022221559 + 457853.87 5439087.71321178 116.409576022145 + 457854 5439087.71321178 116.409576022145 + 457854 5439087.6786062 116.383022221559 + + + + + + + + + 457854 5439088 116.5 + 457853.87 5439088 116.5 + 457853.87 5439088.04357787 116.498097349046 + 457854 5439088.04357787 116.498097349046 + 457854 5439088 116.5 + + + + + + + + + 457854 5439088.12940952 116.482962913145 + 457853.87 5439088.12940952 116.482962913145 + 457853.87 5439088.17101007 116.469846310393 + 457854 5439088.17101007 116.469846310393 + 457854 5439088.12940952 116.482962913145 + + + + + + + + + 457854 5439087.82898993 115.530153689607 + 457853.87 5439087.82898993 115.530153689607 + 457853.87 5439087.78869087 115.546846106482 + 457854 5439087.78869087 115.546846106482 + 457854 5439087.82898993 115.530153689607 + + + + + + + + + 457854 5439087.95642213 115.501902650954 + 457853.87 5439087.95642213 115.501902650954 + 457853.87 5439087.91317591 115.507596123494 + 457854 5439087.91317591 115.507596123494 + 457854 5439087.95642213 115.501902650954 + + + + + + + + + 457854 5439087.50190265 115.956422128626 + 457853.87 5439087.50190265 115.956422128626 + 457853.87 5439087.5 116 + 457854 5439087.5 116 + 457854 5439087.50190265 115.956422128626 + + + + + + + + + 457854 5439088.45315389 115.78869086913 + 457853.87 5439088.45315389 115.78869086913 + 457853.87 5439088.4330127 115.75 + 457854 5439088.4330127 115.75 + 457854 5439088.45315389 115.78869086913 + + + + + + + + + 457854 5439088.25 116.433012701892 + 457853.87 5439088.25 116.433012701892 + 457853.87 5439088.28678822 116.409576022145 + 457854 5439088.28678822 116.409576022145 + 457854 5439088.25 116.433012701892 + + + + + + + + + 457854 5439088.25 115.566987298108 + 457853.87 5439088.25 115.566987298108 + 457853.87 5439088.21130913 115.546846106482 + 457854 5439088.21130913 115.546846106482 + 457854 5439088.25 115.566987298108 + + + + + + + + + 457854 5439087.95642213 116.498097349046 + 457853.87 5439087.95642213 116.498097349046 + 457853.87 5439088 116.5 + 457854 5439088 116.5 + 457854 5439087.95642213 116.498097349046 + + + + + + + + + 457854 5439088 115.5 + 457853.87 5439088 115.5 + 457853.87 5439087.95642213 115.501902650954 + 457854 5439087.95642213 115.501902650954 + 457854 5439088 115.5 + + + + + + + + + 457854 5439088.3213938 116.383022221559 + 457853.87 5439088.3213938 116.383022221559 + 457853.87 5439088.35355339 116.353553390593 + 457854 5439088.35355339 116.353553390593 + 457854 5439088.3213938 116.383022221559 + + + + + + + + + 457854 5439088.5 116 + 457853.87 5439088.5 116 + 457853.87 5439088.49809735 115.956422128626 + 457854 5439088.49809735 115.956422128626 + 457854 5439088.5 116 + + + + + + + + + 457854 5439087.50759612 116.086824088833 + 457853.87 5439087.50759612 116.086824088833 + 457853.87 5439087.51703709 116.129409522551 + 457854 5439087.51703709 116.129409522551 + 457854 5439087.50759612 116.086824088833 + + + + + + + + + 457854 5439088.17101007 116.469846310393 + 457853.87 5439088.17101007 116.469846310393 + 457853.87 5439088.21130913 116.453153893518 + 457854 5439088.21130913 116.453153893518 + 457854 5439088.17101007 116.469846310393 + + + + + + + + + 457854 5439087.50190265 116.043577871374 + 457853.87 5439087.50190265 116.043577871374 + 457853.87 5439087.50759612 116.086824088833 + 457854 5439087.50759612 116.086824088833 + 457854 5439087.50190265 116.043577871374 + + + + + + + + + 457854 5439088.08682409 116.492403876506 + 457853.87 5439088.08682409 116.492403876506 + 457853.87 5439088.12940952 116.482962913145 + 457854 5439088.12940952 116.482962913145 + 457854 5439088.08682409 116.492403876506 + + + + + + + + + 457854 5439088.35355339 115.646446609407 + 457853.87 5439088.35355339 115.646446609407 + 457853.87 5439088.3213938 115.616977778441 + 457854 5439088.3213938 115.616977778441 + 457854 5439088.35355339 115.646446609407 + + + + + + + + + 457854 5439088.4330127 115.75 + 457853.87 5439088.4330127 115.75 + 457853.87 5439088.40957602 115.713211781824 + 457854 5439088.40957602 115.713211781824 + 457854 5439088.4330127 115.75 + + + + + + + + + 457854 5439087.82898993 116.469846310393 + 457853.87 5439087.82898993 116.469846310393 + 457853.87 5439087.87059048 116.482962913145 + 457854 5439087.87059048 116.482962913145 + 457854 5439087.82898993 116.469846310393 + + + + + + + + + 457854 5439087.71321178 116.409576022145 + 457853.87 5439087.71321178 116.409576022145 + 457853.87 5439087.75 116.433012701892 + 457854 5439087.75 116.433012701892 + 457854 5439087.71321178 116.409576022145 + + + + + + + + + 457854 5439087.54684611 115.78869086913 + 457853.87 5439087.54684611 115.78869086913 + 457853.87 5439087.53015369 115.828989928337 + 457854 5439087.53015369 115.828989928337 + 457854 5439087.54684611 115.78869086913 + + + + + + + + + 457854 5439087.51703709 116.129409522551 + 457853.87 5439087.51703709 116.129409522551 + 457853.87 5439087.53015369 116.171010071663 + 457854 5439087.53015369 116.171010071663 + 457854 5439087.51703709 116.129409522551 + + + + + + + + + 457854 5439087.6786062 115.616977778441 + 457853.87 5439087.6786062 115.616977778441 + 457853.87 5439087.64644661 115.646446609407 + 457854 5439087.64644661 115.646446609407 + 457854 5439087.6786062 115.616977778441 + + + + + + + + + 457854 5439087.75 116.433012701892 + 457853.87 5439087.75 116.433012701892 + 457853.87 5439087.78869087 116.453153893518 + 457854 5439087.78869087 116.453153893518 + 457854 5439087.75 116.433012701892 + + + + + + + + + 457854 5439088.12940952 115.517037086855 + 457853.87 5439088.12940952 115.517037086855 + 457853.87 5439088.08682409 115.507596123494 + 457854 5439088.08682409 115.507596123494 + 457854 5439088.12940952 115.517037086855 + + + + + + + + + 457854 5439088.49809735 116.043577871374 + 457853.87 5439088.49809735 116.043577871374 + 457853.87 5439088.5 116 + 457854 5439088.5 116 + 457854 5439088.49809735 116.043577871374 + + + + + + + + + 457854 5439087.64644661 115.646446609407 + 457853.87 5439087.64644661 115.646446609407 + 457853.87 5439087.61697778 115.678606195157 + 457854 5439087.61697778 115.678606195157 + 457854 5439087.64644661 115.646446609407 + + + + + + + + + 457854 5439088.38302222 115.678606195157 + 457853.87 5439088.38302222 115.678606195157 + 457853.87 5439088.35355339 115.646446609407 + 457854 5439088.35355339 115.646446609407 + 457854 5439088.38302222 115.678606195157 + + + + + + + + + 457854 5439087.61697778 116.321393804843 + 457853.87 5439087.61697778 116.321393804843 + 457853.87 5439087.64644661 116.353553390593 + 457854 5439087.64644661 116.353553390593 + 457854 5439087.61697778 116.321393804843 + + + + + + + + + 457854 5439087.71321178 115.590423977855 + 457853.87 5439087.71321178 115.590423977855 + 457853.87 5439087.6786062 115.616977778441 + 457854 5439087.6786062 115.616977778441 + 457854 5439087.71321178 115.590423977855 + + + + + + + + + 457854 5439088.48296291 115.870590477449 + 457853.87 5439088.48296291 115.870590477449 + 457853.87 5439088.46984631 115.828989928337 + 457854 5439088.46984631 115.828989928337 + 457854 5439088.48296291 115.870590477449 + + + + + + + + + 457854 5439087.75 115.566987298108 + 457853.87 5439087.75 115.566987298108 + 457853.87 5439087.71321178 115.590423977855 + 457854 5439087.71321178 115.590423977855 + 457854 5439087.75 115.566987298108 + + + + + + + + + 457854 5439087.5669873 116.25 + 457853.87 5439087.5669873 116.25 + 457853.87 5439087.59042398 116.286788218176 + 457854 5439087.59042398 116.286788218176 + 457854 5439087.5669873 116.25 + + + + + + + + + 457854 5439087.91317591 116.492403876506 + 457853.87 5439087.91317591 116.492403876506 + 457853.87 5439087.95642213 116.498097349046 + 457854 5439087.95642213 116.498097349046 + 457854 5439087.91317591 116.492403876506 + + + + + + + + + 457854 5439087.53015369 116.171010071663 + 457853.87 5439087.53015369 116.171010071663 + 457853.87 5439087.54684611 116.21130913087 + 457854 5439087.54684611 116.21130913087 + 457854 5439087.53015369 116.171010071663 + + + + + + + + + 457854 5439091.50239372 112.8 + 457853.88 5439091.50239372 112.8 + 457853.88 5439089.50239372 112.8 + 457854 5439089.50239372 112.8 + 457854 5439091.50239372 112.8 + + + + + + + + + 457854 5439091.50239372 114 + 457853.88 5439091.50239372 114 + 457853.88 5439091.50239372 112.8 + 457854 5439091.50239372 112.8 + 457854 5439091.50239372 114 + + + + + + + + + 457854 5439086.205 112.8 + 457853.88 5439086.205 112.8 + 457853.88 5439084.205 112.8 + 457854 5439084.205 112.8 + 457854 5439086.205 112.8 + + + + + + + + + 457854 5439089.50239372 114 + 457853.88 5439089.50239372 114 + 457853.88 5439091.50239372 114 + 457854 5439091.50239372 114 + 457854 5439089.50239372 114 + + + + + + + + + 457854 5439089.50239372 112.8 + 457853.88 5439089.50239372 112.8 + 457853.88 5439089.50239372 114 + 457854 5439089.50239372 114 + 457854 5439089.50239372 112.8 + + + + + + + + + 457854 5439084.205 112.8 + 457853.88 5439084.205 112.8 + 457853.88 5439084.205 114 + 457854 5439084.205 114 + 457854 5439084.205 112.8 + + + + + + + + + 457854 5439084.205 114 + 457853.88 5439084.205 114 + 457853.88 5439086.205 114 + 457854 5439086.205 114 + 457854 5439084.205 114 + + + + + + + + + 457854 5439086.205 114 + 457853.88 5439086.205 114 + 457853.88 5439086.205 112.8 + 457854 5439086.205 112.8 + 457854 5439086.205 114 + + + + + + + + + 457854 5439088 118.317691453624 + 457854 5439083 115.430940107676 + 457854 5439083 111.8 + 457854 5439093 111.8 + 457854 5439093 115.430940107676 + 457854 5439088 118.317691453624 + + + + + 457854 5439087.51703709 116.129409522551 + 457854 5439087.53015369 116.171010071663 + 457854 5439087.54684611 116.21130913087 + 457854 5439087.5669873 116.25 + 457854 5439087.59042398 116.286788218176 + 457854 5439087.61697778 116.321393804843 + 457854 5439087.64644661 116.353553390593 + 457854 5439087.6786062 116.383022221559 + 457854 5439087.71321178 116.409576022145 + 457854 5439087.75 116.433012701892 + 457854 5439087.78869087 116.453153893518 + 457854 5439087.82898993 116.469846310393 + 457854 5439087.87059048 116.482962913145 + 457854 5439087.91317591 116.492403876506 + 457854 5439087.95642213 116.498097349046 + 457854 5439088 116.5 + 457854 5439088.04357787 116.498097349046 + 457854 5439088.08682409 116.492403876506 + 457854 5439088.12940952 116.482962913145 + 457854 5439088.17101007 116.469846310393 + 457854 5439088.21130913 116.453153893518 + 457854 5439088.25 116.433012701892 + 457854 5439088.28678822 116.409576022145 + 457854 5439088.3213938 116.383022221559 + 457854 5439088.35355339 116.353553390593 + 457854 5439088.38302222 116.321393804843 + 457854 5439088.40957602 116.286788218176 + 457854 5439088.4330127 116.25 + 457854 5439088.45315389 116.21130913087 + 457854 5439088.46984631 116.171010071663 + 457854 5439088.48296291 116.129409522551 + 457854 5439088.49240388 116.086824088833 + 457854 5439088.49809735 116.043577871374 + 457854 5439088.5 116 + 457854 5439088.49809735 115.956422128626 + 457854 5439088.49240388 115.913175911167 + 457854 5439088.48296291 115.870590477449 + 457854 5439088.46984631 115.828989928337 + 457854 5439088.45315389 115.78869086913 + 457854 5439088.4330127 115.75 + 457854 5439088.40957602 115.713211781824 + 457854 5439088.38302222 115.678606195157 + 457854 5439088.35355339 115.646446609407 + 457854 5439088.3213938 115.616977778441 + 457854 5439088.28678822 115.590423977855 + 457854 5439088.25 115.566987298108 + 457854 5439088.21130913 115.546846106482 + 457854 5439088.17101007 115.530153689607 + 457854 5439088.12940952 115.517037086855 + 457854 5439088.08682409 115.507596123494 + 457854 5439088.04357787 115.501902650954 + 457854 5439088 115.5 + 457854 5439087.95642213 115.501902650954 + 457854 5439087.91317591 115.507596123494 + 457854 5439087.87059048 115.517037086855 + 457854 5439087.82898993 115.530153689607 + 457854 5439087.78869087 115.546846106482 + 457854 5439087.75 115.566987298108 + 457854 5439087.71321178 115.590423977855 + 457854 5439087.6786062 115.616977778441 + 457854 5439087.64644661 115.646446609407 + 457854 5439087.61697778 115.678606195157 + 457854 5439087.59042398 115.713211781824 + 457854 5439087.5669873 115.75 + 457854 5439087.54684611 115.78869086913 + 457854 5439087.53015369 115.828989928337 + 457854 5439087.51703709 115.870590477449 + 457854 5439087.50759612 115.913175911167 + 457854 5439087.50190265 115.956422128626 + 457854 5439087.5 116 + 457854 5439087.50190265 116.043577871374 + 457854 5439087.50759612 116.086824088833 + 457854 5439087.51703709 116.129409522551 + + + + + 457854 5439091.50239372 114 + 457854 5439091.50239372 112.8 + 457854 5439089.50239372 112.8 + 457854 5439089.50239372 114 + 457854 5439091.50239372 114 + + + + + 457854 5439084.205 112.8 + 457854 5439084.205 114 + 457854 5439086.205 114 + 457854 5439086.205 112.8 + 457854 5439084.205 112.8 + + + + + + + + + + + Window South + + + + + + + 457853.88 5439086.205 112.8 + 457853.88 5439086.205 114 + 457853.88 5439084.205 114 + 457853.88 5439084.205 112.8 + 457853.88 5439086.205 112.8 + + + + + + + + + + + Window North + + + + + + + 457853.88 5439091.50239372 114 + 457853.88 5439089.50239372 114 + 457853.88 5439089.50239372 112.8 + 457853.88 5439091.50239372 112.8 + 457853.88 5439091.50239372 114 + + + + + + + + + + + Window Round + + + + + + + 457853.87 5439087.61697778 116.321393804843 + 457853.87 5439087.59042398 116.286788218176 + 457853.87 5439087.5669873 116.25 + 457853.87 5439087.54684611 116.21130913087 + 457853.87 5439087.53015369 116.171010071663 + 457853.87 5439087.51703709 116.129409522551 + 457853.87 5439087.50759612 116.086824088833 + 457853.87 5439087.50190265 116.043577871374 + 457853.87 5439087.5 116 + 457853.87 5439087.50190265 115.956422128626 + 457853.87 5439087.50759612 115.913175911167 + 457853.87 5439087.51703709 115.870590477449 + 457853.87 5439087.53015369 115.828989928337 + 457853.87 5439087.54684611 115.78869086913 + 457853.87 5439087.5669873 115.75 + 457853.87 5439087.59042398 115.713211781824 + 457853.87 5439087.61697778 115.678606195157 + 457853.87 5439087.64644661 115.646446609407 + 457853.87 5439087.6786062 115.616977778441 + 457853.87 5439087.71321178 115.590423977855 + 457853.87 5439087.75 115.566987298108 + 457853.87 5439087.78869087 115.546846106482 + 457853.87 5439087.82898993 115.530153689607 + 457853.87 5439087.87059048 115.517037086855 + 457853.87 5439087.91317591 115.507596123494 + 457853.87 5439087.95642213 115.501902650954 + 457853.87 5439088 115.5 + 457853.87 5439088.04357787 115.501902650954 + 457853.87 5439088.08682409 115.507596123494 + 457853.87 5439088.12940952 115.517037086855 + 457853.87 5439088.17101007 115.530153689607 + 457853.87 5439088.21130913 115.546846106482 + 457853.87 5439088.25 115.566987298108 + 457853.87 5439088.28678822 115.590423977855 + 457853.87 5439088.3213938 115.616977778441 + 457853.87 5439088.35355339 115.646446609407 + 457853.87 5439088.38302222 115.678606195157 + 457853.87 5439088.40957602 115.713211781824 + 457853.87 5439088.4330127 115.75 + 457853.87 5439088.45315389 115.78869086913 + 457853.87 5439088.46984631 115.828989928337 + 457853.87 5439088.48296291 115.870590477449 + 457853.87 5439088.49240388 115.913175911167 + 457853.87 5439088.49809735 115.956422128626 + 457853.87 5439088.5 116 + 457853.87 5439088.49809735 116.043577871374 + 457853.87 5439088.49240388 116.086824088833 + 457853.87 5439088.48296291 116.129409522551 + 457853.87 5439088.46984631 116.171010071663 + 457853.87 5439088.45315389 116.21130913087 + 457853.87 5439088.4330127 116.25 + 457853.87 5439088.40957602 116.286788218176 + 457853.87 5439088.38302222 116.321393804843 + 457853.87 5439088.35355339 116.353553390593 + 457853.87 5439088.3213938 116.383022221559 + 457853.87 5439088.28678822 116.409576022145 + 457853.87 5439088.25 116.433012701892 + 457853.87 5439088.21130913 116.453153893518 + 457853.87 5439088.17101007 116.469846310393 + 457853.87 5439088.12940952 116.482962913145 + 457853.87 5439088.08682409 116.492403876506 + 457853.87 5439088.04357787 116.498097349046 + 457853.87 5439088 116.5 + 457853.87 5439087.95642213 116.498097349046 + 457853.87 5439087.91317591 116.492403876506 + 457853.87 5439087.87059048 116.482962913145 + 457853.87 5439087.82898993 116.469846310393 + 457853.87 5439087.78869087 116.453153893518 + 457853.87 5439087.75 116.433012701892 + 457853.87 5439087.71321178 116.409576022145 + 457853.87 5439087.6786062 116.383022221559 + 457853.87 5439087.64644661 116.353553390593 + 457853.87 5439087.61697778 116.321393804843 + + + + + + + + + + + + + Roof 1 (North) + + + + + + + 457842 5439088 118.317691453624 + 457854 5439088 118.317691453624 + 457854 5439093 115.430940107676 + 457842 5439093 115.430940107676 + 457842 5439088 118.317691453624 + + + + + + + + + 457841.5 5439088 118.317691453624 + 457842 5439088 118.317691453624 + 457842 5439093 115.430940107676 + 457854 5439093 115.430940107676 + 457854 5439088 118.317691453624 + 457854.5 5439088 118.317691453624 + 457854.5 5439093.5 115.142264973081 + 457841.5 5439093.5 115.142264973081 + 457841.5 5439088 118.317691453624 + + + + + + + + + + + Outer Wall 4 (North) + + + + + + + + + 457852.795 5439093 112.8 + 457852.795 5439092.88 112.8 + 457852.795 5439092.88 114 + 457852.795 5439093 114 + 457852.795 5439093 112.8 + + + + + + + + + 457842 5439093 115.430940107676 + 457854 5439093 115.430940107676 + 457854 5439093 111.8 + 457842 5439093 111.8 + 457842 5439093 115.430940107676 + + + + + 457843.05 5439093 114 + 457843.05 5439093 112.8 + 457845.05 5439093 112.8 + 457845.05 5439093 114 + 457843.05 5439093 114 + + + + + 457852.795 5439093 114 + 457850.795 5439093 114 + 457850.795 5439093 112.8 + 457852.795 5439093 112.8 + 457852.795 5439093 114 + + + + + 457846.66 5439093 114 + 457846.66 5439093 112.8 + 457848.66 5439093 112.8 + 457848.66 5439093 114 + 457846.66 5439093 114 + + + + + + + + + 457848.66 5439093 112.8 + 457848.66 5439092.88 112.8 + 457848.66 5439092.88 114 + 457848.66 5439093 114 + 457848.66 5439093 112.8 + + + + + + + + + 457850.795 5439093 112.8 + 457850.795 5439092.88 112.8 + 457852.795 5439092.88 112.8 + 457852.795 5439093 112.8 + 457850.795 5439093 112.8 + + + + + + + + + 457850.795 5439093 114 + 457850.795 5439092.88 114 + 457850.795 5439092.88 112.8 + 457850.795 5439093 112.8 + 457850.795 5439093 114 + + + + + + + + + 457848.66 5439093 114 + 457848.66 5439092.88 114 + 457846.66 5439092.88 114 + 457846.66 5439093 114 + 457848.66 5439093 114 + + + + + + + + + 457846.66 5439093 112.8 + 457846.66 5439092.88 112.8 + 457848.66 5439092.88 112.8 + 457848.66 5439093 112.8 + 457846.66 5439093 112.8 + + + + + + + + + 457846.66 5439093 114 + 457846.66 5439092.88 114 + 457846.66 5439092.88 112.8 + 457846.66 5439093 112.8 + 457846.66 5439093 114 + + + + + + + + + 457852.795 5439093 114 + 457852.795 5439092.88 114 + 457850.795 5439092.88 114 + 457850.795 5439093 114 + 457852.795 5439093 114 + + + + + + + + + 457845.05 5439092.88 114 + 457843.05 5439092.88 114 + 457843.05 5439093 114 + 457845.05 5439093 114 + 457845.05 5439092.88 114 + + + + + + + + + 457845.05 5439092.88 112.8 + 457845.05 5439092.88 114 + 457845.05 5439093 114 + 457845.05 5439093 112.8 + 457845.05 5439092.88 112.8 + + + + + + + + + 457843.05 5439092.88 112.8 + 457845.05 5439092.88 112.8 + 457845.05 5439093 112.8 + 457843.05 5439093 112.8 + 457843.05 5439092.88 112.8 + + + + + + + + + 457843.05 5439092.88 114 + 457843.05 5439092.88 112.8 + 457843.05 5439093 112.8 + 457843.05 5439093 114 + 457843.05 5439092.88 114 + + + + + + + + + + + Window East + + + + + + + 457852.795 5439092.88 112.8 + 457850.795 5439092.88 112.8 + 457850.795 5439092.88 114 + 457852.795 5439092.88 114 + 457852.795 5439092.88 112.8 + + + + + + + + + + + Window Middle + + + + + + + 457848.66 5439092.88 114 + 457848.66 5439092.88 112.8 + 457846.66 5439092.88 112.8 + 457846.66 5439092.88 114 + 457848.66 5439092.88 114 + + + + + + + + + + + Window West + + + + + + + 457843.05 5439092.88 112.8 + 457843.05 5439092.88 114 + 457845.05 5439092.88 114 + 457845.05 5439092.88 112.8 + 457843.05 5439092.88 112.8 + + + + + + + + + + + + + Roof 2 (South) + + + + + + + 457854 5439083 115.430940107676 + 457842 5439083 115.430940107676 + 457842 5439088 118.317691453624 + 457841.5 5439088 118.317691453624 + 457841.5 5439082.5 115.142264973081 + 457854.5 5439082.5 115.142264973081 + 457854.5 5439088 118.317691453624 + 457854 5439088 118.317691453624 + 457854 5439083 115.430940107676 + + + + + + + + + 457854 5439083 115.430940107676 + 457854 5439088 118.317691453624 + 457842 5439088 118.317691453624 + 457842 5439083 115.430940107676 + 457854 5439083 115.430940107676 + + + + + + + + + + + Bodenplatte + Base Surface + + + + + + + 457854 5439083 111.8 + 457842 5439083 111.8 + 457842 5439093 111.8 + 457854 5439093 111.8 + 457854 5439083 111.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2020-01-01 + + + highestRoofEdge + lowestGroundPoint + measured + 6.52 + + + 1000 + 1000 + 1000 + 1030 + 2 + 0 + + + Badewanne von ArchiCAD 14 + Bathtub + + + + + + + 457846.04 5439091.2 112 + 457846.04 5439091.2 112.6 + 457846.04 5439092.7 112.6 + 457846.04 5439092.7 112 + 457846.04 5439091.2 112 + + + + + + + + + 457846.332635455 5439091.22882182 112 + 457846.332635455 5439091.22882182 112.6 + 457846.04 5439091.2 112.6 + 457846.04 5439091.2 112 + 457846.332635455 5439091.22882182 112 + + + + + + + + + 457846.614024545 5439091.31418091 112 + 457846.614024545 5439091.31418091 112.6 + 457846.332635455 5439091.22882182 112.6 + 457846.332635455 5439091.22882182 112 + 457846.614024545 5439091.31418091 112 + + + + + + + + + 457846.873355455 5439091.45279545 112 + 457846.873355455 5439091.45279545 112.6 + 457846.614024545 5439091.31418091 112.6 + 457846.614024545 5439091.31418091 112 + 457846.873355455 5439091.45279545 112 + + + + + + + + + 457847.10066 5439091.63934 112 + 457847.10066 5439091.63934 112.6 + 457846.873355455 5439091.45279545 112.6 + 457846.873355455 5439091.45279545 112 + 457847.10066 5439091.63934 112 + + + + + + + + + 457847.287204545 5439091.86664455 112 + 457847.287204545 5439091.86664455 112.6 + 457847.10066 5439091.63934 112.6 + 457847.10066 5439091.63934 112 + 457847.287204545 5439091.86664455 112 + + + + + + + + + 457847.425819091 5439092.12597545 112 + 457847.425819091 5439092.12597545 112.6 + 457847.287204545 5439091.86664455 112.6 + 457847.287204545 5439091.86664455 112 + 457847.425819091 5439092.12597545 112 + + + + + + + + + 457847.511177273 5439092.40736545 112 + 457847.511177273 5439092.40736545 112.6 + 457847.425819091 5439092.12597545 112.6 + 457847.425819091 5439092.12597545 112 + 457847.511177273 5439092.40736545 112 + + + + + + + + + 457847.539999091 5439092.7 112 + 457847.539999091 5439092.7 112.6 + 457847.511177273 5439092.40736545 112.6 + 457847.511177273 5439092.40736545 112 + 457847.539999091 5439092.7 112 + + + + + + + + + 457846.04 5439092.7 112 + 457846.04 5439092.7 112.6 + 457847.539999091 5439092.7 112.6 + 457847.539999091 5439092.7 112 + 457846.04 5439092.7 112 + + + + + + + + + 457846.528150909 5439092.42555727 112.6 + 457846.528150909 5439092.42555727 112.49 + 457846.652899091 5439092.50630455 112.49 + 457846.652899091 5439092.50630455 112.6 + 457846.528150909 5439092.42555727 112.6 + + + + + + + + + 457846.652899091 5439092.50630455 112.6 + 457846.652899091 5439092.50630455 112.49 + 457846.78332 5439092.56526909 112.49 + 457846.78332 5439092.56526909 112.6 + 457846.652899091 5439092.50630455 112.6 + + + + + + + + + 457846.78332 5439092.56526909 112.6 + 457846.78332 5439092.56526909 112.49 + 457846.914400909 5439092.60018727 112.49 + 457846.914400909 5439092.60018727 112.6 + 457846.78332 5439092.56526909 112.6 + + + + + + + + + 457846.914400909 5439092.60018727 112.6 + 457846.914400909 5439092.60018727 112.49 + 457847.041103636 5439092.60971455 112.49 + 457847.041103636 5439092.60971455 112.6 + 457846.914400909 5439092.60018727 112.6 + + + + + + + + + 457847.041103636 5439092.60971455 112.6 + 457847.041103636 5439092.60971455 112.49 + 457847.15856 5439092.59348727 112.49 + 457847.15856 5439092.59348727 112.6 + 457847.041103636 5439092.60971455 112.6 + + + + + + + + + 457847.15856 5439092.59348727 112.6 + 457847.15856 5439092.59348727 112.49 + 457847.262256364 5439092.55212818 112.49 + 457847.262256364 5439092.55212818 112.6 + 457847.15856 5439092.59348727 112.6 + + + + + + + + + 457847.262256364 5439092.55212818 112.6 + 457847.262256364 5439092.55212818 112.49 + 457847.346891818 5439092.48591 112.49 + 457847.346891818 5439092.48591 112.6 + 457847.262256364 5439092.55212818 112.6 + + + + + + + + + 457847.346891818 5439092.48591 112.6 + 457847.346891818 5439092.48591 112.49 + 457847.381681818 5439092.43270273 112.49 + 457847.381681818 5439092.43270273 112.6 + 457847.346891818 5439092.48591 112.6 + + + + + + + + + 457847.381681818 5439092.43270273 112.6 + 457847.381681818 5439092.43270273 112.49 + 457847.392820909 5439092.35922636 112.49 + 457847.392820909 5439092.35922636 112.6 + 457847.381681818 5439092.43270273 112.6 + + + + + + + + + 457847.392820909 5439092.35922636 112.6 + 457847.392820909 5439092.35922636 112.49 + 457847.381198182 5439092.26962091 112.49 + 457847.381198182 5439092.26962091 112.6 + 457847.392820909 5439092.35922636 112.6 + + + + + + + + + 457847.381198182 5439092.26962091 112.6 + 457847.381198182 5439092.26962091 112.49 + 457847.347258182 5439092.16732909 112.49 + 457847.347258182 5439092.16732909 112.6 + 457847.381198182 5439092.26962091 112.6 + + + + + + + + + 457847.347258182 5439092.16732909 112.6 + 457847.347258182 5439092.16732909 112.49 + 457847.292307273 5439092.05628273 112.49 + 457847.292307273 5439092.05628273 112.6 + 457847.347258182 5439092.16732909 112.6 + + + + + + + + + 457847.292307273 5439092.05628273 112.6 + 457847.292307273 5439092.05628273 112.49 + 457847.218455455 5439091.94074818 112.49 + 457847.218455455 5439091.94074818 112.6 + 457847.292307273 5439092.05628273 112.6 + + + + + + + + + 457847.218455455 5439091.94074818 112.6 + 457847.218455455 5439091.94074818 112.49 + 457847.128541818 5439091.82516636 112.49 + 457847.128541818 5439091.82516636 112.6 + 457847.218455455 5439091.94074818 112.6 + + + + + + + + + 457847.128541818 5439091.82516636 112.6 + 457847.128541818 5439091.82516636 112.49 + 457847.026020909 5439091.71397909 112.49 + 457847.026020909 5439091.71397909 112.6 + 457847.128541818 5439091.82516636 112.6 + + + + + + + + + 457847.026020909 5439091.71397909 112.6 + 457847.026020909 5439091.71397909 112.49 + 457846.914833636 5439091.61145818 112.49 + 457846.914833636 5439091.61145818 112.6 + 457847.026020909 5439091.71397909 112.6 + + + + + + + + + 457846.914833636 5439091.61145818 112.6 + 457846.914833636 5439091.61145818 112.49 + 457846.799251818 5439091.52154455 112.49 + 457846.799251818 5439091.52154455 112.6 + 457846.914833636 5439091.61145818 112.6 + + + + + + + + + 457846.799251818 5439091.52154455 112.6 + 457846.799251818 5439091.52154455 112.49 + 457846.683717273 5439091.44769273 112.49 + 457846.683717273 5439091.44769273 112.6 + 457846.799251818 5439091.52154455 112.6 + + + + + + + + + 457846.683717273 5439091.44769273 112.6 + 457846.683717273 5439091.44769273 112.49 + 457846.572670909 5439091.39274091 112.49 + 457846.572670909 5439091.39274091 112.6 + 457846.683717273 5439091.44769273 112.6 + + + + + + + + + 457846.572670909 5439091.39274091 112.6 + 457846.572670909 5439091.39274091 112.49 + 457846.47038 5439091.35880182 112.49 + 457846.47038 5439091.35880182 112.6 + 457846.572670909 5439091.39274091 112.6 + + + + + + + + + 457846.47038 5439091.35880182 112.6 + 457846.47038 5439091.35880182 112.49 + 457846.380773636 5439091.34717818 112.49 + 457846.380773636 5439091.34717818 112.6 + 457846.47038 5439091.35880182 112.6 + + + + + + + + + 457846.380773636 5439091.34717818 112.6 + 457846.380773636 5439091.34717818 112.49 + 457846.307298182 5439091.35831818 112.49 + 457846.307298182 5439091.35831818 112.6 + 457846.380773636 5439091.34717818 112.6 + + + + + + + + + 457846.307298182 5439091.35831818 112.6 + 457846.307298182 5439091.35831818 112.49 + 457846.252774545 5439091.39179273 112.49 + 457846.252774545 5439091.39179273 112.6 + 457846.307298182 5439091.35831818 112.6 + + + + + + + + + 457846.252774545 5439091.39179273 112.6 + 457846.252774545 5439091.39179273 112.49 + 457846.187872727 5439091.47774364 112.49 + 457846.187872727 5439091.47774364 112.6 + 457846.252774545 5439091.39179273 112.6 + + + + + + + + + 457846.187872727 5439091.47774364 112.6 + 457846.187872727 5439091.47774364 112.49 + 457846.146512727 5439091.58143909 112.49 + 457846.146512727 5439091.58143909 112.6 + 457846.187872727 5439091.47774364 112.6 + + + + + + + + + 457846.146512727 5439091.58143909 112.6 + 457846.146512727 5439091.58143909 112.49 + 457846.130285455 5439091.69889545 112.49 + 457846.130285455 5439091.69889545 112.6 + 457846.146512727 5439091.58143909 112.6 + + + + + + + + + 457846.130285455 5439091.69889545 112.6 + 457846.130285455 5439091.69889545 112.49 + 457846.139813636 5439091.82559909 112.49 + 457846.139813636 5439091.82559909 112.6 + 457846.130285455 5439091.69889545 112.6 + + + + + + + + + 457846.139813636 5439091.82559909 112.6 + 457846.139813636 5439091.82559909 112.49 + 457846.174730909 5439091.95667909 112.49 + 457846.174730909 5439091.95667909 112.6 + 457846.139813636 5439091.82559909 112.6 + + + + + + + + + 457846.174730909 5439091.95667909 112.6 + 457846.174730909 5439091.95667909 112.49 + 457846.233695455 5439092.0871 112.49 + 457846.233695455 5439092.0871 112.6 + 457846.174730909 5439091.95667909 112.6 + + + + + + + + + 457846.233695455 5439092.0871 112.6 + 457846.233695455 5439092.0871 112.49 + 457846.314441818 5439092.21184909 112.49 + 457846.314441818 5439092.21184909 112.6 + 457846.233695455 5439092.0871 112.6 + + + + + + + + + 457846.314441818 5439092.21184909 112.6 + 457846.314441818 5439092.21184909 112.49 + 457846.413867273 5439092.32613182 112.49 + 457846.413867273 5439092.32613182 112.6 + 457846.314441818 5439092.21184909 112.6 + + + + + + + + + 457846.413867273 5439092.32613182 112.6 + 457846.413867273 5439092.32613182 112.49 + 457846.528150909 5439092.42555727 112.49 + 457846.528150909 5439092.42555727 112.6 + 457846.413867273 5439092.32613182 112.6 + + + + + + + + + 457847.539999091 5439092.7 112.6 + 457846.04 5439092.7 112.6 + 457846.04 5439091.2 112.6 + 457846.332635455 5439091.22882182 112.6 + 457846.614024545 5439091.31418091 112.6 + 457846.873355455 5439091.45279545 112.6 + 457847.10066 5439091.63934 112.6 + 457847.287204545 5439091.86664455 112.6 + 457847.425819091 5439092.12597545 112.6 + 457847.511177273 5439092.40736545 112.6 + 457847.539999091 5439092.7 112.6 + + + + + 457846.314441818 5439092.21184909 112.6 + 457846.413867273 5439092.32613182 112.6 + 457846.528150909 5439092.42555727 112.6 + 457846.652899091 5439092.50630455 112.6 + 457846.78332 5439092.56526909 112.6 + 457846.914400909 5439092.60018727 112.6 + 457847.041103636 5439092.60971455 112.6 + 457847.15856 5439092.59348727 112.6 + 457847.262256364 5439092.55212818 112.6 + 457847.346891818 5439092.48591 112.6 + 457847.381681818 5439092.43270273 112.6 + 457847.392820909 5439092.35922636 112.6 + 457847.381198182 5439092.26962091 112.6 + 457847.347258182 5439092.16732909 112.6 + 457847.292307273 5439092.05628273 112.6 + 457847.218455455 5439091.94074818 112.6 + 457847.128541818 5439091.82516636 112.6 + 457847.026020909 5439091.71397909 112.6 + 457846.914833636 5439091.61145818 112.6 + 457846.799251818 5439091.52154455 112.6 + 457846.683717273 5439091.44769273 112.6 + 457846.572670909 5439091.39274091 112.6 + 457846.47038 5439091.35880182 112.6 + 457846.380773636 5439091.34717818 112.6 + 457846.307298182 5439091.35831818 112.6 + 457846.252774545 5439091.39179273 112.6 + 457846.187872727 5439091.47774364 112.6 + 457846.146512727 5439091.58143909 112.6 + 457846.130285455 5439091.69889545 112.6 + 457846.139813636 5439091.82559909 112.6 + 457846.174730909 5439091.95667909 112.6 + 457846.233695455 5439092.0871 112.6 + 457846.314441818 5439092.21184909 112.6 + + + + + + + + + 457846.2193 5439091.44631545 112.49 + 457846.208160909 5439091.51979182 112.49 + 457846.219783636 5439091.60939727 112.49 + 457846.253723636 5439091.71168909 112.49 + 457846.308674545 5439091.82273545 112.49 + 457846.382526364 5439091.93827 112.49 + 457846.47244 5439092.05385182 112.49 + 457846.574960909 5439092.16503909 112.49 + 457846.686148182 5439092.26756 112.49 + 457846.80173 5439092.35747364 112.49 + 457846.917264545 5439092.43132545 112.49 + 457847.028310909 5439092.48627727 112.49 + 457847.130601818 5439092.52021636 112.49 + 457847.220208182 5439092.53184 112.49 + 457847.293683636 5439092.5207 112.49 + 457847.346891818 5439092.48591 112.49 + 457847.262256364 5439092.55212818 112.49 + 457847.15856 5439092.59348727 112.49 + 457847.041103636 5439092.60971455 112.49 + 457846.914400909 5439092.60018727 112.49 + 457846.78332 5439092.56526909 112.49 + 457846.652899091 5439092.50630455 112.49 + 457846.528150909 5439092.42555727 112.49 + 457846.413867273 5439092.32613182 112.49 + 457846.314441818 5439092.21184909 112.49 + 457846.233695455 5439092.0871 112.49 + 457846.174730909 5439091.95667909 112.49 + 457846.139813636 5439091.82559909 112.49 + 457846.130285455 5439091.69889545 112.49 + 457846.146512727 5439091.58143909 112.49 + 457846.187872727 5439091.47774364 112.49 + 457846.252774545 5439091.39179273 112.49 + 457846.2193 5439091.44631545 112.49 + + + + + + + + + 457846.573438182 5439091.99685182 112.2 + 457846.655507273 5439092.08449273 112.2 + 457846.47244 5439092.05385182 112.49 + 457846.573438182 5439091.99685182 112.2 + + + + + + + + + 457846.47244 5439092.05385182 112.49 + 457846.655507273 5439092.08449273 112.2 + 457846.574960909 5439092.16503909 112.49 + 457846.47244 5439092.05385182 112.49 + + + + + + + + + 457846.500094545 5439091.90700818 112.2 + 457846.573438182 5439091.99685182 112.2 + 457846.382526364 5439091.93827 112.49 + 457846.500094545 5439091.90700818 112.2 + + + + + + + + + 457846.382526364 5439091.93827 112.49 + 457846.573438182 5439091.99685182 112.2 + 457846.47244 5439092.05385182 112.49 + 457846.382526364 5439091.93827 112.49 + + + + + + + + + 457846.438295455 5439091.81841273 112.2 + 457846.500094545 5439091.90700818 112.2 + 457846.308674545 5439091.82273545 112.49 + 457846.438295455 5439091.81841273 112.2 + + + + + + + + + 457846.308674545 5439091.82273545 112.49 + 457846.500094545 5439091.90700818 112.2 + 457846.382526364 5439091.93827 112.49 + 457846.308674545 5439091.82273545 112.49 + + + + + + + + + 457846.390415455 5439091.73447091 112.2 + 457846.438295455 5439091.81841273 112.2 + 457846.253723636 5439091.71168909 112.49 + 457846.390415455 5439091.73447091 112.2 + + + + + + + + + 457846.253723636 5439091.71168909 112.49 + 457846.438295455 5439091.81841273 112.2 + 457846.308674545 5439091.82273545 112.49 + 457846.253723636 5439091.71168909 112.49 + + + + + + + + + 457846.358293636 5439091.65840909 112.2 + 457846.390415455 5439091.73447091 112.2 + 457846.219783636 5439091.60939727 112.49 + 457846.358293636 5439091.65840909 112.2 + + + + + + + + + 457846.219783636 5439091.60939727 112.49 + 457846.390415455 5439091.73447091 112.2 + 457846.253723636 5439091.71168909 112.49 + 457846.219783636 5439091.60939727 112.49 + + + + + + + + + 457846.343165455 5439091.59314909 112.2 + 457846.358293636 5439091.65840909 112.2 + 457846.208160909 5439091.51979182 112.49 + 457846.343165455 5439091.59314909 112.2 + + + + + + + + + 457846.208160909 5439091.51979182 112.49 + 457846.358293636 5439091.65840909 112.2 + 457846.219783636 5439091.60939727 112.49 + 457846.208160909 5439091.51979182 112.49 + + + + + + + + + 457846.345612727 5439091.5412 112.2 + 457846.343165455 5439091.59314909 112.2 + 457846.2193 5439091.44631545 112.49 + 457846.345612727 5439091.5412 112.2 + + + + + + + + + 457846.2193 5439091.44631545 112.49 + 457846.343165455 5439091.59314909 112.2 + 457846.208160909 5439091.51979182 112.49 + 457846.2193 5439091.44631545 112.49 + + + + + + + + + 457846.36554 5439091.50455818 112.2 + 457846.345612727 5439091.5412 112.2 + 457846.252774545 5439091.39179273 112.49 + 457846.36554 5439091.50455818 112.2 + + + + + + + + + 457846.252774545 5439091.39179273 112.49 + 457846.345612727 5439091.5412 112.2 + 457846.2193 5439091.44631545 112.49 + 457846.252774545 5439091.39179273 112.49 + + + + + + + + + 457846.402182727 5439091.48463 112.2 + 457846.36554 5439091.50455818 112.2 + 457846.307298182 5439091.35831818 112.49 + 457846.402182727 5439091.48463 112.2 + + + + + + + + + 457846.307298182 5439091.35831818 112.49 + 457846.36554 5439091.50455818 112.2 + 457846.252774545 5439091.39179273 112.49 + 457846.307298182 5439091.35831818 112.49 + + + + + + + + + 457846.454131818 5439091.48218364 112.2 + 457846.402182727 5439091.48463 112.2 + 457846.380773636 5439091.34717818 112.49 + 457846.454131818 5439091.48218364 112.2 + + + + + + + + + 457846.380773636 5439091.34717818 112.49 + 457846.402182727 5439091.48463 112.2 + 457846.307298182 5439091.35831818 112.49 + 457846.380773636 5439091.34717818 112.49 + + + + + + + + + 457846.519390909 5439091.49731182 112.2 + 457846.454131818 5439091.48218364 112.2 + 457846.47038 5439091.35880182 112.49 + 457846.519390909 5439091.49731182 112.2 + + + + + + + + + 457846.47038 5439091.35880182 112.49 + 457846.454131818 5439091.48218364 112.2 + 457846.380773636 5439091.34717818 112.49 + 457846.47038 5439091.35880182 112.49 + + + + + + + + + 457846.595452727 5439091.52943273 112.2 + 457846.519390909 5439091.49731182 112.2 + 457846.572670909 5439091.39274091 112.49 + 457846.595452727 5439091.52943273 112.2 + + + + + + + + + 457846.572670909 5439091.39274091 112.49 + 457846.519390909 5439091.49731182 112.2 + 457846.47038 5439091.35880182 112.49 + 457846.572670909 5439091.39274091 112.49 + + + + + + + + + 457846.679394545 5439091.57731364 112.2 + 457846.595452727 5439091.52943273 112.2 + 457846.683717273 5439091.44769273 112.49 + 457846.679394545 5439091.57731364 112.2 + + + + + + + + + 457846.683717273 5439091.44769273 112.49 + 457846.595452727 5439091.52943273 112.2 + 457846.572670909 5439091.39274091 112.49 + 457846.683717273 5439091.44769273 112.49 + + + + + + + + + 457846.76799 5439091.63911273 112.2 + 457846.679394545 5439091.57731364 112.2 + 457846.799251818 5439091.52154455 112.49 + 457846.76799 5439091.63911273 112.2 + + + + + + + + + 457846.799251818 5439091.52154455 112.49 + 457846.679394545 5439091.57731364 112.2 + 457846.683717273 5439091.44769273 112.49 + 457846.799251818 5439091.52154455 112.49 + + + + + + + + + 457846.857834545 5439091.71245636 112.2 + 457846.76799 5439091.63911273 112.2 + 457846.914833636 5439091.61145818 112.49 + 457846.857834545 5439091.71245636 112.2 + + + + + + + + + 457846.914833636 5439091.61145818 112.49 + 457846.76799 5439091.63911273 112.2 + 457846.799251818 5439091.52154455 112.49 + 457846.914833636 5439091.61145818 112.49 + + + + + + + + + 457846.945474545 5439091.79452545 112.2 + 457846.857834545 5439091.71245636 112.2 + 457847.026020909 5439091.71397909 112.49 + 457846.945474545 5439091.79452545 112.2 + + + + + + + + + 457847.026020909 5439091.71397909 112.49 + 457846.857834545 5439091.71245636 112.2 + 457846.914833636 5439091.61145818 112.49 + 457847.026020909 5439091.71397909 112.49 + + + + + + + + + 457847.027543636 5439091.88216636 112.2 + 457846.945474545 5439091.79452545 112.2 + 457847.128541818 5439091.82516636 112.49 + 457847.027543636 5439091.88216636 112.2 + + + + + + + + + 457847.128541818 5439091.82516636 112.49 + 457846.945474545 5439091.79452545 112.2 + 457847.026020909 5439091.71397909 112.49 + 457847.128541818 5439091.82516636 112.49 + + + + + + + + + 457847.100887273 5439091.97201 112.2 + 457847.027543636 5439091.88216636 112.2 + 457847.218455455 5439091.94074818 112.49 + 457847.100887273 5439091.97201 112.2 + + + + + + + + + 457847.218455455 5439091.94074818 112.49 + 457847.027543636 5439091.88216636 112.2 + 457847.128541818 5439091.82516636 112.49 + 457847.218455455 5439091.94074818 112.49 + + + + + + + + + 457847.162686364 5439092.06060545 112.2 + 457847.100887273 5439091.97201 112.2 + 457847.292307273 5439092.05628273 112.49 + 457847.162686364 5439092.06060545 112.2 + + + + + + + + + 457847.292307273 5439092.05628273 112.49 + 457847.100887273 5439091.97201 112.2 + 457847.218455455 5439091.94074818 112.49 + 457847.292307273 5439092.05628273 112.49 + + + + + + + + + 457847.210566364 5439092.14454727 112.2 + 457847.162686364 5439092.06060545 112.2 + 457847.347258182 5439092.16732909 112.49 + 457847.210566364 5439092.14454727 112.2 + + + + + + + + + 457847.347258182 5439092.16732909 112.49 + 457847.162686364 5439092.06060545 112.2 + 457847.292307273 5439092.05628273 112.49 + 457847.347258182 5439092.16732909 112.49 + + + + + + + + + 457847.257816364 5439092.28586909 112.2 + 457847.242688182 5439092.22060909 112.2 + 457847.392820909 5439092.35922636 112.49 + 457847.257816364 5439092.28586909 112.2 + + + + + + + + + 457847.392820909 5439092.35922636 112.49 + 457847.242688182 5439092.22060909 112.2 + 457847.381198182 5439092.26962091 112.49 + 457847.392820909 5439092.35922636 112.49 + + + + + + + + + 457847.255369091 5439092.33781818 112.2 + 457847.257816364 5439092.28586909 112.2 + 457847.381681818 5439092.43270273 112.49 + 457847.255369091 5439092.33781818 112.2 + + + + + + + + + 457847.381681818 5439092.43270273 112.49 + 457847.257816364 5439092.28586909 112.2 + 457847.392820909 5439092.35922636 112.49 + 457847.381681818 5439092.43270273 112.49 + + + + + + + + + 457847.198799091 5439092.39438818 112.2 + 457847.234397273 5439092.37341545 112.2 + 457847.293683636 5439092.5207 112.49 + 457847.198799091 5439092.39438818 112.2 + + + + + + + + + 457847.293683636 5439092.5207 112.49 + 457847.234397273 5439092.37341545 112.2 + 457847.346891818 5439092.48591 112.49 + 457847.293683636 5439092.5207 112.49 + + + + + + + + + 457847.14685 5439092.39683455 112.2 + 457847.198799091 5439092.39438818 112.2 + 457847.220208182 5439092.53184 112.49 + 457847.14685 5439092.39683455 112.2 + + + + + + + + + 457847.220208182 5439092.53184 112.49 + 457847.198799091 5439092.39438818 112.2 + 457847.293683636 5439092.5207 112.49 + 457847.220208182 5439092.53184 112.49 + + + + + + + + + 457847.081590909 5439092.38170636 112.2 + 457847.14685 5439092.39683455 112.2 + 457847.130601818 5439092.52021636 112.49 + 457847.081590909 5439092.38170636 112.2 + + + + + + + + + 457847.130601818 5439092.52021636 112.49 + 457847.14685 5439092.39683455 112.2 + 457847.220208182 5439092.53184 112.49 + 457847.130601818 5439092.52021636 112.49 + + + + + + + + + 457847.005529091 5439092.34958545 112.2 + 457847.081590909 5439092.38170636 112.2 + 457847.028310909 5439092.48627727 112.49 + 457847.005529091 5439092.34958545 112.2 + + + + + + + + + 457847.028310909 5439092.48627727 112.49 + 457847.081590909 5439092.38170636 112.2 + 457847.130601818 5439092.52021636 112.49 + 457847.028310909 5439092.48627727 112.49 + + + + + + + + + 457846.921587273 5439092.30170455 112.2 + 457847.005529091 5439092.34958545 112.2 + 457846.917264545 5439092.43132545 112.49 + 457846.921587273 5439092.30170455 112.2 + + + + + + + + + 457846.917264545 5439092.43132545 112.49 + 457847.005529091 5439092.34958545 112.2 + 457847.028310909 5439092.48627727 112.49 + 457846.917264545 5439092.43132545 112.49 + + + + + + + + + 457846.832991818 5439092.23990545 112.2 + 457846.921587273 5439092.30170455 112.2 + 457846.80173 5439092.35747364 112.49 + 457846.832991818 5439092.23990545 112.2 + + + + + + + + + 457846.80173 5439092.35747364 112.49 + 457846.921587273 5439092.30170455 112.2 + 457846.917264545 5439092.43132545 112.49 + 457846.80173 5439092.35747364 112.49 + + + + + + + + + 457846.743147273 5439092.16656182 112.2 + 457846.832991818 5439092.23990545 112.2 + 457846.686148182 5439092.26756 112.49 + 457846.743147273 5439092.16656182 112.2 + + + + + + + + + 457846.686148182 5439092.26756 112.49 + 457846.832991818 5439092.23990545 112.2 + 457846.80173 5439092.35747364 112.49 + 457846.686148182 5439092.26756 112.49 + + + + + + + + + 457846.655507273 5439092.08449273 112.2 + 457846.743147273 5439092.16656182 112.2 + 457846.574960909 5439092.16503909 112.49 + 457846.655507273 5439092.08449273 112.2 + + + + + + + + + 457846.574960909 5439092.16503909 112.49 + 457846.743147273 5439092.16656182 112.2 + 457846.686148182 5439092.26756 112.49 + 457846.574960909 5439092.16503909 112.49 + + + + + + + + + 457846.438295455 5439091.81841273 112.2 + 457846.390415455 5439091.73447091 112.2 + 457846.358293636 5439091.65840909 112.2 + 457846.343165455 5439091.59314909 112.2 + 457846.345612727 5439091.5412 112.2 + 457846.36554 5439091.50455818 112.2 + 457846.402182727 5439091.48463 112.2 + 457846.454131818 5439091.48218364 112.2 + 457846.519390909 5439091.49731182 112.2 + 457846.595452727 5439091.52943273 112.2 + 457846.679394545 5439091.57731364 112.2 + 457846.76799 5439091.63911273 112.2 + 457846.857834545 5439091.71245636 112.2 + 457846.945474545 5439091.79452545 112.2 + 457847.027543636 5439091.88216636 112.2 + 457847.100887273 5439091.97201 112.2 + 457847.162686364 5439092.06060545 112.2 + 457847.210566364 5439092.14454727 112.2 + 457847.242688182 5439092.22060909 112.2 + 457847.257816364 5439092.28586909 112.2 + 457847.255369091 5439092.33781818 112.2 + 457847.234397273 5439092.37341545 112.2 + 457847.198799091 5439092.39438818 112.2 + 457847.14685 5439092.39683455 112.2 + 457847.081590909 5439092.38170636 112.2 + 457847.005529091 5439092.34958545 112.2 + 457846.921587273 5439092.30170455 112.2 + 457846.832991818 5439092.23990545 112.2 + 457846.743147273 5439092.16656182 112.2 + 457846.655507273 5439092.08449273 112.2 + 457846.573438182 5439091.99685182 112.2 + 457846.500094545 5439091.90700818 112.2 + 457846.438295455 5439091.81841273 112.2 + + + + + + + + + 457846.816561518 5439091.92343848 112.2 + 457846.811854545 5439091.9198267 112.2 + 457846.80637316 5439091.91755623 112.2 + 457846.800490909 5439091.91678182 112.2 + 457846.794608658 5439091.91755623 112.2 + 457846.789127273 5439091.9198267 112.2 + 457846.7844203 5439091.92343848 112.2 + 457846.780808514 5439091.92814545 112.2 + 457846.778538049 5439091.93362684 112.2 + 457846.777763636 5439091.93950909 112.2 + 457846.778538049 5439091.94539134 112.2 + 457846.780808514 5439091.95087273 112.2 + 457846.7844203 5439091.9555797 112.2 + 457846.789127273 5439091.95919149 112.2 + 457846.794608658 5439091.96146195 112.2 + 457846.800490909 5439091.96223636 112.2 + 457846.80637316 5439091.96146195 112.2 + 457846.811854545 5439091.95919149 112.2 + 457846.816561518 5439091.9555797 112.2 + 457846.820173305 5439091.95087273 112.2 + 457846.822443769 5439091.94539134 112.2 + 457846.823218182 5439091.93950909 112.2 + 457846.822443769 5439091.93362684 112.2 + 457846.820173305 5439091.92814545 112.2 + 457846.816561518 5439091.92343848 112.2 + + + + + + + + + 457846.822443769 5439091.94539134 112.205 + 457846.820173305 5439091.95087273 112.205 + 457846.816561518 5439091.9555797 112.205 + 457846.811854545 5439091.95919149 112.205 + 457846.80637316 5439091.96146195 112.205 + 457846.800490909 5439091.96223636 112.205 + 457846.794608658 5439091.96146195 112.205 + 457846.789127273 5439091.95919149 112.205 + 457846.7844203 5439091.9555797 112.205 + 457846.780808514 5439091.95087273 112.205 + 457846.778538049 5439091.94539134 112.205 + 457846.777763636 5439091.93950909 112.205 + 457846.778538049 5439091.93362684 112.205 + 457846.780808514 5439091.92814545 112.205 + 457846.7844203 5439091.92343848 112.205 + 457846.789127273 5439091.9198267 112.205 + 457846.794608658 5439091.91755623 112.205 + 457846.800490909 5439091.91678182 112.205 + 457846.80637316 5439091.91755623 112.205 + 457846.811854545 5439091.9198267 112.205 + 457846.816561518 5439091.92343848 112.205 + 457846.820173305 5439091.92814545 112.205 + 457846.822443769 5439091.93362684 112.205 + 457846.823218182 5439091.93950909 112.205 + 457846.822443769 5439091.94539134 112.205 + + + + + + + + + 457846.822443769 5439091.93362684 112.2 + 457846.823218182 5439091.93950909 112.2 + 457846.823218182 5439091.93950909 112.205 + 457846.822443769 5439091.93362684 112.205 + 457846.822443769 5439091.93362684 112.2 + + + + + + + + + 457846.823218182 5439091.93950909 112.2 + 457846.822443769 5439091.94539134 112.2 + 457846.822443769 5439091.94539134 112.205 + 457846.823218182 5439091.93950909 112.205 + 457846.823218182 5439091.93950909 112.2 + + + + + + + + + 457846.822443769 5439091.94539134 112.2 + 457846.820173305 5439091.95087273 112.2 + 457846.820173305 5439091.95087273 112.205 + 457846.822443769 5439091.94539134 112.205 + 457846.822443769 5439091.94539134 112.2 + + + + + + + + + 457846.820173305 5439091.95087273 112.2 + 457846.816561518 5439091.9555797 112.2 + 457846.816561518 5439091.9555797 112.205 + 457846.820173305 5439091.95087273 112.205 + 457846.820173305 5439091.95087273 112.2 + + + + + + + + + 457846.816561518 5439091.9555797 112.2 + 457846.811854545 5439091.95919149 112.2 + 457846.811854545 5439091.95919149 112.205 + 457846.816561518 5439091.9555797 112.205 + 457846.816561518 5439091.9555797 112.2 + + + + + + + + + 457846.811854545 5439091.95919149 112.2 + 457846.80637316 5439091.96146195 112.2 + 457846.80637316 5439091.96146195 112.205 + 457846.811854545 5439091.95919149 112.205 + 457846.811854545 5439091.95919149 112.2 + + + + + + + + + 457846.80637316 5439091.96146195 112.2 + 457846.800490909 5439091.96223636 112.2 + 457846.800490909 5439091.96223636 112.205 + 457846.80637316 5439091.96146195 112.205 + 457846.80637316 5439091.96146195 112.2 + + + + + + + + + 457846.800490909 5439091.96223636 112.2 + 457846.794608658 5439091.96146195 112.2 + 457846.794608658 5439091.96146195 112.205 + 457846.800490909 5439091.96223636 112.205 + 457846.800490909 5439091.96223636 112.2 + + + + + + + + + 457846.794608658 5439091.96146195 112.2 + 457846.789127273 5439091.95919149 112.2 + 457846.789127273 5439091.95919149 112.205 + 457846.794608658 5439091.96146195 112.205 + 457846.794608658 5439091.96146195 112.2 + + + + + + + + + 457846.789127273 5439091.95919149 112.2 + 457846.7844203 5439091.9555797 112.2 + 457846.7844203 5439091.9555797 112.205 + 457846.789127273 5439091.95919149 112.205 + 457846.789127273 5439091.95919149 112.2 + + + + + + + + + 457846.7844203 5439091.9555797 112.2 + 457846.780808514 5439091.95087273 112.2 + 457846.780808514 5439091.95087273 112.205 + 457846.7844203 5439091.9555797 112.205 + 457846.7844203 5439091.9555797 112.2 + + + + + + + + + 457846.780808514 5439091.95087273 112.2 + 457846.778538049 5439091.94539134 112.2 + 457846.778538049 5439091.94539134 112.205 + 457846.780808514 5439091.95087273 112.205 + 457846.780808514 5439091.95087273 112.2 + + + + + + + + + 457846.778538049 5439091.94539134 112.2 + 457846.777763636 5439091.93950909 112.2 + 457846.777763636 5439091.93950909 112.205 + 457846.778538049 5439091.94539134 112.205 + 457846.778538049 5439091.94539134 112.2 + + + + + + + + + 457846.777763636 5439091.93950909 112.2 + 457846.778538049 5439091.93362684 112.2 + 457846.778538049 5439091.93362684 112.205 + 457846.777763636 5439091.93950909 112.205 + 457846.777763636 5439091.93950909 112.2 + + + + + + + + + 457846.778538049 5439091.93362684 112.2 + 457846.780808514 5439091.92814545 112.2 + 457846.780808514 5439091.92814545 112.205 + 457846.778538049 5439091.93362684 112.205 + 457846.778538049 5439091.93362684 112.2 + + + + + + + + + 457846.780808514 5439091.92814545 112.2 + 457846.7844203 5439091.92343848 112.2 + 457846.7844203 5439091.92343848 112.205 + 457846.780808514 5439091.92814545 112.205 + 457846.780808514 5439091.92814545 112.2 + + + + + + + + + 457846.7844203 5439091.92343848 112.2 + 457846.789127273 5439091.9198267 112.2 + 457846.789127273 5439091.9198267 112.205 + 457846.7844203 5439091.92343848 112.205 + 457846.7844203 5439091.92343848 112.2 + + + + + + + + + 457846.789127273 5439091.9198267 112.2 + 457846.794608658 5439091.91755623 112.2 + 457846.794608658 5439091.91755623 112.205 + 457846.789127273 5439091.9198267 112.205 + 457846.789127273 5439091.9198267 112.2 + + + + + + + + + 457846.794608658 5439091.91755623 112.2 + 457846.800490909 5439091.91678182 112.2 + 457846.800490909 5439091.91678182 112.205 + 457846.794608658 5439091.91755623 112.205 + 457846.794608658 5439091.91755623 112.2 + + + + + + + + + 457846.800490909 5439091.91678182 112.2 + 457846.80637316 5439091.91755623 112.2 + 457846.80637316 5439091.91755623 112.205 + 457846.800490909 5439091.91678182 112.205 + 457846.800490909 5439091.91678182 112.2 + + + + + + + + + 457846.80637316 5439091.91755623 112.2 + 457846.811854545 5439091.9198267 112.2 + 457846.811854545 5439091.9198267 112.205 + 457846.80637316 5439091.91755623 112.205 + 457846.80637316 5439091.91755623 112.2 + + + + + + + + + 457846.811854545 5439091.9198267 112.2 + 457846.816561518 5439091.92343848 112.2 + 457846.816561518 5439091.92343848 112.205 + 457846.811854545 5439091.9198267 112.205 + 457846.811854545 5439091.9198267 112.2 + + + + + + + + + 457846.816561518 5439091.92343848 112.2 + 457846.820173305 5439091.92814545 112.2 + 457846.820173305 5439091.92814545 112.205 + 457846.816561518 5439091.92343848 112.205 + 457846.816561518 5439091.92343848 112.2 + + + + + + + + + 457846.820173305 5439091.92814545 112.2 + 457846.822443769 5439091.93362684 112.2 + 457846.822443769 5439091.93362684 112.205 + 457846.820173305 5439091.92814545 112.205 + 457846.820173305 5439091.92814545 112.2 + + + + + + + + + 457847.234397273 5439092.37341545 112.2 + 457847.255369091 5439092.33781818 112.2 + 457847.346891818 5439092.48591 112.49 + 457847.234397273 5439092.37341545 112.2 + + + + + + + + + 457847.346891818 5439092.48591 112.49 + 457847.255369091 5439092.33781818 112.2 + 457847.381681818 5439092.43270273 112.49 + 457847.346891818 5439092.48591 112.49 + + + + + + + + + 457847.242688182 5439092.22060909 112.2 + 457847.210566364 5439092.14454727 112.2 + 457847.381198182 5439092.26962091 112.49 + 457847.242688182 5439092.22060909 112.2 + + + + + + + + + 457847.381198182 5439092.26962091 112.49 + 457847.210566364 5439092.14454727 112.2 + 457847.347258182 5439092.16732909 112.49 + 457847.381198182 5439092.26962091 112.49 + + + + + + + 1070 + + + + + WC von ArchiCAD 14 + Toilet + + + + + + + 457846.040007 5439090.18105079 112.167602729412 + 457846.040007 5439090.16046084 112.025611105882 + 457846.420007 5439090.16046084 112.025611105882 + 457846.420007 5439090.18105079 112.167602729412 + 457846.040007 5439090.18105079 112.167602729412 + + + + + + + + + 457846.040007 5439090.16046084 112.025611105882 + 457846.040007 5439090.16045384 112.0253344 + 457846.420007 5439090.16045384 112.0253344 + 457846.420007 5439090.16046084 112.025611105882 + 457846.040007 5439090.16046084 112.025611105882 + + + + + + + + + 457846.040007 5439090.16045384 112.0253344 + 457846.040007 5439090.16019083 112.024191011765 + 457846.420007 5439090.16019083 112.024191011765 + 457846.420007 5439090.16045384 112.0253344 + 457846.040007 5439090.16045384 112.0253344 + + + + + + + + + 457846.040007 5439090.16019083 112.024191011765 + 457846.040007 5439090.15973181 112.023110870588 + 457846.420007 5439090.15973181 112.023110870588 + 457846.420007 5439090.16019083 112.024191011765 + 457846.040007 5439090.16019083 112.024191011765 + + + + + + + + + 457846.040007 5439090.15973181 112.023110870588 + 457846.040007 5439090.15908878 112.022126588235 + 457846.420007 5439090.15908878 112.022126588235 + 457846.420007 5439090.15973181 112.023110870588 + 457846.040007 5439090.15973181 112.023110870588 + + + + + + + + + 457846.040007 5439090.15908878 112.022126588235 + 457846.040007 5439090.15828274 112.021266823529 + 457846.420007 5439090.15828274 112.021266823529 + 457846.420007 5439090.15908878 112.022126588235 + 457846.040007 5439090.15908878 112.022126588235 + + + + + + + + + 457846.040007 5439090.15828274 112.021266823529 + 457846.040007 5439090.1573387 112.020558258824 + 457846.420007 5439090.1573387 112.020558258824 + 457846.420007 5439090.15828274 112.021266823529 + 457846.040007 5439090.15828274 112.021266823529 + + + + + + + + + 457846.040007 5439090.1573387 112.020558258824 + 457846.040007 5439090.15628365 112.020022635294 + 457846.420007 5439090.15628365 112.020022635294 + 457846.420007 5439090.1573387 112.020558258824 + 457846.040007 5439090.1573387 112.020558258824 + + + + + + + + + 457846.040007 5439090.15628365 112.020022635294 + 457846.040007 5439090.1551506 112.019675764706 + 457846.420007 5439090.1551506 112.019675764706 + 457846.420007 5439090.15628365 112.020022635294 + 457846.040007 5439090.15628365 112.020022635294 + + + + + + + + + 457846.040007 5439090.1551506 112.019675764706 + 457846.040007 5439090.15456257 112.019602635294 + 457846.420007 5439090.15456257 112.019602635294 + 457846.420007 5439090.1551506 112.019675764706 + 457846.040007 5439090.1551506 112.019675764706 + + + + + + + + + 457846.040007 5439090.15456257 112.019602635294 + 457846.040007 5439090.15392054 112.019467247059 + 457846.420007 5439090.15392054 112.019467247059 + 457846.420007 5439090.15456257 112.019602635294 + 457846.040007 5439090.15456257 112.019602635294 + + + + + + + + + 457846.040007 5439090.15392054 112.019467247059 + 457846.040007 5439090.15270349 112.018982023529 + 457846.420007 5439090.15270349 112.018982023529 + 457846.420007 5439090.15392054 112.019467247059 + 457846.040007 5439090.15392054 112.019467247059 + + + + + + + + + 457846.040007 5439090.15270349 112.018982023529 + 457846.040007 5439090.15159144 112.018294211765 + 457846.420007 5439090.15159144 112.018294211765 + 457846.420007 5439090.15270349 112.018982023529 + 457846.040007 5439090.15270349 112.018982023529 + + + + + + + + + 457846.040007 5439090.15159144 112.018294211765 + 457846.040007 5439090.15061539 112.017426541176 + 457846.420007 5439090.15061539 112.017426541176 + 457846.420007 5439090.15159144 112.018294211765 + 457846.040007 5439090.15159144 112.018294211765 + + + + + + + + + 457846.040007 5439090.15061539 112.017426541176 + 457846.040007 5439090.14980835 112.016404705882 + 457846.420007 5439090.14980835 112.016404705882 + 457846.420007 5439090.15061539 112.017426541176 + 457846.040007 5439090.15061539 112.017426541176 + + + + + + + + + 457846.040007 5439090.14980835 112.016404705882 + 457846.040007 5439090.14919232 112.015259341176 + 457846.420007 5439090.14919232 112.015259341176 + 457846.420007 5439090.14980835 112.016404705882 + 457846.040007 5439090.14980835 112.016404705882 + + + + + + + + + 457846.040007 5439090.14919232 112.015259341176 + 457846.040007 5439090.14878631 112.014026023529 + 457846.420007 5439090.14878631 112.014026023529 + 457846.420007 5439090.14919232 112.015259341176 + 457846.040007 5439090.14919232 112.015259341176 + + + + + + + + + 457846.040007 5439090.14878631 112.014026023529 + 457846.040007 5439090.1486983 112.013403435294 + 457846.420007 5439090.1486983 112.013403435294 + 457846.420007 5439090.14878631 112.014026023529 + 457846.040007 5439090.14878631 112.014026023529 + + + + + + + + + 457846.040007 5439090.1486983 112.013403435294 + 457846.040007 5439090.14675521 112 + 457846.420007 5439090.14675521 112 + 457846.420007 5439090.1486983 112.013403435294 + 457846.040007 5439090.1486983 112.013403435294 + + + + + + + + + 457846.040007 5439090.14675521 112 + 457846.040007 5439090.31976316 112 + 457846.420007 5439090.31976316 112 + 457846.420007 5439090.25576022 112 + 457846.420007 5439090.21075815 112 + 457846.420007 5439090.14675521 112 + 457846.040007 5439090.14675521 112 + + + + + + + + + 457846.040007 5439090.31976316 112 + 457846.040007 5439090.31782007 112.013403435294 + 457846.420007 5439090.31782007 112.013403435294 + 457846.420007 5439090.31976316 112 + 457846.040007 5439090.31976316 112 + + + + + + + + + 457846.040007 5439090.31782007 112.013403435294 + 457846.040007 5439090.31772707 112.014045788235 + 457846.420007 5439090.31772707 112.014045788235 + 457846.420007 5439090.31782007 112.013403435294 + 457846.040007 5439090.31782007 112.013403435294 + + + + + + + + + 457846.040007 5439090.31772707 112.014045788235 + 457846.040007 5439090.31731805 112.015278117647 + 457846.420007 5439090.31731805 112.015278117647 + 457846.420007 5439090.31772707 112.014045788235 + 457846.040007 5439090.31772707 112.014045788235 + + + + + + + + + 457846.040007 5439090.31731805 112.015278117647 + 457846.040007 5439090.31669902 112.016421505882 + 457846.420007 5439090.31669902 112.016421505882 + 457846.420007 5439090.31731805 112.015278117647 + 457846.040007 5439090.31731805 112.015278117647 + + + + + + + + + 457846.040007 5439090.31669902 112.016421505882 + 457846.040007 5439090.31588798 112.017441364706 + 457846.420007 5439090.31588798 112.017441364706 + 457846.420007 5439090.31669902 112.016421505882 + 457846.040007 5439090.31669902 112.016421505882 + + + + + + + + + 457846.040007 5439090.31588798 112.017441364706 + 457846.040007 5439090.31491094 112.018307058824 + 457846.420007 5439090.31491094 112.018307058824 + 457846.420007 5439090.31588798 112.017441364706 + 457846.040007 5439090.31588798 112.017441364706 + + + + + + + + + 457846.040007 5439090.31491094 112.018307058824 + 457846.040007 5439090.31379589 112.018990917647 + 457846.420007 5439090.31379589 112.018990917647 + 457846.420007 5439090.31491094 112.018307058824 + 457846.040007 5439090.31491094 112.018307058824 + + + + + + + + + 457846.040007 5439090.31379589 112.018990917647 + 457846.040007 5439090.31257783 112.019473176471 + 457846.420007 5439090.31257783 112.019473176471 + 457846.420007 5439090.31379589 112.018990917647 + 457846.040007 5439090.31379589 112.018990917647 + + + + + + + + + 457846.040007 5439090.31257783 112.019473176471 + 457846.040007 5439090.3119558 112.019602635294 + 457846.420007 5439090.3119558 112.019602635294 + 457846.420007 5439090.31257783 112.019473176471 + 457846.040007 5439090.31257783 112.019473176471 + + + + + + + + + 457846.040007 5439090.3119558 112.019602635294 + 457846.040007 5439090.31167579 112.019617458824 + 457846.420007 5439090.31167579 112.019617458824 + 457846.420007 5439090.3119558 112.019602635294 + 457846.040007 5439090.3119558 112.019602635294 + + + + + + + + + 457846.040007 5439090.31167579 112.019617458824 + 457846.040007 5439090.31052774 112.019911952941 + 457846.420007 5439090.31052774 112.019911952941 + 457846.420007 5439090.31136778 112.019675764706 + 457846.420007 5439090.31167579 112.019617458824 + 457846.040007 5439090.31167579 112.019617458824 + + + + + + + + + 457846.040007 5439090.31052774 112.019911952941 + 457846.040007 5439090.30944969 112.020399152941 + 457846.420007 5439090.30944969 112.020399152941 + 457846.420007 5439090.31023472 112.020022635294 + 457846.420007 5439090.31052774 112.019911952941 + 457846.040007 5439090.31052774 112.019911952941 + + + + + + + + + 457846.040007 5439090.30944969 112.020399152941 + 457846.040007 5439090.30847264 112.021063247059 + 457846.420007 5439090.30847264 112.021063247059 + 457846.420007 5439090.30917968 112.020558258824 + 457846.420007 5439090.30944969 112.020399152941 + 457846.040007 5439090.30944969 112.020399152941 + + + + + + + + + 457846.040007 5439090.30847264 112.021063247059 + 457846.040007 5439090.3076276 112.021885458824 + 457846.420007 5439090.3076276 112.021885458824 + 457846.420007 5439090.30823563 112.021266823529 + 457846.420007 5439090.30847264 112.021063247059 + 457846.040007 5439090.30847264 112.021063247059 + + + + + + + + + 457846.040007 5439090.3076276 112.021885458824 + 457846.040007 5439090.30693957 112.022840094118 + 457846.420007 5439090.30693957 112.022840094118 + 457846.420007 5439090.30742959 112.022126588235 + 457846.420007 5439090.3076276 112.021885458824 + 457846.040007 5439090.3076276 112.021885458824 + + + + + + + + + 457846.040007 5439090.30693957 112.022840094118 + 457846.040007 5439090.30643055 112.023898494118 + 457846.420007 5439090.30643055 112.023898494118 + 457846.420007 5439090.30678657 112.023110870588 + 457846.420007 5439090.30693957 112.022840094118 + 457846.040007 5439090.30693957 112.022840094118 + + + + + + + + + 457846.040007 5439090.30643055 112.023898494118 + 457846.040007 5439090.30611453 112.025028047059 + 457846.420007 5439090.30611453 112.025028047059 + 457846.420007 5439090.30632754 112.024191011765 + 457846.420007 5439090.30643055 112.023898494118 + 457846.040007 5439090.30643055 112.023898494118 + + + + + + + + + 457846.040007 5439090.30611453 112.025028047059 + 457846.040007 5439090.30605753 112.025611105882 + 457846.420007 5439090.30605753 112.025611105882 + 457846.420007 5439090.30606453 112.0253344 + 457846.420007 5439090.30611453 112.025028047059 + 457846.040007 5439090.30611453 112.025028047059 + + + + + + + + + 457846.040007 5439090.30605753 112.025611105882 + 457846.040007 5439090.28546759 112.167602729412 + 457846.420007 5439090.28546759 112.167602729412 + 457846.420007 5439090.30605753 112.025611105882 + 457846.040007 5439090.30605753 112.025611105882 + + + + + + + + + 457846.040007 5439090.28546759 112.167602729412 + 457846.040007 5439090.28501457 112.169457647059 + 457846.420007 5439090.28501457 112.169457647059 + 457846.420007 5439090.28546759 112.167602729412 + 457846.040007 5439090.28546759 112.167602729412 + + + + + + + + + 457846.040007 5439090.28501457 112.169457647059 + 457846.040007 5439090.28480656 112.179212517647 + 457846.420007 5439090.28480656 112.179212517647 + 457846.420007 5439090.28501457 112.169457647059 + 457846.040007 5439090.28501457 112.169457647059 + + + + + + + + + 457846.040007 5439090.28480656 112.179212517647 + 457846.040007 5439090.28631562 112.188853741176 + 457846.420007 5439090.28631562 112.188853741176 + 457846.420007 5439090.28480656 112.179212517647 + 457846.040007 5439090.28480656 112.179212517647 + + + + + + + + + 457846.040007 5439090.28631562 112.188853741176 + 457846.040007 5439090.28949677 112.198090776471 + 457846.420007 5439090.28949677 112.198090776471 + 457846.420007 5439090.28631562 112.188853741176 + 457846.040007 5439090.28631562 112.188853741176 + + + + + + + + + 457846.040007 5439090.28949677 112.198090776471 + 457846.040007 5439090.29425199 112.206640988235 + 457846.420007 5439090.29425199 112.206640988235 + 457846.420007 5439090.28949677 112.198090776471 + 457846.040007 5439090.28949677 112.198090776471 + + + + + + + + + 457846.040007 5439090.29425199 112.206640988235 + 457846.040007 5439090.30043727 112.214244470588 + 457846.420007 5439090.30043727 112.214244470588 + 457846.420007 5439090.29425199 112.206640988235 + 457846.040007 5439090.29425199 112.206640988235 + + + + + + + + + 457846.040007 5439090.30043727 112.214244470588 + 457846.040007 5439090.30415144 112.217458211765 + 457846.420007 5439090.30415144 112.217458211765 + 457846.420007 5439090.30043727 112.214244470588 + 457846.040007 5439090.30043727 112.214244470588 + + + + + + + + + 457846.040007 5439090.30415144 112.217458211765 + 457846.040007 5439090.30455846 112.218037317647 + 457846.420007 5439090.30455846 112.218037317647 + 457846.420007 5439090.30415144 112.217458211765 + 457846.040007 5439090.30415144 112.217458211765 + + + + + + + + + 457846.040007 5439090.30455846 112.218037317647 + 457846.040007 5439090.31202881 112.222993317647 + 457846.420007 5439090.31202881 112.222993317647 + 457846.420007 5439090.30455846 112.218037317647 + 457846.040007 5439090.30455846 112.218037317647 + + + + + + + + + 457846.040007 5439090.31202881 112.222993317647 + 457846.040007 5439090.316142 112.224792894118 + 457846.420007 5439090.316142 112.224792894118 + 457846.420007 5439090.31202881 112.222993317647 + 457846.040007 5439090.31202881 112.222993317647 + + + + + + + + + 457846.040007 5439090.316142 112.224792894118 + 457846.040007 5439090.33181672 112.231271764706 + 457846.420007 5439090.33181672 112.231271764706 + 457846.420007 5439090.31660402 112.224983623529 + 457846.420007 5439090.316142 112.224792894118 + 457846.040007 5439090.316142 112.224792894118 + + + + + + + + + 457846.040007 5439090.33181672 112.231271764706 + 457846.040007 5439090.34685041 112.236547952941 + 457846.420007 5439090.34685041 112.236547952941 + 457846.420007 5439090.33181672 112.231271764706 + 457846.040007 5439090.33181672 112.231271764706 + + + + + + + + + 457846.040007 5439090.34685041 112.236547952941 + 457846.040007 5439090.37460668 112.252098823529 + 457846.420007 5439090.37460668 112.252098823529 + 457846.420007 5439090.34685041 112.236547952941 + 457846.040007 5439090.34685041 112.236547952941 + + + + + + + + + 457846.040007 5439090.37460668 112.252098823529 + 457846.040007 5439090.37573373 112.253712611765 + 457846.420007 5439090.37573373 112.253712611765 + 457846.420007 5439090.37460668 112.252098823529 + 457846.040007 5439090.37460668 112.252098823529 + + + + + + + + + 457846.040007 5439090.37573373 112.253712611765 + 457846.040007 5439090.38147 112.257778211765 + 457846.420007 5439090.38147 112.257778211765 + 457846.420007 5439090.37573373 112.253712611765 + 457846.040007 5439090.37573373 112.253712611765 + + + + + + + + + 457846.040007 5439090.38147 112.257778211765 + 457846.040007 5439090.39133745 112.267755435294 + 457846.420007 5439090.39133745 112.267755435294 + 457846.420007 5439090.38147 112.257778211765 + 457846.040007 5439090.38147 112.257778211765 + + + + + + + + + 457846.040007 5439090.39133745 112.267755435294 + 457846.040007 5439090.39930282 112.279273317647 + 457846.420007 5439090.39930282 112.279273317647 + 457846.420007 5439090.39133745 112.267755435294 + 457846.040007 5439090.39133745 112.267755435294 + + + + + + + + + 457846.040007 5439090.39930282 112.279273317647 + 457846.040007 5439090.40512308 112.291984 + 457846.420007 5439090.40512308 112.291984 + 457846.420007 5439090.39930282 112.279273317647 + 457846.040007 5439090.39930282 112.279273317647 + + + + + + + + + 457846.040007 5439090.40512308 112.291984 + 457846.040007 5439090.4054711 112.293956517647 + 457846.420007 5439090.4054711 112.293956517647 + 457846.420007 5439090.40512308 112.291984 + 457846.040007 5439090.40512308 112.291984 + + + + + + + + + 457846.040007 5439090.4054711 112.293956517647 + 457846.040007 5439090.40815222 112.303929788235 + 457846.420007 5439090.40815222 112.303929788235 + 457846.420007 5439090.4054711 112.293956517647 + 457846.040007 5439090.4054711 112.293956517647 + + + + + + + + + 457846.040007 5439090.40815222 112.303929788235 + 457846.040007 5439090.4099263 112.324494964706 + 457846.420007 5439090.4099263 112.324494964706 + 457846.420007 5439090.40815222 112.303929788235 + 457846.040007 5439090.40815222 112.303929788235 + + + + + + + + + 457846.040007 5439090.4099263 112.324494964706 + 457846.040007 5439090.40826723 112.340941176471 + 457846.420007 5439090.40826723 112.340941176471 + 457846.420007 5439090.4099263 112.324494964706 + 457846.040007 5439090.4099263 112.324494964706 + + + + + + + + + 457846.040007 5439090.40826723 112.340941176471 + 457846.040007 5439090.41826769 112.340941176471 + 457846.420007 5439090.41826769 112.340941176471 + 457846.420007 5439090.40826723 112.340941176471 + 457846.040007 5439090.40826723 112.340941176471 + + + + + + + + + 457846.040007 5439090.41826769 112.340941176471 + 457846.040007 5439090.41826769 112.344070917647 + 457846.420007 5439090.41826769 112.344070917647 + 457846.420007 5439090.41828469 112.343875247059 + 457846.420007 5439090.41826769 112.340941176471 + 457846.040007 5439090.41826769 112.340941176471 + + + + + + + + + 457846.040007 5439090.41826769 112.344070917647 + 457846.040007 5439090.41716764 112.350234541176 + 457846.420007 5439090.41716764 112.350234541176 + 457846.420007 5439090.41721864 112.3500448 + 457846.420007 5439090.41826769 112.344070917647 + 457846.040007 5439090.41826769 112.344070917647 + + + + + + + + + 457846.040007 5439090.41716764 112.350234541176 + 457846.040007 5439090.41500154 112.356115529412 + 457846.420007 5439090.41500154 112.356115529412 + 457846.420007 5439090.41508454 112.355937647059 + 457846.420007 5439090.41716764 112.350234541176 + 457846.040007 5439090.41716764 112.350234541176 + + + + + + + + + 457846.040007 5439090.41500154 112.356115529412 + 457846.040007 5439090.41183539 112.361536 + 457846.420007 5439090.41183539 112.361536 + 457846.420007 5439090.4119484 112.361374917647 + 457846.420007 5439090.41500154 112.356115529412 + 457846.040007 5439090.41500154 112.356115529412 + + + + + + + + + 457846.040007 5439090.41183539 112.361536 + 457846.040007 5439090.4077642 112.366329929412 + 457846.420007 5439090.4077642 112.366329929412 + 457846.420007 5439090.40790321 112.366191576471 + 457846.420007 5439090.41183539 112.361536 + 457846.040007 5439090.41183539 112.361536 + + + + + + + + + 457846.040007 5439090.4077642 112.366329929412 + 457846.040007 5439090.40291198 112.370353035294 + 457846.420007 5439090.40291198 112.370353035294 + 457846.420007 5439090.40307399 112.370240376471 + 457846.420007 5439090.4077642 112.366329929412 + 457846.040007 5439090.4077642 112.366329929412 + + + + + + + + + 457846.040007 5439090.40291198 112.370353035294 + 457846.040007 5439090.40033986 112.371819576471 + 457846.420007 5439090.40033986 112.371819576471 + 457846.420007 5439090.40291198 112.370353035294 + 457846.040007 5439090.40291198 112.370353035294 + + + + + + + + + 457846.040007 5439090.40033986 112.371819576471 + 457846.040007 5439090.39863379 112.372884894118 + 457846.420007 5439090.39863379 112.372884894118 + 457846.420007 5439090.39875379 112.372795952941 + 457846.420007 5439090.40033986 112.371819576471 + 457846.040007 5439090.40033986 112.371819576471 + + + + + + + + + 457846.040007 5439090.39863379 112.372884894118 + 457846.040007 5439090.39586866 112.375371294118 + 457846.420007 5439090.39586866 112.375371294118 + 457846.420007 5439090.39597066 112.375262588235 + 457846.420007 5439090.39863379 112.372884894118 + 457846.040007 5439090.39863379 112.372884894118 + + + + + + + + + 457846.040007 5439090.39586866 112.375371294118 + 457846.040007 5439090.39358255 112.378293505882 + 457846.420007 5439090.39358255 112.378293505882 + 457846.420007 5439090.39366456 112.378168988235 + 457846.420007 5439090.39586866 112.375371294118 + 457846.040007 5439090.39586866 112.375371294118 + + + + + + + + + 457846.040007 5439090.39358255 112.378293505882 + 457846.040007 5439090.39271351 112.379928047059 + 457846.420007 5439090.39271351 112.379928047059 + 457846.420007 5439090.39358255 112.378293505882 + 457846.040007 5439090.39358255 112.378293505882 + + + + + + + + + 457846.040007 5439090.39271351 112.379928047059 + 457846.040007 5439090.3901384 112.384694305882 + 457846.420007 5439090.3901384 112.384694305882 + 457846.420007 5439090.39271351 112.379928047059 + 457846.040007 5439090.39271351 112.379928047059 + + + + + + + + + 457846.040007 5439090.07825207 112.390352941176 + 457846.040007 5439090.07825207 112.390295623529 + 457846.040007 5439090.07658699 112.385176564706 + 457846.420007 5439090.07658699 112.385176564706 + 457846.420007 5439090.07823106 112.390295623529 + 457846.420007 5439090.07825207 112.390352941176 + 457846.165007 5439090.07825207 112.390352941176 + 457846.040007 5439090.07825207 112.390352941176 + + + + + + + + + 457846.040007 5439090.07658699 112.385176564706 + 457846.040007 5439090.07380486 112.379928047059 + 457846.420007 5439090.07380486 112.379928047059 + 457846.420007 5439090.07657399 112.385146917647 + 457846.420007 5439090.07658699 112.385176564706 + 457846.040007 5439090.07658699 112.385176564706 + + + + + + + + + 457846.040007 5439090.07380486 112.379928047059 + 457846.040007 5439090.07285382 112.378168988235 + 457846.420007 5439090.07285382 112.378168988235 + 457846.420007 5439090.07380486 112.379928047059 + 457846.040007 5439090.07380486 112.379928047059 + + + + + + + + + 457846.040007 5439090.07285382 112.378168988235 + 457846.040007 5439090.07054771 112.375262588235 + 457846.420007 5439090.07054771 112.375262588235 + 457846.420007 5439090.07285382 112.378168988235 + 457846.040007 5439090.07285382 112.378168988235 + + + + + + + + + 457846.040007 5439090.07054771 112.375262588235 + 457846.040007 5439090.06776458 112.372795952941 + 457846.420007 5439090.06776458 112.372795952941 + 457846.420007 5439090.07054771 112.375262588235 + 457846.040007 5439090.07054771 112.375262588235 + + + + + + + + + 457846.040007 5439090.06776458 112.372795952941 + 457846.040007 5439090.06617851 112.371819576471 + 457846.420007 5439090.06617851 112.371819576471 + 457846.420007 5439090.06776458 112.372795952941 + 457846.040007 5439090.06776458 112.372795952941 + + + + + + + + + 457846.040007 5439090.06617851 112.371819576471 + 457846.040007 5439090.06344439 112.370240376471 + 457846.420007 5439090.06344439 112.370240376471 + 457846.420007 5439090.06617851 112.371819576471 + 457846.040007 5439090.06617851 112.371819576471 + + + + + + + + + 457846.040007 5439090.06344439 112.370240376471 + 457846.040007 5439090.05861516 112.366191576471 + 457846.420007 5439090.05861516 112.366191576471 + 457846.420007 5439090.06344439 112.370240376471 + 457846.040007 5439090.06344439 112.370240376471 + + + + + + + + + 457846.040007 5439090.05861516 112.366191576471 + 457846.040007 5439090.05456998 112.361374917647 + 457846.420007 5439090.05456998 112.361374917647 + 457846.420007 5439090.05861516 112.366191576471 + 457846.040007 5439090.05861516 112.366191576471 + + + + + + + + + 457846.040007 5439090.05456998 112.361374917647 + 457846.040007 5439090.05143383 112.355937647059 + 457846.420007 5439090.05143383 112.355937647059 + 457846.420007 5439090.05456998 112.361374917647 + 457846.040007 5439090.05456998 112.361374917647 + + + + + + + + + 457846.040007 5439090.05143383 112.355937647059 + 457846.040007 5439090.04929974 112.3500448 + 457846.420007 5439090.04929974 112.3500448 + 457846.420007 5439090.05143383 112.355937647059 + 457846.040007 5439090.05143383 112.355937647059 + + + + + + + + + 457846.040007 5439090.04929974 112.3500448 + 457846.040007 5439090.04823369 112.343875247059 + 457846.420007 5439090.04823369 112.343875247059 + 457846.420007 5439090.04929974 112.3500448 + 457846.040007 5439090.04929974 112.3500448 + + + + + + + + + 457846.040007 5439090.04823369 112.343875247059 + 457846.040007 5439090.04825069 112.340941176471 + 457846.420007 5439090.04825069 112.340941176471 + 457846.420007 5439090.04823369 112.343875247059 + 457846.040007 5439090.04823369 112.343875247059 + + + + + + + + + 457846.040007 5439090.04825069 112.340941176471 + 457846.040007 5439090.05825115 112.340941176471 + 457846.420007 5439090.05825115 112.340941176471 + 457846.420007 5439090.04825069 112.340941176471 + 457846.040007 5439090.04825069 112.340941176471 + + + + + + + + + 457846.040007 5439090.05825115 112.340941176471 + 457846.040007 5439090.05677208 112.330725788235 + 457846.420007 5439090.05677208 112.330725788235 + 457846.420007 5439090.05825115 112.340941176471 + 457846.040007 5439090.05825115 112.340941176471 + + + + + + + + + 457846.040007 5439090.05677208 112.330725788235 + 457846.040007 5439090.05744911 112.310097364706 + 457846.420007 5439090.05744911 112.310097364706 + 457846.420007 5439090.05677208 112.330725788235 + 457846.040007 5439090.05677208 112.330725788235 + + + + + + + + + 457846.040007 5439090.05744911 112.310097364706 + 457846.040007 5439090.06104728 112.293956517647 + 457846.420007 5439090.06104728 112.293956517647 + 457846.420007 5439090.05744911 112.310097364706 + 457846.040007 5439090.05744911 112.310097364706 + + + + + + + + + 457846.040007 5439090.06104728 112.293956517647 + 457846.040007 5439090.06322038 112.287319529412 + 457846.420007 5439090.06322038 112.287319529412 + 457846.420007 5439090.06104728 112.293956517647 + 457846.040007 5439090.06104728 112.293956517647 + + + + + + + + + 457846.040007 5439090.06322038 112.287319529412 + 457846.040007 5439090.06983168 112.274993270588 + 457846.420007 5439090.06983168 112.274993270588 + 457846.420007 5439090.06322038 112.287319529412 + 457846.040007 5439090.06322038 112.287319529412 + + + + + + + + + 457846.040007 5439090.06983168 112.274993270588 + 457846.040007 5439090.07851008 112.263989270588 + 457846.420007 5439090.07851008 112.263989270588 + 457846.420007 5439090.06983168 112.274993270588 + 457846.040007 5439090.06983168 112.274993270588 + + + + + + + + + 457846.040007 5439090.07851008 112.263989270588 + 457846.040007 5439090.08898956 112.254640564706 + 457846.420007 5439090.08898956 112.254640564706 + 457846.420007 5439090.07851008 112.263989270588 + 457846.040007 5439090.07851008 112.263989270588 + + + + + + + + + 457846.040007 5439090.08898956 112.254640564706 + 457846.040007 5439090.09078464 112.253712611765 + 457846.420007 5439090.09078464 112.253712611765 + 457846.420007 5439090.08898956 112.254640564706 + 457846.040007 5439090.08898956 112.254640564706 + + + + + + + + + 457846.040007 5439090.09078464 112.253712611765 + 457846.040007 5439090.10383124 112.244640611765 + 457846.420007 5439090.10383124 112.244640611765 + 457846.420007 5439090.09078464 112.253712611765 + 457846.040007 5439090.09078464 112.253712611765 + + + + + + + + + 457846.040007 5439090.10383124 112.244640611765 + 457846.040007 5439090.13271657 112.231248047059 + 457846.420007 5439090.13271657 112.231248047059 + 457846.420007 5439090.10383124 112.244640611765 + 457846.040007 5439090.10383124 112.244640611765 + + + + + + + + + 457846.040007 5439090.13271657 112.231248047059 + 457846.040007 5439090.13470166 112.231271764706 + 457846.420007 5439090.13470166 112.231271764706 + 457846.420007 5439090.13271657 112.231248047059 + 457846.040007 5439090.13271657 112.231248047059 + + + + + + + + + 457846.040007 5439090.13470166 112.231271764706 + 457846.040007 5439090.14991436 112.224983623529 + 457846.420007 5439090.14991436 112.224983623529 + 457846.420007 5439090.13470166 112.231271764706 + 457846.040007 5439090.13470166 112.231271764706 + + + + + + + + + 457846.040007 5439090.14991436 112.224983623529 + 457846.040007 5439090.15037638 112.224792894118 + 457846.420007 5439090.15037638 112.224792894118 + 457846.420007 5439090.14991436 112.224983623529 + 457846.040007 5439090.14991436 112.224983623529 + + + + + + + + + 457846.040007 5439090.15037638 112.224792894118 + 457846.040007 5439090.15108141 112.224691105882 + 457846.420007 5439090.15108141 112.224691105882 + 457846.420007 5439090.15037638 112.224792894118 + 457846.040007 5439090.15037638 112.224792894118 + + + + + + + + + 457846.040007 5439090.15108141 112.224691105882 + 457846.040007 5439090.15890177 112.220294447059 + 457846.420007 5439090.15890177 112.220294447059 + 457846.420007 5439090.15108141 112.224691105882 + 457846.040007 5439090.15108141 112.224691105882 + + + + + + + + + 457846.040007 5439090.15890177 112.220294447059 + 457846.040007 5439090.16236693 112.217458211765 + 457846.420007 5439090.16236693 112.217458211765 + 457846.420007 5439090.15890177 112.220294447059 + 457846.040007 5439090.15890177 112.220294447059 + + + + + + + + + 457846.040007 5439090.16236693 112.217458211765 + 457846.040007 5439090.163934 112.216342494118 + 457846.420007 5439090.163934 112.216342494118 + 457846.420007 5439090.16236693 112.217458211765 + 457846.040007 5439090.16236693 112.217458211765 + + + + + + + + + 457846.040007 5439090.163934 112.216342494118 + 457846.040007 5439090.1705213 112.209075011765 + 457846.420007 5439090.1705213 112.209075011765 + 457846.420007 5439090.163934 112.216342494118 + 457846.040007 5439090.163934 112.216342494118 + + + + + + + + + 457846.040007 5439090.1705213 112.209075011765 + 457846.040007 5439090.17573054 112.200787670588 + 457846.420007 5439090.17573054 112.200787670588 + 457846.420007 5439090.1705213 112.209075011765 + 457846.040007 5439090.1705213 112.209075011765 + + + + + + + + + 457846.040007 5439090.17573054 112.200787670588 + 457846.040007 5439090.17940471 112.191731482353 + 457846.420007 5439090.17940471 112.191731482353 + 457846.420007 5439090.17573054 112.200787670588 + 457846.040007 5439090.17573054 112.200787670588 + + + + + + + + + 457846.040007 5439090.17940471 112.191731482353 + 457846.040007 5439090.18143181 112.182183152941 + 457846.420007 5439090.18143181 112.182183152941 + 457846.420007 5439090.17940471 112.191731482353 + 457846.040007 5439090.17940471 112.191731482353 + + + + + + + + + 457846.040007 5439090.18143181 112.182183152941 + 457846.040007 5439090.18175082 112.172431247059 + 457846.420007 5439090.18175082 112.172431247059 + 457846.420007 5439090.18143181 112.182183152941 + 457846.040007 5439090.18143181 112.182183152941 + + + + + + + + + 457846.040007 5439090.18175082 112.172431247059 + 457846.040007 5439090.18105079 112.167602729412 + 457846.420007 5439090.18105079 112.167602729412 + 457846.420007 5439090.18175082 112.172431247059 + 457846.040007 5439090.18175082 112.172431247059 + + + + + + + + + 457846.040007 5439090.07825207 112.390352941176 + 457846.040007 5439090.38828731 112.390295623529 + 457846.040007 5439090.07825207 112.390295623529 + 457846.040007 5439090.07825207 112.390352941176 + + + + + + + + + 457846.165007 5439090.10825344 112.42 + 457846.165007 5439090.10694138 112.42 + 457846.420007 5439090.10694138 112.42 + 457846.420007 5439090.10825344 112.42 + 457846.165007 5439090.10825344 112.42 + + + + + + + + + 457846.165007 5439090.10694138 112.42 + 457846.165007 5439090.10435626 112.419549364706 + 457846.420007 5439090.10435626 112.419549364706 + 457846.420007 5439090.10694138 112.42 + 457846.165007 5439090.10694138 112.42 + + + + + + + + + 457846.165007 5439090.10435626 112.419549364706 + 457846.165007 5439090.10189015 112.418662917647 + 457846.420007 5439090.10189015 112.418662917647 + 457846.420007 5439090.10435626 112.419549364706 + 457846.165007 5439090.10435626 112.419549364706 + + + + + + + + + 457846.165007 5439090.10189015 112.418662917647 + 457846.165007 5439090.09961605 112.417365364706 + 457846.420007 5439090.09961605 112.417365364706 + 457846.420007 5439090.10189015 112.418662917647 + 457846.165007 5439090.10189015 112.418662917647 + + + + + + + + + 457846.165007 5439090.09961605 112.417365364706 + 457846.165007 5439090.09760595 112.415698211765 + 457846.420007 5439090.09760595 112.415698211765 + 457846.420007 5439090.09961605 112.417365364706 + 457846.165007 5439090.09961605 112.417365364706 + + + + + + + + + 457846.165007 5439090.09760595 112.415698211765 + 457846.165007 5439090.09591888 112.413711858824 + 457846.420007 5439090.09591888 112.413711858824 + 457846.420007 5439090.09760595 112.415698211765 + 457846.165007 5439090.09760595 112.415698211765 + + + + + + + + + 457846.165007 5439090.09591888 112.413711858824 + 457846.165007 5439090.09460582 112.411464611765 + 457846.420007 5439090.09460582 112.411464611765 + 457846.420007 5439090.09591888 112.413711858824 + 457846.165007 5439090.09591888 112.413711858824 + + + + + + + + + 457846.165007 5439090.09460582 112.411464611765 + 457846.165007 5439090.09370878 112.409027623529 + 457846.420007 5439090.09370878 112.409027623529 + 457846.420007 5439090.09460582 112.411464611765 + 457846.165007 5439090.09460582 112.411464611765 + + + + + + + + + 457846.165007 5439090.09370878 112.409027623529 + 457846.165007 5439090.09325275 112.406473035294 + 457846.420007 5439090.09325275 112.406473035294 + 457846.420007 5439090.09370878 112.409027623529 + 457846.165007 5439090.09370878 112.409027623529 + + + + + + + + + 457846.165007 5439090.09325275 112.406473035294 + 457846.165007 5439090.09325275 112.405176470588 + 457846.420007 5439090.09325275 112.405176470588 + 457846.420007 5439090.09325275 112.406473035294 + 457846.165007 5439090.09325275 112.406473035294 + + + + + + + + + 457846.165007 5439090.09325275 112.405176470588 + 457846.165007 5439090.0921157 112.405166588235 + 457846.420007 5439090.0921157 112.405166588235 + 457846.420007 5439090.09325275 112.405176470588 + 457846.165007 5439090.09325275 112.405176470588 + + + + + + + + + 457846.165007 5439090.0921157 112.405166588235 + 457846.165007 5439090.0898796 112.404757458824 + 457846.420007 5439090.0898796 112.404757458824 + 457846.420007 5439090.0921157 112.405166588235 + 457846.165007 5439090.0921157 112.405166588235 + + + + + + + + + 457846.165007 5439090.0898796 112.404757458824 + 457846.165007 5439090.0877495 112.403969835294 + 457846.420007 5439090.0877495 112.403969835294 + 457846.420007 5439090.0898796 112.404757458824 + 457846.165007 5439090.0898796 112.404757458824 + + + + + + + + + 457846.165007 5439090.0877495 112.403969835294 + 457846.165007 5439090.08579041 112.402829411765 + 457846.420007 5439090.08579041 112.402829411765 + 457846.420007 5439090.0877495 112.403969835294 + 457846.165007 5439090.0877495 112.403969835294 + + + + + + + + + 457846.165007 5439090.08579041 112.402829411765 + 457846.165007 5439090.08406133 112.401369788235 + 457846.420007 5439090.08406133 112.401369788235 + 457846.420007 5439090.08579041 112.402829411765 + 457846.165007 5439090.08579041 112.402829411765 + + + + + + + + + 457846.165007 5439090.08406133 112.401369788235 + 457846.165007 5439090.08296328 112.400031717647 + 457846.420007 5439090.08296328 112.400031717647 + 457846.420007 5439090.08406133 112.401369788235 + 457846.165007 5439090.08406133 112.401369788235 + + + + + + + + + 457846.165007 5439090.08296328 112.400031717647 + 457846.165007 5439090.0812202 112.397531482353 + 457846.420007 5439090.0812202 112.397531482353 + 457846.420007 5439090.08296328 112.400031717647 + 457846.165007 5439090.08296328 112.400031717647 + + + + + + + + + 457846.165007 5439090.0812202 112.397531482353 + 457846.165007 5439090.07866708 112.392010211765 + 457846.420007 5439090.07866708 112.392010211765 + 457846.420007 5439090.0812202 112.397531482353 + 457846.165007 5439090.0812202 112.397531482353 + + + + + + + + + 457846.165007 5439090.07866708 112.392010211765 + 457846.165007 5439090.07825207 112.390352941176 + 457846.420007 5439090.07825207 112.390352941176 + 457846.420007 5439090.07829007 112.390457694118 + 457846.420007 5439090.07866708 112.392010211765 + 457846.165007 5439090.07866708 112.392010211765 + + + + + + + + + 457846.165007 5439090.38733327 112.393362117647 + 457846.165007 5439090.38455014 112.398773694118 + 457846.420007 5439090.38455014 112.398773694118 + 457846.420007 5439090.38733327 112.393362117647 + 457846.165007 5439090.38733327 112.393362117647 + + + + + + + + + 457846.165007 5439090.38455014 112.398773694118 + 457846.165007 5439090.38355509 112.400031717647 + 457846.420007 5439090.38355509 112.400031717647 + 457846.420007 5439090.38455014 112.398773694118 + 457846.165007 5439090.38455014 112.398773694118 + + + + + + + + + 457846.165007 5439090.38355509 112.400031717647 + 457846.165007 5439090.38287406 112.400931011765 + 457846.420007 5439090.38287406 112.400931011765 + 457846.420007 5439090.38355509 112.400031717647 + 457846.165007 5439090.38355509 112.400031717647 + + + + + + + + + 457846.165007 5439090.38287406 112.400931011765 + 457846.165007 5439090.38121598 112.402468705882 + 457846.420007 5439090.38121598 112.402468705882 + 457846.420007 5439090.38287406 112.400931011765 + 457846.165007 5439090.38287406 112.400931011765 + + + + + + + + + 457846.165007 5439090.38121598 112.402468705882 + 457846.165007 5439090.3793119 112.403698070588 + 457846.420007 5439090.3793119 112.403698070588 + 457846.420007 5439090.38121598 112.402468705882 + 457846.165007 5439090.38121598 112.402468705882 + + + + + + + + + 457846.165007 5439090.3793119 112.403698070588 + 457846.165007 5439090.3772218 112.404582541176 + 457846.420007 5439090.3772218 112.404582541176 + 457846.420007 5439090.3793119 112.403698070588 + 457846.165007 5439090.3793119 112.403698070588 + + + + + + + + + 457846.165007 5439090.3772218 112.404582541176 + 457846.165007 5439090.3750077 112.405095435294 + 457846.420007 5439090.3750077 112.405095435294 + 457846.420007 5439090.3772218 112.404582541176 + 457846.165007 5439090.3772218 112.404582541176 + + + + + + + + + 457846.165007 5439090.3750077 112.405095435294 + 457846.165007 5439090.37326562 112.405176470588 + 457846.420007 5439090.37326562 112.405176470588 + 457846.420007 5439090.3750077 112.405095435294 + 457846.165007 5439090.3750077 112.405095435294 + + + + + + + + + 457846.165007 5439090.37326562 112.405176470588 + 457846.165007 5439090.37326562 112.406473035294 + 457846.420007 5439090.37326562 112.406473035294 + 457846.420007 5439090.37326562 112.405176470588 + 457846.165007 5439090.37326562 112.405176470588 + + + + + + + + + 457846.165007 5439090.37326562 112.406473035294 + 457846.165007 5439090.3728096 112.409027623529 + 457846.420007 5439090.3728096 112.409027623529 + 457846.420007 5439090.37326562 112.406473035294 + 457846.165007 5439090.37326562 112.406473035294 + + + + + + + + + 457846.165007 5439090.3728096 112.409027623529 + 457846.165007 5439090.37191256 112.411464611765 + 457846.420007 5439090.37191256 112.411464611765 + 457846.420007 5439090.3728096 112.409027623529 + 457846.165007 5439090.3728096 112.409027623529 + + + + + + + + + 457846.165007 5439090.37191256 112.411464611765 + 457846.165007 5439090.3705995 112.413711858824 + 457846.420007 5439090.3705995 112.413711858824 + 457846.420007 5439090.37191256 112.411464611765 + 457846.165007 5439090.37191256 112.411464611765 + + + + + + + + + 457846.165007 5439090.3705995 112.413711858824 + 457846.165007 5439090.36891242 112.415698211765 + 457846.420007 5439090.36891242 112.415698211765 + 457846.420007 5439090.3705995 112.413711858824 + 457846.165007 5439090.3705995 112.413711858824 + + + + + + + + + 457846.165007 5439090.36891242 112.415698211765 + 457846.165007 5439090.36690233 112.417365364706 + 457846.420007 5439090.36690233 112.417365364706 + 457846.420007 5439090.36891242 112.415698211765 + 457846.165007 5439090.36891242 112.415698211765 + + + + + + + + + 457846.165007 5439090.36690233 112.417365364706 + 457846.165007 5439090.36462822 112.418662917647 + 457846.420007 5439090.36462822 112.418662917647 + 457846.420007 5439090.36690233 112.417365364706 + 457846.165007 5439090.36690233 112.417365364706 + + + + + + + + + 457846.165007 5439090.36462822 112.418662917647 + 457846.165007 5439090.36216211 112.419549364706 + 457846.420007 5439090.36216211 112.419549364706 + 457846.420007 5439090.36462822 112.418662917647 + 457846.165007 5439090.36462822 112.418662917647 + + + + + + + + + 457846.165007 5439090.36216211 112.419549364706 + 457846.165007 5439090.35957699 112.42 + 457846.420007 5439090.35957699 112.42 + 457846.420007 5439090.36216211 112.419549364706 + 457846.165007 5439090.36216211 112.419549364706 + + + + + + + + + 457846.165007 5439090.35957699 112.42 + 457846.165007 5439090.35826493 112.42 + 457846.420007 5439090.35826493 112.42 + 457846.420007 5439090.35957699 112.42 + 457846.165007 5439090.35957699 112.42 + + + + + + + + + 457846.547511819 5439090.1692299 112.390295623529 + 457846.526023796 5439090.13124189 112.390295623529 + 457846.527349396 5439090.13024765 112.385146917647 + 457846.549046838 5439090.16860588 112.385146917647 + 457846.547511819 5439090.1692299 112.390295623529 + + + + + + + + + 457846.55862185 5439090.2114368 112.390295623529 + 457846.547511819 5439090.1692299 112.390295623529 + 457846.549046838 5439090.16860588 112.385146917647 + 457846.560265146 5439090.21122412 112.385146917647 + 457846.55862185 5439090.2114368 112.390295623529 + + + + + + + + + 457846.55862185 5439090.25508157 112.390295623529 + 457846.55862185 5439090.2114368 112.390295623529 + 457846.560265146 5439090.21122412 112.385146917647 + 457846.560265146 5439090.25529425 112.385146917647 + 457846.55862185 5439090.25508157 112.390295623529 + + + + + + + + + 457846.547511819 5439090.29728847 112.390295623529 + 457846.55862185 5439090.25508157 112.390295623529 + 457846.560265146 5439090.25529425 112.385146917647 + 457846.549046838 5439090.29791249 112.385146917647 + 457846.547511819 5439090.29728847 112.390295623529 + + + + + + + + + 457846.526023796 5439090.33527648 112.390295623529 + 457846.547511819 5439090.29728847 112.390295623529 + 457846.549046838 5439090.29791249 112.385146917647 + 457846.527349396 5439090.33627073 112.385146917647 + 457846.526023796 5439090.33527648 112.390295623529 + + + + + + + + + 457846.549046838 5439090.16860588 112.385146917647 + 457846.527349396 5439090.13024765 112.385146917647 + 457846.529564596 5439090.12858617 112.379928047059 + 457846.551611996 5439090.16756309 112.379928047059 + 457846.549046838 5439090.16860588 112.385146917647 + + + + + + + + + 457846.560265146 5439090.21122412 112.385146917647 + 457846.549046838 5439090.16860588 112.385146917647 + 457846.551611996 5439090.16756309 112.379928047059 + 457846.563011245 5439090.21086872 112.379928047059 + 457846.560265146 5439090.21122412 112.385146917647 + + + + + + + + + 457846.560265146 5439090.25529425 112.385146917647 + 457846.560265146 5439090.21122412 112.385146917647 + 457846.563011245 5439090.21086872 112.379928047059 + 457846.563011245 5439090.25564966 112.379928047059 + 457846.560265146 5439090.25529425 112.385146917647 + + + + + + + + + 457846.549046838 5439090.29791249 112.385146917647 + 457846.560265146 5439090.25529425 112.385146917647 + 457846.563011245 5439090.25564966 112.379928047059 + 457846.551611996 5439090.29895529 112.379928047059 + 457846.549046838 5439090.29791249 112.385146917647 + + + + + + + + + 457846.527349396 5439090.33627073 112.385146917647 + 457846.549046838 5439090.29791249 112.385146917647 + 457846.551611996 5439090.29895529 112.379928047059 + 457846.529564596 5439090.3379322 112.379928047059 + 457846.527349396 5439090.33627073 112.385146917647 + + + + + + + + + 457846.551611996 5439090.16756309 112.379928047059 + 457846.529564596 5439090.12858617 112.379928047059 + 457846.530325396 5439090.12801555 112.378168988235 + 457846.552492988 5439090.16720494 112.378168988235 + 457846.551611996 5439090.16756309 112.379928047059 + + + + + + + + + 457846.563011245 5439090.21086872 112.379928047059 + 457846.551611996 5439090.16756309 112.379928047059 + 457846.552492988 5439090.16720494 112.378168988235 + 457846.56395438 5439090.21074666 112.378168988235 + 457846.563011245 5439090.21086872 112.379928047059 + + + + + + + + + 457846.563011245 5439090.25564966 112.379928047059 + 457846.563011245 5439090.21086872 112.379928047059 + 457846.56395438 5439090.21074666 112.378168988235 + 457846.56395438 5439090.25577172 112.378168988235 + 457846.563011245 5439090.25564966 112.379928047059 + + + + + + + + + 457846.551611996 5439090.29895529 112.379928047059 + 457846.563011245 5439090.25564966 112.379928047059 + 457846.56395438 5439090.25577172 112.378168988235 + 457846.552492988 5439090.29931343 112.378168988235 + 457846.551611996 5439090.29895529 112.379928047059 + + + + + + + + + 457846.529564596 5439090.3379322 112.379928047059 + 457846.551611996 5439090.29895529 112.379928047059 + 457846.552492988 5439090.29931343 112.378168988235 + 457846.530325396 5439090.33850283 112.378168988235 + 457846.529564596 5439090.3379322 112.379928047059 + + + + + + + + + 457846.552492988 5439090.16720494 112.378168988235 + 457846.530325396 5439090.12801555 112.378168988235 + 457846.532170196 5439090.12663188 112.375262588235 + 457846.554629231 5439090.16633651 112.375262588235 + 457846.552492988 5439090.16720494 112.378168988235 + + + + + + + + + 457846.56395438 5439090.21074666 112.378168988235 + 457846.552492988 5439090.16720494 112.378168988235 + 457846.554629231 5439090.16633651 112.375262588235 + 457846.566241308 5439090.21045068 112.375262588235 + 457846.56395438 5439090.21074666 112.378168988235 + + + + + + + + + 457846.56395438 5439090.25577172 112.378168988235 + 457846.56395438 5439090.21074666 112.378168988235 + 457846.566241308 5439090.21045068 112.375262588235 + 457846.566241308 5439090.2560677 112.375262588235 + 457846.56395438 5439090.25577172 112.378168988235 + + + + + + + + + 457846.552492988 5439090.29931343 112.378168988235 + 457846.56395438 5439090.25577172 112.378168988235 + 457846.566241308 5439090.2560677 112.375262588235 + 457846.554629231 5439090.30018186 112.375262588235 + 457846.552492988 5439090.29931343 112.378168988235 + + + + + + + + + 457846.530325396 5439090.33850283 112.378168988235 + 457846.552492988 5439090.29931343 112.378168988235 + 457846.554629231 5439090.30018186 112.375262588235 + 457846.532170196 5439090.33988649 112.375262588235 + 457846.530325396 5439090.33850283 112.378168988235 + + + + + + + + + 457846.554629231 5439090.16633651 112.375262588235 + 457846.532170196 5439090.12663188 112.375262588235 + 457846.534396596 5439090.12496201 112.372795952941 + 457846.557207359 5439090.16528845 112.372795952941 + 457846.554629231 5439090.16633651 112.375262588235 + + + + + + + + + 457846.566241308 5439090.21045068 112.375262588235 + 457846.554629231 5439090.16633651 112.375262588235 + 457846.557207359 5439090.16528845 112.372795952941 + 457846.569001291 5439090.21009348 112.372795952941 + 457846.566241308 5439090.21045068 112.375262588235 + + + + + + + + + 457846.566241308 5439090.2560677 112.375262588235 + 457846.566241308 5439090.21045068 112.375262588235 + 457846.569001291 5439090.21009348 112.372795952941 + 457846.569001291 5439090.2564249 112.372795952941 + 457846.566241308 5439090.2560677 112.375262588235 + + + + + + + + + 457846.554629231 5439090.30018186 112.375262588235 + 457846.566241308 5439090.2560677 112.375262588235 + 457846.569001291 5439090.2564249 112.372795952941 + 457846.557207359 5439090.30122993 112.372795952941 + 457846.554629231 5439090.30018186 112.375262588235 + + + + + + + + + 457846.532170196 5439090.33988649 112.375262588235 + 457846.554629231 5439090.30018186 112.375262588235 + 457846.557207359 5439090.30122993 112.372795952941 + 457846.534396596 5439090.34155637 112.372795952941 + 457846.532170196 5439090.33988649 112.375262588235 + + + + + + + + + 457846.557207359 5439090.16528845 112.372795952941 + 457846.534396596 5439090.12496201 112.372795952941 + 457846.535665396 5439090.12401036 112.371819576471 + 457846.558676605 5439090.16469116 112.371819576471 + 457846.557207359 5439090.16528845 112.372795952941 + + + + + + + + + 457846.569001291 5439090.21009348 112.372795952941 + 457846.557207359 5439090.16528845 112.372795952941 + 457846.558676605 5439090.16469116 112.371819576471 + 457846.570574174 5439090.20988991 112.371819576471 + 457846.569001291 5439090.21009348 112.372795952941 + + + + + + + + + 457846.569001291 5439090.2564249 112.372795952941 + 457846.569001291 5439090.21009348 112.372795952941 + 457846.570574174 5439090.20988991 112.371819576471 + 457846.570574174 5439090.25662846 112.371819576471 + 457846.569001291 5439090.2564249 112.372795952941 + + + + + + + + + 457846.557207359 5439090.30122993 112.372795952941 + 457846.569001291 5439090.2564249 112.372795952941 + 457846.570574174 5439090.25662846 112.371819576471 + 457846.558676605 5439090.30182721 112.371819576471 + 457846.557207359 5439090.30122993 112.372795952941 + + + + + + + + + 457846.534396596 5439090.34155637 112.372795952941 + 457846.557207359 5439090.30122993 112.372795952941 + 457846.558676605 5439090.30182721 112.371819576471 + 457846.535665396 5439090.34250801 112.371819576471 + 457846.534396596 5439090.34155637 112.372795952941 + + + + + + + + + 457846.558676605 5439090.16469116 112.371819576471 + 457846.535665396 5439090.12401036 112.371819576471 + 457846.537852595 5439090.12236989 112.370240376471 + 457846.56120934 5439090.16366155 112.370240376471 + 457846.558676605 5439090.16469116 112.371819576471 + + + + + + + + + 457846.570574174 5439090.20988991 112.371819576471 + 457846.558676605 5439090.16469116 112.371819576471 + 457846.56120934 5439090.16366155 112.370240376471 + 457846.573285563 5439090.209539 112.370240376471 + 457846.570574174 5439090.20988991 112.371819576471 + + + + + + + + + 457846.570574174 5439090.25662846 112.371819576471 + 457846.570574174 5439090.20988991 112.371819576471 + 457846.573285563 5439090.209539 112.370240376471 + 457846.573285563 5439090.25697937 112.370240376471 + 457846.570574174 5439090.25662846 112.371819576471 + + + + + + + + + 457846.558676605 5439090.30182721 112.371819576471 + 457846.570574174 5439090.25662846 112.371819576471 + 457846.573285563 5439090.25697937 112.370240376471 + 457846.56120934 5439090.30285683 112.370240376471 + 457846.558676605 5439090.30182721 112.371819576471 + + + + + + + + + 457846.535665396 5439090.34250801 112.371819576471 + 457846.558676605 5439090.30182721 112.371819576471 + 457846.56120934 5439090.30285683 112.370240376471 + 457846.537852595 5439090.34414849 112.370240376471 + 457846.535665396 5439090.34250801 112.371819576471 + + + + + + + + + 457846.56120934 5439090.16366155 112.370240376471 + 457846.537852595 5439090.12236989 112.370240376471 + 457846.541715795 5439090.11947235 112.366191576471 + 457846.56568285 5439090.16184297 112.366191576471 + 457846.56120934 5439090.16366155 112.370240376471 + + + + + + + + + 457846.573285563 5439090.209539 112.370240376471 + 457846.56120934 5439090.16366155 112.370240376471 + 457846.56568285 5439090.16184297 112.366191576471 + 457846.578074625 5439090.20891919 112.366191576471 + 457846.573285563 5439090.209539 112.370240376471 + + + + + + + + + 457846.573285563 5439090.25697937 112.370240376471 + 457846.573285563 5439090.209539 112.370240376471 + 457846.578074625 5439090.20891919 112.366191576471 + 457846.578074625 5439090.25759918 112.366191576471 + 457846.573285563 5439090.25697937 112.370240376471 + + + + + + + + + 457846.56120934 5439090.30285683 112.370240376471 + 457846.573285563 5439090.25697937 112.370240376471 + 457846.578074625 5439090.25759918 112.366191576471 + 457846.56568285 5439090.30467541 112.366191576471 + 457846.56120934 5439090.30285683 112.370240376471 + + + + + + + + + 457846.537852595 5439090.34414849 112.370240376471 + 457846.56120934 5439090.30285683 112.370240376471 + 457846.56568285 5439090.30467541 112.366191576471 + 457846.541715795 5439090.34704602 112.366191576471 + 457846.537852595 5439090.34414849 112.370240376471 + + + + + + + + + 457846.56568285 5439090.16184297 112.366191576471 + 457846.541715795 5439090.11947235 112.366191576471 + 457846.544951795 5439090.11704524 112.361374917647 + 457846.569430076 5439090.16031963 112.361374917647 + 457846.56568285 5439090.16184297 112.366191576471 + + + + + + + + + 457846.578074625 5439090.20891919 112.366191576471 + 457846.56568285 5439090.16184297 112.366191576471 + 457846.569430076 5439090.16031963 112.361374917647 + 457846.582086171 5439090.20840001 112.361374917647 + 457846.578074625 5439090.20891919 112.366191576471 + + + + + + + + + 457846.578074625 5439090.25759918 112.366191576471 + 457846.578074625 5439090.20891919 112.366191576471 + 457846.582086171 5439090.20840001 112.361374917647 + 457846.582086171 5439090.25811836 112.361374917647 + 457846.578074625 5439090.25759918 112.366191576471 + + + + + + + + + 457846.56568285 5439090.30467541 112.366191576471 + 457846.578074625 5439090.25759918 112.366191576471 + 457846.582086171 5439090.25811836 112.361374917647 + 457846.569430076 5439090.30619874 112.361374917647 + 457846.56568285 5439090.30467541 112.366191576471 + + + + + + + + + 457846.541715795 5439090.34704602 112.366191576471 + 457846.56568285 5439090.30467541 112.366191576471 + 457846.569430076 5439090.30619874 112.361374917647 + 457846.544951795 5439090.34947313 112.361374917647 + 457846.541715795 5439090.34704602 112.366191576471 + + + + + + + + + 457846.569430076 5439090.16031963 112.361374917647 + 457846.544951795 5439090.11704524 112.361374917647 + 457846.547460595 5439090.11516356 112.355937647059 + 457846.572335218 5439090.15913863 112.355937647059 + 457846.569430076 5439090.16031963 112.361374917647 + + + + + + + + + 457846.582086171 5439090.20840001 112.361374917647 + 457846.569430076 5439090.16031963 112.361374917647 + 457846.572335218 5439090.15913863 112.355937647059 + 457846.585196235 5439090.2079975 112.355937647059 + 457846.582086171 5439090.20840001 112.361374917647 + + + + + + + + + 457846.582086171 5439090.25811836 112.361374917647 + 457846.582086171 5439090.20840001 112.361374917647 + 457846.585196235 5439090.2079975 112.355937647059 + 457846.585196235 5439090.25852087 112.355937647059 + 457846.582086171 5439090.25811836 112.361374917647 + + + + + + + + + 457846.569430076 5439090.30619874 112.361374917647 + 457846.582086171 5439090.25811836 112.361374917647 + 457846.585196235 5439090.25852087 112.355937647059 + 457846.572335218 5439090.30737975 112.355937647059 + 457846.569430076 5439090.30619874 112.361374917647 + + + + + + + + + 457846.544951795 5439090.34947313 112.361374917647 + 457846.569430076 5439090.30619874 112.361374917647 + 457846.572335218 5439090.30737975 112.355937647059 + 457846.547460595 5439090.35135482 112.355937647059 + 457846.544951795 5439090.34947313 112.361374917647 + + + + + + + + + 457846.572335218 5439090.15913863 112.355937647059 + 457846.547460595 5439090.11516356 112.355937647059 + 457846.549167795 5439090.1138831 112.3500448 + 457846.574312122 5439090.15833497 112.3500448 + 457846.572335218 5439090.15913863 112.355937647059 + + + + + + + + + 457846.585196235 5439090.2079975 112.355937647059 + 457846.572335218 5439090.15913863 112.355937647059 + 457846.574312122 5439090.15833497 112.3500448 + 457846.587312586 5439090.2077236 112.3500448 + 457846.585196235 5439090.2079975 112.355937647059 + + + + + + + + + 457846.585196235 5439090.25852087 112.355937647059 + 457846.585196235 5439090.2079975 112.355937647059 + 457846.587312586 5439090.2077236 112.3500448 + 457846.587312586 5439090.25879477 112.3500448 + 457846.585196235 5439090.25852087 112.355937647059 + + + + + + + + + 457846.572335218 5439090.30737975 112.355937647059 + 457846.585196235 5439090.25852087 112.355937647059 + 457846.587312586 5439090.25879477 112.3500448 + 457846.574312122 5439090.3081834 112.3500448 + 457846.572335218 5439090.30737975 112.355937647059 + + + + + + + + + 457846.547460595 5439090.35135482 112.355937647059 + 457846.572335218 5439090.30737975 112.355937647059 + 457846.574312122 5439090.3081834 112.3500448 + 457846.549167795 5439090.35263528 112.3500448 + 457846.547460595 5439090.35135482 112.355937647059 + + + + + + + + + 457846.574312122 5439090.15833497 112.3500448 + 457846.549167795 5439090.1138831 112.3500448 + 457846.550020595 5439090.11324347 112.343875247059 + 457846.575299648 5439090.15793352 112.343875247059 + 457846.574312122 5439090.15833497 112.3500448 + + + + + + + + + 457846.587312586 5439090.2077236 112.3500448 + 457846.574312122 5439090.15833497 112.3500448 + 457846.575299648 5439090.15793352 112.343875247059 + 457846.58836977 5439090.20758678 112.343875247059 + 457846.587312586 5439090.2077236 112.3500448 + + + + + + + + + 457846.587312586 5439090.25879477 112.3500448 + 457846.587312586 5439090.2077236 112.3500448 + 457846.58836977 5439090.20758678 112.343875247059 + 457846.58836977 5439090.25893159 112.343875247059 + 457846.587312586 5439090.25879477 112.3500448 + + + + + + + + + 457846.574312122 5439090.3081834 112.3500448 + 457846.587312586 5439090.25879477 112.3500448 + 457846.58836977 5439090.25893159 112.343875247059 + 457846.575299648 5439090.30858485 112.343875247059 + 457846.574312122 5439090.3081834 112.3500448 + + + + + + + + + 457846.549167795 5439090.35263528 112.3500448 + 457846.574312122 5439090.3081834 112.3500448 + 457846.575299648 5439090.30858485 112.343875247059 + 457846.550020595 5439090.35327491 112.343875247059 + 457846.549167795 5439090.35263528 112.3500448 + + + + + + + + + 457846.575299648 5439090.15793352 112.343875247059 + 457846.550020595 5439090.11324347 112.343875247059 + 457846.550006995 5439090.11325367 112.340941176471 + 457846.575283899 5439090.15793992 112.340941176471 + 457846.575299648 5439090.15793352 112.343875247059 + + + + + + + + + 457846.58836977 5439090.20758678 112.343875247059 + 457846.575299648 5439090.15793352 112.343875247059 + 457846.575283899 5439090.15793992 112.340941176471 + 457846.58835291 5439090.20758896 112.340941176471 + 457846.58836977 5439090.20758678 112.343875247059 + + + + + + + + + 457846.58836977 5439090.25893159 112.343875247059 + 457846.58836977 5439090.20758678 112.343875247059 + 457846.58835291 5439090.20758896 112.340941176471 + 457846.58835291 5439090.25892941 112.340941176471 + 457846.58836977 5439090.25893159 112.343875247059 + + + + + + + + + 457846.575299648 5439090.30858485 112.343875247059 + 457846.58836977 5439090.25893159 112.343875247059 + 457846.58835291 5439090.25892941 112.340941176471 + 457846.575283899 5439090.30857845 112.340941176471 + 457846.575299648 5439090.30858485 112.343875247059 + + + + + + + + + 457846.550020595 5439090.35327491 112.343875247059 + 457846.575299648 5439090.30858485 112.343875247059 + 457846.575283899 5439090.30857845 112.340941176471 + 457846.550006995 5439090.35326471 112.340941176471 + 457846.550020595 5439090.35327491 112.343875247059 + + + + + + + + + 457846.575283899 5439090.15793992 112.340941176471 + 457846.550006995 5439090.11325367 112.340941176471 + 457846.542006995 5439090.11925394 112.340941176471 + 457846.566020054 5439090.16170589 112.340941176471 + 457846.575283899 5439090.15793992 112.340941176471 + + + + + + + + + 457846.58835291 5439090.20758896 112.340941176471 + 457846.575283899 5439090.15793992 112.340941176471 + 457846.566020054 5439090.16170589 112.340941176471 + 457846.578435615 5439090.20887247 112.340941176471 + 457846.58835291 5439090.20758896 112.340941176471 + + + + + + + + + 457846.58835291 5439090.25892941 112.340941176471 + 457846.58835291 5439090.20758896 112.340941176471 + 457846.578435615 5439090.20887247 112.340941176471 + 457846.578435615 5439090.2576459 112.340941176471 + 457846.58835291 5439090.25892941 112.340941176471 + + + + + + + + + 457846.575283899 5439090.30857845 112.340941176471 + 457846.58835291 5439090.25892941 112.340941176471 + 457846.578435615 5439090.2576459 112.340941176471 + 457846.566020054 5439090.30481249 112.340941176471 + 457846.575283899 5439090.30857845 112.340941176471 + + + + + + + + + 457846.550006995 5439090.35326471 112.340941176471 + 457846.575283899 5439090.30857845 112.340941176471 + 457846.566020054 5439090.30481249 112.340941176471 + 457846.542006995 5439090.34726443 112.340941176471 + 457846.550006995 5439090.35326471 112.340941176471 + + + + + + + + + 457846.566020054 5439090.16170589 112.340941176471 + 457846.542006995 5439090.11925394 112.340941176471 + 457846.543190195 5439090.1183665 112.330725788235 + 457846.567390177 5439090.1611489 112.330725788235 + 457846.566020054 5439090.16170589 112.340941176471 + + + + + + + + + 457846.578435615 5439090.20887247 112.340941176471 + 457846.566020054 5439090.16170589 112.340941176471 + 457846.567390177 5439090.1611489 112.330725788235 + 457846.579902383 5439090.20868264 112.330725788235 + 457846.578435615 5439090.20887247 112.340941176471 + + + + + + + + + 457846.578435615 5439090.2576459 112.340941176471 + 457846.578435615 5439090.20887247 112.340941176471 + 457846.579902383 5439090.20868264 112.330725788235 + 457846.579902383 5439090.25783573 112.330725788235 + 457846.578435615 5439090.2576459 112.340941176471 + + + + + + + + + 457846.566020054 5439090.30481249 112.340941176471 + 457846.578435615 5439090.2576459 112.340941176471 + 457846.579902383 5439090.25783573 112.330725788235 + 457846.567390177 5439090.30536948 112.330725788235 + 457846.566020054 5439090.30481249 112.340941176471 + + + + + + + + + 457846.542006995 5439090.34726443 112.340941176471 + 457846.566020054 5439090.30481249 112.340941176471 + 457846.567390177 5439090.30536948 112.330725788235 + 457846.543190195 5439090.34815187 112.330725788235 + 457846.542006995 5439090.34726443 112.340941176471 + + + + + + + + + 457846.567390177 5439090.1611489 112.330725788235 + 457846.543190195 5439090.1183665 112.330725788235 + 457846.542648595 5439090.11877272 112.310097364706 + 457846.566763015 5439090.16140385 112.310097364706 + 457846.567390177 5439090.1611489 112.330725788235 + + + + + + + + + 457846.579902383 5439090.20868264 112.330725788235 + 457846.567390177 5439090.1611489 112.330725788235 + 457846.566763015 5439090.16140385 112.310097364706 + 457846.579230982 5439090.20876954 112.310097364706 + 457846.579902383 5439090.20868264 112.330725788235 + + + + + + + + + 457846.579902383 5439090.25783573 112.330725788235 + 457846.579902383 5439090.20868264 112.330725788235 + 457846.579230982 5439090.20876954 112.310097364706 + 457846.579230982 5439090.25774884 112.310097364706 + 457846.579902383 5439090.25783573 112.330725788235 + + + + + + + + + 457846.567390177 5439090.30536948 112.330725788235 + 457846.579902383 5439090.25783573 112.330725788235 + 457846.579230982 5439090.25774884 112.310097364706 + 457846.566763015 5439090.30511452 112.310097364706 + 457846.567390177 5439090.30536948 112.330725788235 + + + + + + + + + 457846.543190195 5439090.34815187 112.330725788235 + 457846.567390177 5439090.30536948 112.330725788235 + 457846.566763015 5439090.30511452 112.310097364706 + 457846.542648595 5439090.34774565 112.310097364706 + 457846.543190195 5439090.34815187 112.330725788235 + + + + + + + + + 457846.566763015 5439090.16140385 112.310097364706 + 457846.542648595 5439090.11877272 112.310097364706 + 457846.539770195 5439090.12093162 112.293956517647 + 457846.563429883 5439090.16275885 112.293956517647 + 457846.566763015 5439090.16140385 112.310097364706 + + + + + + + + + 457846.579230982 5439090.20876954 112.310097364706 + 457846.566763015 5439090.16140385 112.310097364706 + 457846.563429883 5439090.16275885 112.293956517647 + 457846.575662739 5439090.20923134 112.293956517647 + 457846.579230982 5439090.20876954 112.310097364706 + + + + + + + + + 457846.579230982 5439090.25774884 112.310097364706 + 457846.579230982 5439090.20876954 112.310097364706 + 457846.575662739 5439090.20923134 112.293956517647 + 457846.575662739 5439090.25728703 112.293956517647 + 457846.579230982 5439090.25774884 112.310097364706 + + + + + + + + + 457846.566763015 5439090.30511452 112.310097364706 + 457846.579230982 5439090.25774884 112.310097364706 + 457846.575662739 5439090.25728703 112.293956517647 + 457846.563429883 5439090.30375953 112.293956517647 + 457846.566763015 5439090.30511452 112.310097364706 + + + + + + + + + 457846.542648595 5439090.34774565 112.310097364706 + 457846.566763015 5439090.30511452 112.310097364706 + 457846.563429883 5439090.30375953 112.293956517647 + 457846.539770195 5439090.34558675 112.293956517647 + 457846.542648595 5439090.34774565 112.310097364706 + + + + + + + + + 457846.563429883 5439090.16275885 112.293956517647 + 457846.539770195 5439090.12093162 112.293956517647 + 457846.538031795 5439090.12223548 112.287319529412 + 457846.56141685 5439090.16357719 112.287319529412 + 457846.563429883 5439090.16275885 112.293956517647 + + + + + + + + + 457846.575662739 5439090.20923134 112.293956517647 + 457846.563429883 5439090.16275885 112.293956517647 + 457846.56141685 5439090.16357719 112.287319529412 + 457846.57350771 5439090.20951025 112.287319529412 + 457846.575662739 5439090.20923134 112.293956517647 + + + + + + + + + 457846.575662739 5439090.25728703 112.293956517647 + 457846.575662739 5439090.20923134 112.293956517647 + 457846.57350771 5439090.20951025 112.287319529412 + 457846.57350771 5439090.25700813 112.287319529412 + 457846.575662739 5439090.25728703 112.293956517647 + + + + + + + + + 457846.563429883 5439090.30375953 112.293956517647 + 457846.575662739 5439090.25728703 112.293956517647 + 457846.57350771 5439090.25700813 112.287319529412 + 457846.56141685 5439090.30294118 112.287319529412 + 457846.563429883 5439090.30375953 112.293956517647 + + + + + + + + + 457846.539770195 5439090.34558675 112.293956517647 + 457846.563429883 5439090.30375953 112.293956517647 + 457846.56141685 5439090.30294118 112.287319529412 + 457846.538031795 5439090.34428289 112.287319529412 + 457846.539770195 5439090.34558675 112.293956517647 + + + + + + + + + 457846.56141685 5439090.16357719 112.287319529412 + 457846.538031795 5439090.12223548 112.287319529412 + 457846.532742996 5439090.12620226 112.274993270588 + 457846.555292522 5439090.16606687 112.274993270588 + 457846.56141685 5439090.16357719 112.287319529412 + + + + + + + + + 457846.57350771 5439090.20951025 112.287319529412 + 457846.56141685 5439090.16357719 112.287319529412 + 457846.555292522 5439090.16606687 112.274993270588 + 457846.566951386 5439090.21035878 112.274993270588 + 457846.57350771 5439090.20951025 112.287319529412 + + + + + + + + + 457846.57350771 5439090.25700813 112.287319529412 + 457846.57350771 5439090.20951025 112.287319529412 + 457846.566951386 5439090.21035878 112.274993270588 + 457846.566951386 5439090.2561596 112.274993270588 + 457846.57350771 5439090.25700813 112.287319529412 + + + + + + + + + 457846.56141685 5439090.30294118 112.287319529412 + 457846.57350771 5439090.25700813 112.287319529412 + 457846.566951386 5439090.2561596 112.274993270588 + 457846.555292522 5439090.3004515 112.274993270588 + 457846.56141685 5439090.30294118 112.287319529412 + + + + + + + + + 457846.538031795 5439090.34428289 112.287319529412 + 457846.56141685 5439090.30294118 112.287319529412 + 457846.555292522 5439090.3004515 112.274993270588 + 457846.532742996 5439090.34031611 112.274993270588 + 457846.538031795 5439090.34428289 112.287319529412 + + + + + + + + + 457846.555292522 5439090.16606687 112.274993270588 + 457846.532742996 5439090.12620226 112.274993270588 + 457846.525800596 5439090.1314093 112.263989270588 + 457846.547253357 5439090.16933497 112.263989270588 + 457846.555292522 5439090.16606687 112.274993270588 + + + + + + + + + 457846.566951386 5439090.21035878 112.274993270588 + 457846.555292522 5439090.16606687 112.274993270588 + 457846.547253357 5439090.16933497 112.263989270588 + 457846.558345157 5439090.21147261 112.263989270588 + 457846.566951386 5439090.21035878 112.274993270588 + + + + + + + + + 457846.566951386 5439090.2561596 112.274993270588 + 457846.566951386 5439090.21035878 112.274993270588 + 457846.558345157 5439090.21147261 112.263989270588 + 457846.558345157 5439090.25504576 112.263989270588 + 457846.566951386 5439090.2561596 112.274993270588 + + + + + + + + + 457846.555292522 5439090.3004515 112.274993270588 + 457846.566951386 5439090.2561596 112.274993270588 + 457846.558345157 5439090.25504576 112.263989270588 + 457846.547253357 5439090.2971834 112.263989270588 + 457846.555292522 5439090.3004515 112.274993270588 + + + + + + + + + 457846.532742996 5439090.34031611 112.274993270588 + 457846.555292522 5439090.3004515 112.274993270588 + 457846.547253357 5439090.2971834 112.263989270588 + 457846.525800596 5439090.33510907 112.263989270588 + 457846.532742996 5439090.34031611 112.274993270588 + + + + + + + + + 457846.547253357 5439090.16933497 112.263989270588 + 457846.525800596 5439090.1314093 112.263989270588 + 457846.517417396 5439090.13769699 112.254640564706 + 457846.537545774 5439090.17328133 112.254640564706 + 457846.547253357 5439090.16933497 112.263989270588 + + + + + + + + + 457846.558345157 5439090.21147261 112.263989270588 + 457846.547253357 5439090.16933497 112.263989270588 + 457846.537545774 5439090.17328133 112.254640564706 + 457846.547952823 5439090.2128176 112.254640564706 + 457846.558345157 5439090.21147261 112.263989270588 + + + + + + + + + 457846.558345157 5439090.25504576 112.263989270588 + 457846.558345157 5439090.21147261 112.263989270588 + 457846.547952823 5439090.2128176 112.254640564706 + 457846.547952823 5439090.25370077 112.254640564706 + 457846.558345157 5439090.25504576 112.263989270588 + + + + + + + + + 457846.547253357 5439090.2971834 112.263989270588 + 457846.558345157 5439090.25504576 112.263989270588 + 457846.547952823 5439090.25370077 112.254640564706 + 457846.537545774 5439090.29323705 112.254640564706 + 457846.547253357 5439090.2971834 112.263989270588 + + + + + + + + + 457846.525800596 5439090.33510907 112.263989270588 + 457846.547253357 5439090.2971834 112.263989270588 + 457846.537545774 5439090.29323705 112.254640564706 + 457846.517417396 5439090.32882138 112.254640564706 + 457846.525800596 5439090.33510907 112.263989270588 + + + + + + + + + 457846.537545774 5439090.17328133 112.254640564706 + 457846.517417396 5439090.13769699 112.254640564706 + 457846.515981396 5439090.13877404 112.253712611765 + 457846.535882914 5439090.17395732 112.253712611765 + 457846.537545774 5439090.17328133 112.254640564706 + + + + + + + + + 457846.547952823 5439090.2128176 112.254640564706 + 457846.537545774 5439090.17328133 112.254640564706 + 457846.535882914 5439090.17395732 112.253712611765 + 457846.546172669 5439090.21304799 112.253712611765 + 457846.547952823 5439090.2128176 112.254640564706 + + + + + + + + + 457846.547952823 5439090.25370077 112.254640564706 + 457846.547952823 5439090.2128176 112.254640564706 + 457846.546172669 5439090.21304799 112.253712611765 + 457846.546172669 5439090.25347038 112.253712611765 + 457846.547952823 5439090.25370077 112.254640564706 + + + + + + + + + 457846.537545774 5439090.29323705 112.254640564706 + 457846.547952823 5439090.25370077 112.254640564706 + 457846.546172669 5439090.25347038 112.253712611765 + 457846.535882914 5439090.29256106 112.253712611765 + 457846.537545774 5439090.29323705 112.254640564706 + + + + + + + + + 457846.517417396 5439090.32882138 112.254640564706 + 457846.537545774 5439090.29323705 112.254640564706 + 457846.535882914 5439090.29256106 112.253712611765 + 457846.515981396 5439090.32774433 112.253712611765 + 457846.517417396 5439090.32882138 112.254640564706 + + + + + + + + + 457846.535882914 5439090.17395732 112.253712611765 + 457846.515981396 5439090.13877404 112.253712611765 + 457846.505544596 5439090.146602 112.244640611765 + 457846.523797302 5439090.17887039 112.244640611765 + 457846.535882914 5439090.17395732 112.253712611765 + + + + + + + + + 457846.546172669 5439090.21304799 112.253712611765 + 457846.535882914 5439090.17395732 112.253712611765 + 457846.523797302 5439090.17887039 112.244640611765 + 457846.533234565 5439090.21472246 112.244640611765 + 457846.546172669 5439090.21304799 112.253712611765 + + + + + + + + + 457846.546172669 5439090.25347038 112.253712611765 + 457846.546172669 5439090.21304799 112.253712611765 + 457846.533234565 5439090.21472246 112.244640611765 + 457846.533234565 5439090.25179591 112.244640611765 + 457846.546172669 5439090.25347038 112.253712611765 + + + + + + + + + 457846.535882914 5439090.29256106 112.253712611765 + 457846.546172669 5439090.25347038 112.253712611765 + 457846.533234565 5439090.25179591 112.244640611765 + 457846.523797302 5439090.28764798 112.244640611765 + 457846.535882914 5439090.29256106 112.253712611765 + + + + + + + + + 457846.515981396 5439090.32774433 112.253712611765 + 457846.535882914 5439090.29256106 112.253712611765 + 457846.523797302 5439090.28764798 112.244640611765 + 457846.505544596 5439090.31991637 112.244640611765 + 457846.515981396 5439090.32774433 112.253712611765 + + + + + + + + + 457846.523797302 5439090.17887039 112.244640611765 + 457846.505544596 5439090.146602 112.244640611765 + 457846.482437397 5439090.1639332 112.231248047059 + 457846.497039612 5439090.189748 112.231248047059 + 457846.523797302 5439090.17887039 112.244640611765 + + + + + + + + + 457846.533234565 5439090.21472246 112.244640611765 + 457846.523797302 5439090.17887039 112.244640611765 + 457846.497039612 5439090.189748 112.231248047059 + 457846.504589449 5439090.21842975 112.231248047059 + 457846.533234565 5439090.21472246 112.244640611765 + + + + + + + + + 457846.533234565 5439090.25179591 112.244640611765 + 457846.533234565 5439090.21472246 112.244640611765 + 457846.504589449 5439090.21842975 112.231248047059 + 457846.504589449 5439090.24808862 112.231248047059 + 457846.533234565 5439090.25179591 112.244640611765 + + + + + + + + + 457846.523797302 5439090.28764798 112.244640611765 + 457846.533234565 5439090.25179591 112.244640611765 + 457846.504589449 5439090.24808862 112.231248047059 + 457846.497039612 5439090.27677037 112.231248047059 + 457846.523797302 5439090.28764798 112.244640611765 + + + + + + + + + 457846.505544596 5439090.31991637 112.244640611765 + 457846.523797302 5439090.28764798 112.244640611765 + 457846.497039612 5439090.27677037 112.231248047059 + 457846.482437397 5439090.30258518 112.231248047059 + 457846.505544596 5439090.31991637 112.244640611765 + + + + + + + + + 457846.497039612 5439090.189748 112.231248047059 + 457846.482437397 5439090.1639332 112.231248047059 + 457846.480849397 5439090.16512425 112.231271764706 + 457846.495200739 5439090.19049554 112.231271764706 + 457846.497039612 5439090.189748 112.231248047059 + + + + + + + + + 457846.504589449 5439090.21842975 112.231248047059 + 457846.497039612 5439090.189748 112.231248047059 + 457846.495200739 5439090.19049554 112.231271764706 + 457846.502620866 5439090.21868453 112.231271764706 + 457846.504589449 5439090.21842975 112.231248047059 + + + + + + + + + 457846.504589449 5439090.24808862 112.231248047059 + 457846.504589449 5439090.21842975 112.231248047059 + 457846.502620866 5439090.21868453 112.231271764706 + 457846.502620866 5439090.24783384 112.231271764706 + 457846.504589449 5439090.24808862 112.231248047059 + + + + + + + + + 457846.497039612 5439090.27677037 112.231248047059 + 457846.504589449 5439090.24808862 112.231248047059 + 457846.502620866 5439090.24783384 112.231271764706 + 457846.495200739 5439090.27602283 112.231271764706 + 457846.497039612 5439090.27677037 112.231248047059 + + + + + + + + + 457846.482437397 5439090.30258518 112.231248047059 + 457846.497039612 5439090.27677037 112.231248047059 + 457846.495200739 5439090.27602283 112.231271764706 + 457846.480849397 5439090.30139412 112.231271764706 + 457846.482437397 5439090.30258518 112.231248047059 + + + + + + + + + 457846.495200739 5439090.19049554 112.231271764706 + 457846.480849397 5439090.16512425 112.231271764706 + 457846.468679798 5439090.17425187 112.224983623529 + 457846.481108578 5439090.19622433 112.224983623529 + 457846.495200739 5439090.19049554 112.231271764706 + + + + + + + + + 457846.502620866 5439090.21868453 112.231271764706 + 457846.495200739 5439090.19049554 112.231271764706 + 457846.481108578 5439090.19622433 112.224983623529 + 457846.487534676 5439090.22063701 112.224983623529 + 457846.502620866 5439090.21868453 112.231271764706 + + + + + + + + + 457846.502620866 5439090.24783384 112.231271764706 + 457846.502620866 5439090.21868453 112.231271764706 + 457846.487534676 5439090.22063701 112.224983623529 + 457846.487534676 5439090.24588137 112.224983623529 + 457846.502620866 5439090.24783384 112.231271764706 + + + + + + + + + 457846.495200739 5439090.27602283 112.231271764706 + 457846.502620866 5439090.24783384 112.231271764706 + 457846.487534676 5439090.24588137 112.224983623529 + 457846.481108578 5439090.27029405 112.224983623529 + 457846.495200739 5439090.27602283 112.231271764706 + + + + + + + + + 457846.480849397 5439090.30139412 112.231271764706 + 457846.495200739 5439090.27602283 112.231271764706 + 457846.481108578 5439090.27029405 112.224983623529 + 457846.468679798 5439090.2922665 112.224983623529 + 457846.480849397 5439090.30139412 112.231271764706 + + + + + + + + + 457846.481108578 5439090.19622433 112.224983623529 + 457846.468679798 5439090.17425187 112.224983623529 + 457846.468310198 5439090.17452909 112.224792894118 + 457846.480680588 5439090.19639832 112.224792894118 + 457846.481108578 5439090.19622433 112.224983623529 + + + + + + + + + 457846.487534676 5439090.22063701 112.224983623529 + 457846.481108578 5439090.19622433 112.224983623529 + 457846.480680588 5439090.19639832 112.224792894118 + 457846.487076497 5439090.22069631 112.224792894118 + 457846.487534676 5439090.22063701 112.224983623529 + + + + + + + + + 457846.487534676 5439090.24588137 112.224983623529 + 457846.487534676 5439090.22063701 112.224983623529 + 457846.487076497 5439090.22069631 112.224792894118 + 457846.487076497 5439090.24582207 112.224792894118 + 457846.487534676 5439090.24588137 112.224983623529 + + + + + + + + + 457846.481108578 5439090.27029405 112.224983623529 + 457846.487534676 5439090.24588137 112.224983623529 + 457846.487076497 5439090.24582207 112.224792894118 + 457846.480680588 5439090.27012006 112.224792894118 + 457846.481108578 5439090.27029405 112.224983623529 + + + + + + + + + 457846.468679798 5439090.2922665 112.224983623529 + 457846.481108578 5439090.27029405 112.224983623529 + 457846.480680588 5439090.27012006 112.224792894118 + 457846.468310198 5439090.29198929 112.224792894118 + 457846.468679798 5439090.2922665 112.224983623529 + + + + + + + + + 457846.480680588 5439090.19639832 112.224792894118 + 457846.468310198 5439090.17452909 112.224792894118 + 457846.467746198 5439090.17495211 112.224691105882 + 457846.480027487 5439090.19666382 112.224691105882 + 457846.480680588 5439090.19639832 112.224792894118 + + + + + + + + + 457846.487076497 5439090.22069631 112.224792894118 + 457846.480680588 5439090.19639832 112.224792894118 + 457846.480027487 5439090.19666382 112.224691105882 + 457846.486377327 5439090.2207868 112.224691105882 + 457846.487076497 5439090.22069631 112.224792894118 + + + + + + + + + 457846.487076497 5439090.24582207 112.224792894118 + 457846.487076497 5439090.22069631 112.224792894118 + 457846.486377327 5439090.2207868 112.224691105882 + 457846.486377327 5439090.24573158 112.224691105882 + 457846.487076497 5439090.24582207 112.224792894118 + + + + + + + + + 457846.480680588 5439090.27012006 112.224792894118 + 457846.487076497 5439090.24582207 112.224792894118 + 457846.486377327 5439090.24573158 112.224691105882 + 457846.480027487 5439090.26985456 112.224691105882 + 457846.480680588 5439090.27012006 112.224792894118 + + + + + + + + + 457846.468310198 5439090.29198929 112.224792894118 + 457846.480680588 5439090.27012006 112.224792894118 + 457846.480027487 5439090.26985456 112.224691105882 + 457846.467746198 5439090.29156627 112.224691105882 + 457846.468310198 5439090.29198929 112.224792894118 + + + + + + + + + 457846.480027487 5439090.19666382 112.224691105882 + 457846.467746198 5439090.17495211 112.224691105882 + 457846.461490198 5439090.17964432 112.220294447059 + 457846.47278316 5439090.1996088 112.220294447059 + 457846.480027487 5439090.19666382 112.224691105882 + + + + + + + + + 457846.486377327 5439090.2207868 112.224691105882 + 457846.480027487 5439090.19666382 112.224691105882 + 457846.47278316 5439090.1996088 112.220294447059 + 457846.478622002 5439090.2217905 112.220294447059 + 457846.486377327 5439090.2207868 112.224691105882 + + + + + + + + + 457846.486377327 5439090.24573158 112.224691105882 + 457846.486377327 5439090.2207868 112.224691105882 + 457846.478622002 5439090.2217905 112.220294447059 + 457846.478622002 5439090.24472787 112.220294447059 + 457846.486377327 5439090.24573158 112.224691105882 + + + + + + + + + 457846.480027487 5439090.26985456 112.224691105882 + 457846.486377327 5439090.24573158 112.224691105882 + 457846.478622002 5439090.24472787 112.220294447059 + 457846.47278316 5439090.26690958 112.220294447059 + 457846.480027487 5439090.26985456 112.224691105882 + + + + + + + + + 457846.467746198 5439090.29156627 112.224691105882 + 457846.480027487 5439090.26985456 112.224691105882 + 457846.47278316 5439090.26690958 112.220294447059 + 457846.461490198 5439090.28687405 112.220294447059 + 457846.467746198 5439090.29156627 112.224691105882 + + + + + + + + + 457846.47278316 5439090.1996088 112.220294447059 + 457846.461490198 5439090.17964432 112.220294447059 + 457846.458718198 5439090.18172342 112.217458211765 + 457846.469573238 5439090.2009137 112.217458211765 + 457846.47278316 5439090.1996088 112.220294447059 + + + + + + + + + 457846.478622002 5439090.2217905 112.220294447059 + 457846.47278316 5439090.1996088 112.220294447059 + 457846.469573238 5439090.2009137 112.217458211765 + 457846.475185659 5439090.22223524 112.217458211765 + 457846.478622002 5439090.2217905 112.220294447059 + + + + + + + + + 457846.478622002 5439090.24472787 112.220294447059 + 457846.478622002 5439090.2217905 112.220294447059 + 457846.475185659 5439090.22223524 112.217458211765 + 457846.475185659 5439090.24428314 112.217458211765 + 457846.478622002 5439090.24472787 112.220294447059 + + + + + + + + + 457846.47278316 5439090.26690958 112.220294447059 + 457846.478622002 5439090.24472787 112.220294447059 + 457846.475185659 5439090.24428314 112.217458211765 + 457846.469573238 5439090.26560467 112.217458211765 + 457846.47278316 5439090.26690958 112.220294447059 + + + + + + + + + 457846.461490198 5439090.28687405 112.220294447059 + 457846.47278316 5439090.26690958 112.220294447059 + 457846.469573238 5439090.26560467 112.217458211765 + 457846.458718198 5439090.28479496 112.217458211765 + 457846.461490198 5439090.28687405 112.220294447059 + + + + + + + + + 457846.469573238 5439090.2009137 112.217458211765 + 457846.458718198 5439090.18172342 112.217458211765 + 457846.457464598 5439090.18266366 112.216342494118 + 457846.468121594 5439090.20150383 112.216342494118 + 457846.469573238 5439090.2009137 112.217458211765 + + + + + + + + + 457846.475185659 5439090.22223524 112.217458211765 + 457846.469573238 5439090.2009137 112.217458211765 + 457846.468121594 5439090.20150383 112.216342494118 + 457846.473631619 5439090.22243636 112.216342494118 + 457846.475185659 5439090.22223524 112.217458211765 + + + + + + + + + 457846.475185659 5439090.24428314 112.217458211765 + 457846.475185659 5439090.22223524 112.217458211765 + 457846.473631619 5439090.22243636 112.216342494118 + 457846.473631619 5439090.24408201 112.216342494118 + 457846.475185659 5439090.24428314 112.217458211765 + + + + + + + + + 457846.469573238 5439090.26560467 112.217458211765 + 457846.475185659 5439090.24428314 112.217458211765 + 457846.473631619 5439090.24408201 112.216342494118 + 457846.468121594 5439090.26501454 112.216342494118 + 457846.469573238 5439090.26560467 112.217458211765 + + + + + + + + + 457846.458718198 5439090.28479496 112.217458211765 + 457846.469573238 5439090.26560467 112.217458211765 + 457846.468121594 5439090.26501454 112.216342494118 + 457846.457464598 5439090.28385471 112.216342494118 + 457846.458718198 5439090.28479496 112.217458211765 + + + + + + + + + 457846.468121594 5439090.20150383 112.216342494118 + 457846.457464598 5439090.18266366 112.216342494118 + 457846.452194998 5439090.18661604 112.209075011765 + 457846.462019499 5439090.20398447 112.209075011765 + 457846.468121594 5439090.20150383 112.216342494118 + + + + + + + + + 457846.473631619 5439090.22243636 112.216342494118 + 457846.468121594 5439090.20150383 112.216342494118 + 457846.462019499 5439090.20398447 112.209075011765 + 457846.467099097 5439090.22328181 112.209075011765 + 457846.473631619 5439090.22243636 112.216342494118 + + + + + + + + + 457846.473631619 5439090.24408201 112.216342494118 + 457846.473631619 5439090.22243636 112.216342494118 + 457846.467099097 5439090.22328181 112.209075011765 + 457846.467099097 5439090.24323656 112.209075011765 + 457846.473631619 5439090.24408201 112.216342494118 + + + + + + + + + 457846.468121594 5439090.26501454 112.216342494118 + 457846.473631619 5439090.24408201 112.216342494118 + 457846.467099097 5439090.24323656 112.209075011765 + 457846.462019499 5439090.2625339 112.209075011765 + 457846.468121594 5439090.26501454 112.216342494118 + + + + + + + + + 457846.457464598 5439090.28385471 112.216342494118 + 457846.468121594 5439090.26501454 112.216342494118 + 457846.462019499 5439090.2625339 112.209075011765 + 457846.452194998 5439090.27990233 112.209075011765 + 457846.457464598 5439090.28385471 112.216342494118 + + + + + + + + + 457846.462019499 5439090.20398447 112.209075011765 + 457846.452194998 5439090.18661604 112.209075011765 + 457846.448027798 5439090.18974159 112.200787670588 + 457846.457193962 5439090.20594616 112.200787670588 + 457846.462019499 5439090.20398447 112.209075011765 + + + + + + + + + 457846.467099097 5439090.22328181 112.209075011765 + 457846.462019499 5439090.20398447 112.209075011765 + 457846.457193962 5439090.20594616 112.200787670588 + 457846.461933177 5439090.22395039 112.200787670588 + 457846.467099097 5439090.22328181 112.209075011765 + + + + + + + + + 457846.467099097 5439090.24323656 112.209075011765 + 457846.467099097 5439090.22328181 112.209075011765 + 457846.461933177 5439090.22395039 112.200787670588 + 457846.461933177 5439090.24256798 112.200787670588 + 457846.467099097 5439090.24323656 112.209075011765 + + + + + + + + + 457846.462019499 5439090.2625339 112.209075011765 + 457846.467099097 5439090.24323656 112.209075011765 + 457846.461933177 5439090.24256798 112.200787670588 + 457846.457193962 5439090.26057221 112.200787670588 + 457846.462019499 5439090.2625339 112.209075011765 + + + + + + + + + 457846.452194998 5439090.27990233 112.209075011765 + 457846.462019499 5439090.2625339 112.209075011765 + 457846.457193962 5439090.26057221 112.200787670588 + 457846.448027798 5439090.27677679 112.200787670588 + 457846.452194998 5439090.27990233 112.209075011765 + + + + + + + + + 457846.457193962 5439090.20594616 112.200787670588 + 457846.448027798 5439090.18974159 112.200787670588 + 457846.445088598 5439090.19194609 112.191731482353 + 457846.453790425 5439090.20732978 112.191731482353 + 457846.457193962 5439090.20594616 112.200787670588 + + + + + + + + + 457846.461933177 5439090.22395039 112.200787670588 + 457846.457193962 5439090.20594616 112.200787670588 + 457846.453790425 5439090.20732978 112.191731482353 + 457846.458289563 5439090.22442196 112.191731482353 + 457846.461933177 5439090.22395039 112.200787670588 + + + + + + + + + 457846.461933177 5439090.24256798 112.200787670588 + 457846.461933177 5439090.22395039 112.200787670588 + 457846.458289563 5439090.22442196 112.191731482353 + 457846.458289563 5439090.24209642 112.191731482353 + 457846.461933177 5439090.24256798 112.200787670588 + + + + + + + + + 457846.457193962 5439090.26057221 112.200787670588 + 457846.461933177 5439090.24256798 112.200787670588 + 457846.458289563 5439090.24209642 112.191731482353 + 457846.453790425 5439090.2591886 112.191731482353 + 457846.457193962 5439090.26057221 112.200787670588 + + + + + + + + + 457846.448027798 5439090.27677679 112.200787670588 + 457846.457193962 5439090.26057221 112.200787670588 + 457846.453790425 5439090.2591886 112.191731482353 + 457846.445088598 5439090.27457229 112.191731482353 + 457846.448027798 5439090.27677679 112.200787670588 + + + + + + + + + 457846.453790425 5439090.20732978 112.191731482353 + 457846.445088598 5439090.19194609 112.191731482353 + 457846.443466998 5439090.19316234 112.182183152941 + 457846.451912644 5439090.20809314 112.182183152941 + 457846.453790425 5439090.20732978 112.191731482353 + + + + + + + + + 457846.458289563 5439090.22442196 112.191731482353 + 457846.453790425 5439090.20732978 112.191731482353 + 457846.451912644 5439090.20809314 112.182183152941 + 457846.456279327 5439090.22468212 112.182183152941 + 457846.458289563 5439090.22442196 112.191731482353 + + + + + + + + + 457846.458289563 5439090.24209642 112.191731482353 + 457846.458289563 5439090.22442196 112.191731482353 + 457846.456279327 5439090.22468212 112.182183152941 + 457846.456279327 5439090.24183625 112.182183152941 + 457846.458289563 5439090.24209642 112.191731482353 + + + + + + + + + 457846.453790425 5439090.2591886 112.191731482353 + 457846.458289563 5439090.24209642 112.191731482353 + 457846.456279327 5439090.24183625 112.182183152941 + 457846.451912644 5439090.25842524 112.182183152941 + 457846.453790425 5439090.2591886 112.191731482353 + + + + + + + + + 457846.445088598 5439090.27457229 112.191731482353 + 457846.453790425 5439090.2591886 112.191731482353 + 457846.451912644 5439090.25842524 112.182183152941 + 457846.443466998 5439090.27335603 112.182183152941 + 457846.445088598 5439090.27457229 112.191731482353 + + + + + + + + + 457846.451912644 5439090.20809314 112.182183152941 + 457846.443466998 5439090.19316234 112.182183152941 + 457846.443211798 5439090.19335375 112.172431247059 + 457846.451617127 5439090.20821327 112.172431247059 + 457846.451912644 5439090.20809314 112.182183152941 + + + + + + + + + 457846.456279327 5439090.22468212 112.182183152941 + 457846.451912644 5439090.20809314 112.182183152941 + 457846.451617127 5439090.20821327 112.172431247059 + 457846.455962966 5439090.22472307 112.172431247059 + 457846.456279327 5439090.22468212 112.182183152941 + + + + + + + + + 457846.456279327 5439090.24183625 112.182183152941 + 457846.456279327 5439090.22468212 112.182183152941 + 457846.455962966 5439090.22472307 112.172431247059 + 457846.455962966 5439090.24179531 112.172431247059 + 457846.456279327 5439090.24183625 112.182183152941 + + + + + + + + + 457846.451912644 5439090.25842524 112.182183152941 + 457846.456279327 5439090.24183625 112.182183152941 + 457846.455962966 5439090.24179531 112.172431247059 + 457846.451617127 5439090.2583051 112.172431247059 + 457846.451912644 5439090.25842524 112.182183152941 + + + + + + + + + 457846.443466998 5439090.27335603 112.182183152941 + 457846.451912644 5439090.25842524 112.182183152941 + 457846.451617127 5439090.2583051 112.172431247059 + 457846.443211798 5439090.27316462 112.172431247059 + 457846.443466998 5439090.27335603 112.182183152941 + + + + + + + + + 457846.451617127 5439090.20821327 112.172431247059 + 457846.443211798 5439090.19335375 112.172431247059 + 457846.443771798 5439090.19293373 112.167602729412 + 457846.452265597 5439090.20794965 112.167602729412 + 457846.451617127 5439090.20821327 112.172431247059 + + + + + + + + + 457846.455962966 5439090.22472307 112.172431247059 + 457846.451617127 5439090.20821327 112.172431247059 + 457846.452265597 5439090.20794965 112.167602729412 + 457846.456657176 5439090.22463322 112.167602729412 + 457846.455962966 5439090.22472307 112.172431247059 + + + + + + + + + 457846.455962966 5439090.24179531 112.172431247059 + 457846.455962966 5439090.22472307 112.172431247059 + 457846.456657176 5439090.22463322 112.167602729412 + 457846.456657176 5439090.24188515 112.167602729412 + 457846.455962966 5439090.24179531 112.172431247059 + + + + + + + + + 457846.451617127 5439090.2583051 112.172431247059 + 457846.455962966 5439090.24179531 112.172431247059 + 457846.456657176 5439090.24188515 112.167602729412 + 457846.452265597 5439090.25856872 112.167602729412 + 457846.451617127 5439090.2583051 112.172431247059 + + + + + + + + + 457846.443211798 5439090.27316462 112.172431247059 + 457846.451617127 5439090.2583051 112.172431247059 + 457846.452265597 5439090.25856872 112.167602729412 + 457846.443771798 5439090.27358464 112.167602729412 + 457846.443211798 5439090.27316462 112.172431247059 + + + + + + + + + 457846.452265597 5439090.20794965 112.167602729412 + 457846.443771798 5439090.19293373 112.167602729412 + 457846.460242998 5439090.18057976 112.025611105882 + 457846.471338927 5439090.20019591 112.025611105882 + 457846.452265597 5439090.20794965 112.167602729412 + + + + + + + + + 457846.456657176 5439090.22463322 112.167602729412 + 457846.452265597 5439090.20794965 112.167602729412 + 457846.471338927 5439090.20019591 112.025611105882 + 457846.477075896 5439090.2219906 112.025611105882 + 457846.456657176 5439090.22463322 112.167602729412 + + + + + + + + + 457846.456657176 5439090.24188515 112.167602729412 + 457846.456657176 5439090.22463322 112.167602729412 + 457846.477075896 5439090.2219906 112.025611105882 + 457846.477075896 5439090.24452777 112.025611105882 + 457846.456657176 5439090.24188515 112.167602729412 + + + + + + + + + 457846.452265597 5439090.25856872 112.167602729412 + 457846.456657176 5439090.24188515 112.167602729412 + 457846.477075896 5439090.24452777 112.025611105882 + 457846.471338927 5439090.26632246 112.025611105882 + 457846.452265597 5439090.25856872 112.167602729412 + + + + + + + + + 457846.443771798 5439090.27358464 112.167602729412 + 457846.452265597 5439090.25856872 112.167602729412 + 457846.471338927 5439090.26632246 112.025611105882 + 457846.460242998 5439090.28593861 112.025611105882 + 457846.443771798 5439090.27358464 112.167602729412 + + + + + + + + + 457846.471338927 5439090.20019591 112.025611105882 + 457846.460242998 5439090.18057976 112.025611105882 + 457846.460248598 5439090.18057556 112.0253344 + 457846.471345412 5439090.20019328 112.0253344 + 457846.471338927 5439090.20019591 112.025611105882 + + + + + + + + + 457846.477075896 5439090.2219906 112.025611105882 + 457846.471338927 5439090.20019591 112.025611105882 + 457846.471345412 5439090.20019328 112.0253344 + 457846.477082838 5439090.2219897 112.0253344 + 457846.477075896 5439090.2219906 112.025611105882 + + + + + + + + + 457846.477075896 5439090.24452777 112.025611105882 + 457846.477075896 5439090.2219906 112.025611105882 + 457846.477082838 5439090.2219897 112.0253344 + 457846.477082838 5439090.24452867 112.0253344 + 457846.477075896 5439090.24452777 112.025611105882 + + + + + + + + + 457846.471338927 5439090.26632246 112.025611105882 + 457846.477075896 5439090.24452777 112.025611105882 + 457846.477082838 5439090.24452867 112.0253344 + 457846.471345412 5439090.2663251 112.0253344 + 457846.471338927 5439090.26632246 112.025611105882 + + + + + + + + + 457846.460242998 5439090.28593861 112.025611105882 + 457846.471338927 5439090.26632246 112.025611105882 + 457846.471345412 5439090.2663251 112.0253344 + 457846.460248598 5439090.28594281 112.0253344 + 457846.460242998 5439090.28593861 112.025611105882 + + + + + + + + + 457846.471345412 5439090.20019328 112.0253344 + 457846.460248598 5439090.18057556 112.0253344 + 457846.460458998 5439090.18041776 112.024191011765 + 457846.471589051 5439090.20009423 112.024191011765 + 457846.471345412 5439090.20019328 112.0253344 + + + + + + + + + 457846.477082838 5439090.2219897 112.0253344 + 457846.471345412 5439090.20019328 112.0253344 + 457846.471589051 5439090.20009423 112.024191011765 + 457846.477343663 5439090.22195594 112.024191011765 + 457846.477082838 5439090.2219897 112.0253344 + + + + + + + + + 457846.477082838 5439090.24452867 112.0253344 + 457846.477082838 5439090.2219897 112.0253344 + 457846.477343663 5439090.22195594 112.024191011765 + 457846.477343663 5439090.24456243 112.024191011765 + 457846.477082838 5439090.24452867 112.0253344 + + + + + + + + + 457846.471345412 5439090.2663251 112.0253344 + 457846.477082838 5439090.24452867 112.0253344 + 457846.477343663 5439090.24456243 112.024191011765 + 457846.471589051 5439090.26642414 112.024191011765 + 457846.471345412 5439090.2663251 112.0253344 + + + + + + + + + 457846.460248598 5439090.28594281 112.0253344 + 457846.471345412 5439090.2663251 112.0253344 + 457846.471589051 5439090.26642414 112.024191011765 + 457846.460458998 5439090.28610062 112.024191011765 + 457846.460248598 5439090.28594281 112.0253344 + + + + + + + + + 457846.471589051 5439090.20009423 112.024191011765 + 457846.460458998 5439090.18041776 112.024191011765 + 457846.460826198 5439090.18014234 112.023110870588 + 457846.472014261 5439090.19992137 112.023110870588 + 457846.471589051 5439090.20009423 112.024191011765 + + + + + + + + + 457846.477343663 5439090.22195594 112.024191011765 + 457846.471589051 5439090.20009423 112.024191011765 + 457846.472014261 5439090.19992137 112.023110870588 + 457846.477798867 5439090.22189703 112.023110870588 + 457846.477343663 5439090.22195594 112.024191011765 + + + + + + + + + 457846.477343663 5439090.24456243 112.024191011765 + 457846.477343663 5439090.22195594 112.024191011765 + 457846.477798867 5439090.22189703 112.023110870588 + 457846.477798867 5439090.24462134 112.023110870588 + 457846.477343663 5439090.24456243 112.024191011765 + + + + + + + + + 457846.471589051 5439090.26642414 112.024191011765 + 457846.477343663 5439090.24456243 112.024191011765 + 457846.477798867 5439090.24462134 112.023110870588 + 457846.472014261 5439090.266597 112.023110870588 + 457846.471589051 5439090.26642414 112.024191011765 + + + + + + + + + 457846.460458998 5439090.28610062 112.024191011765 + 457846.471589051 5439090.26642414 112.024191011765 + 457846.472014261 5439090.266597 112.023110870588 + 457846.460826198 5439090.28637603 112.023110870588 + 457846.460458998 5439090.28610062 112.024191011765 + + + + + + + + + 457846.472014261 5439090.19992137 112.023110870588 + 457846.460826198 5439090.18014234 112.023110870588 + 457846.461340598 5439090.17975653 112.022126588235 + 457846.472609926 5439090.19967922 112.022126588235 + 457846.472014261 5439090.19992137 112.023110870588 + + + + + + + + + 457846.477798867 5439090.22189703 112.023110870588 + 457846.472014261 5439090.19992137 112.023110870588 + 457846.472609926 5439090.19967922 112.022126588235 + 457846.478436549 5439090.2218145 112.022126588235 + 457846.477798867 5439090.22189703 112.023110870588 + + + + + + + + + 457846.477798867 5439090.24462134 112.023110870588 + 457846.477798867 5439090.22189703 112.023110870588 + 457846.478436549 5439090.2218145 112.022126588235 + 457846.478436549 5439090.24470387 112.022126588235 + 457846.477798867 5439090.24462134 112.023110870588 + + + + + + + + + 457846.472014261 5439090.266597 112.023110870588 + 457846.477798867 5439090.24462134 112.023110870588 + 457846.478436549 5439090.24470387 112.022126588235 + 457846.472609926 5439090.26683915 112.022126588235 + 457846.472014261 5439090.266597 112.023110870588 + + + + + + + + + 457846.460826198 5439090.28637603 112.023110870588 + 457846.472014261 5439090.266597 112.023110870588 + 457846.472609926 5439090.26683915 112.022126588235 + 457846.461340598 5439090.28676185 112.022126588235 + 457846.460826198 5439090.28637603 112.023110870588 + + + + + + + + + 457846.472609926 5439090.19967922 112.022126588235 + 457846.461340598 5439090.17975653 112.022126588235 + 457846.461985398 5439090.1792729 112.021266823529 + 457846.473356592 5439090.19937569 112.021266823529 + 457846.472609926 5439090.19967922 112.022126588235 + + + + + + + + + 457846.478436549 5439090.2218145 112.022126588235 + 457846.472609926 5439090.19967922 112.022126588235 + 457846.473356592 5439090.19937569 112.021266823529 + 457846.479235883 5439090.22171105 112.021266823529 + 457846.478436549 5439090.2218145 112.022126588235 + + + + + + + + + 457846.478436549 5439090.24470387 112.022126588235 + 457846.478436549 5439090.2218145 112.022126588235 + 457846.479235883 5439090.22171105 112.021266823529 + 457846.479235883 5439090.24480732 112.021266823529 + 457846.478436549 5439090.24470387 112.022126588235 + + + + + + + + + 457846.472609926 5439090.26683915 112.022126588235 + 457846.478436549 5439090.24470387 112.022126588235 + 457846.479235883 5439090.24480732 112.021266823529 + 457846.473356592 5439090.26714269 112.021266823529 + 457846.472609926 5439090.26683915 112.022126588235 + + + + + + + + + 457846.461340598 5439090.28676185 112.022126588235 + 457846.472609926 5439090.26683915 112.022126588235 + 457846.473356592 5439090.26714269 112.021266823529 + 457846.461985398 5439090.28724547 112.021266823529 + 457846.461340598 5439090.28676185 112.022126588235 + + + + + + + + + 457846.473356592 5439090.19937569 112.021266823529 + 457846.461985398 5439090.1792729 112.021266823529 + 457846.462740598 5439090.17870648 112.020558258824 + 457846.474231099 5439090.19902018 112.020558258824 + 457846.473356592 5439090.19937569 112.021266823529 + + + + + + + + + 457846.479235883 5439090.22171105 112.021266823529 + 457846.473356592 5439090.19937569 112.021266823529 + 457846.474231099 5439090.19902018 112.020558258824 + 457846.480172076 5439090.22158989 112.020558258824 + 457846.479235883 5439090.22171105 112.021266823529 + + + + + + + + + 457846.479235883 5439090.24480732 112.021266823529 + 457846.479235883 5439090.22171105 112.021266823529 + 457846.480172076 5439090.22158989 112.020558258824 + 457846.480172076 5439090.24492849 112.020558258824 + 457846.479235883 5439090.24480732 112.021266823529 + + + + + + + + + 457846.473356592 5439090.26714269 112.021266823529 + 457846.479235883 5439090.24480732 112.021266823529 + 457846.480172076 5439090.24492849 112.020558258824 + 457846.474231099 5439090.2674982 112.020558258824 + 457846.473356592 5439090.26714269 112.021266823529 + + + + + + + + + 457846.461985398 5439090.28724547 112.021266823529 + 457846.473356592 5439090.26714269 112.021266823529 + 457846.474231099 5439090.2674982 112.020558258824 + 457846.462740598 5439090.2878119 112.020558258824 + 457846.461985398 5439090.28724547 112.021266823529 + + + + + + + + + 457846.474231099 5439090.19902018 112.020558258824 + 457846.462740598 5439090.17870648 112.020558258824 + 457846.463584598 5439090.17807345 112.020022635294 + 457846.475208435 5439090.19862287 112.020022635294 + 457846.474231099 5439090.19902018 112.020558258824 + + + + + + + + + 457846.480172076 5439090.22158989 112.020558258824 + 457846.474231099 5439090.19902018 112.020558258824 + 457846.475208435 5439090.19862287 112.020022635294 + 457846.48121835 5439090.22145448 112.020022635294 + 457846.480172076 5439090.22158989 112.020558258824 + + + + + + + + + 457846.480172076 5439090.24492849 112.020558258824 + 457846.480172076 5439090.22158989 112.020558258824 + 457846.48121835 5439090.22145448 112.020022635294 + 457846.48121835 5439090.2450639 112.020022635294 + 457846.480172076 5439090.24492849 112.020558258824 + + + + + + + + + 457846.474231099 5439090.2674982 112.020558258824 + 457846.480172076 5439090.24492849 112.020558258824 + 457846.48121835 5439090.2450639 112.020022635294 + 457846.475208435 5439090.2678955 112.020022635294 + 457846.474231099 5439090.2674982 112.020558258824 + + + + + + + + + 457846.462740598 5439090.2878119 112.020558258824 + 457846.474231099 5439090.2674982 112.020558258824 + 457846.475208435 5439090.2678955 112.020022635294 + 457846.463584598 5439090.28844493 112.020022635294 + 457846.462740598 5439090.2878119 112.020558258824 + + + + + + + + + 457846.475208435 5439090.19862287 112.020022635294 + 457846.463584598 5439090.17807345 112.020022635294 + 457846.464490998 5439090.17739362 112.019675764706 + 457846.476258029 5439090.19819619 112.019675764706 + 457846.475208435 5439090.19862287 112.020022635294 + + + + + + + + + 457846.48121835 5439090.22145448 112.020022635294 + 457846.475208435 5439090.19862287 112.020022635294 + 457846.476258029 5439090.19819619 112.019675764706 + 457846.48234198 5439090.22130906 112.019675764706 + 457846.48121835 5439090.22145448 112.020022635294 + + + + + + + + + 457846.48121835 5439090.2450639 112.020022635294 + 457846.48121835 5439090.22145448 112.020022635294 + 457846.48234198 5439090.22130906 112.019675764706 + 457846.48234198 5439090.24520932 112.019675764706 + 457846.48121835 5439090.2450639 112.020022635294 + + + + + + + + + 457846.475208435 5439090.2678955 112.020022635294 + 457846.48121835 5439090.2450639 112.020022635294 + 457846.48234198 5439090.24520932 112.019675764706 + 457846.476258029 5439090.26832219 112.019675764706 + 457846.475208435 5439090.2678955 112.020022635294 + + + + + + + + + 457846.463584598 5439090.28844493 112.020022635294 + 457846.475208435 5439090.2678955 112.020022635294 + 457846.476258029 5439090.26832219 112.019675764706 + 457846.464490998 5439090.28912476 112.019675764706 + 457846.463584598 5439090.28844493 112.020022635294 + + + + + + + + + 457846.476258029 5439090.19819619 112.019675764706 + 457846.464490998 5439090.17739362 112.019675764706 + 457846.464961398 5439090.1770408 112.019602635294 + 457846.476802743 5439090.19797475 112.019602635294 + 457846.476258029 5439090.19819619 112.019675764706 + + + + + + + + + 457846.48234198 5439090.22130906 112.019675764706 + 457846.476258029 5439090.19819619 112.019675764706 + 457846.476802743 5439090.19797475 112.019602635294 + 457846.482925117 5439090.22123358 112.019602635294 + 457846.48234198 5439090.22130906 112.019675764706 + + + + + + + + + 457846.48234198 5439090.24520932 112.019675764706 + 457846.48234198 5439090.22130906 112.019675764706 + 457846.482925117 5439090.22123358 112.019602635294 + 457846.482925117 5439090.24528479 112.019602635294 + 457846.48234198 5439090.24520932 112.019675764706 + + + + + + + + + 457846.476258029 5439090.26832219 112.019675764706 + 457846.48234198 5439090.24520932 112.019675764706 + 457846.482925117 5439090.24528479 112.019602635294 + 457846.476802743 5439090.26854363 112.019602635294 + 457846.476258029 5439090.26832219 112.019675764706 + + + + + + + + + 457846.464490998 5439090.28912476 112.019675764706 + 457846.476258029 5439090.26832219 112.019675764706 + 457846.476802743 5439090.26854363 112.019602635294 + 457846.464961398 5439090.28947757 112.019602635294 + 457846.464490998 5439090.28912476 112.019675764706 + + + + + + + + + 457846.476802743 5439090.19797475 112.019602635294 + 457846.464961398 5439090.1770408 112.019602635294 + 457846.465474998 5439090.17665558 112.019467247059 + 457846.477397482 5439090.19773297 112.019467247059 + 457846.476802743 5439090.19797475 112.019602635294 + + + + + + + + + 457846.482925117 5439090.22123358 112.019602635294 + 457846.476802743 5439090.19797475 112.019602635294 + 457846.477397482 5439090.19773297 112.019467247059 + 457846.483561807 5439090.22115118 112.019467247059 + 457846.482925117 5439090.22123358 112.019602635294 + + + + + + + + + 457846.482925117 5439090.24528479 112.019602635294 + 457846.482925117 5439090.22123358 112.019602635294 + 457846.483561807 5439090.22115118 112.019467247059 + 457846.483561807 5439090.24536719 112.019467247059 + 457846.482925117 5439090.24528479 112.019602635294 + + + + + + + + + 457846.476802743 5439090.26854363 112.019602635294 + 457846.482925117 5439090.24528479 112.019602635294 + 457846.483561807 5439090.24536719 112.019467247059 + 457846.477397482 5439090.2687854 112.019467247059 + 457846.476802743 5439090.26854363 112.019602635294 + + + + + + + + + 457846.464961398 5439090.28947757 112.019602635294 + 457846.476802743 5439090.26854363 112.019602635294 + 457846.477397482 5439090.2687854 112.019467247059 + 457846.465474998 5439090.28986279 112.019467247059 + 457846.464961398 5439090.28947757 112.019602635294 + + + + + + + + + 457846.477397482 5439090.19773297 112.019467247059 + 457846.465474998 5439090.17665558 112.019467247059 + 457846.466448598 5439090.17592535 112.018982023529 + 457846.478524891 5439090.19727466 112.018982023529 + 457846.477397482 5439090.19773297 112.019467247059 + + + + + + + + + 457846.483561807 5439090.22115118 112.019467247059 + 457846.477397482 5439090.19773297 112.019467247059 + 457846.478524891 5439090.19727466 112.018982023529 + 457846.484768742 5439090.22099498 112.018982023529 + 457846.483561807 5439090.22115118 112.019467247059 + + + + + + + + + 457846.483561807 5439090.24536719 112.019467247059 + 457846.483561807 5439090.22115118 112.019467247059 + 457846.484768742 5439090.22099498 112.018982023529 + 457846.484768742 5439090.24552339 112.018982023529 + 457846.483561807 5439090.24536719 112.019467247059 + + + + + + + + + 457846.477397482 5439090.2687854 112.019467247059 + 457846.483561807 5439090.24536719 112.019467247059 + 457846.484768742 5439090.24552339 112.018982023529 + 457846.478524891 5439090.26924372 112.018982023529 + 457846.477397482 5439090.2687854 112.019467247059 + + + + + + + + + 457846.465474998 5439090.28986279 112.019467247059 + 457846.477397482 5439090.2687854 112.019467247059 + 457846.478524891 5439090.26924372 112.018982023529 + 457846.466448598 5439090.29059302 112.018982023529 + 457846.465474998 5439090.28986279 112.019467247059 + + + + + + + + + 457846.478524891 5439090.19727466 112.018982023529 + 457846.466448598 5439090.17592535 112.018982023529 + 457846.467338198 5439090.17525812 112.018294211765 + 457846.479555031 5439090.19685588 112.018294211765 + 457846.478524891 5439090.19727466 112.018982023529 + + + + + + + + + 457846.484768742 5439090.22099498 112.018982023529 + 457846.478524891 5439090.19727466 112.018982023529 + 457846.479555031 5439090.19685588 112.018294211765 + 457846.485871545 5439090.22085225 112.018294211765 + 457846.484768742 5439090.22099498 112.018982023529 + + + + + + + + + 457846.484768742 5439090.24552339 112.018982023529 + 457846.484768742 5439090.22099498 112.018982023529 + 457846.485871545 5439090.22085225 112.018294211765 + 457846.485871545 5439090.24566612 112.018294211765 + 457846.484768742 5439090.24552339 112.018982023529 + + + + + + + + + 457846.478524891 5439090.26924372 112.018982023529 + 457846.484768742 5439090.24552339 112.018982023529 + 457846.485871545 5439090.24566612 112.018294211765 + 457846.479555031 5439090.26966249 112.018294211765 + 457846.478524891 5439090.26924372 112.018982023529 + + + + + + + + + 457846.466448598 5439090.29059302 112.018982023529 + 457846.478524891 5439090.26924372 112.018982023529 + 457846.479555031 5439090.26966249 112.018294211765 + 457846.467338198 5439090.29126026 112.018294211765 + 457846.466448598 5439090.29059302 112.018982023529 + + + + + + + + + 457846.479555031 5439090.19685588 112.018294211765 + 457846.467338198 5439090.17525812 112.018294211765 + 457846.468118998 5439090.17467249 112.017426541176 + 457846.480459182 5439090.19648832 112.017426541176 + 457846.479555031 5439090.19685588 112.018294211765 + + + + + + + + + 457846.485871545 5439090.22085225 112.018294211765 + 457846.479555031 5439090.19685588 112.018294211765 + 457846.480459182 5439090.19648832 112.017426541176 + 457846.486839473 5439090.22072698 112.017426541176 + 457846.485871545 5439090.22085225 112.018294211765 + + + + + + + + + 457846.485871545 5439090.24566612 112.018294211765 + 457846.485871545 5439090.22085225 112.018294211765 + 457846.486839473 5439090.22072698 112.017426541176 + 457846.486839473 5439090.24579139 112.017426541176 + 457846.485871545 5439090.24566612 112.018294211765 + + + + + + + + + 457846.479555031 5439090.26966249 112.018294211765 + 457846.485871545 5439090.24566612 112.018294211765 + 457846.486839473 5439090.24579139 112.017426541176 + 457846.480459182 5439090.27003005 112.017426541176 + 457846.479555031 5439090.26966249 112.018294211765 + + + + + + + + + 457846.467338198 5439090.29126026 112.018294211765 + 457846.479555031 5439090.26966249 112.018294211765 + 457846.480459182 5439090.27003005 112.017426541176 + 457846.468118998 5439090.29184588 112.017426541176 + 457846.467338198 5439090.29126026 112.018294211765 + + + + + + + + + 457846.480459182 5439090.19648832 112.017426541176 + 457846.468118998 5439090.17467249 112.017426541176 + 457846.468764598 5439090.17418827 112.016404705882 + 457846.481206775 5439090.19618441 112.016404705882 + 457846.480459182 5439090.19648832 112.017426541176 + + + + + + + + + 457846.486839473 5439090.22072698 112.017426541176 + 457846.480459182 5439090.19648832 112.017426541176 + 457846.481206775 5439090.19618441 112.016404705882 + 457846.487639799 5439090.2206234 112.016404705882 + 457846.486839473 5439090.22072698 112.017426541176 + + + + + + + + + 457846.486839473 5439090.24579139 112.017426541176 + 457846.486839473 5439090.22072698 112.017426541176 + 457846.487639799 5439090.2206234 112.016404705882 + 457846.487639799 5439090.24589497 112.016404705882 + 457846.486839473 5439090.24579139 112.017426541176 + + + + + + + + + 457846.480459182 5439090.27003005 112.017426541176 + 457846.486839473 5439090.24579139 112.017426541176 + 457846.487639799 5439090.24589497 112.016404705882 + 457846.481206775 5439090.27033397 112.016404705882 + 457846.480459182 5439090.27003005 112.017426541176 + + + + + + + + + 457846.468118998 5439090.29184588 112.017426541176 + 457846.480459182 5439090.27003005 112.017426541176 + 457846.481206775 5439090.27033397 112.016404705882 + 457846.468764598 5439090.2923301 112.016404705882 + 457846.468118998 5439090.29184588 112.017426541176 + + + + + + + + + 457846.481206775 5439090.19618441 112.016404705882 + 457846.468764598 5439090.17418827 112.016404705882 + 457846.469257398 5439090.17381865 112.015259341176 + 457846.481777427 5439090.19595242 112.015259341176 + 457846.481206775 5439090.19618441 112.016404705882 + + + + + + + + + 457846.487639799 5439090.2206234 112.016404705882 + 457846.481206775 5439090.19618441 112.016404705882 + 457846.481777427 5439090.19595242 112.015259341176 + 457846.488250704 5439090.22054434 112.015259341176 + 457846.487639799 5439090.2206234 112.016404705882 + + + + + + + + + 457846.487639799 5439090.24589497 112.016404705882 + 457846.487639799 5439090.2206234 112.016404705882 + 457846.488250704 5439090.22054434 112.015259341176 + 457846.488250704 5439090.24597404 112.015259341176 + 457846.487639799 5439090.24589497 112.016404705882 + + + + + + + + + 457846.481206775 5439090.27033397 112.016404705882 + 457846.487639799 5439090.24589497 112.016404705882 + 457846.488250704 5439090.24597404 112.015259341176 + 457846.481777427 5439090.27056595 112.015259341176 + 457846.481206775 5439090.27033397 112.016404705882 + + + + + + + + + 457846.468764598 5439090.2923301 112.016404705882 + 457846.481206775 5439090.27033397 112.016404705882 + 457846.481777427 5439090.27056595 112.015259341176 + 457846.469257398 5439090.29269972 112.015259341176 + 457846.468764598 5439090.2923301 112.016404705882 + + + + + + + + + 457846.481777427 5439090.19595242 112.015259341176 + 457846.469257398 5439090.17381865 112.015259341176 + 457846.469582198 5439090.17357504 112.014026023529 + 457846.48215354 5439090.19579953 112.014026023529 + 457846.481777427 5439090.19595242 112.015259341176 + + + + + + + + + 457846.488250704 5439090.22054434 112.015259341176 + 457846.481777427 5439090.19595242 112.015259341176 + 457846.48215354 5439090.19579953 112.014026023529 + 457846.488653347 5439090.22049223 112.014026023529 + 457846.488250704 5439090.22054434 112.015259341176 + + + + + + + + + 457846.488250704 5439090.24597404 112.015259341176 + 457846.488250704 5439090.22054434 112.015259341176 + 457846.488653347 5439090.22049223 112.014026023529 + 457846.488653347 5439090.24602615 112.014026023529 + 457846.488250704 5439090.24597404 112.015259341176 + + + + + + + + + 457846.481777427 5439090.27056595 112.015259341176 + 457846.488250704 5439090.24597404 112.015259341176 + 457846.488653347 5439090.24602615 112.014026023529 + 457846.48215354 5439090.27071885 112.014026023529 + 457846.481777427 5439090.27056595 112.015259341176 + + + + + + + + + 457846.469257398 5439090.29269972 112.015259341176 + 457846.481777427 5439090.27056595 112.015259341176 + 457846.48215354 5439090.27071885 112.014026023529 + 457846.469582198 5439090.29294333 112.014026023529 + 457846.469257398 5439090.29269972 112.015259341176 + + + + + + + + + 457846.48215354 5439090.19579953 112.014026023529 + 457846.469582198 5439090.17357504 112.014026023529 + 457846.469652598 5439090.17352224 112.013403435294 + 457846.482235061 5439090.19576639 112.013403435294 + 457846.48215354 5439090.19579953 112.014026023529 + + + + + + + + + 457846.488653347 5439090.22049223 112.014026023529 + 457846.48215354 5439090.19579953 112.014026023529 + 457846.482235061 5439090.19576639 112.013403435294 + 457846.488740619 5439090.22048093 112.013403435294 + 457846.488653347 5439090.22049223 112.014026023529 + + + + + + + + + 457846.488653347 5439090.24602615 112.014026023529 + 457846.488653347 5439090.22049223 112.014026023529 + 457846.488740619 5439090.22048093 112.013403435294 + 457846.488740619 5439090.24603744 112.013403435294 + 457846.488653347 5439090.24602615 112.014026023529 + + + + + + + + + 457846.48215354 5439090.27071885 112.014026023529 + 457846.488653347 5439090.24602615 112.014026023529 + 457846.488740619 5439090.24603744 112.013403435294 + 457846.482235061 5439090.27075199 112.013403435294 + 457846.48215354 5439090.27071885 112.014026023529 + + + + + + + + + 457846.469582198 5439090.29294333 112.014026023529 + 457846.48215354 5439090.27071885 112.014026023529 + 457846.482235061 5439090.27075199 112.013403435294 + 457846.469652598 5439090.29299614 112.013403435294 + 457846.469582198 5439090.29294333 112.014026023529 + + + + + + + + + 457846.482235061 5439090.19576639 112.013403435294 + 457846.469652598 5439090.17352224 112.013403435294 + 457846.471206998 5439090.17235639 112 + 457846.484035026 5439090.19503466 112 + 457846.482235061 5439090.19576639 112.013403435294 + + + + + + + + + 457846.488740619 5439090.22048093 112.013403435294 + 457846.482235061 5439090.19576639 112.013403435294 + 457846.484035026 5439090.19503466 112 + 457846.490667549 5439090.22023155 112 + 457846.488740619 5439090.22048093 112.013403435294 + + + + + + + + + 457846.488740619 5439090.24603744 112.013403435294 + 457846.488740619 5439090.22048093 112.013403435294 + 457846.490667549 5439090.22023155 112 + 457846.490667549 5439090.24628683 112 + 457846.488740619 5439090.24603744 112.013403435294 + + + + + + + + + 457846.482235061 5439090.27075199 112.013403435294 + 457846.488740619 5439090.24603744 112.013403435294 + 457846.490667549 5439090.24628683 112 + 457846.484035026 5439090.27148371 112 + 457846.482235061 5439090.27075199 112.013403435294 + + + + + + + + + 457846.469652598 5439090.29299614 112.013403435294 + 457846.482235061 5439090.27075199 112.013403435294 + 457846.484035026 5439090.27148371 112 + 457846.471206998 5439090.29416199 112 + 457846.469652598 5439090.29299614 112.013403435294 + + + + + + + + + 457846.484035026 5439090.19503466 112 + 457846.471206998 5439090.17235639 112 + 457846.420007 5439090.21075815 112 + 457846.402007 5439090.22425877 112 + 457846.403902767 5439090.22761024 112 + 457846.484035026 5439090.19503466 112 + + + + + + + + + 457846.490667549 5439090.22023155 112 + 457846.484035026 5439090.19503466 112 + 457846.403902767 5439090.22761024 112 + 457846.404882943 5439090.23133392 112 + 457846.490667549 5439090.22023155 112 + + + + + + + + + 457846.490667549 5439090.24628683 112 + 457846.490667549 5439090.22023155 112 + 457846.404882943 5439090.23133392 112 + 457846.404882943 5439090.23518445 112 + 457846.490667549 5439090.24628683 112 + + + + + + + + + 457846.484035026 5439090.27148371 112 + 457846.490667549 5439090.24628683 112 + 457846.404882943 5439090.23518445 112 + 457846.403902767 5439090.23890813 112 + 457846.484035026 5439090.27148371 112 + + + + + + + + + 457846.471206998 5439090.29416199 112 + 457846.484035026 5439090.27148371 112 + 457846.403902767 5439090.23890813 112 + 457846.402007 5439090.2422596 112 + 457846.420007 5439090.25576022 112 + 457846.471206998 5439090.29416199 112 + + + + + + + + + 457846.402007 5439090.2422596 112 + 457846.403902767 5439090.23890813 112 + 457846.404882943 5439090.23518445 112 + 457846.404882943 5439090.23133392 112 + 457846.402007 5439090.2422596 112 + + + + + + + + + 457846.402007 5439090.2422596 112 + 457846.404882943 5439090.23133392 112 + 457846.403902767 5439090.22761024 112 + 457846.402007 5439090.22425877 112 + 457846.402007 5439090.2422596 112 + + + + + + + + + 457846.402007 5439090.2422596 112 + 457846.402007 5439090.22425877 112 + 457846.390007 5439090.23325919 112 + 457846.402007 5439090.2422596 112 + + + + + + + + + 457846.51970083 5439090.1805357 112.42 + 457846.502006997 5439090.14925532 112.42 + 457846.503056597 5439090.14846809 112.42 + 457846.520916246 5439090.18004161 112.42 + 457846.51970083 5439090.1805357 112.42 + + + + + + + + + 457846.528849137 5439090.21529003 112.42 + 457846.51970083 5439090.1805357 112.42 + 457846.520916246 5439090.18004161 112.42 + 457846.530150286 5439090.21512163 112.42 + 457846.528849137 5439090.21529003 112.42 + + + + + + + + + 457846.528849137 5439090.25122835 112.42 + 457846.528849137 5439090.21529003 112.42 + 457846.530150286 5439090.21512163 112.42 + 457846.530150286 5439090.25139674 112.42 + 457846.528849137 5439090.25122835 112.42 + + + + + + + + + 457846.51970083 5439090.28598267 112.42 + 457846.528849137 5439090.25122835 112.42 + 457846.530150286 5439090.25139674 112.42 + 457846.520916246 5439090.28647677 112.42 + 457846.51970083 5439090.28598267 112.42 + + + + + + + + + 457846.502006997 5439090.31726305 112.42 + 457846.51970083 5439090.28598267 112.42 + 457846.520916246 5439090.28647677 112.42 + 457846.503056597 5439090.31805029 112.42 + 457846.502006997 5439090.31726305 112.42 + + + + + + + + + 457846.520916246 5439090.18004161 112.42 + 457846.503056597 5439090.14846809 112.42 + 457846.505124596 5439090.14691702 112.419549364706 + 457846.52331095 5439090.17906811 112.419549364706 + 457846.520916246 5439090.18004161 112.42 + + + + + + + + + 457846.530150286 5439090.21512163 112.42 + 457846.520916246 5439090.18004161 112.42 + 457846.52331095 5439090.17906811 112.419549364706 + 457846.532713907 5439090.21478985 112.419549364706 + 457846.530150286 5439090.21512163 112.42 + + + + + + + + + 457846.530150286 5439090.25139674 112.42 + 457846.530150286 5439090.21512163 112.42 + 457846.532713907 5439090.21478985 112.419549364706 + 457846.532713907 5439090.25172853 112.419549364706 + 457846.530150286 5439090.25139674 112.42 + + + + + + + + + 457846.520916246 5439090.28647677 112.42 + 457846.530150286 5439090.25139674 112.42 + 457846.532713907 5439090.25172853 112.419549364706 + 457846.52331095 5439090.28745027 112.419549364706 + 457846.520916246 5439090.28647677 112.42 + + + + + + + + + 457846.503056597 5439090.31805029 112.42 + 457846.520916246 5439090.28647677 112.42 + 457846.52331095 5439090.28745027 112.419549364706 + 457846.505124596 5439090.31960136 112.419549364706 + 457846.503056597 5439090.31805029 112.42 + + + + + + + + + 457846.52331095 5439090.17906811 112.419549364706 + 457846.505124596 5439090.14691702 112.419549364706 + 457846.507097396 5439090.14543735 112.418662917647 + 457846.525595414 5439090.17813942 112.418662917647 + 457846.52331095 5439090.17906811 112.419549364706 + + + + + + + + + 457846.532713907 5439090.21478985 112.419549364706 + 457846.52331095 5439090.17906811 112.419549364706 + 457846.525595414 5439090.17813942 112.418662917647 + 457846.535159512 5439090.21447333 112.418662917647 + 457846.532713907 5439090.21478985 112.419549364706 + + + + + + + + + 457846.532713907 5439090.25172853 112.419549364706 + 457846.532713907 5439090.21478985 112.419549364706 + 457846.535159512 5439090.21447333 112.418662917647 + 457846.535159512 5439090.25204504 112.418662917647 + 457846.532713907 5439090.25172853 112.419549364706 + + + + + + + + + 457846.52331095 5439090.28745027 112.419549364706 + 457846.532713907 5439090.25172853 112.419549364706 + 457846.535159512 5439090.25204504 112.418662917647 + 457846.525595414 5439090.28837896 112.418662917647 + 457846.52331095 5439090.28745027 112.419549364706 + + + + + + + + + 457846.505124596 5439090.31960136 112.419549364706 + 457846.52331095 5439090.28745027 112.419549364706 + 457846.525595414 5439090.28837896 112.418662917647 + 457846.507097396 5439090.32108103 112.418662917647 + 457846.505124596 5439090.31960136 112.419549364706 + + + + + + + + + 457846.525595414 5439090.17813942 112.418662917647 + 457846.507097396 5439090.14543735 112.418662917647 + 457846.508916596 5439090.14407288 112.417365364706 + 457846.527702013 5439090.17728304 112.417365364706 + 457846.525595414 5439090.17813942 112.418662917647 + + + + + + + + + 457846.535159512 5439090.21447333 112.418662917647 + 457846.525595414 5439090.17813942 112.418662917647 + 457846.527702013 5439090.17728304 112.417365364706 + 457846.537414705 5439090.21418146 112.417365364706 + 457846.535159512 5439090.21447333 112.418662917647 + + + + + + + + + 457846.535159512 5439090.25204504 112.418662917647 + 457846.535159512 5439090.21447333 112.418662917647 + 457846.537414705 5439090.21418146 112.417365364706 + 457846.537414705 5439090.25233691 112.417365364706 + 457846.535159512 5439090.25204504 112.418662917647 + + + + + + + + + 457846.525595414 5439090.28837896 112.418662917647 + 457846.535159512 5439090.25204504 112.418662917647 + 457846.537414705 5439090.25233691 112.417365364706 + 457846.527702013 5439090.28923534 112.417365364706 + 457846.525595414 5439090.28837896 112.418662917647 + + + + + + + + + 457846.507097396 5439090.32108103 112.418662917647 + 457846.525595414 5439090.28837896 112.418662917647 + 457846.527702013 5439090.28923534 112.417365364706 + 457846.508916596 5439090.32244549 112.417365364706 + 457846.507097396 5439090.32108103 112.418662917647 + + + + + + + + + 457846.527702013 5439090.17728304 112.417365364706 + 457846.508916596 5439090.14407288 112.417365364706 + 457846.510524596 5439090.14286683 112.415698211765 + 457846.529564045 5439090.17652608 112.415698211765 + 457846.527702013 5439090.17728304 112.417365364706 + + + + + + + + + 457846.537414705 5439090.21418146 112.417365364706 + 457846.527702013 5439090.17728304 112.417365364706 + 457846.529564045 5439090.17652608 112.415698211765 + 457846.539408082 5439090.21392347 112.415698211765 + 457846.537414705 5439090.21418146 112.417365364706 + + + + + + + + + 457846.537414705 5439090.25233691 112.417365364706 + 457846.537414705 5439090.21418146 112.417365364706 + 457846.539408082 5439090.21392347 112.415698211765 + 457846.539408082 5439090.2525949 112.415698211765 + 457846.537414705 5439090.25233691 112.417365364706 + + + + + + + + + 457846.527702013 5439090.28923534 112.417365364706 + 457846.537414705 5439090.25233691 112.417365364706 + 457846.539408082 5439090.2525949 112.415698211765 + 457846.529564045 5439090.28999229 112.415698211765 + 457846.527702013 5439090.28923534 112.417365364706 + + + + + + + + + 457846.508916596 5439090.32244549 112.417365364706 + 457846.527702013 5439090.28923534 112.417365364706 + 457846.529564045 5439090.28999229 112.415698211765 + 457846.510524596 5439090.32365154 112.415698211765 + 457846.508916596 5439090.32244549 112.417365364706 + + + + + + + + + 457846.529564045 5439090.17652608 112.415698211765 + 457846.510524596 5439090.14286683 112.415698211765 + 457846.511874196 5439090.14185458 112.413711858824 + 457846.531126856 5439090.17589076 112.413711858824 + 457846.529564045 5439090.17652608 112.415698211765 + + + + + + + + + 457846.539408082 5439090.21392347 112.415698211765 + 457846.529564045 5439090.17652608 112.415698211765 + 457846.531126856 5439090.17589076 112.413711858824 + 457846.541081129 5439090.21370695 112.413711858824 + 457846.539408082 5439090.21392347 112.415698211765 + + + + + + + + + 457846.539408082 5439090.2525949 112.415698211765 + 457846.539408082 5439090.21392347 112.415698211765 + 457846.541081129 5439090.21370695 112.413711858824 + 457846.541081129 5439090.25281143 112.413711858824 + 457846.539408082 5439090.2525949 112.415698211765 + + + + + + + + + 457846.529564045 5439090.28999229 112.415698211765 + 457846.539408082 5439090.2525949 112.415698211765 + 457846.541081129 5439090.25281143 112.413711858824 + 457846.531126856 5439090.29062761 112.413711858824 + 457846.529564045 5439090.28999229 112.415698211765 + + + + + + + + + 457846.510524596 5439090.32365154 112.415698211765 + 457846.529564045 5439090.28999229 112.415698211765 + 457846.531126856 5439090.29062761 112.413711858824 + 457846.511874196 5439090.32466379 112.413711858824 + 457846.510524596 5439090.32365154 112.415698211765 + + + + + + + + + 457846.531126856 5439090.17589076 112.413711858824 + 457846.511874196 5439090.14185458 112.413711858824 + 457846.512924596 5439090.14106675 112.411464611765 + 457846.532343199 5439090.17539629 112.411464611765 + 457846.531126856 5439090.17589076 112.413711858824 + + + + + + + + + 457846.541081129 5439090.21370695 112.413711858824 + 457846.531126856 5439090.17589076 112.413711858824 + 457846.532343199 5439090.17539629 112.411464611765 + 457846.54238327 5439090.21353842 112.411464611765 + 457846.541081129 5439090.21370695 112.413711858824 + + + + + + + + + 457846.541081129 5439090.25281143 112.413711858824 + 457846.541081129 5439090.21370695 112.413711858824 + 457846.54238327 5439090.21353842 112.411464611765 + 457846.54238327 5439090.25297995 112.411464611765 + 457846.541081129 5439090.25281143 112.413711858824 + + + + + + + + + 457846.531126856 5439090.29062761 112.413711858824 + 457846.541081129 5439090.25281143 112.413711858824 + 457846.54238327 5439090.25297995 112.411464611765 + 457846.532343199 5439090.29112208 112.411464611765 + 457846.531126856 5439090.29062761 112.413711858824 + + + + + + + + + 457846.511874196 5439090.32466379 112.413711858824 + 457846.531126856 5439090.29062761 112.413711858824 + 457846.532343199 5439090.29112208 112.411464611765 + 457846.512924596 5439090.32545163 112.411464611765 + 457846.511874196 5439090.32466379 112.413711858824 + + + + + + + + + 457846.532343199 5439090.17539629 112.411464611765 + 457846.512924596 5439090.14106675 112.411464611765 + 457846.513642196 5439090.14052852 112.409027623529 + 457846.533174166 5439090.17505848 112.409027623529 + 457846.532343199 5439090.17539629 112.411464611765 + + + + + + + + + 457846.54238327 5439090.21353842 112.411464611765 + 457846.532343199 5439090.17539629 112.411464611765 + 457846.533174166 5439090.17505848 112.409027623529 + 457846.543272852 5439090.21342329 112.409027623529 + 457846.54238327 5439090.21353842 112.411464611765 + + + + + + + + + 457846.54238327 5439090.25297995 112.411464611765 + 457846.54238327 5439090.21353842 112.411464611765 + 457846.543272852 5439090.21342329 112.409027623529 + 457846.543272852 5439090.25309508 112.409027623529 + 457846.54238327 5439090.25297995 112.411464611765 + + + + + + + + + 457846.532343199 5439090.29112208 112.411464611765 + 457846.54238327 5439090.25297995 112.411464611765 + 457846.543272852 5439090.25309508 112.409027623529 + 457846.533174166 5439090.29145989 112.409027623529 + 457846.532343199 5439090.29112208 112.411464611765 + + + + + + + + + 457846.512924596 5439090.32545163 112.411464611765 + 457846.532343199 5439090.29112208 112.411464611765 + 457846.533174166 5439090.29145989 112.409027623529 + 457846.513642196 5439090.32598985 112.409027623529 + 457846.512924596 5439090.32545163 112.411464611765 + + + + + + + + + 457846.533174166 5439090.17505848 112.409027623529 + 457846.513642196 5439090.14052852 112.409027623529 + 457846.514006996 5439090.14025491 112.406473035294 + 457846.533596597 5439090.17488676 112.406473035294 + 457846.533174166 5439090.17505848 112.409027623529 + + + + + + + + + 457846.543272852 5439090.21342329 112.409027623529 + 457846.533174166 5439090.17505848 112.409027623529 + 457846.533596597 5439090.17488676 112.406473035294 + 457846.54372508 5439090.21336476 112.406473035294 + 457846.543272852 5439090.21342329 112.409027623529 + + + + + + + + + 457846.543272852 5439090.25309508 112.409027623529 + 457846.543272852 5439090.21342329 112.409027623529 + 457846.54372508 5439090.21336476 112.406473035294 + 457846.54372508 5439090.25315361 112.406473035294 + 457846.543272852 5439090.25309508 112.409027623529 + + + + + + + + + 457846.533174166 5439090.29145989 112.409027623529 + 457846.543272852 5439090.25309508 112.409027623529 + 457846.54372508 5439090.25315361 112.406473035294 + 457846.533596597 5439090.29163162 112.406473035294 + 457846.533174166 5439090.29145989 112.409027623529 + + + + + + + + + 457846.513642196 5439090.32598985 112.409027623529 + 457846.533174166 5439090.29145989 112.409027623529 + 457846.533596597 5439090.29163162 112.406473035294 + 457846.514006996 5439090.32626347 112.406473035294 + 457846.513642196 5439090.32598985 112.409027623529 + + + + + + + + + 457846.533596597 5439090.17488676 112.406473035294 + 457846.514006996 5439090.14025491 112.406473035294 + 457846.514006996 5439090.14025491 112.405176470588 + 457846.533596597 5439090.17488676 112.405176470588 + 457846.533596597 5439090.17488676 112.406473035294 + + + + + + + + + 457846.54372508 5439090.21336476 112.406473035294 + 457846.533596597 5439090.17488676 112.406473035294 + 457846.533596597 5439090.17488676 112.405176470588 + 457846.54372508 5439090.21336476 112.405176470588 + 457846.54372508 5439090.21336476 112.406473035294 + + + + + + + + + 457846.54372508 5439090.25315361 112.406473035294 + 457846.54372508 5439090.21336476 112.406473035294 + 457846.54372508 5439090.21336476 112.405176470588 + 457846.54372508 5439090.25315361 112.405176470588 + 457846.54372508 5439090.25315361 112.406473035294 + + + + + + + + + 457846.533596597 5439090.29163162 112.406473035294 + 457846.54372508 5439090.25315361 112.406473035294 + 457846.54372508 5439090.25315361 112.405176470588 + 457846.533596597 5439090.29163162 112.405176470588 + 457846.533596597 5439090.29163162 112.406473035294 + + + + + + + + + 457846.514006996 5439090.32626347 112.406473035294 + 457846.533596597 5439090.29163162 112.406473035294 + 457846.533596597 5439090.29163162 112.405176470588 + 457846.514006996 5439090.32626347 112.405176470588 + 457846.514006996 5439090.32626347 112.406473035294 + + + + + + + + + 457846.533596597 5439090.17488676 112.405176470588 + 457846.514006996 5439090.14025491 112.405176470588 + 457846.514916596 5439090.13957268 112.405166588235 + 457846.534649896 5439090.17445857 112.405166588235 + 457846.533596597 5439090.17488676 112.405176470588 + + + + + + + + + 457846.54372508 5439090.21336476 112.405176470588 + 457846.533596597 5439090.17488676 112.405176470588 + 457846.534649896 5439090.17445857 112.405166588235 + 457846.544852677 5439090.21321883 112.405166588235 + 457846.54372508 5439090.21336476 112.405176470588 + + + + + + + + + 457846.54372508 5439090.25315361 112.405176470588 + 457846.54372508 5439090.21336476 112.405176470588 + 457846.544852677 5439090.21321883 112.405166588235 + 457846.544852677 5439090.25329955 112.405166588235 + 457846.54372508 5439090.25315361 112.405176470588 + + + + + + + + + 457846.533596597 5439090.29163162 112.405176470588 + 457846.54372508 5439090.25315361 112.405176470588 + 457846.544852677 5439090.25329955 112.405166588235 + 457846.534649896 5439090.29205981 112.405166588235 + 457846.533596597 5439090.29163162 112.405176470588 + + + + + + + + + 457846.514006996 5439090.32626347 112.405176470588 + 457846.533596597 5439090.29163162 112.405176470588 + 457846.534649896 5439090.29205981 112.405166588235 + 457846.514916596 5439090.3269457 112.405166588235 + 457846.514006996 5439090.32626347 112.405176470588 + + + + + + + + + 457846.534649896 5439090.17445857 112.405166588235 + 457846.514916596 5439090.13957268 112.405166588235 + 457846.516705396 5439090.13823102 112.404757458824 + 457846.536721292 5439090.1736165 112.404757458824 + 457846.534649896 5439090.17445857 112.405166588235 + + + + + + + + + 457846.544852677 5439090.21321883 112.405166588235 + 457846.534649896 5439090.17445857 112.405166588235 + 457846.536721292 5439090.1736165 112.404757458824 + 457846.547070184 5439090.21293183 112.404757458824 + 457846.544852677 5439090.21321883 112.405166588235 + + + + + + + + + 457846.544852677 5439090.25329955 112.405166588235 + 457846.544852677 5439090.21321883 112.405166588235 + 457846.547070184 5439090.21293183 112.404757458824 + 457846.547070184 5439090.25358654 112.404757458824 + 457846.544852677 5439090.25329955 112.405166588235 + + + + + + + + + 457846.534649896 5439090.29205981 112.405166588235 + 457846.544852677 5439090.25329955 112.405166588235 + 457846.547070184 5439090.25358654 112.404757458824 + 457846.536721292 5439090.29290188 112.404757458824 + 457846.534649896 5439090.29205981 112.405166588235 + + + + + + + + + 457846.514916596 5439090.3269457 112.405166588235 + 457846.534649896 5439090.29205981 112.405166588235 + 457846.536721292 5439090.29290188 112.404757458824 + 457846.516705396 5439090.32828736 112.404757458824 + 457846.514916596 5439090.3269457 112.405166588235 + + + + + + + + + 457846.536721292 5439090.1736165 112.404757458824 + 457846.516705396 5439090.13823102 112.404757458824 + 457846.518409396 5439090.13695296 112.403969835294 + 457846.538694491 5439090.17281435 112.403969835294 + 457846.536721292 5439090.1736165 112.404757458824 + + + + + + + + + 457846.547070184 5439090.21293183 112.404757458824 + 457846.536721292 5439090.1736165 112.404757458824 + 457846.538694491 5439090.17281435 112.403969835294 + 457846.549182568 5439090.21265845 112.403969835294 + 457846.547070184 5439090.21293183 112.404757458824 + + + + + + + + + 457846.547070184 5439090.25358654 112.404757458824 + 457846.547070184 5439090.21293183 112.404757458824 + 457846.549182568 5439090.21265845 112.403969835294 + 457846.549182568 5439090.25385993 112.403969835294 + 457846.547070184 5439090.25358654 112.404757458824 + + + + + + + + + 457846.536721292 5439090.29290188 112.404757458824 + 457846.547070184 5439090.25358654 112.404757458824 + 457846.549182568 5439090.25385993 112.403969835294 + 457846.538694491 5439090.29370403 112.403969835294 + 457846.536721292 5439090.29290188 112.404757458824 + + + + + + + + + 457846.516705396 5439090.32828736 112.404757458824 + 457846.536721292 5439090.29290188 112.404757458824 + 457846.538694491 5439090.29370403 112.403969835294 + 457846.518409396 5439090.32956542 112.403969835294 + 457846.516705396 5439090.32828736 112.404757458824 + + + + + + + + + 457846.538694491 5439090.17281435 112.403969835294 + 457846.518409396 5439090.13695296 112.403969835294 + 457846.519976596 5439090.1357775 112.402829411765 + 457846.540509278 5439090.17207659 112.402829411765 + 457846.538694491 5439090.17281435 112.403969835294 + + + + + + + + + 457846.549182568 5439090.21265845 112.403969835294 + 457846.538694491 5439090.17281435 112.403969835294 + 457846.540509278 5439090.17207659 112.402829411765 + 457846.551125366 5439090.21240701 112.402829411765 + 457846.549182568 5439090.21265845 112.403969835294 + + + + + + + + + 457846.549182568 5439090.25385993 112.403969835294 + 457846.549182568 5439090.21265845 112.403969835294 + 457846.551125366 5439090.21240701 112.402829411765 + 457846.551125366 5439090.25411137 112.402829411765 + 457846.549182568 5439090.25385993 112.403969835294 + + + + + + + + + 457846.538694491 5439090.29370403 112.403969835294 + 457846.549182568 5439090.25385993 112.403969835294 + 457846.551125366 5439090.25411137 112.402829411765 + 457846.540509278 5439090.29444178 112.402829411765 + 457846.538694491 5439090.29370403 112.403969835294 + + + + + + + + + 457846.518409396 5439090.32956542 112.403969835294 + 457846.538694491 5439090.29370403 112.403969835294 + 457846.540509278 5439090.29444178 112.402829411765 + 457846.519976596 5439090.33074087 112.402829411765 + 457846.518409396 5439090.32956542 112.403969835294 + + + + + + + + + 457846.540509278 5439090.17207659 112.402829411765 + 457846.519976596 5439090.1357775 112.402829411765 + 457846.521359796 5439090.13474006 112.401369788235 + 457846.542110997 5439090.17142546 112.401369788235 + 457846.540509278 5439090.17207659 112.402829411765 + + + + + + + + + 457846.551125366 5439090.21240701 112.402829411765 + 457846.540509278 5439090.17207659 112.402829411765 + 457846.542110997 5439090.17142546 112.401369788235 + 457846.552840067 5439090.21218509 112.401369788235 + 457846.551125366 5439090.21240701 112.402829411765 + + + + + + + + + 457846.551125366 5439090.25411137 112.402829411765 + 457846.551125366 5439090.21240701 112.402829411765 + 457846.552840067 5439090.21218509 112.401369788235 + 457846.552840067 5439090.25433329 112.401369788235 + 457846.551125366 5439090.25411137 112.402829411765 + + + + + + + + + 457846.540509278 5439090.29444178 112.402829411765 + 457846.551125366 5439090.25411137 112.402829411765 + 457846.552840067 5439090.25433329 112.401369788235 + 457846.542110997 5439090.29509292 112.401369788235 + 457846.540509278 5439090.29444178 112.402829411765 + + + + + + + + + 457846.519976596 5439090.33074087 112.402829411765 + 457846.540509278 5439090.29444178 112.402829411765 + 457846.542110997 5439090.29509292 112.401369788235 + 457846.521359796 5439090.33177832 112.401369788235 + 457846.519976596 5439090.33074087 112.402829411765 + + + + + + + + + 457846.542110997 5439090.17142546 112.401369788235 + 457846.521359796 5439090.13474006 112.401369788235 + 457846.522238196 5439090.13408122 112.400031717647 + 457846.543128167 5439090.17101196 112.400031717647 + 457846.542110997 5439090.17142546 112.401369788235 + + + + + + + + + 457846.552840067 5439090.21218509 112.401369788235 + 457846.542110997 5439090.17142546 112.401369788235 + 457846.543128167 5439090.17101196 112.400031717647 + 457846.553928986 5439090.21204416 112.400031717647 + 457846.552840067 5439090.21218509 112.401369788235 + + + + + + + + + 457846.552840067 5439090.25433329 112.401369788235 + 457846.552840067 5439090.21218509 112.401369788235 + 457846.553928986 5439090.21204416 112.400031717647 + 457846.553928986 5439090.25447422 112.400031717647 + 457846.552840067 5439090.25433329 112.401369788235 + + + + + + + + + 457846.542110997 5439090.29509292 112.401369788235 + 457846.552840067 5439090.25433329 112.401369788235 + 457846.553928986 5439090.25447422 112.400031717647 + 457846.543128167 5439090.29550642 112.400031717647 + 457846.542110997 5439090.29509292 112.401369788235 + + + + + + + + + 457846.521359796 5439090.33177832 112.401369788235 + 457846.542110997 5439090.29509292 112.401369788235 + 457846.543128167 5439090.29550642 112.400031717647 + 457846.522238196 5439090.33243715 112.400031717647 + 457846.521359796 5439090.33177832 112.401369788235 + + + + + + + + + 457846.543128167 5439090.17101196 112.400031717647 + 457846.522238196 5439090.13408122 112.400031717647 + 457846.523632596 5439090.13303538 112.397531482353 + 457846.544742855 5439090.17035555 112.397531482353 + 457846.543128167 5439090.17101196 112.400031717647 + + + + + + + + + 457846.553928986 5439090.21204416 112.400031717647 + 457846.543128167 5439090.17101196 112.400031717647 + 457846.544742855 5439090.17035555 112.397531482353 + 457846.55565757 5439090.21182044 112.397531482353 + 457846.553928986 5439090.21204416 112.400031717647 + + + + + + + + + 457846.553928986 5439090.25447422 112.400031717647 + 457846.553928986 5439090.21204416 112.400031717647 + 457846.55565757 5439090.21182044 112.397531482353 + 457846.55565757 5439090.25469793 112.397531482353 + 457846.553928986 5439090.25447422 112.400031717647 + + + + + + + + + 457846.543128167 5439090.29550642 112.400031717647 + 457846.553928986 5439090.25447422 112.400031717647 + 457846.55565757 5439090.25469793 112.397531482353 + 457846.544742855 5439090.29616283 112.397531482353 + 457846.543128167 5439090.29550642 112.400031717647 + + + + + + + + + 457846.522238196 5439090.33243715 112.400031717647 + 457846.543128167 5439090.29550642 112.400031717647 + 457846.544742855 5439090.29616283 112.397531482353 + 457846.523632596 5439090.333483 112.397531482353 + 457846.522238196 5439090.33243715 112.400031717647 + + + + + + + + + 457846.544742855 5439090.17035555 112.397531482353 + 457846.523632596 5439090.13303538 112.397531482353 + 457846.525674996 5439090.13150351 112.392010211765 + 457846.547107915 5439090.1693941 112.392010211765 + 457846.544742855 5439090.17035555 112.397531482353 + + + + + + + + + 457846.55565757 5439090.21182044 112.397531482353 + 457846.544742855 5439090.17035555 112.397531482353 + 457846.547107915 5439090.1693941 112.392010211765 + 457846.558189456 5439090.21149276 112.392010211765 + 457846.55565757 5439090.21182044 112.397531482353 + + + + + + + + + 457846.55565757 5439090.25469793 112.397531482353 + 457846.55565757 5439090.21182044 112.397531482353 + 457846.558189456 5439090.21149276 112.392010211765 + 457846.558189456 5439090.25502561 112.392010211765 + 457846.55565757 5439090.25469793 112.397531482353 + + + + + + + + + 457846.544742855 5439090.29616283 112.397531482353 + 457846.55565757 5439090.25469793 112.397531482353 + 457846.558189456 5439090.25502561 112.392010211765 + 457846.547107915 5439090.29712428 112.392010211765 + 457846.544742855 5439090.29616283 112.397531482353 + + + + + + + + + 457846.523632596 5439090.333483 112.397531482353 + 457846.544742855 5439090.29616283 112.397531482353 + 457846.547107915 5439090.29712428 112.392010211765 + 457846.525674996 5439090.33501487 112.392010211765 + 457846.523632596 5439090.333483 112.397531482353 + + + + + + + + + 457846.547107915 5439090.1693941 112.392010211765 + 457846.525674996 5439090.13150351 112.392010211765 + 457846.525976596 5439090.1312773 112.390457694118 + 457846.547457162 5439090.16925212 112.390457694118 + 457846.547107915 5439090.1693941 112.392010211765 + + + + + + + + + 457846.558189456 5439090.21149276 112.392010211765 + 457846.547107915 5439090.1693941 112.392010211765 + 457846.547457162 5439090.16925212 112.390457694118 + 457846.558563338 5439090.21144437 112.390457694118 + 457846.558189456 5439090.21149276 112.392010211765 + + + + + + + + + 457846.558189456 5439090.25502561 112.392010211765 + 457846.558189456 5439090.21149276 112.392010211765 + 457846.558563338 5439090.21144437 112.390457694118 + 457846.558563338 5439090.255074 112.390457694118 + 457846.558189456 5439090.25502561 112.392010211765 + + + + + + + + + 457846.547107915 5439090.29712428 112.392010211765 + 457846.558189456 5439090.25502561 112.392010211765 + 457846.558563338 5439090.255074 112.390457694118 + 457846.547457162 5439090.29726625 112.390457694118 + 457846.547107915 5439090.29712428 112.392010211765 + + + + + + + + + 457846.525674996 5439090.33501487 112.392010211765 + 457846.547107915 5439090.29712428 112.392010211765 + 457846.547457162 5439090.29726625 112.390457694118 + 457846.525976596 5439090.33524108 112.390457694118 + 457846.525674996 5439090.33501487 112.392010211765 + + + + + + + + + 457846.450454085 5439090.0817763 112.390295623529 + 457846.420007 5439090.07823106 112.390295623529 + 457846.420007 5439090.07658699 112.385176564706 + 457846.420007 5439090.07657399 112.385146917647 + 457846.450834786 5439090.08016355 112.385146917647 + 457846.450454085 5439090.0817763 112.390295623529 + + + + + + + + + 457846.47927219 5439090.09222232 112.390295623529 + 457846.450454085 5439090.0817763 112.390295623529 + 457846.450834786 5439090.08016355 112.385146917647 + 457846.480013223 5439090.09074019 112.385146917647 + 457846.47927219 5439090.09222232 112.390295623529 + + + + + + + + + 457846.504919488 5439090.10901025 112.390295623529 + 457846.47927219 5439090.09222232 112.390295623529 + 457846.480013223 5439090.09074019 112.385146917647 + 457846.505981207 5439090.10773803 112.385146917647 + 457846.504919488 5439090.10901025 112.390295623529 + + + + + + + + + 457846.526023796 5439090.13124189 112.390295623529 + 457846.504919488 5439090.10901025 112.390295623529 + 457846.505981207 5439090.10773803 112.385146917647 + 457846.527349396 5439090.13024765 112.385146917647 + 457846.526023796 5439090.13124189 112.390295623529 + + + + + + + + + 457846.450834786 5439090.08016355 112.385146917647 + 457846.420007 5439090.07657399 112.385146917647 + 457846.420007 5439090.07380486 112.379928047059 + 457846.451470972 5439090.0774685 112.379928047059 + 457846.450834786 5439090.08016355 112.385146917647 + + + + + + + + + 457846.480013223 5439090.09074019 112.385146917647 + 457846.450834786 5439090.08016355 112.385146917647 + 457846.451470972 5439090.0774685 112.379928047059 + 457846.481251558 5439090.0882634 112.379928047059 + 457846.480013223 5439090.09074019 112.385146917647 + + + + + + + + + 457846.505981207 5439090.10773803 112.385146917647 + 457846.480013223 5439090.09074019 112.385146917647 + 457846.481251558 5439090.0882634 112.379928047059 + 457846.507755436 5439090.10561202 112.379928047059 + 457846.505981207 5439090.10773803 112.385146917647 + + + + + + + + + 457846.527349396 5439090.13024765 112.385146917647 + 457846.505981207 5439090.10773803 112.385146917647 + 457846.507755436 5439090.10561202 112.379928047059 + 457846.529564596 5439090.12858617 112.379928047059 + 457846.527349396 5439090.13024765 112.385146917647 + + + + + + + + + 457846.451470972 5439090.0774685 112.379928047059 + 457846.420007 5439090.07380486 112.379928047059 + 457846.420007 5439090.07285382 112.378168988235 + 457846.451689467 5439090.0765429 112.378168988235 + 457846.451470972 5439090.0774685 112.379928047059 + + + + + + + + + 457846.481251558 5439090.0882634 112.379928047059 + 457846.451470972 5439090.0774685 112.379928047059 + 457846.451689467 5439090.0765429 112.378168988235 + 457846.481676858 5439090.08741276 112.378168988235 + 457846.481251558 5439090.0882634 112.379928047059 + + + + + + + + + 457846.507755436 5439090.10561202 112.379928047059 + 457846.481251558 5439090.0882634 112.379928047059 + 457846.481676858 5439090.08741276 112.378168988235 + 457846.508364787 5439090.10488186 112.378168988235 + 457846.507755436 5439090.10561202 112.379928047059 + + + + + + + + + 457846.529564596 5439090.12858617 112.379928047059 + 457846.507755436 5439090.10561202 112.379928047059 + 457846.508364787 5439090.10488186 112.378168988235 + 457846.530325396 5439090.12801555 112.378168988235 + 457846.529564596 5439090.12858617 112.379928047059 + + + + + + + + + 457846.451689467 5439090.0765429 112.378168988235 + 457846.420007 5439090.07285382 112.378168988235 + 457846.420007 5439090.07054771 112.375262588235 + 457846.452219277 5439090.07429848 112.375262588235 + 457846.451689467 5439090.0765429 112.378168988235 + + + + + + + + + 457846.481676858 5439090.08741276 112.378168988235 + 457846.451689467 5439090.0765429 112.378168988235 + 457846.452219277 5439090.07429848 112.375262588235 + 457846.482708132 5439090.08535012 112.375262588235 + 457846.481676858 5439090.08741276 112.378168988235 + + + + + + + + + 457846.508364787 5439090.10488186 112.378168988235 + 457846.481676858 5439090.08741276 112.378168988235 + 457846.482708132 5439090.08535012 112.375262588235 + 457846.509842351 5439090.10311134 112.375262588235 + 457846.508364787 5439090.10488186 112.378168988235 + + + + + + + + + 457846.530325396 5439090.12801555 112.378168988235 + 457846.508364787 5439090.10488186 112.378168988235 + 457846.509842351 5439090.10311134 112.375262588235 + 457846.532170196 5439090.12663188 112.375262588235 + 457846.530325396 5439090.12801555 112.378168988235 + + + + + + + + + 457846.452219277 5439090.07429848 112.375262588235 + 457846.420007 5439090.07054771 112.375262588235 + 457846.420007 5439090.06776458 112.372795952941 + 457846.452858679 5439090.07158981 112.372795952941 + 457846.452219277 5439090.07429848 112.375262588235 + + + + + + + + + 457846.482708132 5439090.08535012 112.375262588235 + 457846.452219277 5439090.07429848 112.375262588235 + 457846.452858679 5439090.07158981 112.372795952941 + 457846.483952728 5439090.08286082 112.372795952941 + 457846.482708132 5439090.08535012 112.375262588235 + + + + + + + + + 457846.509842351 5439090.10311134 112.375262588235 + 457846.482708132 5439090.08535012 112.375262588235 + 457846.483952728 5439090.08286082 112.372795952941 + 457846.511625551 5439090.10097459 112.372795952941 + 457846.509842351 5439090.10311134 112.375262588235 + + + + + + + + + 457846.532170196 5439090.12663188 112.375262588235 + 457846.509842351 5439090.10311134 112.375262588235 + 457846.511625551 5439090.10097459 112.372795952941 + 457846.534396596 5439090.12496201 112.372795952941 + 457846.532170196 5439090.12663188 112.375262588235 + + + + + + + + + 457846.452858679 5439090.07158981 112.372795952941 + 457846.420007 5439090.06776458 112.372795952941 + 457846.420007 5439090.06617851 112.371819576471 + 457846.453223068 5439090.07004616 112.371819576471 + 457846.452858679 5439090.07158981 112.372795952941 + + + + + + + + + 457846.483952728 5439090.08286082 112.372795952941 + 457846.452858679 5439090.07158981 112.372795952941 + 457846.453223068 5439090.07004616 112.371819576471 + 457846.484662008 5439090.08144219 112.371819576471 + 457846.483952728 5439090.08286082 112.372795952941 + + + + + + + + + 457846.511625551 5439090.10097459 112.372795952941 + 457846.483952728 5439090.08286082 112.372795952941 + 457846.484662008 5439090.08144219 112.371819576471 + 457846.512641776 5439090.09975688 112.371819576471 + 457846.511625551 5439090.10097459 112.372795952941 + + + + + + + + + 457846.534396596 5439090.12496201 112.372795952941 + 457846.511625551 5439090.10097459 112.372795952941 + 457846.512641776 5439090.09975688 112.371819576471 + 457846.535665396 5439090.12401036 112.371819576471 + 457846.534396596 5439090.12496201 112.372795952941 + + + + + + + + + 457846.453223068 5439090.07004616 112.371819576471 + 457846.420007 5439090.06617851 112.371819576471 + 457846.420007 5439090.06344439 112.370240376471 + 457846.453851212 5439090.06738518 112.370240376471 + 457846.453223068 5439090.07004616 112.371819576471 + + + + + + + + + 457846.484662008 5439090.08144219 112.371819576471 + 457846.453223068 5439090.07004616 112.371819576471 + 457846.453851212 5439090.06738518 112.370240376471 + 457846.48588469 5439090.07899671 112.370240376471 + 457846.484662008 5439090.08144219 112.371819576471 + + + + + + + + + 457846.512641776 5439090.09975688 112.371819576471 + 457846.484662008 5439090.08144219 112.371819576471 + 457846.48588469 5439090.07899671 112.370240376471 + 457846.51439358 5439090.09765775 112.370240376471 + 457846.512641776 5439090.09975688 112.371819576471 + + + + + + + + + 457846.535665396 5439090.12401036 112.371819576471 + 457846.512641776 5439090.09975688 112.371819576471 + 457846.51439358 5439090.09765775 112.370240376471 + 457846.537852595 5439090.12236989 112.370240376471 + 457846.535665396 5439090.12401036 112.371819576471 + + + + + + + + + 457846.453851212 5439090.06738518 112.370240376471 + 457846.420007 5439090.06344439 112.370240376471 + 457846.420007 5439090.05861516 112.366191576471 + 457846.454960689 5439090.06268514 112.366191576471 + 457846.453851212 5439090.06738518 112.370240376471 + + + + + + + + + 457846.48588469 5439090.07899671 112.370240376471 + 457846.453851212 5439090.06738518 112.370240376471 + 457846.454960689 5439090.06268514 112.366191576471 + 457846.488044285 5439090.07467732 112.366191576471 + 457846.48588469 5439090.07899671 112.370240376471 + + + + + + + + + 457846.51439358 5439090.09765775 112.370240376471 + 457846.48588469 5439090.07899671 112.370240376471 + 457846.488044285 5439090.07467732 112.366191576471 + 457846.517487749 5439090.09395011 112.366191576471 + 457846.51439358 5439090.09765775 112.370240376471 + + + + + + + + + 457846.537852595 5439090.12236989 112.370240376471 + 457846.51439358 5439090.09765775 112.370240376471 + 457846.517487749 5439090.09395011 112.366191576471 + 457846.541715795 5439090.11947235 112.366191576471 + 457846.537852595 5439090.12236989 112.370240376471 + + + + + + + + + 457846.454960689 5439090.06268514 112.366191576471 + 457846.420007 5439090.05861516 112.366191576471 + 457846.420007 5439090.05456998 112.361374917647 + 457846.455890039 5439090.05874817 112.361374917647 + 457846.454960689 5439090.06268514 112.366191576471 + + + + + + + + + 457846.488044285 5439090.07467732 112.366191576471 + 457846.454960689 5439090.06268514 112.366191576471 + 457846.455890039 5439090.05874817 112.361374917647 + 457846.489853264 5439090.0710592 112.361374917647 + 457846.488044285 5439090.07467732 112.366191576471 + + + + + + + + + 457846.517487749 5439090.09395011 112.366191576471 + 457846.488044285 5439090.07467732 112.366191576471 + 457846.489853264 5439090.0710592 112.361374917647 + 457846.520079572 5439090.09084441 112.361374917647 + 457846.517487749 5439090.09395011 112.366191576471 + + + + + + + + + 457846.541715795 5439090.11947235 112.366191576471 + 457846.517487749 5439090.09395011 112.366191576471 + 457846.520079572 5439090.09084441 112.361374917647 + 457846.544951795 5439090.11704524 112.361374917647 + 457846.541715795 5439090.11947235 112.366191576471 + + + + + + + + + 457846.455890039 5439090.05874817 112.361374917647 + 457846.420007 5439090.05456998 112.361374917647 + 457846.420007 5439090.05143383 112.355937647059 + 457846.456610544 5439090.05569592 112.355937647059 + 457846.455890039 5439090.05874817 112.361374917647 + + + + + + + + + 457846.489853264 5439090.0710592 112.361374917647 + 457846.455890039 5439090.05874817 112.361374917647 + 457846.456610544 5439090.05569592 112.355937647059 + 457846.491255725 5439090.06825415 112.355937647059 + 457846.489853264 5439090.0710592 112.361374917647 + + + + + + + + + 457846.520079572 5439090.09084441 112.361374917647 + 457846.489853264 5439090.0710592 112.361374917647 + 457846.491255725 5439090.06825415 112.355937647059 + 457846.522088956 5439090.08843663 112.355937647059 + 457846.520079572 5439090.09084441 112.361374917647 + + + + + + + + + 457846.544951795 5439090.11704524 112.361374917647 + 457846.520079572 5439090.09084441 112.361374917647 + 457846.522088956 5439090.08843663 112.355937647059 + 457846.547460595 5439090.11516356 112.355937647059 + 457846.544951795 5439090.11704524 112.361374917647 + + + + + + + + + 457846.456610544 5439090.05569592 112.355937647059 + 457846.420007 5439090.05143383 112.355937647059 + 457846.420007 5439090.04929974 112.3500448 + 457846.457100837 5439090.05361891 112.3500448 + 457846.456610544 5439090.05569592 112.355937647059 + + + + + + + + + 457846.491255725 5439090.06825415 112.355937647059 + 457846.456610544 5439090.05569592 112.355937647059 + 457846.457100837 5439090.05361891 112.3500448 + 457846.492210079 5439090.06634535 112.3500448 + 457846.491255725 5439090.06825415 112.355937647059 + + + + + + + + + 457846.522088956 5439090.08843663 112.355937647059 + 457846.491255725 5439090.06825415 112.355937647059 + 457846.492210079 5439090.06634535 112.3500448 + 457846.523456311 5439090.08679817 112.3500448 + 457846.522088956 5439090.08843663 112.355937647059 + + + + + + + + + 457846.547460595 5439090.11516356 112.355937647059 + 457846.522088956 5439090.08843663 112.355937647059 + 457846.523456311 5439090.08679817 112.3500448 + 457846.549167795 5439090.1138831 112.3500448 + 457846.547460595 5439090.11516356 112.355937647059 + + + + + + + + + 457846.457100837 5439090.05361891 112.3500448 + 457846.420007 5439090.04929974 112.3500448 + 457846.420007 5439090.04823369 112.343875247059 + 457846.457345754 5439090.05258138 112.343875247059 + 457846.457100837 5439090.05361891 112.3500448 + + + + + + + + + 457846.492210079 5439090.06634535 112.3500448 + 457846.457100837 5439090.05361891 112.3500448 + 457846.457345754 5439090.05258138 112.343875247059 + 457846.492686809 5439090.06539185 112.343875247059 + 457846.492210079 5439090.06634535 112.3500448 + + + + + + + + + 457846.523456311 5439090.08679817 112.3500448 + 457846.492210079 5439090.06634535 112.3500448 + 457846.492686809 5439090.06539185 112.343875247059 + 457846.524139348 5439090.08597971 112.343875247059 + 457846.523456311 5439090.08679817 112.3500448 + + + + + + + + + 457846.549167795 5439090.1138831 112.3500448 + 457846.523456311 5439090.08679817 112.3500448 + 457846.524139348 5439090.08597971 112.343875247059 + 457846.550020595 5439090.11324347 112.343875247059 + 457846.549167795 5439090.1138831 112.3500448 + + + + + + + + + 457846.457345754 5439090.05258138 112.343875247059 + 457846.420007 5439090.04823369 112.343875247059 + 457846.420007 5439090.04825069 112.340941176471 + 457846.457341848 5439090.05259793 112.340941176471 + 457846.457345754 5439090.05258138 112.343875247059 + + + + + + + + + 457846.492686809 5439090.06539185 112.343875247059 + 457846.457345754 5439090.05258138 112.343875247059 + 457846.457341848 5439090.05259793 112.340941176471 + 457846.492679206 5439090.06540706 112.340941176471 + 457846.492686809 5439090.06539185 112.343875247059 + + + + + + + + + 457846.524139348 5439090.08597971 112.343875247059 + 457846.492686809 5439090.06539185 112.343875247059 + 457846.492679206 5439090.06540706 112.340941176471 + 457846.524128455 5439090.08599276 112.340941176471 + 457846.524139348 5439090.08597971 112.343875247059 + + + + + + + + + 457846.550020595 5439090.11324347 112.343875247059 + 457846.524139348 5439090.08597971 112.343875247059 + 457846.524128455 5439090.08599276 112.340941176471 + 457846.550006995 5439090.11325367 112.340941176471 + 457846.550020595 5439090.11324347 112.343875247059 + + + + + + + + + 457846.457341848 5439090.05259793 112.340941176471 + 457846.420007 5439090.04825069 112.340941176471 + 457846.420007 5439090.05825115 112.340941176471 + 457846.455044319 5439090.06233086 112.340941176471 + 457846.457341848 5439090.05259793 112.340941176471 + + + + + + + + + 457846.492679206 5439090.06540706 112.340941176471 + 457846.457341848 5439090.05259793 112.340941176471 + 457846.455044319 5439090.06233086 112.340941176471 + 457846.488207071 5439090.07435174 112.340941176471 + 457846.492679206 5439090.06540706 112.340941176471 + + + + + + + + + 457846.524128455 5439090.08599276 112.340941176471 + 457846.492679206 5439090.06540706 112.340941176471 + 457846.488207071 5439090.07435174 112.340941176471 + 457846.517720981 5439090.09367063 112.340941176471 + 457846.524128455 5439090.08599276 112.340941176471 + + + + + + + + + 457846.550006995 5439090.11325367 112.340941176471 + 457846.524128455 5439090.08599276 112.340941176471 + 457846.517720981 5439090.09367063 112.340941176471 + 457846.542006995 5439090.11925394 112.340941176471 + 457846.550006995 5439090.11325367 112.340941176471 + + + + + + + + + 457846.455044319 5439090.06233086 112.340941176471 + 457846.420007 5439090.05825115 112.340941176471 + 457846.420007 5439090.05677208 112.330725788235 + 457846.455384123 5439090.06089136 112.330725788235 + 457846.455044319 5439090.06233086 112.340941176471 + + + + + + + + + 457846.488207071 5439090.07435174 112.340941176471 + 457846.455044319 5439090.06233086 112.340941176471 + 457846.455384123 5439090.06089136 112.330725788235 + 457846.488868499 5439090.07302882 112.330725788235 + 457846.488207071 5439090.07435174 112.340941176471 + + + + + + + + + 457846.517720981 5439090.09367063 112.340941176471 + 457846.488207071 5439090.07435174 112.340941176471 + 457846.488868499 5439090.07302882 112.330725788235 + 457846.518668646 5439090.09253507 112.330725788235 + 457846.517720981 5439090.09367063 112.340941176471 + + + + + + + + + 457846.542006995 5439090.11925394 112.340941176471 + 457846.517720981 5439090.09367063 112.340941176471 + 457846.518668646 5439090.09253507 112.330725788235 + 457846.543190195 5439090.1183665 112.330725788235 + 457846.542006995 5439090.11925394 112.340941176471 + + + + + + + + + 457846.455384123 5439090.06089136 112.330725788235 + 457846.420007 5439090.05677208 112.330725788235 + 457846.420007 5439090.05744911 112.310097364706 + 457846.455228581 5439090.06155028 112.310097364706 + 457846.455384123 5439090.06089136 112.330725788235 + + + + + + + + + 457846.488868499 5439090.07302882 112.330725788235 + 457846.455384123 5439090.06089136 112.330725788235 + 457846.455228581 5439090.06155028 112.310097364706 + 457846.488565736 5439090.07363437 112.310097364706 + 457846.488868499 5439090.07302882 112.330725788235 + + + + + + + + + 457846.518668646 5439090.09253507 112.330725788235 + 457846.488868499 5439090.07302882 112.330725788235 + 457846.488565736 5439090.07363437 112.310097364706 + 457846.51823486 5439090.09305487 112.310097364706 + 457846.518668646 5439090.09253507 112.330725788235 + + + + + + + + + 457846.543190195 5439090.1183665 112.330725788235 + 457846.518668646 5439090.09253507 112.330725788235 + 457846.51823486 5439090.09305487 112.310097364706 + 457846.542648595 5439090.11877272 112.310097364706 + 457846.543190195 5439090.1183665 112.330725788235 + + + + + + + + + 457846.455228581 5439090.06155028 112.310097364706 + 457846.420007 5439090.05744911 112.310097364706 + 457846.420007 5439090.06104728 112.293956517647 + 457846.45440193 5439090.06505219 112.293956517647 + 457846.455228581 5439090.06155028 112.310097364706 + + + + + + + + + 457846.488565736 5439090.07363437 112.310097364706 + 457846.455228581 5439090.06155028 112.310097364706 + 457846.45440193 5439090.06505219 112.293956517647 + 457846.486956661 5439090.07685267 112.293956517647 + 457846.488565736 5439090.07363437 112.310097364706 + + + + + + + + + 457846.51823486 5439090.09305487 112.310097364706 + 457846.488565736 5439090.07363437 112.310097364706 + 457846.486956661 5439090.07685267 112.293956517647 + 457846.515929451 5439090.09581736 112.293956517647 + 457846.51823486 5439090.09305487 112.310097364706 + + + + + + + + + 457846.542648595 5439090.11877272 112.310097364706 + 457846.51823486 5439090.09305487 112.310097364706 + 457846.515929451 5439090.09581736 112.293956517647 + 457846.539770195 5439090.12093162 112.293956517647 + 457846.542648595 5439090.11877272 112.310097364706 + + + + + + + + + 457846.45440193 5439090.06505219 112.293956517647 + 457846.420007 5439090.06104728 112.293956517647 + 457846.420007 5439090.06322038 112.287319529412 + 457846.453902677 5439090.06716716 112.287319529412 + 457846.45440193 5439090.06505219 112.293956517647 + + + + + + + + + 457846.486956661 5439090.07685267 112.293956517647 + 457846.45440193 5439090.06505219 112.293956517647 + 457846.453902677 5439090.06716716 112.287319529412 + 457846.485984866 5439090.07879635 112.287319529412 + 457846.486956661 5439090.07685267 112.293956517647 + + + + + + + + + 457846.515929451 5439090.09581736 112.293956517647 + 457846.486956661 5439090.07685267 112.293956517647 + 457846.485984866 5439090.07879635 112.287319529412 + 457846.514537107 5439090.09748577 112.287319529412 + 457846.515929451 5439090.09581736 112.293956517647 + + + + + + + + + 457846.539770195 5439090.12093162 112.293956517647 + 457846.515929451 5439090.09581736 112.293956517647 + 457846.514537107 5439090.09748577 112.287319529412 + 457846.538031795 5439090.12223548 112.287319529412 + 457846.539770195 5439090.12093162 112.293956517647 + + + + + + + + + 457846.453902677 5439090.06716716 112.287319529412 + 457846.420007 5439090.06322038 112.287319529412 + 457846.420007 5439090.06983168 112.274993270588 + 457846.45238378 5439090.0736016 112.274993270588 + 457846.453902677 5439090.06716716 112.287319529412 + + + + + + + + + 457846.485984866 5439090.07879635 112.287319529412 + 457846.453902677 5439090.06716716 112.287319529412 + 457846.45238378 5439090.0736016 112.274993270588 + 457846.483028337 5439090.08470968 112.274993270588 + 457846.485984866 5439090.07879635 112.287319529412 + + + + + + + + + 457846.514537107 5439090.09748577 112.287319529412 + 457846.485984866 5439090.07879635 112.287319529412 + 457846.483028337 5439090.08470968 112.274993270588 + 457846.510301126 5439090.10256161 112.274993270588 + 457846.514537107 5439090.09748577 112.287319529412 + + + + + + + + + 457846.538031795 5439090.12223548 112.287319529412 + 457846.514537107 5439090.09748577 112.287319529412 + 457846.510301126 5439090.10256161 112.274993270588 + 457846.532742996 5439090.12620226 112.274993270588 + 457846.538031795 5439090.12223548 112.287319529412 + + + + + + + + + 457846.45238378 5439090.0736016 112.274993270588 + 457846.420007 5439090.06983168 112.274993270588 + 457846.420007 5439090.07851008 112.263989270588 + 457846.450389984 5439090.08204785 112.263989270588 + 457846.45238378 5439090.0736016 112.274993270588 + + + + + + + + + 457846.483028337 5439090.08470968 112.274993270588 + 457846.45238378 5439090.0736016 112.274993270588 + 457846.450389984 5439090.08204785 112.263989270588 + 457846.479147418 5439090.09247188 112.263989270588 + 457846.483028337 5439090.08470968 112.274993270588 + + + + + + + + + 457846.510301126 5439090.10256161 112.274993270588 + 457846.483028337 5439090.08470968 112.274993270588 + 457846.479147418 5439090.09247188 112.263989270588 + 457846.50474072 5439090.10922446 112.263989270588 + 457846.510301126 5439090.10256161 112.274993270588 + + + + + + + + + 457846.532742996 5439090.12620226 112.274993270588 + 457846.510301126 5439090.10256161 112.274993270588 + 457846.50474072 5439090.10922446 112.263989270588 + 457846.525800596 5439090.1314093 112.263989270588 + 457846.532742996 5439090.12620226 112.274993270588 + + + + + + + + + 457846.450389984 5439090.08204785 112.263989270588 + 457846.420007 5439090.07851008 112.263989270588 + 457846.420007 5439090.08898956 112.254640564706 + 457846.447982404 5439090.09224699 112.254640564706 + 457846.450389984 5439090.08204785 112.263989270588 + + + + + + + + + 457846.479147418 5439090.09247188 112.263989270588 + 457846.450389984 5439090.08204785 112.263989270588 + 457846.447982404 5439090.09224699 112.254640564706 + 457846.474461067 5439090.10184501 112.254640564706 + 457846.479147418 5439090.09247188 112.263989270588 + + + + + + + + + 457846.50474072 5439090.10922446 112.263989270588 + 457846.479147418 5439090.09247188 112.263989270588 + 457846.474461067 5439090.10184501 112.254640564706 + 457846.498026328 5439090.1172701 112.254640564706 + 457846.50474072 5439090.10922446 112.263989270588 + + + + + + + + + 457846.525800596 5439090.1314093 112.263989270588 + 457846.50474072 5439090.10922446 112.263989270588 + 457846.498026328 5439090.1172701 112.254640564706 + 457846.517417396 5439090.13769699 112.254640564706 + 457846.525800596 5439090.1314093 112.263989270588 + + + + + + + + + 457846.447982404 5439090.09224699 112.254640564706 + 457846.420007 5439090.08898956 112.254640564706 + 457846.420007 5439090.09078464 112.253712611765 + 457846.447569997 5439090.09399405 112.253712611765 + 457846.447982404 5439090.09224699 112.254640564706 + + + + + + + + + 457846.474461067 5439090.10184501 112.254640564706 + 457846.447982404 5439090.09224699 112.254640564706 + 457846.447569997 5439090.09399405 112.253712611765 + 457846.473658318 5439090.10345058 112.253712611765 + 457846.474461067 5439090.10184501 112.254640564706 + + + + + + + + + 457846.498026328 5439090.1172701 112.254640564706 + 457846.474461067 5439090.10184501 112.254640564706 + 457846.473658318 5439090.10345058 112.253712611765 + 457846.496876186 5439090.11864828 112.253712611765 + 457846.498026328 5439090.1172701 112.254640564706 + + + + + + + + + 457846.517417396 5439090.13769699 112.254640564706 + 457846.498026328 5439090.1172701 112.254640564706 + 457846.496876186 5439090.11864828 112.253712611765 + 457846.515981396 5439090.13877404 112.253712611765 + 457846.517417396 5439090.13769699 112.254640564706 + + + + + + + + + 457846.447569997 5439090.09399405 112.253712611765 + 457846.420007 5439090.09078464 112.253712611765 + 457846.420007 5439090.10383124 112.244640611765 + 457846.444572641 5439090.10669164 112.244640611765 + 457846.447569997 5439090.09399405 112.253712611765 + + + + + + + + + 457846.473658318 5439090.10345058 112.253712611765 + 457846.447569997 5439090.09399405 112.253712611765 + 457846.444572641 5439090.10669164 112.244640611765 + 457846.46782397 5439090.11511981 112.244640611765 + 457846.473658318 5439090.10345058 112.253712611765 + + + + + + + + + 457846.496876186 5439090.11864828 112.253712611765 + 457846.473658318 5439090.10345058 112.253712611765 + 457846.46782397 5439090.11511981 112.244640611765 + 457846.488516995 5439090.12866483 112.244640611765 + 457846.496876186 5439090.11864828 112.253712611765 + + + + + + + + + 457846.515981396 5439090.13877404 112.253712611765 + 457846.496876186 5439090.11864828 112.253712611765 + 457846.488516995 5439090.12866483 112.244640611765 + 457846.505544596 5439090.146602 112.244640611765 + 457846.515981396 5439090.13877404 112.253712611765 + + + + + + + + + 457846.444572641 5439090.10669164 112.244640611765 + 457846.420007 5439090.10383124 112.244640611765 + 457846.420007 5439090.13271657 112.231248047059 + 457846.437936458 5439090.13480426 112.231248047059 + 457846.444572641 5439090.10669164 112.244640611765 + + + + + + + + + 457846.46782397 5439090.11511981 112.244640611765 + 457846.444572641 5439090.10669164 112.244640611765 + 457846.437936458 5439090.13480426 112.231248047059 + 457846.454906653 5439090.14095564 112.231248047059 + 457846.46782397 5439090.11511981 112.244640611765 + + + + + + + + + 457846.488516995 5439090.12866483 112.244640611765 + 457846.46782397 5439090.11511981 112.244640611765 + 457846.454906653 5439090.14095564 112.231248047059 + 457846.470009647 5439090.15084159 112.231248047059 + 457846.488516995 5439090.12866483 112.244640611765 + + + + + + + + + 457846.505544596 5439090.146602 112.244640611765 + 457846.488516995 5439090.12866483 112.244640611765 + 457846.470009647 5439090.15084159 112.231248047059 + 457846.482437397 5439090.1639332 112.231248047059 + 457846.505544596 5439090.146602 112.244640611765 + + + + + + + + + 457846.437936458 5439090.13480426 112.231248047059 + 457846.420007 5439090.13271657 112.231248047059 + 457846.420007 5439090.13470166 112.231271764706 + 457846.437480398 5439090.13673625 112.231271764706 + 457846.437936458 5439090.13480426 112.231248047059 + + + + + + + + + 457846.454906653 5439090.14095564 112.231248047059 + 457846.437936458 5439090.13480426 112.231248047059 + 457846.437480398 5439090.13673625 112.231271764706 + 457846.454018934 5439090.14273116 112.231271764706 + 457846.454906653 5439090.14095564 112.231248047059 + + + + + + + + + 457846.470009647 5439090.15084159 112.231248047059 + 457846.454906653 5439090.14095564 112.231248047059 + 457846.454018934 5439090.14273116 112.231271764706 + 457846.468737763 5439090.15236565 112.231271764706 + 457846.470009647 5439090.15084159 112.231248047059 + + + + + + + + + 457846.482437397 5439090.1639332 112.231248047059 + 457846.470009647 5439090.15084159 112.231248047059 + 457846.468737763 5439090.15236565 112.231271764706 + 457846.480849397 5439090.16512425 112.231271764706 + 457846.482437397 5439090.1639332 112.231248047059 + + + + + + + + + 457846.437480398 5439090.13673625 112.231271764706 + 457846.420007 5439090.13470166 112.231271764706 + 457846.420007 5439090.14991436 112.224983623529 + 457846.433985397 5439090.15154199 112.224983623529 + 457846.437480398 5439090.13673625 112.231271764706 + + + + + + + + + 457846.454018934 5439090.14273116 112.231271764706 + 457846.437480398 5439090.13673625 112.231271764706 + 457846.433985397 5439090.15154199 112.224983623529 + 457846.447215921 5439090.15633781 112.224983623529 + 457846.454018934 5439090.14273116 112.231271764706 + + + + + + + + + 457846.468737763 5439090.15236565 112.231271764706 + 457846.454018934 5439090.14273116 112.231271764706 + 457846.447215921 5439090.15633781 112.224983623529 + 457846.458990714 5439090.16404522 112.224983623529 + 457846.468737763 5439090.15236565 112.231271764706 + + + + + + + + + 457846.480849397 5439090.16512425 112.231271764706 + 457846.468737763 5439090.15236565 112.231271764706 + 457846.458990714 5439090.16404522 112.224983623529 + 457846.468679798 5439090.17425187 112.224983623529 + 457846.480849397 5439090.16512425 112.231271764706 + + + + + + + + + 457846.433985397 5439090.15154199 112.224983623529 + 457846.420007 5439090.14991436 112.224983623529 + 457846.420007 5439090.15037638 112.224792894118 + 457846.433879251 5439090.15199165 112.224792894118 + 457846.433985397 5439090.15154199 112.224983623529 + + + + + + + + + 457846.447215921 5439090.15633781 112.224983623529 + 457846.433985397 5439090.15154199 112.224983623529 + 457846.433879251 5439090.15199165 112.224792894118 + 457846.447009309 5439090.15675105 112.224792894118 + 457846.447215921 5439090.15633781 112.224983623529 + + + + + + + + + 457846.458990714 5439090.16404522 112.224983623529 + 457846.447215921 5439090.15633781 112.224983623529 + 457846.447009309 5439090.15675105 112.224792894118 + 457846.458694688 5439090.16439994 112.224792894118 + 457846.458990714 5439090.16404522 112.224983623529 + + + + + + + + + 457846.468679798 5439090.17425187 112.224983623529 + 457846.458990714 5439090.16404522 112.224983623529 + 457846.458694688 5439090.16439994 112.224792894118 + 457846.468310198 5439090.17452909 112.224792894118 + 457846.468679798 5439090.17425187 112.224983623529 + + + + + + + + + 457846.433879251 5439090.15199165 112.224792894118 + 457846.420007 5439090.15037638 112.224792894118 + 457846.420007 5439090.15108141 112.224691105882 + 457846.433717275 5439090.15267782 112.224691105882 + 457846.433879251 5439090.15199165 112.224792894118 + + + + + + + + + 457846.447009309 5439090.15675105 112.224792894118 + 457846.433879251 5439090.15199165 112.224792894118 + 457846.433717275 5439090.15267782 112.224691105882 + 457846.446694023 5439090.15738165 112.224691105882 + 457846.447009309 5439090.15675105 112.224792894118 + + + + + + + + + 457846.458694688 5439090.16439994 112.224792894118 + 457846.447009309 5439090.15675105 112.224792894118 + 457846.446694023 5439090.15738165 112.224691105882 + 457846.458242961 5439090.16494123 112.224691105882 + 457846.458694688 5439090.16439994 112.224792894118 + + + + + + + + + 457846.468310198 5439090.17452909 112.224792894118 + 457846.458694688 5439090.16439994 112.224792894118 + 457846.458242961 5439090.16494123 112.224691105882 + 457846.467746198 5439090.17495211 112.224691105882 + 457846.468310198 5439090.17452909 112.224792894118 + + + + + + + + + 457846.433717275 5439090.15267782 112.224691105882 + 457846.420007 5439090.15108141 112.224691105882 + 457846.420007 5439090.15890177 112.220294447059 + 457846.431920607 5439090.16028898 112.220294447059 + 457846.433717275 5439090.15267782 112.224691105882 + + + + + + + + + 457846.446694023 5439090.15738165 112.224691105882 + 457846.433717275 5439090.15267782 112.224691105882 + 457846.431920607 5439090.16028898 112.220294447059 + 457846.443196813 5439090.16437639 112.220294447059 + 457846.446694023 5439090.15738165 112.224691105882 + + + + + + + + + 457846.458242961 5439090.16494123 112.224691105882 + 457846.446694023 5439090.15738165 112.224691105882 + 457846.443196813 5439090.16437639 112.220294447059 + 457846.453232316 5439090.17094532 112.220294447059 + 457846.458242961 5439090.16494123 112.224691105882 + + + + + + + + + 457846.467746198 5439090.17495211 112.224691105882 + 457846.458242961 5439090.16494123 112.224691105882 + 457846.453232316 5439090.17094532 112.220294447059 + 457846.461490198 5439090.17964432 112.220294447059 + 457846.467746198 5439090.17495211 112.224691105882 + + + + + + + + + 457846.431920607 5439090.16028898 112.220294447059 + 457846.420007 5439090.15890177 112.220294447059 + 457846.420007 5439090.16236693 112.217458211765 + 457846.431124514 5439090.16366144 112.217458211765 + 457846.431920607 5439090.16028898 112.220294447059 + + + + + + + + + 457846.443196813 5439090.16437639 112.220294447059 + 457846.431920607 5439090.16028898 112.220294447059 + 457846.431124514 5439090.16366144 112.217458211765 + 457846.441647218 5439090.16747573 112.217458211765 + 457846.443196813 5439090.16437639 112.220294447059 + + + + + + + + + 457846.453232316 5439090.17094532 112.220294447059 + 457846.443196813 5439090.16437639 112.220294447059 + 457846.441647218 5439090.16747573 112.217458211765 + 457846.451012127 5439090.17360571 112.217458211765 + 457846.453232316 5439090.17094532 112.220294447059 + + + + + + + + + 457846.461490198 5439090.17964432 112.220294447059 + 457846.453232316 5439090.17094532 112.220294447059 + 457846.451012127 5439090.17360571 112.217458211765 + 457846.458718198 5439090.18172342 112.217458211765 + 457846.461490198 5439090.17964432 112.220294447059 + + + + + + + + + 457846.431124514 5439090.16366144 112.217458211765 + 457846.420007 5439090.16236693 112.217458211765 + 457846.420007 5439090.163934 112.216342494118 + 457846.430764491 5439090.1651866 112.216342494118 + 457846.431124514 5439090.16366144 112.217458211765 + + + + + + + + + 457846.441647218 5439090.16747573 112.217458211765 + 457846.431124514 5439090.16366144 112.217458211765 + 457846.430764491 5439090.1651866 112.216342494118 + 457846.440946434 5439090.16887736 112.216342494118 + 457846.441647218 5439090.16747573 112.217458211765 + + + + + + + + + 457846.451012127 5439090.17360571 112.217458211765 + 457846.441647218 5439090.16747573 112.217458211765 + 457846.440946434 5439090.16887736 112.216342494118 + 457846.450008076 5439090.17480883 112.216342494118 + 457846.451012127 5439090.17360571 112.217458211765 + + + + + + + + + 457846.458718198 5439090.18172342 112.217458211765 + 457846.451012127 5439090.17360571 112.217458211765 + 457846.450008076 5439090.17480883 112.216342494118 + 457846.457464598 5439090.18266366 112.216342494118 + 457846.458718198 5439090.18172342 112.217458211765 + + + + + + + + + 457846.430764491 5439090.1651866 112.216342494118 + 457846.420007 5439090.163934 112.216342494118 + 457846.420007 5439090.1705213 112.209075011765 + 457846.429251108 5439090.17159768 112.209075011765 + 457846.430764491 5439090.1651866 112.216342494118 + + + + + + + + + 457846.440946434 5439090.16887736 112.216342494118 + 457846.430764491 5439090.1651866 112.216342494118 + 457846.429251108 5439090.17159768 112.209075011765 + 457846.438000638 5439090.17476922 112.209075011765 + 457846.440946434 5439090.16887736 112.216342494118 + + + + + + + + + 457846.450008076 5439090.17480883 112.216342494118 + 457846.440946434 5439090.16887736 112.216342494118 + 457846.438000638 5439090.17476922 112.209075011765 + 457846.445787472 5439090.17986624 112.209075011765 + 457846.450008076 5439090.17480883 112.216342494118 + + + + + + + + + 457846.457464598 5439090.18266366 112.216342494118 + 457846.450008076 5439090.17480883 112.216342494118 + 457846.445787472 5439090.17986624 112.209075011765 + 457846.452194998 5439090.18661604 112.209075011765 + 457846.457464598 5439090.18266366 112.216342494118 + + + + + + + + + 457846.429251108 5439090.17159768 112.209075011765 + 457846.420007 5439090.1705213 112.209075011765 + 457846.420007 5439090.17573054 112.200787670588 + 457846.428054325 5439090.17666757 112.200787670588 + 457846.429251108 5439090.17159768 112.209075011765 + + + + + + + + + 457846.438000638 5439090.17476922 112.209075011765 + 457846.429251108 5439090.17159768 112.209075011765 + 457846.428054325 5439090.17666757 112.200787670588 + 457846.435671103 5439090.17942851 112.200787670588 + 457846.438000638 5439090.17476922 112.209075011765 + + + + + + + + + 457846.445787472 5439090.17986624 112.209075011765 + 457846.438000638 5439090.17476922 112.209075011765 + 457846.435671103 5439090.17942851 112.200787670588 + 457846.442449819 5439090.18386565 112.200787670588 + 457846.445787472 5439090.17986624 112.209075011765 + + + + + + + + + 457846.452194998 5439090.18661604 112.209075011765 + 457846.445787472 5439090.17986624 112.209075011765 + 457846.442449819 5439090.18386565 112.200787670588 + 457846.448027798 5439090.18974159 112.200787670588 + 457846.452194998 5439090.18661604 112.209075011765 + + + + + + + + + 457846.428054325 5439090.17666757 112.200787670588 + 457846.420007 5439090.17573054 112.200787670588 + 457846.420007 5439090.17940471 112.191731482353 + 457846.427210213 5439090.18024345 112.191731482353 + 457846.428054325 5439090.17666757 112.200787670588 + + + + + + + + + 457846.435671103 5439090.17942851 112.200787670588 + 457846.428054325 5439090.17666757 112.200787670588 + 457846.427210213 5439090.18024345 112.191731482353 + 457846.43402804 5439090.18271478 112.191731482353 + 457846.435671103 5439090.17942851 112.200787670588 + + + + + + + + + 457846.442449819 5439090.18386565 112.200787670588 + 457846.435671103 5439090.17942851 112.200787670588 + 457846.43402804 5439090.18271478 112.191731482353 + 457846.440095713 5439090.18668649 112.191731482353 + 457846.442449819 5439090.18386565 112.200787670588 + + + + + + + + + 457846.448027798 5439090.18974159 112.200787670588 + 457846.442449819 5439090.18386565 112.200787670588 + 457846.440095713 5439090.18668649 112.191731482353 + 457846.445088598 5439090.19194609 112.191731482353 + 457846.448027798 5439090.18974159 112.200787670588 + + + + + + + + + 457846.427210213 5439090.18024345 112.191731482353 + 457846.420007 5439090.17940471 112.191731482353 + 457846.420007 5439090.18143181 112.182183152941 + 457846.426744504 5439090.18221632 112.182183152941 + 457846.427210213 5439090.18024345 112.191731482353 + + + + + + + + + 457846.43402804 5439090.18271478 112.191731482353 + 457846.427210213 5439090.18024345 112.191731482353 + 457846.426744504 5439090.18221632 112.182183152941 + 457846.433121538 5439090.18452787 112.182183152941 + 457846.43402804 5439090.18271478 112.191731482353 + + + + + + + + + 457846.440095713 5439090.18668649 112.191731482353 + 457846.43402804 5439090.18271478 112.191731482353 + 457846.433121538 5439090.18452787 112.182183152941 + 457846.438796918 5439090.1882428 112.182183152941 + 457846.440095713 5439090.18668649 112.191731482353 + + + + + + + + + 457846.445088598 5439090.19194609 112.191731482353 + 457846.440095713 5439090.18668649 112.191731482353 + 457846.438796918 5439090.1882428 112.182183152941 + 457846.443466998 5439090.19316234 112.182183152941 + 457846.445088598 5439090.19194609 112.191731482353 + + + + + + + + + 457846.426744504 5439090.18221632 112.182183152941 + 457846.420007 5439090.18143181 112.182183152941 + 457846.420007 5439090.18175082 112.172431247059 + 457846.426671213 5439090.1825268 112.172431247059 + 457846.426744504 5439090.18221632 112.182183152941 + + + + + + + + + 457846.433121538 5439090.18452787 112.182183152941 + 457846.426744504 5439090.18221632 112.182183152941 + 457846.426671213 5439090.1825268 112.172431247059 + 457846.432978877 5439090.18481321 112.172431247059 + 457846.433121538 5439090.18452787 112.182183152941 + + + + + + + + + 457846.438796918 5439090.1882428 112.182183152941 + 457846.433121538 5439090.18452787 112.182183152941 + 457846.432978877 5439090.18481321 112.172431247059 + 457846.43859252 5439090.18848772 112.172431247059 + 457846.438796918 5439090.1882428 112.182183152941 + + + + + + + + + 457846.443466998 5439090.19316234 112.182183152941 + 457846.438796918 5439090.1882428 112.182183152941 + 457846.43859252 5439090.18848772 112.172431247059 + 457846.443211798 5439090.19335375 112.172431247059 + 457846.443466998 5439090.19316234 112.182183152941 + + + + + + + + + 457846.426671213 5439090.1825268 112.172431247059 + 457846.420007 5439090.18175082 112.172431247059 + 457846.420007 5439090.18105079 112.167602729412 + 457846.42683204 5439090.18184549 112.167602729412 + 457846.426671213 5439090.1825268 112.172431247059 + + + + + + + + + 457846.432978877 5439090.18481321 112.172431247059 + 457846.426671213 5439090.1825268 112.172431247059 + 457846.42683204 5439090.18184549 112.167602729412 + 457846.433291927 5439090.18418708 112.167602729412 + 457846.432978877 5439090.18481321 112.172431247059 + + + + + + + + + 457846.43859252 5439090.18848772 112.172431247059 + 457846.432978877 5439090.18481321 112.172431247059 + 457846.433291927 5439090.18418708 112.167602729412 + 457846.439041043 5439090.18795027 112.167602729412 + 457846.43859252 5439090.18848772 112.172431247059 + + + + + + + + + 457846.443211798 5439090.19335375 112.172431247059 + 457846.43859252 5439090.18848772 112.172431247059 + 457846.439041043 5439090.18795027 112.167602729412 + 457846.443771798 5439090.19293373 112.167602729412 + 457846.443211798 5439090.19335375 112.172431247059 + + + + + + + + + 457846.42683204 5439090.18184549 112.167602729412 + 457846.420007 5439090.18105079 112.167602729412 + 457846.420007 5439090.16046084 112.025611105882 + 457846.431562423 5439090.16180635 112.025611105882 + 457846.42683204 5439090.18184549 112.167602729412 + + + + + + + + + 457846.433291927 5439090.18418708 112.167602729412 + 457846.42683204 5439090.18184549 112.167602729412 + 457846.431562423 5439090.16180635 112.025611105882 + 457846.442499607 5439090.16577087 112.025611105882 + 457846.433291927 5439090.18418708 112.167602729412 + + + + + + + + + 457846.439041043 5439090.18795027 112.167602729412 + 457846.433291927 5439090.18418708 112.167602729412 + 457846.442499607 5439090.16577087 112.025611105882 + 457846.452233391 5439090.17214231 112.025611105882 + 457846.439041043 5439090.18795027 112.167602729412 + + + + + + + + + 457846.443771798 5439090.19293373 112.167602729412 + 457846.439041043 5439090.18795027 112.167602729412 + 457846.452233391 5439090.17214231 112.025611105882 + 457846.460242998 5439090.18057976 112.025611105882 + 457846.443771798 5439090.19293373 112.167602729412 + + + + + + + + + 457846.431562423 5439090.16180635 112.025611105882 + 457846.420007 5439090.16046084 112.025611105882 + 457846.420007 5439090.16045384 112.0253344 + 457846.431564031 5439090.16179953 112.0253344 + 457846.431562423 5439090.16180635 112.025611105882 + + + + + + + + + 457846.442499607 5439090.16577087 112.025611105882 + 457846.431562423 5439090.16180635 112.025611105882 + 457846.431564031 5439090.16179953 112.0253344 + 457846.442502737 5439090.16576461 112.0253344 + 457846.442499607 5439090.16577087 112.025611105882 + + + + + + + + + 457846.452233391 5439090.17214231 112.025611105882 + 457846.442499607 5439090.16577087 112.025611105882 + 457846.442502737 5439090.16576461 112.0253344 + 457846.452237876 5439090.17213693 112.0253344 + 457846.452233391 5439090.17214231 112.025611105882 + + + + + + + + + 457846.460242998 5439090.18057976 112.025611105882 + 457846.452233391 5439090.17214231 112.025611105882 + 457846.452237876 5439090.17213693 112.0253344 + 457846.460248598 5439090.18057556 112.0253344 + 457846.460242998 5439090.18057976 112.025611105882 + + + + + + + + + 457846.431564031 5439090.16179953 112.0253344 + 457846.420007 5439090.16045384 112.0253344 + 457846.420007 5439090.16019083 112.024191011765 + 457846.431624456 5439090.16154356 112.024191011765 + 457846.431564031 5439090.16179953 112.0253344 + + + + + + + + + 457846.442502737 5439090.16576461 112.0253344 + 457846.431564031 5439090.16179953 112.0253344 + 457846.431624456 5439090.16154356 112.024191011765 + 457846.442620355 5439090.16552936 112.024191011765 + 457846.442502737 5439090.16576461 112.0253344 + + + + + + + + + 457846.452237876 5439090.17213693 112.0253344 + 457846.442502737 5439090.16576461 112.0253344 + 457846.442620355 5439090.16552936 112.024191011765 + 457846.452406393 5439090.171935 112.024191011765 + 457846.452237876 5439090.17213693 112.0253344 + + + + + + + + + 457846.460248598 5439090.18057556 112.0253344 + 457846.452237876 5439090.17213693 112.0253344 + 457846.452406393 5439090.171935 112.024191011765 + 457846.460458998 5439090.18041776 112.024191011765 + 457846.460248598 5439090.18057556 112.0253344 + + + + + + + + + 457846.431624456 5439090.16154356 112.024191011765 + 457846.420007 5439090.16019083 112.024191011765 + 457846.420007 5439090.15973181 112.023110870588 + 457846.431729913 5439090.16109682 112.023110870588 + 457846.431624456 5439090.16154356 112.024191011765 + + + + + + + + + 457846.442620355 5439090.16552936 112.024191011765 + 457846.431624456 5439090.16154356 112.024191011765 + 457846.431729913 5439090.16109682 112.023110870588 + 457846.442825626 5439090.1651188 112.023110870588 + 457846.442620355 5439090.16552936 112.024191011765 + + + + + + + + + 457846.452406393 5439090.171935 112.024191011765 + 457846.442620355 5439090.16552936 112.024191011765 + 457846.442825626 5439090.1651188 112.023110870588 + 457846.452700496 5439090.17158259 112.023110870588 + 457846.452406393 5439090.171935 112.024191011765 + + + + + + + + + 457846.460458998 5439090.18041776 112.024191011765 + 457846.452406393 5439090.171935 112.024191011765 + 457846.452700496 5439090.17158259 112.023110870588 + 457846.460826198 5439090.18014234 112.023110870588 + 457846.460458998 5439090.18041776 112.024191011765 + + + + + + + + + 457846.431729913 5439090.16109682 112.023110870588 + 457846.420007 5439090.15973181 112.023110870588 + 457846.420007 5439090.15908878 112.022126588235 + 457846.431877644 5439090.16047099 112.022126588235 + 457846.431729913 5439090.16109682 112.023110870588 + + + + + + + + + 457846.442825626 5439090.1651188 112.023110870588 + 457846.431729913 5439090.16109682 112.023110870588 + 457846.431877644 5439090.16047099 112.022126588235 + 457846.443113184 5439090.16454366 112.022126588235 + 457846.442825626 5439090.1651188 112.023110870588 + + + + + + + + + 457846.452700496 5439090.17158259 112.023110870588 + 457846.442825626 5439090.1651188 112.023110870588 + 457846.443113184 5439090.16454366 112.022126588235 + 457846.453112497 5439090.1710889 112.022126588235 + 457846.452700496 5439090.17158259 112.023110870588 + + + + + + + + + 457846.460826198 5439090.18014234 112.023110870588 + 457846.452700496 5439090.17158259 112.023110870588 + 457846.453112497 5439090.1710889 112.022126588235 + 457846.461340598 5439090.17975653 112.022126588235 + 457846.460826198 5439090.18014234 112.023110870588 + + + + + + + + + 457846.431877644 5439090.16047099 112.022126588235 + 457846.420007 5439090.15908878 112.022126588235 + 457846.420007 5439090.15828274 112.021266823529 + 457846.432062824 5439090.15968651 112.021266823529 + 457846.431877644 5439090.16047099 112.022126588235 + + + + + + + + + 457846.443113184 5439090.16454366 112.022126588235 + 457846.431877644 5439090.16047099 112.022126588235 + 457846.432062824 5439090.15968651 112.021266823529 + 457846.443473638 5439090.16382272 112.021266823529 + 457846.443113184 5439090.16454366 112.022126588235 + + + + + + + + + 457846.453112497 5439090.1710889 112.022126588235 + 457846.443113184 5439090.16454366 112.022126588235 + 457846.443473638 5439090.16382272 112.021266823529 + 457846.453628939 5439090.17047006 112.021266823529 + 457846.453112497 5439090.1710889 112.022126588235 + + + + + + + + + 457846.461340598 5439090.17975653 112.022126588235 + 457846.453112497 5439090.1710889 112.022126588235 + 457846.453628939 5439090.17047006 112.021266823529 + 457846.461985398 5439090.1792729 112.021266823529 + 457846.461340598 5439090.17975653 112.022126588235 + + + + + + + + + 457846.432062824 5439090.15968651 112.021266823529 + 457846.420007 5439090.15828274 112.021266823529 + 457846.420007 5439090.1573387 112.020558258824 + 457846.432279711 5439090.15876772 112.020558258824 + 457846.432062824 5439090.15968651 112.021266823529 + + + + + + + + + 457846.443473638 5439090.16382272 112.021266823529 + 457846.432062824 5439090.15968651 112.021266823529 + 457846.432279711 5439090.15876772 112.020558258824 + 457846.443895808 5439090.16297834 112.020558258824 + 457846.443473638 5439090.16382272 112.021266823529 + + + + + + + + + 457846.453628939 5439090.17047006 112.021266823529 + 457846.443473638 5439090.16382272 112.021266823529 + 457846.443895808 5439090.16297834 112.020558258824 + 457846.454233805 5439090.16974527 112.020558258824 + 457846.453628939 5439090.17047006 112.021266823529 + + + + + + + + + 457846.461985398 5439090.1792729 112.021266823529 + 457846.453628939 5439090.17047006 112.021266823529 + 457846.454233805 5439090.16974527 112.020558258824 + 457846.462740598 5439090.17870648 112.020558258824 + 457846.461985398 5439090.1792729 112.021266823529 + + + + + + + + + 457846.432279711 5439090.15876772 112.020558258824 + 457846.420007 5439090.1573387 112.020558258824 + 457846.420007 5439090.15628365 112.020022635294 + 457846.432522101 5439090.1577409 112.020022635294 + 457846.432279711 5439090.15876772 112.020558258824 + + + + + + + + + 457846.443895808 5439090.16297834 112.020558258824 + 457846.432279711 5439090.15876772 112.020558258824 + 457846.432522101 5439090.1577409 112.020022635294 + 457846.444367618 5439090.16203468 112.020022635294 + 457846.443895808 5439090.16297834 112.020558258824 + + + + + + + + + 457846.454233805 5439090.16974527 112.020558258824 + 457846.443895808 5439090.16297834 112.020558258824 + 457846.444367618 5439090.16203468 112.020022635294 + 457846.454909793 5439090.16893526 112.020022635294 + 457846.454233805 5439090.16974527 112.020558258824 + + + + + + + + + 457846.462740598 5439090.17870648 112.020558258824 + 457846.454233805 5439090.16974527 112.020558258824 + 457846.454909793 5439090.16893526 112.020022635294 + 457846.463584598 5439090.17807345 112.020022635294 + 457846.462740598 5439090.17870648 112.020558258824 + + + + + + + + + 457846.432522101 5439090.1577409 112.020022635294 + 457846.420007 5439090.15628365 112.020022635294 + 457846.420007 5439090.1551506 112.019675764706 + 457846.432782411 5439090.15663816 112.019675764706 + 457846.432522101 5439090.1577409 112.020022635294 + + + + + + + + + 457846.444367618 5439090.16203468 112.020022635294 + 457846.432522101 5439090.1577409 112.020022635294 + 457846.432782411 5439090.15663816 112.019675764706 + 457846.444874311 5439090.16102124 112.019675764706 + 457846.444367618 5439090.16203468 112.020022635294 + + + + + + + + + 457846.454909793 5439090.16893526 112.020022635294 + 457846.444367618 5439090.16203468 112.020022635294 + 457846.444874311 5439090.16102124 112.019675764706 + 457846.45563576 5439090.16806536 112.019675764706 + 457846.454909793 5439090.16893526 112.020022635294 + + + + + + + + + 457846.463584598 5439090.17807345 112.020022635294 + 457846.454909793 5439090.16893526 112.020022635294 + 457846.45563576 5439090.16806536 112.019675764706 + 457846.464490998 5439090.17739362 112.019675764706 + 457846.463584598 5439090.17807345 112.020022635294 + + + + + + + + + 457846.432782411 5439090.15663816 112.019675764706 + 457846.420007 5439090.1551506 112.019675764706 + 457846.420007 5439090.15456257 112.019602635294 + 457846.432917505 5439090.15606586 112.019602635294 + 457846.432782411 5439090.15663816 112.019675764706 + + + + + + + + + 457846.444874311 5439090.16102124 112.019675764706 + 457846.432782411 5439090.15663816 112.019675764706 + 457846.432917505 5439090.15606586 112.019602635294 + 457846.445137273 5439090.1604953 112.019602635294 + 457846.444874311 5439090.16102124 112.019675764706 + + + + + + + + + 457846.45563576 5439090.16806536 112.019675764706 + 457846.444874311 5439090.16102124 112.019675764706 + 457846.445137273 5439090.1604953 112.019602635294 + 457846.45601252 5439090.1676139 112.019602635294 + 457846.45563576 5439090.16806536 112.019675764706 + + + + + + + + + 457846.464490998 5439090.17739362 112.019675764706 + 457846.45563576 5439090.16806536 112.019675764706 + 457846.45601252 5439090.1676139 112.019602635294 + 457846.464961398 5439090.1770408 112.019602635294 + 457846.464490998 5439090.17739362 112.019675764706 + + + + + + + + + 457846.432917505 5439090.15606586 112.019602635294 + 457846.420007 5439090.15456257 112.019602635294 + 457846.420007 5439090.15392054 112.019467247059 + 457846.433065007 5439090.15544101 112.019467247059 + 457846.432917505 5439090.15606586 112.019602635294 + + + + + + + + + 457846.445137273 5439090.1604953 112.019602635294 + 457846.432917505 5439090.15606586 112.019602635294 + 457846.433065007 5439090.15544101 112.019467247059 + 457846.445424384 5439090.15992105 112.019467247059 + 457846.445137273 5439090.1604953 112.019602635294 + + + + + + + + + 457846.45601252 5439090.1676139 112.019602635294 + 457846.445137273 5439090.1604953 112.019602635294 + 457846.445424384 5439090.15992105 112.019467247059 + 457846.456423879 5439090.16712098 112.019467247059 + 457846.45601252 5439090.1676139 112.019602635294 + + + + + + + + + 457846.464961398 5439090.1770408 112.019602635294 + 457846.45601252 5439090.1676139 112.019602635294 + 457846.456423879 5439090.16712098 112.019467247059 + 457846.465474998 5439090.17665558 112.019467247059 + 457846.464961398 5439090.1770408 112.019602635294 + + + + + + + + + 457846.433065007 5439090.15544101 112.019467247059 + 457846.420007 5439090.15392054 112.019467247059 + 457846.420007 5439090.15270349 112.018982023529 + 457846.433344616 5439090.15425651 112.018982023529 + 457846.433065007 5439090.15544101 112.019467247059 + + + + + + + + + 457846.445424384 5439090.15992105 112.019467247059 + 457846.433065007 5439090.15544101 112.019467247059 + 457846.433344616 5439090.15425651 112.018982023529 + 457846.445968643 5439090.15883248 112.018982023529 + 457846.445424384 5439090.15992105 112.019467247059 + + + + + + + + + 457846.456423879 5439090.16712098 112.019467247059 + 457846.445424384 5439090.15992105 112.019467247059 + 457846.445968643 5439090.15883248 112.018982023529 + 457846.457203669 5439090.16618658 112.018982023529 + 457846.456423879 5439090.16712098 112.019467247059 + + + + + + + + + 457846.465474998 5439090.17665558 112.019467247059 + 457846.456423879 5439090.16712098 112.019467247059 + 457846.457203669 5439090.16618658 112.018982023529 + 457846.466448598 5439090.17592535 112.018982023529 + 457846.465474998 5439090.17665558 112.019467247059 + + + + + + + + + 457846.433344616 5439090.15425651 112.018982023529 + 457846.420007 5439090.15270349 112.018982023529 + 457846.420007 5439090.15159144 112.018294211765 + 457846.433600101 5439090.1531742 112.018294211765 + 457846.433344616 5439090.15425651 112.018982023529 + + + + + + + + + 457846.445968643 5439090.15883248 112.018982023529 + 457846.433344616 5439090.15425651 112.018982023529 + 457846.433600101 5439090.1531742 112.018294211765 + 457846.446465944 5439090.15783783 112.018294211765 + 457846.445968643 5439090.15883248 112.018982023529 + + + + + + + + + 457846.457203669 5439090.16618658 112.018982023529 + 457846.445968643 5439090.15883248 112.018982023529 + 457846.446465944 5439090.15783783 112.018294211765 + 457846.45791618 5439090.1653328 112.018294211765 + 457846.457203669 5439090.16618658 112.018982023529 + + + + + + + + + 457846.466448598 5439090.17592535 112.018982023529 + 457846.457203669 5439090.16618658 112.018982023529 + 457846.45791618 5439090.1653328 112.018294211765 + 457846.467338198 5439090.17525812 112.018294211765 + 457846.466448598 5439090.17592535 112.018982023529 + + + + + + + + + 457846.433600101 5439090.1531742 112.018294211765 + 457846.420007 5439090.15159144 112.018294211765 + 457846.420007 5439090.15061539 112.017426541176 + 457846.43382434 5439090.15222427 112.017426541176 + 457846.433600101 5439090.1531742 112.018294211765 + + + + + + + + + 457846.446465944 5439090.15783783 112.018294211765 + 457846.433600101 5439090.1531742 112.018294211765 + 457846.43382434 5439090.15222427 112.017426541176 + 457846.446902425 5439090.15696483 112.017426541176 + 457846.446465944 5439090.15783783 112.018294211765 + + + + + + + + + 457846.45791618 5439090.1653328 112.018294211765 + 457846.446465944 5439090.15783783 112.018294211765 + 457846.446902425 5439090.15696483 112.017426541176 + 457846.45854155 5439090.16458344 112.017426541176 + 457846.45791618 5439090.1653328 112.018294211765 + + + + + + + + + 457846.467338198 5439090.17525812 112.018294211765 + 457846.45791618 5439090.1653328 112.018294211765 + 457846.45854155 5439090.16458344 112.017426541176 + 457846.468118998 5439090.17467249 112.017426541176 + 457846.467338198 5439090.17525812 112.018294211765 + + + + + + + + + 457846.43382434 5439090.15222427 112.017426541176 + 457846.420007 5439090.15061539 112.017426541176 + 457846.420007 5439090.14980835 112.016404705882 + 457846.434009751 5439090.15143882 112.016404705882 + 457846.43382434 5439090.15222427 112.017426541176 + + + + + + + + + 457846.446902425 5439090.15696483 112.017426541176 + 457846.43382434 5439090.15222427 112.017426541176 + 457846.434009751 5439090.15143882 112.016404705882 + 457846.447263326 5439090.15624299 112.016404705882 + 457846.446902425 5439090.15696483 112.017426541176 + + + + + + + + + 457846.45854155 5439090.16458344 112.017426541176 + 457846.446902425 5439090.15696483 112.017426541176 + 457846.447263326 5439090.15624299 112.016404705882 + 457846.459058633 5439090.16396384 112.016404705882 + 457846.45854155 5439090.16458344 112.017426541176 + + + + + + + + + 457846.468118998 5439090.17467249 112.017426541176 + 457846.45854155 5439090.16458344 112.017426541176 + 457846.459058633 5439090.16396384 112.016404705882 + 457846.468764598 5439090.17418827 112.016404705882 + 457846.468118998 5439090.17467249 112.017426541176 + + + + + + + + + 457846.434009751 5439090.15143882 112.016404705882 + 457846.420007 5439090.14980835 112.016404705882 + 457846.420007 5439090.14919232 112.015259341176 + 457846.434151278 5439090.15083927 112.015259341176 + 457846.434009751 5439090.15143882 112.016404705882 + + + + + + + + + 457846.447263326 5439090.15624299 112.016404705882 + 457846.434009751 5439090.15143882 112.016404705882 + 457846.434151278 5439090.15083927 112.015259341176 + 457846.447538809 5439090.155692 112.015259341176 + 457846.447263326 5439090.15624299 112.016404705882 + + + + + + + + + 457846.459058633 5439090.16396384 112.016404705882 + 457846.447263326 5439090.15624299 112.016404705882 + 457846.447538809 5439090.155692 112.015259341176 + 457846.459453333 5439090.16349088 112.015259341176 + 457846.459058633 5439090.16396384 112.016404705882 + + + + + + + + + 457846.468764598 5439090.17418827 112.016404705882 + 457846.459058633 5439090.16396384 112.016404705882 + 457846.459453333 5439090.16349088 112.015259341176 + 457846.469257398 5439090.17381865 112.015259341176 + 457846.468764598 5439090.17418827 112.016404705882 + + + + + + + + + 457846.434151278 5439090.15083927 112.015259341176 + 457846.420007 5439090.14919232 112.015259341176 + 457846.420007 5439090.14878631 112.014026023529 + 457846.434244558 5439090.15044412 112.014026023529 + 457846.434151278 5439090.15083927 112.015259341176 + + + + + + + + + 457846.447538809 5439090.155692 112.015259341176 + 457846.434151278 5439090.15083927 112.015259341176 + 457846.434244558 5439090.15044412 112.014026023529 + 457846.447720378 5439090.15532885 112.014026023529 + 457846.447538809 5439090.155692 112.015259341176 + + + + + + + + + 457846.459453333 5439090.16349088 112.015259341176 + 457846.447538809 5439090.155692 112.015259341176 + 457846.447720378 5439090.15532885 112.014026023529 + 457846.459713477 5439090.16317916 112.014026023529 + 457846.459453333 5439090.16349088 112.015259341176 + + + + + + + + + 457846.469257398 5439090.17381865 112.015259341176 + 457846.459453333 5439090.16349088 112.015259341176 + 457846.459713477 5439090.16317916 112.014026023529 + 457846.469582198 5439090.17357504 112.014026023529 + 457846.469257398 5439090.17381865 112.015259341176 + + + + + + + + + 457846.434244558 5439090.15044412 112.014026023529 + 457846.420007 5439090.14878631 112.014026023529 + 457846.420007 5439090.1486983 112.013403435294 + 457846.434264776 5439090.15035847 112.013403435294 + 457846.434244558 5439090.15044412 112.014026023529 + + + + + + + + + 457846.447720378 5439090.15532885 112.014026023529 + 457846.434244558 5439090.15044412 112.014026023529 + 457846.434264776 5439090.15035847 112.013403435294 + 457846.447759733 5439090.15525013 112.013403435294 + 457846.447720378 5439090.15532885 112.014026023529 + + + + + + + + + 457846.459713477 5439090.16317916 112.014026023529 + 457846.447720378 5439090.15532885 112.014026023529 + 457846.447759733 5439090.15525013 112.013403435294 + 457846.459769862 5439090.16311159 112.013403435294 + 457846.459713477 5439090.16317916 112.014026023529 + + + + + + + + + 457846.469582198 5439090.17357504 112.014026023529 + 457846.459713477 5439090.16317916 112.014026023529 + 457846.459769862 5439090.16311159 112.013403435294 + 457846.469652598 5439090.17352224 112.013403435294 + 457846.469582198 5439090.17357504 112.014026023529 + + + + + + + + + 457846.434264776 5439090.15035847 112.013403435294 + 457846.420007 5439090.1486983 112.013403435294 + 457846.420007 5439090.14675521 112 + 457846.434711186 5439090.14846736 112 + 457846.434264776 5439090.15035847 112.013403435294 + + + + + + + + + 457846.447759733 5439090.15525013 112.013403435294 + 457846.434264776 5439090.15035847 112.013403435294 + 457846.434711186 5439090.14846736 112 + 457846.448628669 5439090.15351218 112 + 457846.447759733 5439090.15525013 112.013403435294 + + + + + + + + + 457846.459769862 5439090.16311159 112.013403435294 + 457846.447759733 5439090.15525013 112.013403435294 + 457846.448628669 5439090.15351218 112 + 457846.461014835 5439090.16161978 112 + 457846.459769862 5439090.16311159 112.013403435294 + + + + + + + + + 457846.469652598 5439090.17352224 112.013403435294 + 457846.459769862 5439090.16311159 112.013403435294 + 457846.461014835 5439090.16161978 112 + 457846.471206998 5439090.17235639 112 + 457846.469652598 5439090.17352224 112.013403435294 + + + + + + + + + 457846.434711186 5439090.14846736 112 + 457846.420007 5439090.14675521 112 + 457846.420007 5439090.21075815 112 + 457846.434711186 5439090.14846736 112 + + + + + + + + + 457846.448628669 5439090.15351218 112 + 457846.434711186 5439090.14846736 112 + 457846.420007 5439090.21075815 112 + 457846.448628669 5439090.15351218 112 + + + + + + + + + 457846.461014835 5439090.16161978 112 + 457846.448628669 5439090.15351218 112 + 457846.420007 5439090.21075815 112 + 457846.461014835 5439090.16161978 112 + + + + + + + + + 457846.471206998 5439090.17235639 112 + 457846.461014835 5439090.16161978 112 + 457846.420007 5439090.21075815 112 + 457846.471206998 5439090.17235639 112 + + + + + + + + + 457846.443556673 5439090.11099555 112.42 + 457846.420007 5439090.10825344 112.42 + 457846.420007 5439090.10694138 112.42 + 457846.443858109 5439090.10971859 112.42 + 457846.443556673 5439090.11099555 112.42 + + + + + + + + + 457846.465846392 5439090.11907515 112.42 + 457846.443556673 5439090.11099555 112.42 + 457846.443858109 5439090.10971859 112.42 + 457846.466433136 5439090.11790161 112.42 + 457846.465846392 5439090.11907515 112.42 + + + + + + + + + 457846.48568361 5439090.13205998 112.42 + 457846.465846392 5439090.11907515 112.42 + 457846.466433136 5439090.11790161 112.42 + 457846.486524271 5439090.13105265 112.42 + 457846.48568361 5439090.13205998 112.42 + + + + + + + + + 457846.502006997 5439090.14925532 112.42 + 457846.48568361 5439090.13205998 112.42 + 457846.486524271 5439090.13105265 112.42 + 457846.503056597 5439090.14846809 112.42 + 457846.502006997 5439090.14925532 112.42 + + + + + + + + + 457846.443858109 5439090.10971859 112.42 + 457846.420007 5439090.10694138 112.42 + 457846.420007 5439090.10435626 112.419549364706 + 457846.44445202 5439090.10720262 112.419549364706 + 457846.443858109 5439090.10971859 112.42 + + + + + + + + + 457846.466433136 5439090.11790161 112.42 + 457846.443858109 5439090.10971859 112.42 + 457846.44445202 5439090.10720262 112.419549364706 + 457846.467589183 5439090.11558941 112.419549364706 + 457846.466433136 5439090.11790161 112.42 + + + + + + + + + 457846.486524271 5439090.13105265 112.42 + 457846.466433136 5439090.11790161 112.42 + 457846.467589183 5439090.11558941 112.419549364706 + 457846.488180603 5439090.12906792 112.419549364706 + 457846.486524271 5439090.13105265 112.42 + + + + + + + + + 457846.503056597 5439090.14846809 112.42 + 457846.486524271 5439090.13105265 112.42 + 457846.488180603 5439090.12906792 112.419549364706 + 457846.505124596 5439090.14691702 112.419549364706 + 457846.503056597 5439090.14846809 112.42 + + + + + + + + + 457846.44445202 5439090.10720262 112.419549364706 + 457846.420007 5439090.10435626 112.419549364706 + 457846.420007 5439090.10189015 112.418662917647 + 457846.445018591 5439090.10480248 112.418662917647 + 457846.44445202 5439090.10720262 112.419549364706 + + + + + + + + + 457846.467589183 5439090.11558941 112.419549364706 + 457846.44445202 5439090.10720262 112.419549364706 + 457846.445018591 5439090.10480248 112.418662917647 + 457846.468692012 5439090.11338365 112.418662917647 + 457846.467589183 5439090.11558941 112.419549364706 + + + + + + + + + 457846.488180603 5439090.12906792 112.419549364706 + 457846.467589183 5439090.11558941 112.419549364706 + 457846.468692012 5439090.11338365 112.418662917647 + 457846.489760686 5439090.12717455 112.418662917647 + 457846.488180603 5439090.12906792 112.419549364706 + + + + + + + + + 457846.505124596 5439090.14691702 112.419549364706 + 457846.488180603 5439090.12906792 112.419549364706 + 457846.489760686 5439090.12717455 112.418662917647 + 457846.507097396 5439090.14543735 112.418662917647 + 457846.505124596 5439090.14691702 112.419549364706 + + + + + + + + + 457846.445018591 5439090.10480248 112.418662917647 + 457846.420007 5439090.10189015 112.418662917647 + 457846.420007 5439090.09961605 112.417365364706 + 457846.445541049 5439090.10258921 112.417365364706 + 457846.445018591 5439090.10480248 112.418662917647 + + + + + + + + + 457846.468692012 5439090.11338365 112.418662917647 + 457846.445018591 5439090.10480248 112.418662917647 + 457846.445541049 5439090.10258921 112.417365364706 + 457846.469708975 5439090.11134963 112.417365364706 + 457846.468692012 5439090.11338365 112.418662917647 + + + + + + + + + 457846.489760686 5439090.12717455 112.418662917647 + 457846.468692012 5439090.11338365 112.418662917647 + 457846.469708975 5439090.11134963 112.417365364706 + 457846.491217746 5439090.12542861 112.417365364706 + 457846.489760686 5439090.12717455 112.418662917647 + + + + + + + + + 457846.507097396 5439090.14543735 112.418662917647 + 457846.489760686 5439090.12717455 112.418662917647 + 457846.491217746 5439090.12542861 112.417365364706 + 457846.508916596 5439090.14407288 112.417365364706 + 457846.507097396 5439090.14543735 112.418662917647 + + + + + + + + + 457846.445541049 5439090.10258921 112.417365364706 + 457846.420007 5439090.09961605 112.417365364706 + 457846.420007 5439090.09760595 112.415698211765 + 457846.446002853 5439090.10063289 112.415698211765 + 457846.445541049 5439090.10258921 112.417365364706 + + + + + + + + + 457846.469708975 5439090.11134963 112.417365364706 + 457846.445541049 5439090.10258921 112.417365364706 + 457846.446002853 5439090.10063289 112.415698211765 + 457846.470607875 5439090.10955175 112.415698211765 + 457846.469708975 5439090.11134963 112.417365364706 + + + + + + + + + 457846.491217746 5439090.12542861 112.417365364706 + 457846.469708975 5439090.11134963 112.417365364706 + 457846.470607875 5439090.10955175 112.415698211765 + 457846.492505648 5439090.12388536 112.415698211765 + 457846.491217746 5439090.12542861 112.417365364706 + + + + + + + + + 457846.508916596 5439090.14407288 112.417365364706 + 457846.491217746 5439090.12542861 112.417365364706 + 457846.492505648 5439090.12388536 112.415698211765 + 457846.510524596 5439090.14286683 112.415698211765 + 457846.508916596 5439090.14407288 112.417365364706 + + + + + + + + + 457846.446002853 5439090.10063289 112.415698211765 + 457846.420007 5439090.09760595 112.415698211765 + 457846.420007 5439090.09591888 112.413711858824 + 457846.446390446 5439090.09899094 112.413711858824 + 457846.446002853 5439090.10063289 112.415698211765 + + + + + + + + + 457846.470607875 5439090.10955175 112.415698211765 + 457846.446002853 5439090.10063289 112.415698211765 + 457846.446390446 5439090.09899094 112.413711858824 + 457846.471362324 5439090.10804278 112.413711858824 + 457846.470607875 5439090.10955175 112.415698211765 + + + + + + + + + 457846.492505648 5439090.12388536 112.415698211765 + 457846.470607875 5439090.10955175 112.415698211765 + 457846.471362324 5439090.10804278 112.413711858824 + 457846.493586589 5439090.1225901 112.413711858824 + 457846.492505648 5439090.12388536 112.415698211765 + + + + + + + + + 457846.510524596 5439090.14286683 112.415698211765 + 457846.492505648 5439090.12388536 112.415698211765 + 457846.493586589 5439090.1225901 112.413711858824 + 457846.511874196 5439090.14185458 112.413711858824 + 457846.510524596 5439090.14286683 112.415698211765 + + + + + + + + + 457846.446390446 5439090.09899094 112.413711858824 + 457846.420007 5439090.09591888 112.413711858824 + 457846.420007 5439090.09460582 112.411464611765 + 457846.446692111 5439090.09771301 112.411464611765 + 457846.446390446 5439090.09899094 112.413711858824 + + + + + + + + + 457846.471362324 5439090.10804278 112.413711858824 + 457846.446390446 5439090.09899094 112.413711858824 + 457846.446692111 5439090.09771301 112.411464611765 + 457846.471949515 5439090.10686834 112.411464611765 + 457846.471362324 5439090.10804278 112.413711858824 + + + + + + + + + 457846.493586589 5439090.1225901 112.413711858824 + 457846.471362324 5439090.10804278 112.413711858824 + 457846.471949515 5439090.10686834 112.411464611765 + 457846.49442789 5439090.12158199 112.411464611765 + 457846.493586589 5439090.1225901 112.413711858824 + + + + + + + + + 457846.511874196 5439090.14185458 112.413711858824 + 457846.493586589 5439090.1225901 112.413711858824 + 457846.49442789 5439090.12158199 112.411464611765 + 457846.512924596 5439090.14106675 112.411464611765 + 457846.511874196 5439090.14185458 112.413711858824 + + + + + + + + + 457846.446692111 5439090.09771301 112.411464611765 + 457846.420007 5439090.09460582 112.411464611765 + 457846.420007 5439090.09370878 112.409027623529 + 457846.4468982 5439090.09683996 112.409027623529 + 457846.446692111 5439090.09771301 112.411464611765 + + + + + + + + + 457846.471949515 5439090.10686834 112.411464611765 + 457846.446692111 5439090.09771301 112.411464611765 + 457846.4468982 5439090.09683996 112.409027623529 + 457846.472350666 5439090.10606601 112.409027623529 + 457846.471949515 5439090.10686834 112.411464611765 + + + + + + + + + 457846.49442789 5439090.12158199 112.411464611765 + 457846.471949515 5439090.10686834 112.411464611765 + 457846.472350666 5439090.10606601 112.409027623529 + 457846.495002641 5439090.12089329 112.409027623529 + 457846.49442789 5439090.12158199 112.411464611765 + + + + + + + + + 457846.512924596 5439090.14106675 112.411464611765 + 457846.49442789 5439090.12158199 112.411464611765 + 457846.495002641 5439090.12089329 112.409027623529 + 457846.513642196 5439090.14052852 112.409027623529 + 457846.512924596 5439090.14106675 112.411464611765 + + + + + + + + + 457846.4468982 5439090.09683996 112.409027623529 + 457846.420007 5439090.09370878 112.409027623529 + 457846.420007 5439090.09325275 112.406473035294 + 457846.447002967 5439090.09639614 112.406473035294 + 457846.4468982 5439090.09683996 112.409027623529 + + + + + + + + + 457846.472350666 5439090.10606601 112.409027623529 + 457846.4468982 5439090.09683996 112.409027623529 + 457846.447002967 5439090.09639614 112.406473035294 + 457846.472554595 5439090.10565813 112.406473035294 + 457846.472350666 5439090.10606601 112.409027623529 + + + + + + + + + 457846.495002641 5439090.12089329 112.409027623529 + 457846.472350666 5439090.10606601 112.409027623529 + 457846.472554595 5439090.10565813 112.406473035294 + 457846.495294821 5439090.12054318 112.406473035294 + 457846.495002641 5439090.12089329 112.409027623529 + + + + + + + + + 457846.513642196 5439090.14052852 112.409027623529 + 457846.495002641 5439090.12089329 112.409027623529 + 457846.495294821 5439090.12054318 112.406473035294 + 457846.514006996 5439090.14025491 112.406473035294 + 457846.513642196 5439090.14052852 112.409027623529 + + + + + + + + + 457846.447002967 5439090.09639614 112.406473035294 + 457846.420007 5439090.09325275 112.406473035294 + 457846.420007 5439090.09325275 112.405176470588 + 457846.447002967 5439090.09639614 112.405176470588 + 457846.447002967 5439090.09639614 112.406473035294 + + + + + + + + + 457846.472554595 5439090.10565813 112.406473035294 + 457846.447002967 5439090.09639614 112.406473035294 + 457846.447002967 5439090.09639614 112.405176470588 + 457846.472554595 5439090.10565813 112.405176470588 + 457846.472554595 5439090.10565813 112.406473035294 + + + + + + + + + 457846.495294821 5439090.12054318 112.406473035294 + 457846.472554595 5439090.10565813 112.406473035294 + 457846.472554595 5439090.10565813 112.405176470588 + 457846.495294821 5439090.12054318 112.405176470588 + 457846.495294821 5439090.12054318 112.406473035294 + + + + + + + + + 457846.514006996 5439090.14025491 112.406473035294 + 457846.495294821 5439090.12054318 112.406473035294 + 457846.495294821 5439090.12054318 112.405176470588 + 457846.514006996 5439090.14025491 112.405176470588 + 457846.514006996 5439090.14025491 112.406473035294 + + + + + + + + + 457846.447002967 5439090.09639614 112.405176470588 + 457846.420007 5439090.09325275 112.405176470588 + 457846.420007 5439090.0921157 112.405166588235 + 457846.447264196 5439090.09528951 112.405166588235 + 457846.447002967 5439090.09639614 112.405176470588 + + + + + + + + + 457846.472554595 5439090.10565813 112.405176470588 + 457846.447002967 5439090.09639614 112.405176470588 + 457846.447264196 5439090.09528951 112.405166588235 + 457846.473063077 5439090.10464112 112.405166588235 + 457846.472554595 5439090.10565813 112.405176470588 + + + + + + + + + 457846.495294821 5439090.12054318 112.405176470588 + 457846.472554595 5439090.10565813 112.405176470588 + 457846.473063077 5439090.10464112 112.405166588235 + 457846.496023351 5439090.1196702 112.405166588235 + 457846.495294821 5439090.12054318 112.405176470588 + + + + + + + + + 457846.514006996 5439090.14025491 112.405176470588 + 457846.495294821 5439090.12054318 112.405176470588 + 457846.496023351 5439090.1196702 112.405166588235 + 457846.514916596 5439090.13957268 112.405166588235 + 457846.514006996 5439090.14025491 112.405176470588 + + + + + + + + + 457846.447264196 5439090.09528951 112.405166588235 + 457846.420007 5439090.0921157 112.405166588235 + 457846.420007 5439090.0898796 112.404757458824 + 457846.447777924 5439090.09311322 112.404757458824 + 457846.447264196 5439090.09528951 112.405166588235 + + + + + + + + + 457846.473063077 5439090.10464112 112.405166588235 + 457846.447264196 5439090.09528951 112.405166588235 + 457846.447777924 5439090.09311322 112.404757458824 + 457846.474063047 5439090.10264109 112.404757458824 + 457846.473063077 5439090.10464112 112.405166588235 + + + + + + + + + 457846.496023351 5439090.1196702 112.405166588235 + 457846.473063077 5439090.10464112 112.405166588235 + 457846.474063047 5439090.10264109 112.404757458824 + 457846.497456062 5439090.11795343 112.404757458824 + 457846.496023351 5439090.1196702 112.405166588235 + + + + + + + + + 457846.514916596 5439090.13957268 112.405166588235 + 457846.496023351 5439090.1196702 112.405166588235 + 457846.497456062 5439090.11795343 112.404757458824 + 457846.516705396 5439090.13823102 112.404757458824 + 457846.514916596 5439090.13957268 112.405166588235 + + + + + + + + + 457846.447777924 5439090.09311322 112.404757458824 + 457846.420007 5439090.0898796 112.404757458824 + 457846.420007 5439090.0877495 112.403969835294 + 457846.448267297 5439090.09104011 112.403969835294 + 457846.447777924 5439090.09311322 112.404757458824 + + + + + + + + + 457846.474063047 5439090.10264109 112.404757458824 + 457846.447777924 5439090.09311322 112.404757458824 + 457846.448267297 5439090.09104011 112.403969835294 + 457846.475015612 5439090.10073587 112.403969835294 + 457846.474063047 5439090.10264109 112.404757458824 + + + + + + + + + 457846.497456062 5439090.11795343 112.404757458824 + 457846.474063047 5439090.10264109 112.404757458824 + 457846.475015612 5439090.10073587 112.403969835294 + 457846.498820854 5439090.11631805 112.403969835294 + 457846.497456062 5439090.11795343 112.404757458824 + + + + + + + + + 457846.516705396 5439090.13823102 112.404757458824 + 457846.497456062 5439090.11795343 112.404757458824 + 457846.498820854 5439090.11631805 112.403969835294 + 457846.518409396 5439090.13695296 112.403969835294 + 457846.516705396 5439090.13823102 112.404757458824 + + + + + + + + + 457846.448267297 5439090.09104011 112.403969835294 + 457846.420007 5439090.0877495 112.403969835294 + 457846.420007 5439090.08579041 112.402829411765 + 457846.448717383 5439090.08913342 112.402829411765 + 457846.448267297 5439090.09104011 112.403969835294 + + + + + + + + + 457846.475015612 5439090.10073587 112.403969835294 + 457846.448267297 5439090.09104011 112.403969835294 + 457846.448717383 5439090.08913342 112.402829411765 + 457846.475891703 5439090.09898361 112.402829411765 + 457846.475015612 5439090.10073587 112.403969835294 + + + + + + + + + 457846.498820854 5439090.11631805 112.403969835294 + 457846.475015612 5439090.10073587 112.403969835294 + 457846.475891703 5439090.09898361 112.402829411765 + 457846.500076079 5439090.11481395 112.402829411765 + 457846.498820854 5439090.11631805 112.403969835294 + + + + + + + + + 457846.518409396 5439090.13695296 112.403969835294 + 457846.498820854 5439090.11631805 112.403969835294 + 457846.500076079 5439090.11481395 112.402829411765 + 457846.519976596 5439090.1357775 112.402829411765 + 457846.518409396 5439090.13695296 112.403969835294 + + + + + + + + + 457846.448717383 5439090.08913342 112.402829411765 + 457846.420007 5439090.08579041 112.402829411765 + 457846.420007 5439090.08406133 112.401369788235 + 457846.449114626 5439090.0874506 112.401369788235 + 457846.448717383 5439090.08913342 112.402829411765 + + + + + + + + + 457846.475891703 5439090.09898361 112.402829411765 + 457846.448717383 5439090.08913342 112.402829411765 + 457846.449114626 5439090.0874506 112.401369788235 + 457846.476664935 5439090.09743707 112.401369788235 + 457846.475891703 5439090.09898361 112.402829411765 + + + + + + + + + 457846.500076079 5439090.11481395 112.402829411765 + 457846.475891703 5439090.09898361 112.402829411765 + 457846.476664935 5439090.09743707 112.401369788235 + 457846.501183931 5439090.11348645 112.401369788235 + 457846.500076079 5439090.11481395 112.402829411765 + + + + + + + + + 457846.519976596 5439090.1357775 112.402829411765 + 457846.500076079 5439090.11481395 112.402829411765 + 457846.501183931 5439090.11348645 112.401369788235 + 457846.521359796 5439090.13474006 112.401369788235 + 457846.519976596 5439090.1357775 112.402829411765 + + + + + + + + + 457846.449114626 5439090.0874506 112.401369788235 + 457846.420007 5439090.08406133 112.401369788235 + 457846.420007 5439090.08296328 112.400031717647 + 457846.449366895 5439090.08638192 112.400031717647 + 457846.449114626 5439090.0874506 112.401369788235 + + + + + + + + + 457846.476664935 5439090.09743707 112.401369788235 + 457846.449114626 5439090.0874506 112.401369788235 + 457846.449366895 5439090.08638192 112.400031717647 + 457846.477155976 5439090.09645494 112.400031717647 + 457846.476664935 5439090.09743707 112.401369788235 + + + + + + + + + 457846.501183931 5439090.11348645 112.401369788235 + 457846.476664935 5439090.09743707 112.401369788235 + 457846.477155976 5439090.09645494 112.400031717647 + 457846.501887471 5439090.11264342 112.400031717647 + 457846.501183931 5439090.11348645 112.401369788235 + + + + + + + + + 457846.521359796 5439090.13474006 112.401369788235 + 457846.501183931 5439090.11348645 112.401369788235 + 457846.501887471 5439090.11264342 112.400031717647 + 457846.522238196 5439090.13408122 112.400031717647 + 457846.521359796 5439090.13474006 112.401369788235 + + + + + + + + + 457846.449366895 5439090.08638192 112.400031717647 + 457846.420007 5439090.08296328 112.400031717647 + 457846.420007 5439090.0812202 112.397531482353 + 457846.449767354 5439090.08468547 112.397531482353 + 457846.449366895 5439090.08638192 112.400031717647 + + + + + + + + + 457846.477155976 5439090.09645494 112.400031717647 + 457846.449366895 5439090.08638192 112.400031717647 + 457846.449767354 5439090.08468547 112.397531482353 + 457846.477935469 5439090.09489589 112.397531482353 + 457846.477155976 5439090.09645494 112.400031717647 + + + + + + + + + 457846.501887471 5439090.11264342 112.400031717647 + 457846.477155976 5439090.09645494 112.400031717647 + 457846.477935469 5439090.09489589 112.397531482353 + 457846.503004294 5439090.11130516 112.397531482353 + 457846.501887471 5439090.11264342 112.400031717647 + + + + + + + + + 457846.522238196 5439090.13408122 112.400031717647 + 457846.501887471 5439090.11264342 112.400031717647 + 457846.503004294 5439090.11130516 112.397531482353 + 457846.523632596 5439090.13303538 112.397531482353 + 457846.522238196 5439090.13408122 112.400031717647 + + + + + + + + + 457846.449767354 5439090.08468547 112.397531482353 + 457846.420007 5439090.0812202 112.397531482353 + 457846.420007 5439090.07866708 112.392010211765 + 457846.450353913 5439090.08220065 112.392010211765 + 457846.449767354 5439090.08468547 112.397531482353 + + + + + + + + + 457846.477935469 5439090.09489589 112.397531482353 + 457846.449767354 5439090.08468547 112.397531482353 + 457846.450353913 5439090.08220065 112.392010211765 + 457846.479077205 5439090.09261231 112.392010211765 + 457846.477935469 5439090.09489589 112.397531482353 + + + + + + + + + 457846.503004294 5439090.11130516 112.397531482353 + 457846.477935469 5439090.09489589 112.397531482353 + 457846.479077205 5439090.09261231 112.392010211765 + 457846.504640122 5439090.109345 112.392010211765 + 457846.503004294 5439090.11130516 112.397531482353 + + + + + + + + + 457846.523632596 5439090.13303538 112.397531482353 + 457846.503004294 5439090.11130516 112.397531482353 + 457846.504640122 5439090.109345 112.392010211765 + 457846.525674996 5439090.13150351 112.392010211765 + 457846.523632596 5439090.13303538 112.397531482353 + + + + + + + + + 457846.479077205 5439090.09261231 112.392010211765 + 457846.450353913 5439090.08220065 112.392010211765 + 457846.45044053 5439090.08183372 112.390457694118 + 457846.479245805 5439090.09227509 112.390457694118 + 457846.479077205 5439090.09261231 112.392010211765 + + + + + + + + + 457846.504640122 5439090.109345 112.392010211765 + 457846.479077205 5439090.09261231 112.392010211765 + 457846.479245805 5439090.09227509 112.390457694118 + 457846.504881684 5439090.10905555 112.390457694118 + 457846.504640122 5439090.109345 112.392010211765 + + + + + + + + + 457846.525674996 5439090.13150351 112.392010211765 + 457846.504640122 5439090.109345 112.392010211765 + 457846.504881684 5439090.10905555 112.390457694118 + 457846.525976596 5439090.1312773 112.390457694118 + 457846.525674996 5439090.13150351 112.392010211765 + + + + + + + + + 457846.450454085 5439090.38474208 112.390295623529 + 457846.450834786 5439090.38635482 112.385146917647 + 457846.420007 5439090.38994439 112.385146917647 + 457846.420007 5439090.38828731 112.390295623529 + 457846.450454085 5439090.38474208 112.390295623529 + + + + + + + + + 457846.47927219 5439090.37429605 112.390295623529 + 457846.480013223 5439090.37577819 112.385146917647 + 457846.450834786 5439090.38635482 112.385146917647 + 457846.450454085 5439090.38474208 112.390295623529 + 457846.47927219 5439090.37429605 112.390295623529 + + + + + + + + + 457846.504919488 5439090.35750813 112.390295623529 + 457846.505981207 5439090.35878035 112.385146917647 + 457846.480013223 5439090.37577819 112.385146917647 + 457846.47927219 5439090.37429605 112.390295623529 + 457846.504919488 5439090.35750813 112.390295623529 + + + + + + + + + 457846.526023796 5439090.33527648 112.390295623529 + 457846.527349396 5439090.33627073 112.385146917647 + 457846.505981207 5439090.35878035 112.385146917647 + 457846.504919488 5439090.35750813 112.390295623529 + 457846.526023796 5439090.33527648 112.390295623529 + + + + + + + + + 457846.450834786 5439090.38635482 112.385146917647 + 457846.451470972 5439090.38904987 112.379928047059 + 457846.420007 5439090.39271351 112.379928047059 + 457846.420007 5439090.38994439 112.385146917647 + 457846.450834786 5439090.38635482 112.385146917647 + + + + + + + + + 457846.480013223 5439090.37577819 112.385146917647 + 457846.481251558 5439090.37825497 112.379928047059 + 457846.451470972 5439090.38904987 112.379928047059 + 457846.450834786 5439090.38635482 112.385146917647 + 457846.480013223 5439090.37577819 112.385146917647 + + + + + + + + + 457846.505981207 5439090.35878035 112.385146917647 + 457846.507755436 5439090.36090635 112.379928047059 + 457846.481251558 5439090.37825497 112.379928047059 + 457846.480013223 5439090.37577819 112.385146917647 + 457846.505981207 5439090.35878035 112.385146917647 + + + + + + + + + 457846.527349396 5439090.33627073 112.385146917647 + 457846.529564596 5439090.3379322 112.379928047059 + 457846.507755436 5439090.36090635 112.379928047059 + 457846.505981207 5439090.35878035 112.385146917647 + 457846.527349396 5439090.33627073 112.385146917647 + + + + + + + + + 457846.451470972 5439090.38904987 112.379928047059 + 457846.451689467 5439090.38997548 112.378168988235 + 457846.420007 5439090.39366456 112.378168988235 + 457846.420007 5439090.39358255 112.378293505882 + 457846.420007 5439090.39271351 112.379928047059 + 457846.451470972 5439090.38904987 112.379928047059 + + + + + + + + + 457846.481251558 5439090.37825497 112.379928047059 + 457846.481676858 5439090.37910561 112.378168988235 + 457846.451689467 5439090.38997548 112.378168988235 + 457846.451470972 5439090.38904987 112.379928047059 + 457846.481251558 5439090.37825497 112.379928047059 + + + + + + + + + 457846.507755436 5439090.36090635 112.379928047059 + 457846.508364787 5439090.36163652 112.378168988235 + 457846.481676858 5439090.37910561 112.378168988235 + 457846.481251558 5439090.37825497 112.379928047059 + 457846.507755436 5439090.36090635 112.379928047059 + + + + + + + + + 457846.529564596 5439090.3379322 112.379928047059 + 457846.530325396 5439090.33850283 112.378168988235 + 457846.508364787 5439090.36163652 112.378168988235 + 457846.507755436 5439090.36090635 112.379928047059 + 457846.529564596 5439090.3379322 112.379928047059 + + + + + + + + + 457846.451689467 5439090.38997548 112.378168988235 + 457846.452219277 5439090.39221989 112.375262588235 + 457846.420007 5439090.39597066 112.375262588235 + 457846.420007 5439090.39586866 112.375371294118 + 457846.420007 5439090.39366456 112.378168988235 + 457846.451689467 5439090.38997548 112.378168988235 + + + + + + + + + 457846.481676858 5439090.37910561 112.378168988235 + 457846.482708132 5439090.38116825 112.375262588235 + 457846.452219277 5439090.39221989 112.375262588235 + 457846.451689467 5439090.38997548 112.378168988235 + 457846.481676858 5439090.37910561 112.378168988235 + + + + + + + + + 457846.508364787 5439090.36163652 112.378168988235 + 457846.509842351 5439090.36340703 112.375262588235 + 457846.482708132 5439090.38116825 112.375262588235 + 457846.481676858 5439090.37910561 112.378168988235 + 457846.508364787 5439090.36163652 112.378168988235 + + + + + + + + + 457846.530325396 5439090.33850283 112.378168988235 + 457846.532170196 5439090.33988649 112.375262588235 + 457846.509842351 5439090.36340703 112.375262588235 + 457846.508364787 5439090.36163652 112.378168988235 + 457846.530325396 5439090.33850283 112.378168988235 + + + + + + + + + 457846.452219277 5439090.39221989 112.375262588235 + 457846.452858679 5439090.39492857 112.372795952941 + 457846.420007 5439090.39875379 112.372795952941 + 457846.420007 5439090.39863379 112.372884894118 + 457846.420007 5439090.39597066 112.375262588235 + 457846.452219277 5439090.39221989 112.375262588235 + + + + + + + + + 457846.482708132 5439090.38116825 112.375262588235 + 457846.483952728 5439090.38365756 112.372795952941 + 457846.452858679 5439090.39492857 112.372795952941 + 457846.452219277 5439090.39221989 112.375262588235 + 457846.482708132 5439090.38116825 112.375262588235 + + + + + + + + + 457846.509842351 5439090.36340703 112.375262588235 + 457846.511625551 5439090.36554378 112.372795952941 + 457846.483952728 5439090.38365756 112.372795952941 + 457846.482708132 5439090.38116825 112.375262588235 + 457846.509842351 5439090.36340703 112.375262588235 + + + + + + + + + 457846.532170196 5439090.33988649 112.375262588235 + 457846.534396596 5439090.34155637 112.372795952941 + 457846.511625551 5439090.36554378 112.372795952941 + 457846.509842351 5439090.36340703 112.375262588235 + 457846.532170196 5439090.33988649 112.375262588235 + + + + + + + + + 457846.452858679 5439090.39492857 112.372795952941 + 457846.453223068 5439090.39647221 112.371819576471 + 457846.420007 5439090.40033986 112.371819576471 + 457846.420007 5439090.39875379 112.372795952941 + 457846.452858679 5439090.39492857 112.372795952941 + + + + + + + + + 457846.483952728 5439090.38365756 112.372795952941 + 457846.484662008 5439090.38507619 112.371819576471 + 457846.453223068 5439090.39647221 112.371819576471 + 457846.452858679 5439090.39492857 112.372795952941 + 457846.483952728 5439090.38365756 112.372795952941 + + + + + + + + + 457846.511625551 5439090.36554378 112.372795952941 + 457846.512641776 5439090.36676149 112.371819576471 + 457846.484662008 5439090.38507619 112.371819576471 + 457846.483952728 5439090.38365756 112.372795952941 + 457846.511625551 5439090.36554378 112.372795952941 + + + + + + + + + 457846.534396596 5439090.34155637 112.372795952941 + 457846.535665396 5439090.34250801 112.371819576471 + 457846.512641776 5439090.36676149 112.371819576471 + 457846.511625551 5439090.36554378 112.372795952941 + 457846.534396596 5439090.34155637 112.372795952941 + + + + + + + + + 457846.453223068 5439090.39647221 112.371819576471 + 457846.453851212 5439090.3991332 112.370240376471 + 457846.420007 5439090.40307399 112.370240376471 + 457846.420007 5439090.40291198 112.370353035294 + 457846.420007 5439090.40033986 112.371819576471 + 457846.453223068 5439090.39647221 112.371819576471 + + + + + + + + + 457846.484662008 5439090.38507619 112.371819576471 + 457846.48588469 5439090.38752166 112.370240376471 + 457846.453851212 5439090.3991332 112.370240376471 + 457846.453223068 5439090.39647221 112.371819576471 + 457846.484662008 5439090.38507619 112.371819576471 + + + + + + + + + 457846.512641776 5439090.36676149 112.371819576471 + 457846.51439358 5439090.36886062 112.370240376471 + 457846.48588469 5439090.38752166 112.370240376471 + 457846.484662008 5439090.38507619 112.371819576471 + 457846.512641776 5439090.36676149 112.371819576471 + + + + + + + + + 457846.535665396 5439090.34250801 112.371819576471 + 457846.537852595 5439090.34414849 112.370240376471 + 457846.51439358 5439090.36886062 112.370240376471 + 457846.512641776 5439090.36676149 112.371819576471 + 457846.535665396 5439090.34250801 112.371819576471 + + + + + + + + + 457846.453851212 5439090.3991332 112.370240376471 + 457846.454960689 5439090.40383323 112.366191576471 + 457846.420007 5439090.40790321 112.366191576471 + 457846.420007 5439090.4077642 112.366329929412 + 457846.420007 5439090.40307399 112.370240376471 + 457846.453851212 5439090.3991332 112.370240376471 + + + + + + + + + 457846.48588469 5439090.38752166 112.370240376471 + 457846.488044285 5439090.39184105 112.366191576471 + 457846.454960689 5439090.40383323 112.366191576471 + 457846.453851212 5439090.3991332 112.370240376471 + 457846.48588469 5439090.38752166 112.370240376471 + + + + + + + + + 457846.51439358 5439090.36886062 112.370240376471 + 457846.517487749 5439090.37256827 112.366191576471 + 457846.488044285 5439090.39184105 112.366191576471 + 457846.48588469 5439090.38752166 112.370240376471 + 457846.51439358 5439090.36886062 112.370240376471 + + + + + + + + + 457846.537852595 5439090.34414849 112.370240376471 + 457846.541715795 5439090.34704602 112.366191576471 + 457846.517487749 5439090.37256827 112.366191576471 + 457846.51439358 5439090.36886062 112.370240376471 + 457846.537852595 5439090.34414849 112.370240376471 + + + + + + + + + 457846.454960689 5439090.40383323 112.366191576471 + 457846.455890039 5439090.40777021 112.361374917647 + 457846.420007 5439090.4119484 112.361374917647 + 457846.420007 5439090.41183539 112.361536 + 457846.420007 5439090.40790321 112.366191576471 + 457846.454960689 5439090.40383323 112.366191576471 + + + + + + + + + 457846.488044285 5439090.39184105 112.366191576471 + 457846.489853264 5439090.39545917 112.361374917647 + 457846.455890039 5439090.40777021 112.361374917647 + 457846.454960689 5439090.40383323 112.366191576471 + 457846.488044285 5439090.39184105 112.366191576471 + + + + + + + + + 457846.517487749 5439090.37256827 112.366191576471 + 457846.520079572 5439090.37567397 112.361374917647 + 457846.489853264 5439090.39545917 112.361374917647 + 457846.488044285 5439090.39184105 112.366191576471 + 457846.517487749 5439090.37256827 112.366191576471 + + + + + + + + + 457846.541715795 5439090.34704602 112.366191576471 + 457846.544951795 5439090.34947313 112.361374917647 + 457846.520079572 5439090.37567397 112.361374917647 + 457846.517487749 5439090.37256827 112.366191576471 + 457846.541715795 5439090.34704602 112.366191576471 + + + + + + + + + 457846.455890039 5439090.40777021 112.361374917647 + 457846.456610544 5439090.41082245 112.355937647059 + 457846.420007 5439090.41508454 112.355937647059 + 457846.420007 5439090.41500154 112.356115529412 + 457846.420007 5439090.4119484 112.361374917647 + 457846.455890039 5439090.40777021 112.361374917647 + + + + + + + + + 457846.489853264 5439090.39545917 112.361374917647 + 457846.491255725 5439090.39826423 112.355937647059 + 457846.456610544 5439090.41082245 112.355937647059 + 457846.455890039 5439090.40777021 112.361374917647 + 457846.489853264 5439090.39545917 112.361374917647 + + + + + + + + + 457846.520079572 5439090.37567397 112.361374917647 + 457846.522088956 5439090.37808175 112.355937647059 + 457846.491255725 5439090.39826423 112.355937647059 + 457846.489853264 5439090.39545917 112.361374917647 + 457846.520079572 5439090.37567397 112.361374917647 + + + + + + + + + 457846.544951795 5439090.34947313 112.361374917647 + 457846.547460595 5439090.35135482 112.355937647059 + 457846.522088956 5439090.37808175 112.355937647059 + 457846.520079572 5439090.37567397 112.361374917647 + 457846.544951795 5439090.34947313 112.361374917647 + + + + + + + + + 457846.456610544 5439090.41082245 112.355937647059 + 457846.457100837 5439090.41289946 112.3500448 + 457846.420007 5439090.41721864 112.3500448 + 457846.420007 5439090.41716764 112.350234541176 + 457846.420007 5439090.41508454 112.355937647059 + 457846.456610544 5439090.41082245 112.355937647059 + + + + + + + + + 457846.491255725 5439090.39826423 112.355937647059 + 457846.492210079 5439090.40017302 112.3500448 + 457846.457100837 5439090.41289946 112.3500448 + 457846.456610544 5439090.41082245 112.355937647059 + 457846.491255725 5439090.39826423 112.355937647059 + + + + + + + + + 457846.522088956 5439090.37808175 112.355937647059 + 457846.523456311 5439090.3797202 112.3500448 + 457846.492210079 5439090.40017302 112.3500448 + 457846.491255725 5439090.39826423 112.355937647059 + 457846.522088956 5439090.37808175 112.355937647059 + + + + + + + + + 457846.547460595 5439090.35135482 112.355937647059 + 457846.549167795 5439090.35263528 112.3500448 + 457846.523456311 5439090.3797202 112.3500448 + 457846.522088956 5439090.37808175 112.355937647059 + 457846.547460595 5439090.35135482 112.355937647059 + + + + + + + + + 457846.457100837 5439090.41289946 112.3500448 + 457846.457345754 5439090.413937 112.343875247059 + 457846.420007 5439090.41828469 112.343875247059 + 457846.420007 5439090.41826769 112.344070917647 + 457846.420007 5439090.41721864 112.3500448 + 457846.457100837 5439090.41289946 112.3500448 + + + + + + + + + 457846.492210079 5439090.40017302 112.3500448 + 457846.492686809 5439090.40112653 112.343875247059 + 457846.457345754 5439090.413937 112.343875247059 + 457846.457100837 5439090.41289946 112.3500448 + 457846.492210079 5439090.40017302 112.3500448 + + + + + + + + + 457846.523456311 5439090.3797202 112.3500448 + 457846.524139348 5439090.38053866 112.343875247059 + 457846.492686809 5439090.40112653 112.343875247059 + 457846.492210079 5439090.40017302 112.3500448 + 457846.523456311 5439090.3797202 112.3500448 + + + + + + + + + 457846.549167795 5439090.35263528 112.3500448 + 457846.550020595 5439090.35327491 112.343875247059 + 457846.524139348 5439090.38053866 112.343875247059 + 457846.523456311 5439090.3797202 112.3500448 + 457846.549167795 5439090.35263528 112.3500448 + + + + + + + + + 457846.457345754 5439090.413937 112.343875247059 + 457846.457341848 5439090.41392045 112.340941176471 + 457846.420007 5439090.41826769 112.340941176471 + 457846.420007 5439090.41828469 112.343875247059 + 457846.457345754 5439090.413937 112.343875247059 + + + + + + + + + 457846.492686809 5439090.40112653 112.343875247059 + 457846.492679206 5439090.40111132 112.340941176471 + 457846.457341848 5439090.41392045 112.340941176471 + 457846.457345754 5439090.413937 112.343875247059 + 457846.492686809 5439090.40112653 112.343875247059 + + + + + + + + + 457846.524139348 5439090.38053866 112.343875247059 + 457846.524128455 5439090.38052561 112.340941176471 + 457846.492679206 5439090.40111132 112.340941176471 + 457846.492686809 5439090.40112653 112.343875247059 + 457846.524139348 5439090.38053866 112.343875247059 + + + + + + + + + 457846.550020595 5439090.35327491 112.343875247059 + 457846.550006995 5439090.35326471 112.340941176471 + 457846.524128455 5439090.38052561 112.340941176471 + 457846.524139348 5439090.38053866 112.343875247059 + 457846.550020595 5439090.35327491 112.343875247059 + + + + + + + + + 457846.457341848 5439090.41392045 112.340941176471 + 457846.455044319 5439090.40418751 112.340941176471 + 457846.420007 5439090.40826723 112.340941176471 + 457846.420007 5439090.41826769 112.340941176471 + 457846.457341848 5439090.41392045 112.340941176471 + + + + + + + + + 457846.492679206 5439090.40111132 112.340941176471 + 457846.488207071 5439090.39216664 112.340941176471 + 457846.455044319 5439090.40418751 112.340941176471 + 457846.457341848 5439090.41392045 112.340941176471 + 457846.492679206 5439090.40111132 112.340941176471 + + + + + + + + + 457846.524128455 5439090.38052561 112.340941176471 + 457846.517720981 5439090.37284774 112.340941176471 + 457846.488207071 5439090.39216664 112.340941176471 + 457846.492679206 5439090.40111132 112.340941176471 + 457846.524128455 5439090.38052561 112.340941176471 + + + + + + + + + 457846.550006995 5439090.35326471 112.340941176471 + 457846.542006995 5439090.34726443 112.340941176471 + 457846.517720981 5439090.37284774 112.340941176471 + 457846.524128455 5439090.38052561 112.340941176471 + 457846.550006995 5439090.35326471 112.340941176471 + + + + + + + + + 457846.455044319 5439090.40418751 112.340941176471 + 457846.455384123 5439090.40562701 112.330725788235 + 457846.420007 5439090.4097463 112.330725788235 + 457846.420007 5439090.40826723 112.340941176471 + 457846.455044319 5439090.40418751 112.340941176471 + + + + + + + + + 457846.488207071 5439090.39216664 112.340941176471 + 457846.488868499 5439090.39348955 112.330725788235 + 457846.455384123 5439090.40562701 112.330725788235 + 457846.455044319 5439090.40418751 112.340941176471 + 457846.488207071 5439090.39216664 112.340941176471 + + + + + + + + + 457846.517720981 5439090.37284774 112.340941176471 + 457846.518668646 5439090.3739833 112.330725788235 + 457846.488868499 5439090.39348955 112.330725788235 + 457846.488207071 5439090.39216664 112.340941176471 + 457846.517720981 5439090.37284774 112.340941176471 + + + + + + + + + 457846.542006995 5439090.34726443 112.340941176471 + 457846.543190195 5439090.34815187 112.330725788235 + 457846.518668646 5439090.3739833 112.330725788235 + 457846.517720981 5439090.37284774 112.340941176471 + 457846.542006995 5439090.34726443 112.340941176471 + + + + + + + + + 457846.455384123 5439090.40562701 112.330725788235 + 457846.455228581 5439090.40496809 112.310097364706 + 457846.420007 5439090.40906926 112.310097364706 + 457846.420007 5439090.4097463 112.330725788235 + 457846.455384123 5439090.40562701 112.330725788235 + + + + + + + + + 457846.488868499 5439090.39348955 112.330725788235 + 457846.488565736 5439090.392884 112.310097364706 + 457846.455228581 5439090.40496809 112.310097364706 + 457846.455384123 5439090.40562701 112.330725788235 + 457846.488868499 5439090.39348955 112.330725788235 + + + + + + + + + 457846.518668646 5439090.3739833 112.330725788235 + 457846.51823486 5439090.37346351 112.310097364706 + 457846.488565736 5439090.392884 112.310097364706 + 457846.488868499 5439090.39348955 112.330725788235 + 457846.518668646 5439090.3739833 112.330725788235 + + + + + + + + + 457846.543190195 5439090.34815187 112.330725788235 + 457846.542648595 5439090.34774565 112.310097364706 + 457846.51823486 5439090.37346351 112.310097364706 + 457846.518668646 5439090.3739833 112.330725788235 + 457846.543190195 5439090.34815187 112.330725788235 + + + + + + + + + 457846.455228581 5439090.40496809 112.310097364706 + 457846.45440193 5439090.40146618 112.293956517647 + 457846.420007 5439090.4054711 112.293956517647 + 457846.420007 5439090.40906926 112.310097364706 + 457846.455228581 5439090.40496809 112.310097364706 + + + + + + + + + 457846.488565736 5439090.392884 112.310097364706 + 457846.486956661 5439090.3896657 112.293956517647 + 457846.45440193 5439090.40146618 112.293956517647 + 457846.455228581 5439090.40496809 112.310097364706 + 457846.488565736 5439090.392884 112.310097364706 + + + + + + + + + 457846.51823486 5439090.37346351 112.310097364706 + 457846.515929451 5439090.37070101 112.293956517647 + 457846.486956661 5439090.3896657 112.293956517647 + 457846.488565736 5439090.392884 112.310097364706 + 457846.51823486 5439090.37346351 112.310097364706 + + + + + + + + + 457846.542648595 5439090.34774565 112.310097364706 + 457846.539770195 5439090.34558675 112.293956517647 + 457846.515929451 5439090.37070101 112.293956517647 + 457846.51823486 5439090.37346351 112.310097364706 + 457846.542648595 5439090.34774565 112.310097364706 + + + + + + + + + 457846.45440193 5439090.40146618 112.293956517647 + 457846.453902677 5439090.39935122 112.287319529412 + 457846.420007 5439090.403298 112.287319529412 + 457846.420007 5439090.4054711 112.293956517647 + 457846.45440193 5439090.40146618 112.293956517647 + + + + + + + + + 457846.486956661 5439090.3896657 112.293956517647 + 457846.485984866 5439090.38772202 112.287319529412 + 457846.453902677 5439090.39935122 112.287319529412 + 457846.45440193 5439090.40146618 112.293956517647 + 457846.486956661 5439090.3896657 112.293956517647 + + + + + + + + + 457846.515929451 5439090.37070101 112.293956517647 + 457846.514537107 5439090.36903261 112.287319529412 + 457846.485984866 5439090.38772202 112.287319529412 + 457846.486956661 5439090.3896657 112.293956517647 + 457846.515929451 5439090.37070101 112.293956517647 + + + + + + + + + 457846.539770195 5439090.34558675 112.293956517647 + 457846.538031795 5439090.34428289 112.287319529412 + 457846.514537107 5439090.36903261 112.287319529412 + 457846.515929451 5439090.37070101 112.293956517647 + 457846.539770195 5439090.34558675 112.293956517647 + + + + + + + + + 457846.453902677 5439090.39935122 112.287319529412 + 457846.45238378 5439090.39291677 112.274993270588 + 457846.420007 5439090.3966867 112.274993270588 + 457846.420007 5439090.403298 112.287319529412 + 457846.453902677 5439090.39935122 112.287319529412 + + + + + + + + + 457846.485984866 5439090.38772202 112.287319529412 + 457846.483028337 5439090.38180869 112.274993270588 + 457846.45238378 5439090.39291677 112.274993270588 + 457846.453902677 5439090.39935122 112.287319529412 + 457846.485984866 5439090.38772202 112.287319529412 + + + + + + + + + 457846.514537107 5439090.36903261 112.287319529412 + 457846.510301126 5439090.36395677 112.274993270588 + 457846.483028337 5439090.38180869 112.274993270588 + 457846.485984866 5439090.38772202 112.287319529412 + 457846.514537107 5439090.36903261 112.287319529412 + + + + + + + + + 457846.538031795 5439090.34428289 112.287319529412 + 457846.532742996 5439090.34031611 112.274993270588 + 457846.510301126 5439090.36395677 112.274993270588 + 457846.514537107 5439090.36903261 112.287319529412 + 457846.538031795 5439090.34428289 112.287319529412 + + + + + + + + + 457846.45238378 5439090.39291677 112.274993270588 + 457846.450389984 5439090.38447053 112.263989270588 + 457846.420007 5439090.3880083 112.263989270588 + 457846.420007 5439090.3966867 112.274993270588 + 457846.45238378 5439090.39291677 112.274993270588 + + + + + + + + + 457846.483028337 5439090.38180869 112.274993270588 + 457846.479147418 5439090.3740465 112.263989270588 + 457846.450389984 5439090.38447053 112.263989270588 + 457846.45238378 5439090.39291677 112.274993270588 + 457846.483028337 5439090.38180869 112.274993270588 + + + + + + + + + 457846.510301126 5439090.36395677 112.274993270588 + 457846.50474072 5439090.35729391 112.263989270588 + 457846.479147418 5439090.3740465 112.263989270588 + 457846.483028337 5439090.38180869 112.274993270588 + 457846.510301126 5439090.36395677 112.274993270588 + + + + + + + + + 457846.532742996 5439090.34031611 112.274993270588 + 457846.525800596 5439090.33510907 112.263989270588 + 457846.50474072 5439090.35729391 112.263989270588 + 457846.510301126 5439090.36395677 112.274993270588 + 457846.532742996 5439090.34031611 112.274993270588 + + + + + + + + + 457846.450389984 5439090.38447053 112.263989270588 + 457846.447982404 5439090.37427138 112.254640564706 + 457846.420007 5439090.37752882 112.254640564706 + 457846.420007 5439090.3880083 112.263989270588 + 457846.450389984 5439090.38447053 112.263989270588 + + + + + + + + + 457846.479147418 5439090.3740465 112.263989270588 + 457846.474461067 5439090.36467336 112.254640564706 + 457846.447982404 5439090.37427138 112.254640564706 + 457846.450389984 5439090.38447053 112.263989270588 + 457846.479147418 5439090.3740465 112.263989270588 + + + + + + + + + 457846.50474072 5439090.35729391 112.263989270588 + 457846.498026328 5439090.34924827 112.254640564706 + 457846.474461067 5439090.36467336 112.254640564706 + 457846.479147418 5439090.3740465 112.263989270588 + 457846.50474072 5439090.35729391 112.263989270588 + + + + + + + + + 457846.525800596 5439090.33510907 112.263989270588 + 457846.517417396 5439090.32882138 112.254640564706 + 457846.498026328 5439090.34924827 112.254640564706 + 457846.50474072 5439090.35729391 112.263989270588 + 457846.525800596 5439090.33510907 112.263989270588 + + + + + + + + + 457846.447982404 5439090.37427138 112.254640564706 + 457846.447569997 5439090.37252432 112.253712611765 + 457846.420007 5439090.37573373 112.253712611765 + 457846.420007 5439090.37752882 112.254640564706 + 457846.447982404 5439090.37427138 112.254640564706 + + + + + + + + + 457846.474461067 5439090.36467336 112.254640564706 + 457846.473658318 5439090.36306779 112.253712611765 + 457846.447569997 5439090.37252432 112.253712611765 + 457846.447982404 5439090.37427138 112.254640564706 + 457846.474461067 5439090.36467336 112.254640564706 + + + + + + + + + 457846.498026328 5439090.34924827 112.254640564706 + 457846.496876186 5439090.34787009 112.253712611765 + 457846.473658318 5439090.36306779 112.253712611765 + 457846.474461067 5439090.36467336 112.254640564706 + 457846.498026328 5439090.34924827 112.254640564706 + + + + + + + + + 457846.517417396 5439090.32882138 112.254640564706 + 457846.515981396 5439090.32774433 112.253712611765 + 457846.496876186 5439090.34787009 112.253712611765 + 457846.498026328 5439090.34924827 112.254640564706 + 457846.517417396 5439090.32882138 112.254640564706 + + + + + + + + + 457846.447569997 5439090.37252432 112.253712611765 + 457846.444572641 5439090.35982673 112.244640611765 + 457846.420007 5439090.36268713 112.244640611765 + 457846.420007 5439090.37573373 112.253712611765 + 457846.447569997 5439090.37252432 112.253712611765 + + + + + + + + + 457846.473658318 5439090.36306779 112.253712611765 + 457846.46782397 5439090.35139856 112.244640611765 + 457846.444572641 5439090.35982673 112.244640611765 + 457846.447569997 5439090.37252432 112.253712611765 + 457846.473658318 5439090.36306779 112.253712611765 + + + + + + + + + 457846.496876186 5439090.34787009 112.253712611765 + 457846.488516995 5439090.33785355 112.244640611765 + 457846.46782397 5439090.35139856 112.244640611765 + 457846.473658318 5439090.36306779 112.253712611765 + 457846.496876186 5439090.34787009 112.253712611765 + + + + + + + + + 457846.515981396 5439090.32774433 112.253712611765 + 457846.505544596 5439090.31991637 112.244640611765 + 457846.488516995 5439090.33785355 112.244640611765 + 457846.496876186 5439090.34787009 112.253712611765 + 457846.515981396 5439090.32774433 112.253712611765 + + + + + + + + + 457846.444572641 5439090.35982673 112.244640611765 + 457846.437936458 5439090.33171412 112.231248047059 + 457846.420007 5439090.33380181 112.231248047059 + 457846.420007 5439090.36268713 112.244640611765 + 457846.444572641 5439090.35982673 112.244640611765 + + + + + + + + + 457846.46782397 5439090.35139856 112.244640611765 + 457846.454906653 5439090.32556274 112.231248047059 + 457846.437936458 5439090.33171412 112.231248047059 + 457846.444572641 5439090.35982673 112.244640611765 + 457846.46782397 5439090.35139856 112.244640611765 + + + + + + + + + 457846.488516995 5439090.33785355 112.244640611765 + 457846.470009647 5439090.31567679 112.231248047059 + 457846.454906653 5439090.32556274 112.231248047059 + 457846.46782397 5439090.35139856 112.244640611765 + 457846.488516995 5439090.33785355 112.244640611765 + + + + + + + + + 457846.505544596 5439090.31991637 112.244640611765 + 457846.482437397 5439090.30258518 112.231248047059 + 457846.470009647 5439090.31567679 112.231248047059 + 457846.488516995 5439090.33785355 112.244640611765 + 457846.505544596 5439090.31991637 112.244640611765 + + + + + + + + + 457846.437936458 5439090.33171412 112.231248047059 + 457846.437480398 5439090.32978213 112.231271764706 + 457846.420007 5439090.33181672 112.231271764706 + 457846.420007 5439090.33380181 112.231248047059 + 457846.437936458 5439090.33171412 112.231248047059 + + + + + + + + + 457846.454906653 5439090.32556274 112.231248047059 + 457846.454018934 5439090.32378722 112.231271764706 + 457846.437480398 5439090.32978213 112.231271764706 + 457846.437936458 5439090.33171412 112.231248047059 + 457846.454906653 5439090.32556274 112.231248047059 + + + + + + + + + 457846.470009647 5439090.31567679 112.231248047059 + 457846.468737763 5439090.31415273 112.231271764706 + 457846.454018934 5439090.32378722 112.231271764706 + 457846.454906653 5439090.32556274 112.231248047059 + 457846.470009647 5439090.31567679 112.231248047059 + + + + + + + + + 457846.482437397 5439090.30258518 112.231248047059 + 457846.480849397 5439090.30139412 112.231271764706 + 457846.468737763 5439090.31415273 112.231271764706 + 457846.470009647 5439090.31567679 112.231248047059 + 457846.482437397 5439090.30258518 112.231248047059 + + + + + + + + + 457846.437480398 5439090.32978213 112.231271764706 + 457846.433985397 5439090.31497638 112.224983623529 + 457846.420007 5439090.31660402 112.224983623529 + 457846.420007 5439090.33181672 112.231271764706 + 457846.437480398 5439090.32978213 112.231271764706 + + + + + + + + + 457846.454018934 5439090.32378722 112.231271764706 + 457846.447215921 5439090.31018057 112.224983623529 + 457846.433985397 5439090.31497638 112.224983623529 + 457846.437480398 5439090.32978213 112.231271764706 + 457846.454018934 5439090.32378722 112.231271764706 + + + + + + + + + 457846.468737763 5439090.31415273 112.231271764706 + 457846.458990714 5439090.30247315 112.224983623529 + 457846.447215921 5439090.31018057 112.224983623529 + 457846.454018934 5439090.32378722 112.231271764706 + 457846.468737763 5439090.31415273 112.231271764706 + + + + + + + + + 457846.480849397 5439090.30139412 112.231271764706 + 457846.468679798 5439090.2922665 112.224983623529 + 457846.458990714 5439090.30247315 112.224983623529 + 457846.468737763 5439090.31415273 112.231271764706 + 457846.480849397 5439090.30139412 112.231271764706 + + + + + + + + + 457846.433985397 5439090.31497638 112.224983623529 + 457846.433879251 5439090.31452672 112.224792894118 + 457846.420007 5439090.316142 112.224792894118 + 457846.420007 5439090.31660402 112.224983623529 + 457846.433985397 5439090.31497638 112.224983623529 + + + + + + + + + 457846.447215921 5439090.31018057 112.224983623529 + 457846.447009309 5439090.30976732 112.224792894118 + 457846.433879251 5439090.31452672 112.224792894118 + 457846.433985397 5439090.31497638 112.224983623529 + 457846.447215921 5439090.31018057 112.224983623529 + + + + + + + + + 457846.458990714 5439090.30247315 112.224983623529 + 457846.458694688 5439090.30211843 112.224792894118 + 457846.447009309 5439090.30976732 112.224792894118 + 457846.447215921 5439090.31018057 112.224983623529 + 457846.458990714 5439090.30247315 112.224983623529 + + + + + + + + + 457846.468679798 5439090.2922665 112.224983623529 + 457846.468310198 5439090.29198929 112.224792894118 + 457846.458694688 5439090.30211843 112.224792894118 + 457846.458990714 5439090.30247315 112.224983623529 + 457846.468679798 5439090.2922665 112.224983623529 + + + + + + + + + 457846.433879251 5439090.31452672 112.224792894118 + 457846.433717275 5439090.31384055 112.224691105882 + 457846.420007 5439090.31543696 112.224691105882 + 457846.420007 5439090.316142 112.224792894118 + 457846.433879251 5439090.31452672 112.224792894118 + + + + + + + + + 457846.447009309 5439090.30976732 112.224792894118 + 457846.446694023 5439090.30913672 112.224691105882 + 457846.433717275 5439090.31384055 112.224691105882 + 457846.433879251 5439090.31452672 112.224792894118 + 457846.447009309 5439090.30976732 112.224792894118 + + + + + + + + + 457846.458694688 5439090.30211843 112.224792894118 + 457846.458242961 5439090.30157714 112.224691105882 + 457846.446694023 5439090.30913672 112.224691105882 + 457846.447009309 5439090.30976732 112.224792894118 + 457846.458694688 5439090.30211843 112.224792894118 + + + + + + + + + 457846.468310198 5439090.29198929 112.224792894118 + 457846.467746198 5439090.29156627 112.224691105882 + 457846.458242961 5439090.30157714 112.224691105882 + 457846.458694688 5439090.30211843 112.224792894118 + 457846.468310198 5439090.29198929 112.224792894118 + + + + + + + + + 457846.433717275 5439090.31384055 112.224691105882 + 457846.431920607 5439090.30622939 112.220294447059 + 457846.420007 5439090.3076166 112.220294447059 + 457846.420007 5439090.31543696 112.224691105882 + 457846.433717275 5439090.31384055 112.224691105882 + + + + + + + + + 457846.446694023 5439090.30913672 112.224691105882 + 457846.443196813 5439090.30214198 112.220294447059 + 457846.431920607 5439090.30622939 112.220294447059 + 457846.433717275 5439090.31384055 112.224691105882 + 457846.446694023 5439090.30913672 112.224691105882 + + + + + + + + + 457846.458242961 5439090.30157714 112.224691105882 + 457846.453232316 5439090.29557305 112.220294447059 + 457846.443196813 5439090.30214198 112.220294447059 + 457846.446694023 5439090.30913672 112.224691105882 + 457846.458242961 5439090.30157714 112.224691105882 + + + + + + + + + 457846.467746198 5439090.29156627 112.224691105882 + 457846.461490198 5439090.28687405 112.220294447059 + 457846.453232316 5439090.29557305 112.220294447059 + 457846.458242961 5439090.30157714 112.224691105882 + 457846.467746198 5439090.29156627 112.224691105882 + + + + + + + + + 457846.431920607 5439090.30622939 112.220294447059 + 457846.431124514 5439090.30285693 112.217458211765 + 457846.420007 5439090.30415144 112.217458211765 + 457846.420007 5439090.3076166 112.220294447059 + 457846.431920607 5439090.30622939 112.220294447059 + + + + + + + + + 457846.443196813 5439090.30214198 112.220294447059 + 457846.441647218 5439090.29904265 112.217458211765 + 457846.431124514 5439090.30285693 112.217458211765 + 457846.431920607 5439090.30622939 112.220294447059 + 457846.443196813 5439090.30214198 112.220294447059 + + + + + + + + + 457846.453232316 5439090.29557305 112.220294447059 + 457846.451012127 5439090.29291267 112.217458211765 + 457846.441647218 5439090.29904265 112.217458211765 + 457846.443196813 5439090.30214198 112.220294447059 + 457846.453232316 5439090.29557305 112.220294447059 + + + + + + + + + 457846.461490198 5439090.28687405 112.220294447059 + 457846.458718198 5439090.28479496 112.217458211765 + 457846.451012127 5439090.29291267 112.217458211765 + 457846.453232316 5439090.29557305 112.220294447059 + 457846.461490198 5439090.28687405 112.220294447059 + + + + + + + + + 457846.431124514 5439090.30285693 112.217458211765 + 457846.430764491 5439090.30133178 112.216342494118 + 457846.420007 5439090.30258437 112.216342494118 + 457846.420007 5439090.30415144 112.217458211765 + 457846.431124514 5439090.30285693 112.217458211765 + + + + + + + + + 457846.441647218 5439090.29904265 112.217458211765 + 457846.440946434 5439090.29764102 112.216342494118 + 457846.430764491 5439090.30133178 112.216342494118 + 457846.431124514 5439090.30285693 112.217458211765 + 457846.441647218 5439090.29904265 112.217458211765 + + + + + + + + + 457846.451012127 5439090.29291267 112.217458211765 + 457846.450008076 5439090.29170955 112.216342494118 + 457846.440946434 5439090.29764102 112.216342494118 + 457846.441647218 5439090.29904265 112.217458211765 + 457846.451012127 5439090.29291267 112.217458211765 + + + + + + + + + 457846.458718198 5439090.28479496 112.217458211765 + 457846.457464598 5439090.28385471 112.216342494118 + 457846.450008076 5439090.29170955 112.216342494118 + 457846.451012127 5439090.29291267 112.217458211765 + 457846.458718198 5439090.28479496 112.217458211765 + + + + + + + + + 457846.430764491 5439090.30133178 112.216342494118 + 457846.429251108 5439090.29492069 112.209075011765 + 457846.420007 5439090.29599707 112.209075011765 + 457846.420007 5439090.30258437 112.216342494118 + 457846.430764491 5439090.30133178 112.216342494118 + + + + + + + + + 457846.440946434 5439090.29764102 112.216342494118 + 457846.438000638 5439090.29174915 112.209075011765 + 457846.429251108 5439090.29492069 112.209075011765 + 457846.430764491 5439090.30133178 112.216342494118 + 457846.440946434 5439090.29764102 112.216342494118 + + + + + + + + + 457846.450008076 5439090.29170955 112.216342494118 + 457846.445787472 5439090.28665213 112.209075011765 + 457846.438000638 5439090.29174915 112.209075011765 + 457846.440946434 5439090.29764102 112.216342494118 + 457846.450008076 5439090.29170955 112.216342494118 + + + + + + + + + 457846.457464598 5439090.28385471 112.216342494118 + 457846.452194998 5439090.27990233 112.209075011765 + 457846.445787472 5439090.28665213 112.209075011765 + 457846.450008076 5439090.29170955 112.216342494118 + 457846.457464598 5439090.28385471 112.216342494118 + + + + + + + + + 457846.429251108 5439090.29492069 112.209075011765 + 457846.428054325 5439090.28985081 112.200787670588 + 457846.420007 5439090.29078783 112.200787670588 + 457846.420007 5439090.29599707 112.209075011765 + 457846.429251108 5439090.29492069 112.209075011765 + + + + + + + + + 457846.438000638 5439090.29174915 112.209075011765 + 457846.435671103 5439090.28708987 112.200787670588 + 457846.428054325 5439090.28985081 112.200787670588 + 457846.429251108 5439090.29492069 112.209075011765 + 457846.438000638 5439090.29174915 112.209075011765 + + + + + + + + + 457846.445787472 5439090.28665213 112.209075011765 + 457846.442449819 5439090.28265273 112.200787670588 + 457846.435671103 5439090.28708987 112.200787670588 + 457846.438000638 5439090.29174915 112.209075011765 + 457846.445787472 5439090.28665213 112.209075011765 + + + + + + + + + 457846.452194998 5439090.27990233 112.209075011765 + 457846.448027798 5439090.27677679 112.200787670588 + 457846.442449819 5439090.28265273 112.200787670588 + 457846.445787472 5439090.28665213 112.209075011765 + 457846.452194998 5439090.27990233 112.209075011765 + + + + + + + + + 457846.428054325 5439090.28985081 112.200787670588 + 457846.427210213 5439090.28627493 112.191731482353 + 457846.420007 5439090.28711366 112.191731482353 + 457846.420007 5439090.29078783 112.200787670588 + 457846.428054325 5439090.28985081 112.200787670588 + + + + + + + + + 457846.435671103 5439090.28708987 112.200787670588 + 457846.43402804 5439090.28380359 112.191731482353 + 457846.427210213 5439090.28627493 112.191731482353 + 457846.428054325 5439090.28985081 112.200787670588 + 457846.435671103 5439090.28708987 112.200787670588 + + + + + + + + + 457846.442449819 5439090.28265273 112.200787670588 + 457846.440095713 5439090.27983188 112.191731482353 + 457846.43402804 5439090.28380359 112.191731482353 + 457846.435671103 5439090.28708987 112.200787670588 + 457846.442449819 5439090.28265273 112.200787670588 + + + + + + + + + 457846.448027798 5439090.27677679 112.200787670588 + 457846.445088598 5439090.27457229 112.191731482353 + 457846.440095713 5439090.27983188 112.191731482353 + 457846.442449819 5439090.28265273 112.200787670588 + 457846.448027798 5439090.27677679 112.200787670588 + + + + + + + + + 457846.427210213 5439090.28627493 112.191731482353 + 457846.426744504 5439090.28430206 112.182183152941 + 457846.420007 5439090.28508657 112.182183152941 + 457846.420007 5439090.28711366 112.191731482353 + 457846.427210213 5439090.28627493 112.191731482353 + + + + + + + + + 457846.43402804 5439090.28380359 112.191731482353 + 457846.433121538 5439090.2819905 112.182183152941 + 457846.426744504 5439090.28430206 112.182183152941 + 457846.427210213 5439090.28627493 112.191731482353 + 457846.43402804 5439090.28380359 112.191731482353 + + + + + + + + + 457846.440095713 5439090.27983188 112.191731482353 + 457846.438796918 5439090.27827558 112.182183152941 + 457846.433121538 5439090.2819905 112.182183152941 + 457846.43402804 5439090.28380359 112.191731482353 + 457846.440095713 5439090.27983188 112.191731482353 + + + + + + + + + 457846.445088598 5439090.27457229 112.191731482353 + 457846.443466998 5439090.27335603 112.182183152941 + 457846.438796918 5439090.27827558 112.182183152941 + 457846.440095713 5439090.27983188 112.191731482353 + 457846.445088598 5439090.27457229 112.191731482353 + + + + + + + + + 457846.426744504 5439090.28430206 112.182183152941 + 457846.426671213 5439090.28399158 112.172431247059 + 457846.420007 5439090.28476755 112.172431247059 + 457846.420007 5439090.28508657 112.182183152941 + 457846.426744504 5439090.28430206 112.182183152941 + + + + + + + + + 457846.433121538 5439090.2819905 112.182183152941 + 457846.432978877 5439090.28170517 112.172431247059 + 457846.426671213 5439090.28399158 112.172431247059 + 457846.426744504 5439090.28430206 112.182183152941 + 457846.433121538 5439090.2819905 112.182183152941 + + + + + + + + + 457846.438796918 5439090.27827558 112.182183152941 + 457846.43859252 5439090.27803065 112.172431247059 + 457846.432978877 5439090.28170517 112.172431247059 + 457846.433121538 5439090.2819905 112.182183152941 + 457846.438796918 5439090.27827558 112.182183152941 + + + + + + + + + 457846.443466998 5439090.27335603 112.182183152941 + 457846.443211798 5439090.27316462 112.172431247059 + 457846.43859252 5439090.27803065 112.172431247059 + 457846.438796918 5439090.27827558 112.182183152941 + 457846.443466998 5439090.27335603 112.182183152941 + + + + + + + + + 457846.426671213 5439090.28399158 112.172431247059 + 457846.42683204 5439090.28467288 112.167602729412 + 457846.420007 5439090.28546759 112.167602729412 + 457846.420007 5439090.28476755 112.172431247059 + 457846.426671213 5439090.28399158 112.172431247059 + + + + + + + + + 457846.432978877 5439090.28170517 112.172431247059 + 457846.433291927 5439090.2823313 112.167602729412 + 457846.42683204 5439090.28467288 112.167602729412 + 457846.426671213 5439090.28399158 112.172431247059 + 457846.432978877 5439090.28170517 112.172431247059 + + + + + + + + + 457846.43859252 5439090.27803065 112.172431247059 + 457846.439041043 5439090.2785681 112.167602729412 + 457846.433291927 5439090.2823313 112.167602729412 + 457846.432978877 5439090.28170517 112.172431247059 + 457846.43859252 5439090.27803065 112.172431247059 + + + + + + + + + 457846.443211798 5439090.27316462 112.172431247059 + 457846.443771798 5439090.27358464 112.167602729412 + 457846.439041043 5439090.2785681 112.167602729412 + 457846.43859252 5439090.27803065 112.172431247059 + 457846.443211798 5439090.27316462 112.172431247059 + + + + + + + + + 457846.42683204 5439090.28467288 112.167602729412 + 457846.431562423 5439090.30471203 112.025611105882 + 457846.420007 5439090.30605753 112.025611105882 + 457846.420007 5439090.28546759 112.167602729412 + 457846.42683204 5439090.28467288 112.167602729412 + + + + + + + + + 457846.433291927 5439090.2823313 112.167602729412 + 457846.442499607 5439090.3007475 112.025611105882 + 457846.431562423 5439090.30471203 112.025611105882 + 457846.42683204 5439090.28467288 112.167602729412 + 457846.433291927 5439090.2823313 112.167602729412 + + + + + + + + + 457846.439041043 5439090.2785681 112.167602729412 + 457846.452233391 5439090.29437607 112.025611105882 + 457846.442499607 5439090.3007475 112.025611105882 + 457846.433291927 5439090.2823313 112.167602729412 + 457846.439041043 5439090.2785681 112.167602729412 + + + + + + + + + 457846.443771798 5439090.27358464 112.167602729412 + 457846.460242998 5439090.28593861 112.025611105882 + 457846.452233391 5439090.29437607 112.025611105882 + 457846.439041043 5439090.2785681 112.167602729412 + 457846.443771798 5439090.27358464 112.167602729412 + + + + + + + + + 457846.431562423 5439090.30471203 112.025611105882 + 457846.431564031 5439090.30471884 112.0253344 + 457846.420007 5439090.30606453 112.0253344 + 457846.420007 5439090.30605753 112.025611105882 + 457846.431562423 5439090.30471203 112.025611105882 + + + + + + + + + 457846.442499607 5439090.3007475 112.025611105882 + 457846.442502737 5439090.30075376 112.0253344 + 457846.431564031 5439090.30471884 112.0253344 + 457846.431562423 5439090.30471203 112.025611105882 + 457846.442499607 5439090.3007475 112.025611105882 + + + + + + + + + 457846.452233391 5439090.29437607 112.025611105882 + 457846.452237876 5439090.29438144 112.0253344 + 457846.442502737 5439090.30075376 112.0253344 + 457846.442499607 5439090.3007475 112.025611105882 + 457846.452233391 5439090.29437607 112.025611105882 + + + + + + + + + 457846.460242998 5439090.28593861 112.025611105882 + 457846.460248598 5439090.28594281 112.0253344 + 457846.452237876 5439090.29438144 112.0253344 + 457846.452233391 5439090.29437607 112.025611105882 + 457846.460242998 5439090.28593861 112.025611105882 + + + + + + + + + 457846.431564031 5439090.30471884 112.0253344 + 457846.431624456 5439090.30497482 112.024191011765 + 457846.420007 5439090.30632754 112.024191011765 + 457846.420007 5439090.30611453 112.025028047059 + 457846.420007 5439090.30606453 112.0253344 + 457846.431564031 5439090.30471884 112.0253344 + + + + + + + + + 457846.442502737 5439090.30075376 112.0253344 + 457846.442620355 5439090.30098901 112.024191011765 + 457846.431624456 5439090.30497482 112.024191011765 + 457846.431564031 5439090.30471884 112.0253344 + 457846.442502737 5439090.30075376 112.0253344 + + + + + + + + + 457846.452237876 5439090.29438144 112.0253344 + 457846.452406393 5439090.29458337 112.024191011765 + 457846.442620355 5439090.30098901 112.024191011765 + 457846.442502737 5439090.30075376 112.0253344 + 457846.452237876 5439090.29438144 112.0253344 + + + + + + + + + 457846.460248598 5439090.28594281 112.0253344 + 457846.460458998 5439090.28610062 112.024191011765 + 457846.452406393 5439090.29458337 112.024191011765 + 457846.452237876 5439090.29438144 112.0253344 + 457846.460248598 5439090.28594281 112.0253344 + + + + + + + + + 457846.431624456 5439090.30497482 112.024191011765 + 457846.431729913 5439090.30542156 112.023110870588 + 457846.420007 5439090.30678657 112.023110870588 + 457846.420007 5439090.30643055 112.023898494118 + 457846.420007 5439090.30632754 112.024191011765 + 457846.431624456 5439090.30497482 112.024191011765 + + + + + + + + + 457846.442620355 5439090.30098901 112.024191011765 + 457846.442825626 5439090.30139957 112.023110870588 + 457846.431729913 5439090.30542156 112.023110870588 + 457846.431624456 5439090.30497482 112.024191011765 + 457846.442620355 5439090.30098901 112.024191011765 + + + + + + + + + 457846.452406393 5439090.29458337 112.024191011765 + 457846.452700496 5439090.29493579 112.023110870588 + 457846.442825626 5439090.30139957 112.023110870588 + 457846.442620355 5439090.30098901 112.024191011765 + 457846.452406393 5439090.29458337 112.024191011765 + + + + + + + + + 457846.460458998 5439090.28610062 112.024191011765 + 457846.460826198 5439090.28637603 112.023110870588 + 457846.452700496 5439090.29493579 112.023110870588 + 457846.452406393 5439090.29458337 112.024191011765 + 457846.460458998 5439090.28610062 112.024191011765 + + + + + + + + + 457846.431729913 5439090.30542156 112.023110870588 + 457846.431877644 5439090.30604739 112.022126588235 + 457846.420007 5439090.30742959 112.022126588235 + 457846.420007 5439090.30693957 112.022840094118 + 457846.420007 5439090.30678657 112.023110870588 + 457846.431729913 5439090.30542156 112.023110870588 + + + + + + + + + 457846.442825626 5439090.30139957 112.023110870588 + 457846.443113184 5439090.30197471 112.022126588235 + 457846.431877644 5439090.30604739 112.022126588235 + 457846.431729913 5439090.30542156 112.023110870588 + 457846.442825626 5439090.30139957 112.023110870588 + + + + + + + + + 457846.452700496 5439090.29493579 112.023110870588 + 457846.453112497 5439090.29542947 112.022126588235 + 457846.443113184 5439090.30197471 112.022126588235 + 457846.442825626 5439090.30139957 112.023110870588 + 457846.452700496 5439090.29493579 112.023110870588 + + + + + + + + + 457846.460826198 5439090.28637603 112.023110870588 + 457846.461340598 5439090.28676185 112.022126588235 + 457846.453112497 5439090.29542947 112.022126588235 + 457846.452700496 5439090.29493579 112.023110870588 + 457846.460826198 5439090.28637603 112.023110870588 + + + + + + + + + 457846.431877644 5439090.30604739 112.022126588235 + 457846.432062824 5439090.30683186 112.021266823529 + 457846.420007 5439090.30823563 112.021266823529 + 457846.420007 5439090.3076276 112.021885458824 + 457846.420007 5439090.30742959 112.022126588235 + 457846.431877644 5439090.30604739 112.022126588235 + + + + + + + + + 457846.443113184 5439090.30197471 112.022126588235 + 457846.443473638 5439090.30269566 112.021266823529 + 457846.432062824 5439090.30683186 112.021266823529 + 457846.431877644 5439090.30604739 112.022126588235 + 457846.443113184 5439090.30197471 112.022126588235 + + + + + + + + + 457846.453112497 5439090.29542947 112.022126588235 + 457846.453628939 5439090.29604831 112.021266823529 + 457846.443473638 5439090.30269566 112.021266823529 + 457846.443113184 5439090.30197471 112.022126588235 + 457846.453112497 5439090.29542947 112.022126588235 + + + + + + + + + 457846.461340598 5439090.28676185 112.022126588235 + 457846.461985398 5439090.28724547 112.021266823529 + 457846.453628939 5439090.29604831 112.021266823529 + 457846.453112497 5439090.29542947 112.022126588235 + 457846.461340598 5439090.28676185 112.022126588235 + + + + + + + + + 457846.432062824 5439090.30683186 112.021266823529 + 457846.432279711 5439090.30775065 112.020558258824 + 457846.420007 5439090.30917968 112.020558258824 + 457846.420007 5439090.30847264 112.021063247059 + 457846.420007 5439090.30823563 112.021266823529 + 457846.432062824 5439090.30683186 112.021266823529 + + + + + + + + + 457846.443473638 5439090.30269566 112.021266823529 + 457846.443895808 5439090.30354003 112.020558258824 + 457846.432279711 5439090.30775065 112.020558258824 + 457846.432062824 5439090.30683186 112.021266823529 + 457846.443473638 5439090.30269566 112.021266823529 + + + + + + + + + 457846.453628939 5439090.29604831 112.021266823529 + 457846.454233805 5439090.2967731 112.020558258824 + 457846.443895808 5439090.30354003 112.020558258824 + 457846.443473638 5439090.30269566 112.021266823529 + 457846.453628939 5439090.29604831 112.021266823529 + + + + + + + + + 457846.461985398 5439090.28724547 112.021266823529 + 457846.462740598 5439090.2878119 112.020558258824 + 457846.454233805 5439090.2967731 112.020558258824 + 457846.453628939 5439090.29604831 112.021266823529 + 457846.461985398 5439090.28724547 112.021266823529 + + + + + + + + + 457846.432279711 5439090.30775065 112.020558258824 + 457846.432522101 5439090.30877748 112.020022635294 + 457846.420007 5439090.31023472 112.020022635294 + 457846.420007 5439090.30944969 112.020399152941 + 457846.420007 5439090.30917968 112.020558258824 + 457846.432279711 5439090.30775065 112.020558258824 + + + + + + + + + 457846.443895808 5439090.30354003 112.020558258824 + 457846.444367618 5439090.3044837 112.020022635294 + 457846.432522101 5439090.30877748 112.020022635294 + 457846.432279711 5439090.30775065 112.020558258824 + 457846.443895808 5439090.30354003 112.020558258824 + + + + + + + + + 457846.454233805 5439090.2967731 112.020558258824 + 457846.454909793 5439090.29758312 112.020022635294 + 457846.444367618 5439090.3044837 112.020022635294 + 457846.443895808 5439090.30354003 112.020558258824 + 457846.454233805 5439090.2967731 112.020558258824 + + + + + + + + + 457846.462740598 5439090.2878119 112.020558258824 + 457846.463584598 5439090.28844493 112.020022635294 + 457846.454909793 5439090.29758312 112.020022635294 + 457846.454233805 5439090.2967731 112.020558258824 + 457846.462740598 5439090.2878119 112.020558258824 + + + + + + + + + 457846.432522101 5439090.30877748 112.020022635294 + 457846.432782411 5439090.30988022 112.019675764706 + 457846.420007 5439090.31136778 112.019675764706 + 457846.420007 5439090.31052774 112.019911952941 + 457846.420007 5439090.31023472 112.020022635294 + 457846.432522101 5439090.30877748 112.020022635294 + + + + + + + + + 457846.444367618 5439090.3044837 112.020022635294 + 457846.444874311 5439090.30549713 112.019675764706 + 457846.432782411 5439090.30988022 112.019675764706 + 457846.432522101 5439090.30877748 112.020022635294 + 457846.444367618 5439090.3044837 112.020022635294 + + + + + + + + + 457846.454909793 5439090.29758312 112.020022635294 + 457846.45563576 5439090.29845302 112.019675764706 + 457846.444874311 5439090.30549713 112.019675764706 + 457846.444367618 5439090.3044837 112.020022635294 + 457846.454909793 5439090.29758312 112.020022635294 + + + + + + + + + 457846.463584598 5439090.28844493 112.020022635294 + 457846.464490998 5439090.28912476 112.019675764706 + 457846.45563576 5439090.29845302 112.019675764706 + 457846.454909793 5439090.29758312 112.020022635294 + 457846.463584598 5439090.28844493 112.020022635294 + + + + + + + + + 457846.432782411 5439090.30988022 112.019675764706 + 457846.432917505 5439090.31045251 112.019602635294 + 457846.420007 5439090.3119558 112.019602635294 + 457846.420007 5439090.31167579 112.019617458824 + 457846.420007 5439090.31136778 112.019675764706 + 457846.432782411 5439090.30988022 112.019675764706 + + + + + + + + + 457846.444874311 5439090.30549713 112.019675764706 + 457846.445137273 5439090.30602308 112.019602635294 + 457846.432917505 5439090.31045251 112.019602635294 + 457846.432782411 5439090.30988022 112.019675764706 + 457846.444874311 5439090.30549713 112.019675764706 + + + + + + + + + 457846.45563576 5439090.29845302 112.019675764706 + 457846.45601252 5439090.29890448 112.019602635294 + 457846.445137273 5439090.30602308 112.019602635294 + 457846.444874311 5439090.30549713 112.019675764706 + 457846.45563576 5439090.29845302 112.019675764706 + + + + + + + + + 457846.464490998 5439090.28912476 112.019675764706 + 457846.464961398 5439090.28947757 112.019602635294 + 457846.45601252 5439090.29890448 112.019602635294 + 457846.45563576 5439090.29845302 112.019675764706 + 457846.464490998 5439090.28912476 112.019675764706 + + + + + + + + + 457846.432917505 5439090.31045251 112.019602635294 + 457846.433065007 5439090.31107737 112.019467247059 + 457846.420007 5439090.31257783 112.019473176471 + 457846.420007 5439090.3119558 112.019602635294 + 457846.432917505 5439090.31045251 112.019602635294 + + + + + + + + + 457846.445137273 5439090.30602308 112.019602635294 + 457846.445424384 5439090.30659733 112.019467247059 + 457846.433065007 5439090.31107737 112.019467247059 + 457846.432917505 5439090.31045251 112.019602635294 + 457846.445137273 5439090.30602308 112.019602635294 + + + + + + + + + 457846.45601252 5439090.29890448 112.019602635294 + 457846.456423879 5439090.2993974 112.019467247059 + 457846.445424384 5439090.30659733 112.019467247059 + 457846.445137273 5439090.30602308 112.019602635294 + 457846.45601252 5439090.29890448 112.019602635294 + + + + + + + + + 457846.464961398 5439090.28947757 112.019602635294 + 457846.465474998 5439090.28986279 112.019467247059 + 457846.456423879 5439090.2993974 112.019467247059 + 457846.45601252 5439090.29890448 112.019602635294 + 457846.464961398 5439090.28947757 112.019602635294 + + + + + + + + + 457846.433065007 5439090.31107737 112.019467247059 + 457846.433344616 5439090.31226187 112.018982023529 + 457846.420007 5439090.31379589 112.018990917647 + 457846.420007 5439090.31257783 112.019473176471 + 457846.433065007 5439090.31107737 112.019467247059 + + + + + + + + + 457846.445424384 5439090.30659733 112.019467247059 + 457846.445968643 5439090.30768589 112.018982023529 + 457846.433344616 5439090.31226187 112.018982023529 + 457846.433065007 5439090.31107737 112.019467247059 + 457846.445424384 5439090.30659733 112.019467247059 + + + + + + + + + 457846.456423879 5439090.2993974 112.019467247059 + 457846.457203669 5439090.30033179 112.018982023529 + 457846.445968643 5439090.30768589 112.018982023529 + 457846.445424384 5439090.30659733 112.019467247059 + 457846.456423879 5439090.2993974 112.019467247059 + + + + + + + + + 457846.465474998 5439090.28986279 112.019467247059 + 457846.466448598 5439090.29059302 112.018982023529 + 457846.457203669 5439090.30033179 112.018982023529 + 457846.456423879 5439090.2993974 112.019467247059 + 457846.465474998 5439090.28986279 112.019467247059 + + + + + + + + + 457846.433344616 5439090.31226187 112.018982023529 + 457846.433600101 5439090.31334417 112.018294211765 + 457846.420007 5439090.31491094 112.018307058824 + 457846.420007 5439090.31379589 112.018990917647 + 457846.433344616 5439090.31226187 112.018982023529 + + + + + + + + + 457846.445968643 5439090.30768589 112.018982023529 + 457846.446465944 5439090.30868054 112.018294211765 + 457846.433600101 5439090.31334417 112.018294211765 + 457846.433344616 5439090.31226187 112.018982023529 + 457846.445968643 5439090.30768589 112.018982023529 + + + + + + + + + 457846.457203669 5439090.30033179 112.018982023529 + 457846.45791618 5439090.30118557 112.018294211765 + 457846.446465944 5439090.30868054 112.018294211765 + 457846.445968643 5439090.30768589 112.018982023529 + 457846.457203669 5439090.30033179 112.018982023529 + + + + + + + + + 457846.466448598 5439090.29059302 112.018982023529 + 457846.467338198 5439090.29126026 112.018294211765 + 457846.45791618 5439090.30118557 112.018294211765 + 457846.457203669 5439090.30033179 112.018982023529 + 457846.466448598 5439090.29059302 112.018982023529 + + + + + + + + + 457846.433600101 5439090.31334417 112.018294211765 + 457846.43382434 5439090.3142941 112.017426541176 + 457846.420007 5439090.31588798 112.017441364706 + 457846.420007 5439090.31491094 112.018307058824 + 457846.433600101 5439090.31334417 112.018294211765 + + + + + + + + + 457846.446465944 5439090.30868054 112.018294211765 + 457846.446902425 5439090.30955354 112.017426541176 + 457846.43382434 5439090.3142941 112.017426541176 + 457846.433600101 5439090.31334417 112.018294211765 + 457846.446465944 5439090.30868054 112.018294211765 + + + + + + + + + 457846.45791618 5439090.30118557 112.018294211765 + 457846.45854155 5439090.30193493 112.017426541176 + 457846.446902425 5439090.30955354 112.017426541176 + 457846.446465944 5439090.30868054 112.018294211765 + 457846.45791618 5439090.30118557 112.018294211765 + + + + + + + + + 457846.467338198 5439090.29126026 112.018294211765 + 457846.468118998 5439090.29184588 112.017426541176 + 457846.45854155 5439090.30193493 112.017426541176 + 457846.45791618 5439090.30118557 112.018294211765 + 457846.467338198 5439090.29126026 112.018294211765 + + + + + + + + + 457846.43382434 5439090.3142941 112.017426541176 + 457846.434009751 5439090.31507955 112.016404705882 + 457846.420007 5439090.31669902 112.016421505882 + 457846.420007 5439090.31588798 112.017441364706 + 457846.43382434 5439090.3142941 112.017426541176 + + + + + + + + + 457846.446902425 5439090.30955354 112.017426541176 + 457846.447263326 5439090.31027538 112.016404705882 + 457846.434009751 5439090.31507955 112.016404705882 + 457846.43382434 5439090.3142941 112.017426541176 + 457846.446902425 5439090.30955354 112.017426541176 + + + + + + + + + 457846.45854155 5439090.30193493 112.017426541176 + 457846.459058633 5439090.30255454 112.016404705882 + 457846.447263326 5439090.31027538 112.016404705882 + 457846.446902425 5439090.30955354 112.017426541176 + 457846.45854155 5439090.30193493 112.017426541176 + + + + + + + + + 457846.468118998 5439090.29184588 112.017426541176 + 457846.468764598 5439090.2923301 112.016404705882 + 457846.459058633 5439090.30255454 112.016404705882 + 457846.45854155 5439090.30193493 112.017426541176 + 457846.468118998 5439090.29184588 112.017426541176 + + + + + + + + + 457846.434009751 5439090.31507955 112.016404705882 + 457846.434151278 5439090.3156791 112.015259341176 + 457846.420007 5439090.31731805 112.015278117647 + 457846.420007 5439090.31669902 112.016421505882 + 457846.434009751 5439090.31507955 112.016404705882 + + + + + + + + + 457846.447263326 5439090.31027538 112.016404705882 + 457846.447538809 5439090.31082637 112.015259341176 + 457846.434151278 5439090.3156791 112.015259341176 + 457846.434009751 5439090.31507955 112.016404705882 + 457846.447263326 5439090.31027538 112.016404705882 + + + + + + + + + 457846.459058633 5439090.30255454 112.016404705882 + 457846.459453333 5439090.30302749 112.015259341176 + 457846.447538809 5439090.31082637 112.015259341176 + 457846.447263326 5439090.31027538 112.016404705882 + 457846.459058633 5439090.30255454 112.016404705882 + + + + + + + + + 457846.468764598 5439090.2923301 112.016404705882 + 457846.469257398 5439090.29269972 112.015259341176 + 457846.459453333 5439090.30302749 112.015259341176 + 457846.459058633 5439090.30255454 112.016404705882 + 457846.468764598 5439090.2923301 112.016404705882 + + + + + + + + + 457846.434151278 5439090.3156791 112.015259341176 + 457846.434244558 5439090.31607426 112.014026023529 + 457846.420007 5439090.31772707 112.014045788235 + 457846.420007 5439090.31731805 112.015278117647 + 457846.434151278 5439090.3156791 112.015259341176 + + + + + + + + + 457846.447538809 5439090.31082637 112.015259341176 + 457846.447720378 5439090.31118953 112.014026023529 + 457846.434244558 5439090.31607426 112.014026023529 + 457846.434151278 5439090.3156791 112.015259341176 + 457846.447538809 5439090.31082637 112.015259341176 + + + + + + + + + 457846.459453333 5439090.30302749 112.015259341176 + 457846.459713477 5439090.30333922 112.014026023529 + 457846.447720378 5439090.31118953 112.014026023529 + 457846.447538809 5439090.31082637 112.015259341176 + 457846.459453333 5439090.30302749 112.015259341176 + + + + + + + + + 457846.469257398 5439090.29269972 112.015259341176 + 457846.469582198 5439090.29294333 112.014026023529 + 457846.459713477 5439090.30333922 112.014026023529 + 457846.459453333 5439090.30302749 112.015259341176 + 457846.469257398 5439090.29269972 112.015259341176 + + + + + + + + + 457846.434244558 5439090.31607426 112.014026023529 + 457846.434264776 5439090.31615991 112.013403435294 + 457846.420007 5439090.31782007 112.013403435294 + 457846.420007 5439090.31772707 112.014045788235 + 457846.434244558 5439090.31607426 112.014026023529 + + + + + + + + + 457846.447720378 5439090.31118953 112.014026023529 + 457846.447759733 5439090.31126824 112.013403435294 + 457846.434264776 5439090.31615991 112.013403435294 + 457846.434244558 5439090.31607426 112.014026023529 + 457846.447720378 5439090.31118953 112.014026023529 + + + + + + + + + 457846.459713477 5439090.30333922 112.014026023529 + 457846.459769862 5439090.30340678 112.013403435294 + 457846.447759733 5439090.31126824 112.013403435294 + 457846.447720378 5439090.31118953 112.014026023529 + 457846.459713477 5439090.30333922 112.014026023529 + + + + + + + + + 457846.469582198 5439090.29294333 112.014026023529 + 457846.469652598 5439090.29299614 112.013403435294 + 457846.459769862 5439090.30340678 112.013403435294 + 457846.459713477 5439090.30333922 112.014026023529 + 457846.469582198 5439090.29294333 112.014026023529 + + + + + + + + + 457846.434264776 5439090.31615991 112.013403435294 + 457846.434711186 5439090.31805102 112 + 457846.420007 5439090.31976316 112 + 457846.420007 5439090.31782007 112.013403435294 + 457846.434264776 5439090.31615991 112.013403435294 + + + + + + + + + 457846.447759733 5439090.31126824 112.013403435294 + 457846.448628669 5439090.31300619 112 + 457846.434711186 5439090.31805102 112 + 457846.434264776 5439090.31615991 112.013403435294 + 457846.447759733 5439090.31126824 112.013403435294 + + + + + + + + + 457846.459769862 5439090.30340678 112.013403435294 + 457846.461014835 5439090.30489859 112 + 457846.448628669 5439090.31300619 112 + 457846.447759733 5439090.31126824 112.013403435294 + 457846.459769862 5439090.30340678 112.013403435294 + + + + + + + + + 457846.469652598 5439090.29299614 112.013403435294 + 457846.471206998 5439090.29416199 112 + 457846.461014835 5439090.30489859 112 + 457846.459769862 5439090.30340678 112.013403435294 + 457846.469652598 5439090.29299614 112.013403435294 + + + + + + + + + 457846.434711186 5439090.31805102 112 + 457846.420007 5439090.25576022 112 + 457846.420007 5439090.31976316 112 + 457846.434711186 5439090.31805102 112 + + + + + + + + + 457846.448628669 5439090.31300619 112 + 457846.420007 5439090.25576022 112 + 457846.434711186 5439090.31805102 112 + 457846.448628669 5439090.31300619 112 + + + + + + + + + 457846.461014835 5439090.30489859 112 + 457846.420007 5439090.25576022 112 + 457846.448628669 5439090.31300619 112 + 457846.461014835 5439090.30489859 112 + + + + + + + + + 457846.471206998 5439090.29416199 112 + 457846.420007 5439090.25576022 112 + 457846.461014835 5439090.30489859 112 + 457846.471206998 5439090.29416199 112 + + + + + + + + + 457846.443556673 5439090.35552283 112.42 + 457846.443858109 5439090.35679979 112.42 + 457846.420007 5439090.35957699 112.42 + 457846.420007 5439090.35826493 112.42 + 457846.443556673 5439090.35552283 112.42 + + + + + + + + + 457846.465846392 5439090.34744322 112.42 + 457846.466433136 5439090.34861676 112.42 + 457846.443858109 5439090.35679979 112.42 + 457846.443556673 5439090.35552283 112.42 + 457846.465846392 5439090.34744322 112.42 + + + + + + + + + 457846.48568361 5439090.33445839 112.42 + 457846.486524271 5439090.33546573 112.42 + 457846.466433136 5439090.34861676 112.42 + 457846.465846392 5439090.34744322 112.42 + 457846.48568361 5439090.33445839 112.42 + + + + + + + + + 457846.502006997 5439090.31726305 112.42 + 457846.503056597 5439090.31805029 112.42 + 457846.486524271 5439090.33546573 112.42 + 457846.48568361 5439090.33445839 112.42 + 457846.502006997 5439090.31726305 112.42 + + + + + + + + + 457846.443858109 5439090.35679979 112.42 + 457846.44445202 5439090.35931575 112.419549364706 + 457846.420007 5439090.36216211 112.419549364706 + 457846.420007 5439090.35957699 112.42 + 457846.443858109 5439090.35679979 112.42 + + + + + + + + + 457846.466433136 5439090.34861676 112.42 + 457846.467589183 5439090.35092896 112.419549364706 + 457846.44445202 5439090.35931575 112.419549364706 + 457846.443858109 5439090.35679979 112.42 + 457846.466433136 5439090.34861676 112.42 + + + + + + + + + 457846.486524271 5439090.33546573 112.42 + 457846.488180603 5439090.33745046 112.419549364706 + 457846.467589183 5439090.35092896 112.419549364706 + 457846.466433136 5439090.34861676 112.42 + 457846.486524271 5439090.33546573 112.42 + + + + + + + + + 457846.503056597 5439090.31805029 112.42 + 457846.505124596 5439090.31960136 112.419549364706 + 457846.488180603 5439090.33745046 112.419549364706 + 457846.486524271 5439090.33546573 112.42 + 457846.503056597 5439090.31805029 112.42 + + + + + + + + + 457846.44445202 5439090.35931575 112.419549364706 + 457846.445018591 5439090.36171589 112.418662917647 + 457846.420007 5439090.36462822 112.418662917647 + 457846.420007 5439090.36216211 112.419549364706 + 457846.44445202 5439090.35931575 112.419549364706 + + + + + + + + + 457846.467589183 5439090.35092896 112.419549364706 + 457846.468692012 5439090.35313472 112.418662917647 + 457846.445018591 5439090.36171589 112.418662917647 + 457846.44445202 5439090.35931575 112.419549364706 + 457846.467589183 5439090.35092896 112.419549364706 + + + + + + + + + 457846.488180603 5439090.33745046 112.419549364706 + 457846.489760686 5439090.33934382 112.418662917647 + 457846.468692012 5439090.35313472 112.418662917647 + 457846.467589183 5439090.35092896 112.419549364706 + 457846.488180603 5439090.33745046 112.419549364706 + + + + + + + + + 457846.505124596 5439090.31960136 112.419549364706 + 457846.507097396 5439090.32108103 112.418662917647 + 457846.489760686 5439090.33934382 112.418662917647 + 457846.488180603 5439090.33745046 112.419549364706 + 457846.505124596 5439090.31960136 112.419549364706 + + + + + + + + + 457846.445018591 5439090.36171589 112.418662917647 + 457846.445541049 5439090.36392916 112.417365364706 + 457846.420007 5439090.36690233 112.417365364706 + 457846.420007 5439090.36462822 112.418662917647 + 457846.445018591 5439090.36171589 112.418662917647 + + + + + + + + + 457846.468692012 5439090.35313472 112.418662917647 + 457846.469708975 5439090.35516874 112.417365364706 + 457846.445541049 5439090.36392916 112.417365364706 + 457846.445018591 5439090.36171589 112.418662917647 + 457846.468692012 5439090.35313472 112.418662917647 + + + + + + + + + 457846.489760686 5439090.33934382 112.418662917647 + 457846.491217746 5439090.34108977 112.417365364706 + 457846.469708975 5439090.35516874 112.417365364706 + 457846.468692012 5439090.35313472 112.418662917647 + 457846.489760686 5439090.33934382 112.418662917647 + + + + + + + + + 457846.507097396 5439090.32108103 112.418662917647 + 457846.508916596 5439090.32244549 112.417365364706 + 457846.491217746 5439090.34108977 112.417365364706 + 457846.489760686 5439090.33934382 112.418662917647 + 457846.507097396 5439090.32108103 112.418662917647 + + + + + + + + + 457846.445541049 5439090.36392916 112.417365364706 + 457846.446002853 5439090.36588548 112.415698211765 + 457846.420007 5439090.36891242 112.415698211765 + 457846.420007 5439090.36690233 112.417365364706 + 457846.445541049 5439090.36392916 112.417365364706 + + + + + + + + + 457846.469708975 5439090.35516874 112.417365364706 + 457846.470607875 5439090.35696663 112.415698211765 + 457846.446002853 5439090.36588548 112.415698211765 + 457846.445541049 5439090.36392916 112.417365364706 + 457846.469708975 5439090.35516874 112.417365364706 + + + + + + + + + 457846.491217746 5439090.34108977 112.417365364706 + 457846.492505648 5439090.34263302 112.415698211765 + 457846.470607875 5439090.35696663 112.415698211765 + 457846.469708975 5439090.35516874 112.417365364706 + 457846.491217746 5439090.34108977 112.417365364706 + + + + + + + + + 457846.508916596 5439090.32244549 112.417365364706 + 457846.510524596 5439090.32365154 112.415698211765 + 457846.492505648 5439090.34263302 112.415698211765 + 457846.491217746 5439090.34108977 112.417365364706 + 457846.508916596 5439090.32244549 112.417365364706 + + + + + + + + + 457846.446002853 5439090.36588548 112.415698211765 + 457846.446390446 5439090.36752743 112.413711858824 + 457846.420007 5439090.3705995 112.413711858824 + 457846.420007 5439090.36891242 112.415698211765 + 457846.446002853 5439090.36588548 112.415698211765 + + + + + + + + + 457846.470607875 5439090.35696663 112.415698211765 + 457846.471362324 5439090.35847559 112.413711858824 + 457846.446390446 5439090.36752743 112.413711858824 + 457846.446002853 5439090.36588548 112.415698211765 + 457846.470607875 5439090.35696663 112.415698211765 + + + + + + + + + 457846.492505648 5439090.34263302 112.415698211765 + 457846.493586589 5439090.34392828 112.413711858824 + 457846.471362324 5439090.35847559 112.413711858824 + 457846.470607875 5439090.35696663 112.415698211765 + 457846.492505648 5439090.34263302 112.415698211765 + + + + + + + + + 457846.510524596 5439090.32365154 112.415698211765 + 457846.511874196 5439090.32466379 112.413711858824 + 457846.493586589 5439090.34392828 112.413711858824 + 457846.492505648 5439090.34263302 112.415698211765 + 457846.510524596 5439090.32365154 112.415698211765 + + + + + + + + + 457846.446390446 5439090.36752743 112.413711858824 + 457846.446692111 5439090.36880537 112.411464611765 + 457846.420007 5439090.37191256 112.411464611765 + 457846.420007 5439090.3705995 112.413711858824 + 457846.446390446 5439090.36752743 112.413711858824 + + + + + + + + + 457846.471362324 5439090.35847559 112.413711858824 + 457846.471949515 5439090.35965003 112.411464611765 + 457846.446692111 5439090.36880537 112.411464611765 + 457846.446390446 5439090.36752743 112.413711858824 + 457846.471362324 5439090.35847559 112.413711858824 + + + + + + + + + 457846.493586589 5439090.34392828 112.413711858824 + 457846.49442789 5439090.34493638 112.411464611765 + 457846.471949515 5439090.35965003 112.411464611765 + 457846.471362324 5439090.35847559 112.413711858824 + 457846.493586589 5439090.34392828 112.413711858824 + + + + + + + + + 457846.511874196 5439090.32466379 112.413711858824 + 457846.512924596 5439090.32545163 112.411464611765 + 457846.49442789 5439090.34493638 112.411464611765 + 457846.493586589 5439090.34392828 112.413711858824 + 457846.511874196 5439090.32466379 112.413711858824 + + + + + + + + + 457846.446692111 5439090.36880537 112.411464611765 + 457846.4468982 5439090.36967841 112.409027623529 + 457846.420007 5439090.3728096 112.409027623529 + 457846.420007 5439090.37191256 112.411464611765 + 457846.446692111 5439090.36880537 112.411464611765 + + + + + + + + + 457846.471949515 5439090.35965003 112.411464611765 + 457846.472350666 5439090.36045237 112.409027623529 + 457846.4468982 5439090.36967841 112.409027623529 + 457846.446692111 5439090.36880537 112.411464611765 + 457846.471949515 5439090.35965003 112.411464611765 + + + + + + + + + 457846.49442789 5439090.34493638 112.411464611765 + 457846.495002641 5439090.34562509 112.409027623529 + 457846.472350666 5439090.36045237 112.409027623529 + 457846.471949515 5439090.35965003 112.411464611765 + 457846.49442789 5439090.34493638 112.411464611765 + + + + + + + + + 457846.512924596 5439090.32545163 112.411464611765 + 457846.513642196 5439090.32598985 112.409027623529 + 457846.495002641 5439090.34562509 112.409027623529 + 457846.49442789 5439090.34493638 112.411464611765 + 457846.512924596 5439090.32545163 112.411464611765 + + + + + + + + + 457846.4468982 5439090.36967841 112.409027623529 + 457846.447002967 5439090.37012223 112.406473035294 + 457846.420007 5439090.37326562 112.406473035294 + 457846.420007 5439090.3728096 112.409027623529 + 457846.4468982 5439090.36967841 112.409027623529 + + + + + + + + + 457846.472350666 5439090.36045237 112.409027623529 + 457846.472554595 5439090.36086025 112.406473035294 + 457846.447002967 5439090.37012223 112.406473035294 + 457846.4468982 5439090.36967841 112.409027623529 + 457846.472350666 5439090.36045237 112.409027623529 + + + + + + + + + 457846.495002641 5439090.34562509 112.409027623529 + 457846.495294821 5439090.3459752 112.406473035294 + 457846.472554595 5439090.36086025 112.406473035294 + 457846.472350666 5439090.36045237 112.409027623529 + 457846.495002641 5439090.34562509 112.409027623529 + + + + + + + + + 457846.513642196 5439090.32598985 112.409027623529 + 457846.514006996 5439090.32626347 112.406473035294 + 457846.495294821 5439090.3459752 112.406473035294 + 457846.495002641 5439090.34562509 112.409027623529 + 457846.513642196 5439090.32598985 112.409027623529 + + + + + + + + + 457846.447002967 5439090.37012223 112.406473035294 + 457846.447002967 5439090.37012223 112.405176470588 + 457846.420007 5439090.37326562 112.405176470588 + 457846.420007 5439090.37326562 112.406473035294 + 457846.447002967 5439090.37012223 112.406473035294 + + + + + + + + + 457846.472554595 5439090.36086025 112.406473035294 + 457846.472554595 5439090.36086025 112.405176470588 + 457846.447002967 5439090.37012223 112.405176470588 + 457846.447002967 5439090.37012223 112.406473035294 + 457846.472554595 5439090.36086025 112.406473035294 + + + + + + + + + 457846.495294821 5439090.3459752 112.406473035294 + 457846.495294821 5439090.3459752 112.405176470588 + 457846.472554595 5439090.36086025 112.405176470588 + 457846.472554595 5439090.36086025 112.406473035294 + 457846.495294821 5439090.3459752 112.406473035294 + + + + + + + + + 457846.514006996 5439090.32626347 112.406473035294 + 457846.514006996 5439090.32626347 112.405176470588 + 457846.495294821 5439090.3459752 112.405176470588 + 457846.495294821 5439090.3459752 112.406473035294 + 457846.514006996 5439090.32626347 112.406473035294 + + + + + + + + + 457846.447002967 5439090.37012223 112.405176470588 + 457846.447264196 5439090.37122887 112.405166588235 + 457846.420007 5439090.37440267 112.405166588235 + 457846.420007 5439090.37326562 112.405176470588 + 457846.447002967 5439090.37012223 112.405176470588 + + + + + + + + + 457846.472554595 5439090.36086025 112.405176470588 + 457846.473063077 5439090.36187726 112.405166588235 + 457846.447264196 5439090.37122887 112.405166588235 + 457846.447002967 5439090.37012223 112.405176470588 + 457846.472554595 5439090.36086025 112.405176470588 + + + + + + + + + 457846.495294821 5439090.3459752 112.405176470588 + 457846.496023351 5439090.34684817 112.405166588235 + 457846.473063077 5439090.36187726 112.405166588235 + 457846.472554595 5439090.36086025 112.405176470588 + 457846.495294821 5439090.3459752 112.405176470588 + + + + + + + + + 457846.514006996 5439090.32626347 112.405176470588 + 457846.514916596 5439090.3269457 112.405166588235 + 457846.496023351 5439090.34684817 112.405166588235 + 457846.495294821 5439090.3459752 112.405176470588 + 457846.514006996 5439090.32626347 112.405176470588 + + + + + + + + + 457846.447264196 5439090.37122887 112.405166588235 + 457846.447777924 5439090.37340515 112.404757458824 + 457846.420007 5439090.37663877 112.404757458824 + 457846.420007 5439090.37440267 112.405166588235 + 457846.447264196 5439090.37122887 112.405166588235 + + + + + + + + + 457846.473063077 5439090.36187726 112.405166588235 + 457846.474063047 5439090.36387729 112.404757458824 + 457846.447777924 5439090.37340515 112.404757458824 + 457846.447264196 5439090.37122887 112.405166588235 + 457846.473063077 5439090.36187726 112.405166588235 + + + + + + + + + 457846.496023351 5439090.34684817 112.405166588235 + 457846.497456062 5439090.34856494 112.404757458824 + 457846.474063047 5439090.36387729 112.404757458824 + 457846.473063077 5439090.36187726 112.405166588235 + 457846.496023351 5439090.34684817 112.405166588235 + + + + + + + + + 457846.514916596 5439090.3269457 112.405166588235 + 457846.516705396 5439090.32828736 112.404757458824 + 457846.497456062 5439090.34856494 112.404757458824 + 457846.496023351 5439090.34684817 112.405166588235 + 457846.514916596 5439090.3269457 112.405166588235 + + + + + + + + + 457846.447777924 5439090.37340515 112.404757458824 + 457846.448267297 5439090.37547827 112.403969835294 + 457846.420007 5439090.37876887 112.403969835294 + 457846.420007 5439090.37663877 112.404757458824 + 457846.447777924 5439090.37340515 112.404757458824 + + + + + + + + + 457846.474063047 5439090.36387729 112.404757458824 + 457846.475015612 5439090.3657825 112.403969835294 + 457846.448267297 5439090.37547827 112.403969835294 + 457846.447777924 5439090.37340515 112.404757458824 + 457846.474063047 5439090.36387729 112.404757458824 + + + + + + + + + 457846.497456062 5439090.34856494 112.404757458824 + 457846.498820854 5439090.35020033 112.403969835294 + 457846.475015612 5439090.3657825 112.403969835294 + 457846.474063047 5439090.36387729 112.404757458824 + 457846.497456062 5439090.34856494 112.404757458824 + + + + + + + + + 457846.516705396 5439090.32828736 112.404757458824 + 457846.518409396 5439090.32956542 112.403969835294 + 457846.498820854 5439090.35020033 112.403969835294 + 457846.497456062 5439090.34856494 112.404757458824 + 457846.516705396 5439090.32828736 112.404757458824 + + + + + + + + + 457846.448267297 5439090.37547827 112.403969835294 + 457846.448717383 5439090.37738495 112.402829411765 + 457846.420007 5439090.38072796 112.402829411765 + 457846.420007 5439090.37876887 112.403969835294 + 457846.448267297 5439090.37547827 112.403969835294 + + + + + + + + + 457846.475015612 5439090.3657825 112.403969835294 + 457846.475891703 5439090.36753477 112.402829411765 + 457846.448717383 5439090.37738495 112.402829411765 + 457846.448267297 5439090.37547827 112.403969835294 + 457846.475015612 5439090.3657825 112.403969835294 + + + + + + + + + 457846.498820854 5439090.35020033 112.403969835294 + 457846.500076079 5439090.35170442 112.402829411765 + 457846.475891703 5439090.36753477 112.402829411765 + 457846.475015612 5439090.3657825 112.403969835294 + 457846.498820854 5439090.35020033 112.403969835294 + + + + + + + + + 457846.518409396 5439090.32956542 112.403969835294 + 457846.519976596 5439090.33074087 112.402829411765 + 457846.500076079 5439090.35170442 112.402829411765 + 457846.498820854 5439090.35020033 112.403969835294 + 457846.518409396 5439090.32956542 112.403969835294 + + + + + + + + + 457846.448717383 5439090.37738495 112.402829411765 + 457846.449114626 5439090.37906777 112.401369788235 + 457846.420007 5439090.38245704 112.401369788235 + 457846.420007 5439090.38072796 112.402829411765 + 457846.448717383 5439090.37738495 112.402829411765 + + + + + + + + + 457846.475891703 5439090.36753477 112.402829411765 + 457846.476664935 5439090.3690813 112.401369788235 + 457846.449114626 5439090.37906777 112.401369788235 + 457846.448717383 5439090.37738495 112.402829411765 + 457846.475891703 5439090.36753477 112.402829411765 + + + + + + + + + 457846.500076079 5439090.35170442 112.402829411765 + 457846.501183931 5439090.35303193 112.401369788235 + 457846.476664935 5439090.3690813 112.401369788235 + 457846.475891703 5439090.36753477 112.402829411765 + 457846.500076079 5439090.35170442 112.402829411765 + + + + + + + + + 457846.519976596 5439090.33074087 112.402829411765 + 457846.521359796 5439090.33177832 112.401369788235 + 457846.501183931 5439090.35303193 112.401369788235 + 457846.500076079 5439090.35170442 112.402829411765 + 457846.519976596 5439090.33074087 112.402829411765 + + + + + + + + + 457846.449114626 5439090.37906777 112.401369788235 + 457846.449366895 5439090.38013645 112.400031717647 + 457846.420007 5439090.38355509 112.400031717647 + 457846.420007 5439090.38245704 112.401369788235 + 457846.449114626 5439090.37906777 112.401369788235 + + + + + + + + + 457846.476664935 5439090.3690813 112.401369788235 + 457846.477155976 5439090.37006343 112.400031717647 + 457846.449366895 5439090.38013645 112.400031717647 + 457846.449114626 5439090.37906777 112.401369788235 + 457846.476664935 5439090.3690813 112.401369788235 + + + + + + + + + 457846.501183931 5439090.35303193 112.401369788235 + 457846.501887471 5439090.35387496 112.400031717647 + 457846.477155976 5439090.37006343 112.400031717647 + 457846.476664935 5439090.3690813 112.401369788235 + 457846.501183931 5439090.35303193 112.401369788235 + + + + + + + + + 457846.521359796 5439090.33177832 112.401369788235 + 457846.522238196 5439090.33243715 112.400031717647 + 457846.501887471 5439090.35387496 112.400031717647 + 457846.501183931 5439090.35303193 112.401369788235 + 457846.521359796 5439090.33177832 112.401369788235 + + + + + + + + + 457846.449366895 5439090.38013645 112.400031717647 + 457846.449767354 5439090.3818329 112.397531482353 + 457846.420007 5439090.38529817 112.397531482353 + 457846.420007 5439090.38355509 112.400031717647 + 457846.449366895 5439090.38013645 112.400031717647 + + + + + + + + + 457846.477155976 5439090.37006343 112.400031717647 + 457846.477935469 5439090.37162249 112.397531482353 + 457846.449767354 5439090.3818329 112.397531482353 + 457846.449366895 5439090.38013645 112.400031717647 + 457846.477155976 5439090.37006343 112.400031717647 + + + + + + + + + 457846.501887471 5439090.35387496 112.400031717647 + 457846.503004294 5439090.35521321 112.397531482353 + 457846.477935469 5439090.37162249 112.397531482353 + 457846.477155976 5439090.37006343 112.400031717647 + 457846.501887471 5439090.35387496 112.400031717647 + + + + + + + + + 457846.522238196 5439090.33243715 112.400031717647 + 457846.523632596 5439090.333483 112.397531482353 + 457846.503004294 5439090.35521321 112.397531482353 + 457846.501887471 5439090.35387496 112.400031717647 + 457846.522238196 5439090.33243715 112.400031717647 + + + + + + + + + 457846.449767354 5439090.3818329 112.397531482353 + 457846.450353913 5439090.38431772 112.392010211765 + 457846.420007 5439090.38785129 112.392010211765 + 457846.420007 5439090.38529817 112.397531482353 + 457846.449767354 5439090.3818329 112.397531482353 + + + + + + + + + 457846.477935469 5439090.37162249 112.397531482353 + 457846.479077205 5439090.37390607 112.392010211765 + 457846.450353913 5439090.38431772 112.392010211765 + 457846.449767354 5439090.3818329 112.397531482353 + 457846.477935469 5439090.37162249 112.397531482353 + + + + + + + + + 457846.503004294 5439090.35521321 112.397531482353 + 457846.504640122 5439090.35717337 112.392010211765 + 457846.479077205 5439090.37390607 112.392010211765 + 457846.477935469 5439090.37162249 112.397531482353 + 457846.503004294 5439090.35521321 112.397531482353 + + + + + + + + + 457846.523632596 5439090.333483 112.397531482353 + 457846.525674996 5439090.33501487 112.392010211765 + 457846.504640122 5439090.35717337 112.392010211765 + 457846.503004294 5439090.35521321 112.397531482353 + 457846.523632596 5439090.333483 112.397531482353 + + + + + + + + + 457846.450353913 5439090.38431772 112.392010211765 + 457846.45044053 5439090.38468465 112.390457694118 + 457846.420007 5439090.38822831 112.390457694118 + 457846.420007 5439090.38785129 112.392010211765 + 457846.450353913 5439090.38431772 112.392010211765 + + + + + + + + + 457846.479077205 5439090.37390607 112.392010211765 + 457846.479245805 5439090.37424328 112.390457694118 + 457846.45044053 5439090.38468465 112.390457694118 + 457846.450353913 5439090.38431772 112.392010211765 + 457846.479077205 5439090.37390607 112.392010211765 + + + + + + + + + 457846.504640122 5439090.35717337 112.392010211765 + 457846.504881684 5439090.35746283 112.390457694118 + 457846.479245805 5439090.37424328 112.390457694118 + 457846.479077205 5439090.37390607 112.392010211765 + 457846.504640122 5439090.35717337 112.392010211765 + + + + + + + + + 457846.525674996 5439090.33501487 112.392010211765 + 457846.525976596 5439090.33524108 112.390457694118 + 457846.504881684 5439090.35746283 112.390457694118 + 457846.504640122 5439090.35717337 112.392010211765 + 457846.525674996 5439090.33501487 112.392010211765 + + + + + + + + + 457846.040007 5439090.07658699 112.385176564706 + 457846.040007 5439090.07825207 112.390295623529 + 457846.040007 5439090.38828731 112.390295623529 + 457846.040007 5439090.3901384 112.384694305882 + 457846.040007 5439090.39271351 112.379928047059 + 457846.040007 5439090.39358255 112.378293505882 + 457846.040007 5439090.39586866 112.375371294118 + 457846.040007 5439090.39863379 112.372884894118 + 457846.040007 5439090.40033986 112.371819576471 + 457846.040007 5439090.40291198 112.370353035294 + 457846.040007 5439090.4077642 112.366329929412 + 457846.040007 5439090.41183539 112.361536 + 457846.040007 5439090.41500154 112.356115529412 + 457846.040007 5439090.41716764 112.350234541176 + 457846.040007 5439090.41826769 112.344070917647 + 457846.040007 5439090.41826769 112.340941176471 + 457846.040007 5439090.40826723 112.340941176471 + 457846.040007 5439090.4099263 112.324494964706 + 457846.040007 5439090.40815222 112.303929788235 + 457846.040007 5439090.4054711 112.293956517647 + 457846.040007 5439090.40512308 112.291984 + 457846.040007 5439090.39930282 112.279273317647 + 457846.040007 5439090.39133745 112.267755435294 + 457846.040007 5439090.38147 112.257778211765 + 457846.040007 5439090.37573373 112.253712611765 + 457846.040007 5439090.37460668 112.252098823529 + 457846.040007 5439090.34685041 112.236547952941 + 457846.040007 5439090.33181672 112.231271764706 + 457846.040007 5439090.316142 112.224792894118 + 457846.040007 5439090.31202881 112.222993317647 + 457846.040007 5439090.30455846 112.218037317647 + 457846.040007 5439090.30415144 112.217458211765 + 457846.040007 5439090.30043727 112.214244470588 + 457846.040007 5439090.29425199 112.206640988235 + 457846.040007 5439090.28949677 112.198090776471 + 457846.040007 5439090.28631562 112.188853741176 + 457846.040007 5439090.28480656 112.179212517647 + 457846.040007 5439090.28501457 112.169457647059 + 457846.040007 5439090.28546759 112.167602729412 + 457846.040007 5439090.30605753 112.025611105882 + 457846.040007 5439090.30611453 112.025028047059 + 457846.040007 5439090.30643055 112.023898494118 + 457846.040007 5439090.30693957 112.022840094118 + 457846.040007 5439090.3076276 112.021885458824 + 457846.040007 5439090.30847264 112.021063247059 + 457846.040007 5439090.30944969 112.020399152941 + 457846.040007 5439090.31052774 112.019911952941 + 457846.040007 5439090.31167579 112.019617458824 + 457846.040007 5439090.3119558 112.019602635294 + 457846.040007 5439090.31257783 112.019473176471 + 457846.040007 5439090.31379589 112.018990917647 + 457846.040007 5439090.31491094 112.018307058824 + 457846.040007 5439090.31588798 112.017441364706 + 457846.040007 5439090.31669902 112.016421505882 + 457846.040007 5439090.31731805 112.015278117647 + 457846.040007 5439090.31772707 112.014045788235 + 457846.040007 5439090.31782007 112.013403435294 + 457846.040007 5439090.31976316 112 + 457846.040007 5439090.14675521 112 + 457846.040007 5439090.1486983 112.013403435294 + 457846.040007 5439090.14878631 112.014026023529 + 457846.040007 5439090.14919232 112.015259341176 + 457846.040007 5439090.14980835 112.016404705882 + 457846.040007 5439090.15061539 112.017426541176 + 457846.040007 5439090.15159144 112.018294211765 + 457846.040007 5439090.15270349 112.018982023529 + 457846.040007 5439090.15392054 112.019467247059 + 457846.040007 5439090.15456257 112.019602635294 + 457846.040007 5439090.1551506 112.019675764706 + 457846.040007 5439090.15628365 112.020022635294 + 457846.040007 5439090.1573387 112.020558258824 + 457846.040007 5439090.15828274 112.021266823529 + 457846.040007 5439090.15908878 112.022126588235 + 457846.040007 5439090.15973181 112.023110870588 + 457846.040007 5439090.16019083 112.024191011765 + 457846.040007 5439090.16045384 112.0253344 + 457846.040007 5439090.16046084 112.025611105882 + 457846.040007 5439090.18105079 112.167602729412 + 457846.040007 5439090.18175082 112.172431247059 + 457846.040007 5439090.18143181 112.182183152941 + 457846.040007 5439090.17940471 112.191731482353 + 457846.040007 5439090.17573054 112.200787670588 + 457846.040007 5439090.1705213 112.209075011765 + 457846.040007 5439090.163934 112.216342494118 + 457846.040007 5439090.16236693 112.217458211765 + 457846.040007 5439090.15890177 112.220294447059 + 457846.040007 5439090.15108141 112.224691105882 + 457846.040007 5439090.15037638 112.224792894118 + 457846.040007 5439090.14991436 112.224983623529 + 457846.040007 5439090.13470166 112.231271764706 + 457846.040007 5439090.13271657 112.231248047059 + 457846.040007 5439090.10383124 112.244640611765 + 457846.040007 5439090.09078464 112.253712611765 + 457846.040007 5439090.08898956 112.254640564706 + 457846.040007 5439090.07851008 112.263989270588 + 457846.040007 5439090.06983168 112.274993270588 + 457846.040007 5439090.06322038 112.287319529412 + 457846.040007 5439090.06104728 112.293956517647 + 457846.040007 5439090.05744911 112.310097364706 + 457846.040007 5439090.05677208 112.330725788235 + 457846.040007 5439090.05825115 112.340941176471 + 457846.040007 5439090.04825069 112.340941176471 + 457846.040007 5439090.04823369 112.343875247059 + 457846.040007 5439090.04929974 112.3500448 + 457846.040007 5439090.05143383 112.355937647059 + 457846.040007 5439090.05456998 112.361374917647 + 457846.040007 5439090.05861516 112.366191576471 + 457846.040007 5439090.06344439 112.370240376471 + 457846.040007 5439090.06617851 112.371819576471 + 457846.040007 5439090.06776458 112.372795952941 + 457846.040007 5439090.07054771 112.375262588235 + 457846.040007 5439090.07285382 112.378168988235 + 457846.040007 5439090.07380486 112.379928047059 + 457846.040007 5439090.07658699 112.385176564706 + + + + + + + + + 457846.165007 5439090.38822831 112.390457694118 + 457846.165007 5439090.07825207 112.390352941176 + 457846.165007 5439090.07866708 112.392010211765 + 457846.165007 5439090.0812202 112.397531482353 + 457846.165007 5439090.08296328 112.400031717647 + 457846.165007 5439090.08406133 112.401369788235 + 457846.165007 5439090.08579041 112.402829411765 + 457846.165007 5439090.0877495 112.403969835294 + 457846.165007 5439090.0898796 112.404757458824 + 457846.165007 5439090.0921157 112.405166588235 + 457846.165007 5439090.09325275 112.405176470588 + 457846.165007 5439090.09325275 112.406473035294 + 457846.165007 5439090.09370878 112.409027623529 + 457846.165007 5439090.09460582 112.411464611765 + 457846.165007 5439090.09591888 112.413711858824 + 457846.165007 5439090.09760595 112.415698211765 + 457846.165007 5439090.09961605 112.417365364706 + 457846.165007 5439090.10189015 112.418662917647 + 457846.165007 5439090.10435626 112.419549364706 + 457846.165007 5439090.10694138 112.42 + 457846.165007 5439090.10825344 112.42 + 457846.165007 5439090.35826493 112.42 + 457846.165007 5439090.35957699 112.42 + 457846.165007 5439090.36216211 112.419549364706 + 457846.165007 5439090.36462822 112.418662917647 + 457846.165007 5439090.36690233 112.417365364706 + 457846.165007 5439090.36891242 112.415698211765 + 457846.165007 5439090.3705995 112.413711858824 + 457846.165007 5439090.37191256 112.411464611765 + 457846.165007 5439090.3728096 112.409027623529 + 457846.165007 5439090.37326562 112.406473035294 + 457846.165007 5439090.37326562 112.405176470588 + 457846.165007 5439090.3750077 112.405095435294 + 457846.165007 5439090.3772218 112.404582541176 + 457846.165007 5439090.3793119 112.403698070588 + 457846.165007 5439090.38121598 112.402468705882 + 457846.165007 5439090.38287406 112.400931011765 + 457846.165007 5439090.38355509 112.400031717647 + 457846.165007 5439090.38455014 112.398773694118 + 457846.165007 5439090.38733327 112.393362117647 + 457846.165007 5439090.38822831 112.390457694118 + + + + + + + + + 457846.443556673 5439090.35552283 112.42 + 457846.420007 5439090.35826493 112.42 + 457846.165007 5439090.35826493 112.42 + 457846.165007 5439090.10825344 112.42 + 457846.420007 5439090.10825344 112.42 + 457846.443556673 5439090.11099555 112.42 + 457846.465846392 5439090.11907515 112.42 + 457846.48568361 5439090.13205998 112.42 + 457846.502006997 5439090.14925532 112.42 + 457846.51970083 5439090.1805357 112.42 + 457846.528849137 5439090.21529003 112.42 + 457846.528849137 5439090.25122835 112.42 + 457846.51970083 5439090.28598267 112.42 + 457846.502006997 5439090.31726305 112.42 + 457846.48568361 5439090.33445839 112.42 + 457846.465846392 5439090.34744322 112.42 + 457846.443556673 5439090.35552283 112.42 + + + + + + + + + 457846.040007 5439090.38828631 112.390352941176 + 457846.040007 5439090.07825207 112.390352941176 + 457846.165007 5439090.07825207 112.390352941176 + 457846.165007 5439090.38828631 112.390352941176 + 457846.040007 5439090.38828631 112.390352941176 + + + + + + + + + 457846.450353913 5439090.08220065 112.392010211765 + 457846.420007 5439090.07866708 112.392010211765 + 457846.420007 5439090.07829007 112.390457694118 + 457846.45044053 5439090.08183372 112.390457694118 + 457846.450353913 5439090.08220065 112.392010211765 + + + + + + + + + 457846.165007 5439090.38822831 112.390457694118 + 457846.165007 5439090.38733327 112.393362117647 + 457846.420007 5439090.38733327 112.393362117647 + 457846.420007 5439090.38822831 112.390457694118 + 457846.165007 5439090.38822831 112.390457694118 + + + + + + + + + 457846.040007 5439090.3901384 112.384694305882 + 457846.040007 5439090.38828731 112.390295623529 + 457846.420007 5439090.38828731 112.390295623529 + 457846.420007 5439090.3901384 112.384694305882 + 457846.040007 5439090.3901384 112.384694305882 + + + + + + + + + 457846.165007 5439090.38828631 112.390352941176 + 457846.165007 5439090.38822831 112.390457694118 + 457846.420007 5439090.38822831 112.390457694118 + 457846.420007 5439090.38828631 112.390352941176 + 457846.165007 5439090.38828631 112.390352941176 + + + + + + + 1070 + + + + + Waschbecken 1 von ArchiCAD 14 + Basin 1 + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.114799986 5439091.74252958 112.715240400089 + 457849.120927216 5439091.74306564 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.108672756 5439091.74306564 112.715240400089 + 457849.114799986 5439091.74252958 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.102731699 5439091.74465755 112.715240400089 + 457849.108672756 5439091.74306564 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.097157331 5439091.74725692 112.715240400089 + 457849.102731699 5439091.74465755 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.092119026 5439091.75078478 112.715240400089 + 457849.097157331 5439091.74725692 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.087769871 5439091.75513393 112.715240400089 + 457849.092119026 5439091.75078478 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.084242011 5439091.76017224 112.715240400089 + 457849.087769871 5439091.75513393 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.081642641 5439091.7657466 112.715240400089 + 457849.084242011 5439091.76017224 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.08005074 5439091.77168766 112.715240400089 + 457849.081642641 5439091.7657466 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.079514676 5439091.77781489 112.715240400089 + 457849.08005074 5439091.77168766 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.08005074 5439091.78394212 112.715240400089 + 457849.079514676 5439091.77781489 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.081642641 5439091.78988318 112.715240400089 + 457849.08005074 5439091.78394212 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.084242011 5439091.79545755 112.715240400089 + 457849.081642641 5439091.78988318 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.087769871 5439091.80049585 112.715240400089 + 457849.084242011 5439091.79545755 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.092119026 5439091.80484501 112.715240400089 + 457849.087769871 5439091.80049585 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.097157331 5439091.80837287 112.715240400089 + 457849.092119026 5439091.80484501 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.102731699 5439091.81097224 112.715240400089 + 457849.097157331 5439091.80837287 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.108672756 5439091.81256414 112.715240400089 + 457849.102731699 5439091.81097224 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.114799986 5439091.8131002 112.715240400089 + 457849.108672756 5439091.81256414 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.120927216 5439091.81256414 112.715240400089 + 457849.114799986 5439091.8131002 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.126868273 5439091.81097224 112.715240400089 + 457849.120927216 5439091.81256414 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.132442641 5439091.80837287 112.715240400089 + 457849.126868273 5439091.81097224 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.137480946 5439091.80484501 112.715240400089 + 457849.132442641 5439091.80837287 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.141830101 5439091.80049585 112.715240400089 + 457849.137480946 5439091.80484501 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.145357961 5439091.79545755 112.715240400089 + 457849.141830101 5439091.80049585 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.147957331 5439091.78988318 112.715240400089 + 457849.145357961 5439091.79545755 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.149549233 5439091.78394212 112.715240400089 + 457849.147957331 5439091.78988318 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.150085296 5439091.77781489 112.715240400089 + 457849.149549233 5439091.78394212 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.149549233 5439091.77168766 112.715240400089 + 457849.150085296 5439091.77781489 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.147957331 5439091.7657466 112.715240400089 + 457849.149549233 5439091.77168766 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.145357961 5439091.76017224 112.715240400089 + 457849.147957331 5439091.7657466 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.141830101 5439091.75513393 112.715240400089 + 457849.145357961 5439091.76017224 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.137480946 5439091.75078478 112.715240400089 + 457849.141830101 5439091.75513393 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.132442641 5439091.74725692 112.715240400089 + 457849.137480946 5439091.75078478 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.126868273 5439091.74465755 112.715240400089 + 457849.132442641 5439091.74725692 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.77781489 112.7143 + 457849.120927216 5439091.74306564 112.715240400089 + 457849.126868273 5439091.74465755 112.715240400089 + 457849.114799986 5439091.77781489 112.7143 + + + + + + + + + 457849.114799986 5439091.74252958 112.715240400089 + 457849.114799986 5439091.7083164 112.718033026773 + 457849.126868273 5439091.70937224 112.718033026773 + 457849.120927216 5439091.74306564 112.715240400089 + 457849.114799986 5439091.74252958 112.715240400089 + + + + + + + + + 457849.108672756 5439091.74306564 112.715240400089 + 457849.102731699 5439091.70937224 112.718033026773 + 457849.114799986 5439091.7083164 112.718033026773 + 457849.114799986 5439091.74252958 112.715240400089 + 457849.108672756 5439091.74306564 112.715240400089 + + + + + + + + + 457849.102731699 5439091.74465755 112.715240400089 + 457849.091030101 5439091.71250767 112.718033026773 + 457849.102731699 5439091.70937224 112.718033026773 + 457849.108672756 5439091.74306564 112.715240400089 + 457849.102731699 5439091.74465755 112.715240400089 + + + + + + + + + 457849.097157331 5439091.74725692 112.715240400089 + 457849.08005074 5439091.71762743 112.718033026773 + 457849.091030101 5439091.71250767 112.718033026773 + 457849.102731699 5439091.74465755 112.715240400089 + 457849.097157331 5439091.74725692 112.715240400089 + + + + + + + + + 457849.092119026 5439091.75078478 112.715240400089 + 457849.070127216 5439091.72457596 112.718033026773 + 457849.08005074 5439091.71762743 112.718033026773 + 457849.097157331 5439091.74725692 112.715240400089 + 457849.092119026 5439091.75078478 112.715240400089 + + + + + + + + + 457849.087769871 5439091.75513393 112.715240400089 + 457849.061561052 5439091.73314212 112.718033026773 + 457849.070127216 5439091.72457596 112.718033026773 + 457849.092119026 5439091.75078478 112.715240400089 + 457849.087769871 5439091.75513393 112.715240400089 + + + + + + + + + 457849.084242011 5439091.76017224 112.715240400089 + 457849.054612526 5439091.74306564 112.718033026773 + 457849.061561052 5439091.73314212 112.718033026773 + 457849.087769871 5439091.75513393 112.715240400089 + 457849.084242011 5439091.76017224 112.715240400089 + + + + + + + + + 457849.081642641 5439091.7657466 112.715240400089 + 457849.049492765 5439091.75404501 112.718033026773 + 457849.054612526 5439091.74306564 112.718033026773 + 457849.084242011 5439091.76017224 112.715240400089 + 457849.081642641 5439091.7657466 112.715240400089 + + + + + + + + + 457849.08005074 5439091.77168766 112.715240400089 + 457849.046357331 5439091.7657466 112.718033026773 + 457849.049492765 5439091.75404501 112.718033026773 + 457849.081642641 5439091.7657466 112.715240400089 + 457849.08005074 5439091.77168766 112.715240400089 + + + + + + + + + 457849.079514676 5439091.77781489 112.715240400089 + 457849.045301493 5439091.77781489 112.718033026773 + 457849.046357331 5439091.7657466 112.718033026773 + 457849.08005074 5439091.77168766 112.715240400089 + 457849.079514676 5439091.77781489 112.715240400089 + + + + + + + + + 457849.08005074 5439091.78394212 112.715240400089 + 457849.046357331 5439091.78988318 112.718033026773 + 457849.045301493 5439091.77781489 112.718033026773 + 457849.079514676 5439091.77781489 112.715240400089 + 457849.08005074 5439091.78394212 112.715240400089 + + + + + + + + + 457849.081642641 5439091.78988318 112.715240400089 + 457849.049492765 5439091.80158478 112.718033026773 + 457849.046357331 5439091.78988318 112.718033026773 + 457849.08005074 5439091.78394212 112.715240400089 + 457849.081642641 5439091.78988318 112.715240400089 + + + + + + + + + 457849.084242011 5439091.79545755 112.715240400089 + 457849.054612526 5439091.81256414 112.718033026773 + 457849.049492765 5439091.80158478 112.718033026773 + 457849.081642641 5439091.78988318 112.715240400089 + 457849.084242011 5439091.79545755 112.715240400089 + + + + + + + + + 457849.087769871 5439091.80049585 112.715240400089 + 457849.061561052 5439091.82248766 112.718033026773 + 457849.054612526 5439091.81256414 112.718033026773 + 457849.084242011 5439091.79545755 112.715240400089 + 457849.087769871 5439091.80049585 112.715240400089 + + + + + + + + + 457849.092119026 5439091.80484501 112.715240400089 + 457849.070127216 5439091.83105383 112.718033026773 + 457849.061561052 5439091.82248766 112.718033026773 + 457849.087769871 5439091.80049585 112.715240400089 + 457849.092119026 5439091.80484501 112.715240400089 + + + + + + + + + 457849.097157331 5439091.80837287 112.715240400089 + 457849.08005074 5439091.83800235 112.718033026773 + 457849.070127216 5439091.83105383 112.718033026773 + 457849.092119026 5439091.80484501 112.715240400089 + 457849.097157331 5439091.80837287 112.715240400089 + + + + + + + + + 457849.102731699 5439091.81097224 112.715240400089 + 457849.091030101 5439091.84312211 112.718033026773 + 457849.08005074 5439091.83800235 112.718033026773 + 457849.097157331 5439091.80837287 112.715240400089 + 457849.102731699 5439091.81097224 112.715240400089 + + + + + + + + + 457849.108672756 5439091.81256414 112.715240400089 + 457849.102731699 5439091.84625755 112.718033026773 + 457849.091030101 5439091.84312211 112.718033026773 + 457849.102731699 5439091.81097224 112.715240400089 + 457849.108672756 5439091.81256414 112.715240400089 + + + + + + + + + 457849.114799986 5439091.8131002 112.715240400089 + 457849.114799986 5439091.84731338 112.718033026773 + 457849.102731699 5439091.84625755 112.718033026773 + 457849.108672756 5439091.81256414 112.715240400089 + 457849.114799986 5439091.8131002 112.715240400089 + + + + + + + + + 457849.120927216 5439091.81256414 112.715240400089 + 457849.126868273 5439091.84625755 112.718033026773 + 457849.114799986 5439091.84731338 112.718033026773 + 457849.114799986 5439091.8131002 112.715240400089 + 457849.120927216 5439091.81256414 112.715240400089 + + + + + + + + + 457849.126868273 5439091.81097224 112.715240400089 + 457849.138569871 5439091.84312211 112.718033026773 + 457849.126868273 5439091.84625755 112.718033026773 + 457849.120927216 5439091.81256414 112.715240400089 + 457849.126868273 5439091.81097224 112.715240400089 + + + + + + + + + 457849.132442641 5439091.80837287 112.715240400089 + 457849.149549233 5439091.83800235 112.718033026773 + 457849.138569871 5439091.84312211 112.718033026773 + 457849.126868273 5439091.81097224 112.715240400089 + 457849.132442641 5439091.80837287 112.715240400089 + + + + + + + + + 457849.137480946 5439091.80484501 112.715240400089 + 457849.159472756 5439091.83105383 112.718033026773 + 457849.149549233 5439091.83800235 112.718033026773 + 457849.132442641 5439091.80837287 112.715240400089 + 457849.137480946 5439091.80484501 112.715240400089 + + + + + + + + + 457849.141830101 5439091.80049585 112.715240400089 + 457849.168038921 5439091.82248766 112.718033026773 + 457849.159472756 5439091.83105383 112.718033026773 + 457849.137480946 5439091.80484501 112.715240400089 + 457849.141830101 5439091.80049585 112.715240400089 + + + + + + + + + 457849.145357961 5439091.79545755 112.715240400089 + 457849.174987447 5439091.81256414 112.718033026773 + 457849.168038921 5439091.82248766 112.718033026773 + 457849.141830101 5439091.80049585 112.715240400089 + 457849.145357961 5439091.79545755 112.715240400089 + + + + + + + + + 457849.147957331 5439091.78988318 112.715240400089 + 457849.180107207 5439091.80158478 112.718033026773 + 457849.174987447 5439091.81256414 112.718033026773 + 457849.145357961 5439091.79545755 112.715240400089 + 457849.147957331 5439091.78988318 112.715240400089 + + + + + + + + + 457849.149549233 5439091.78394212 112.715240400089 + 457849.183242641 5439091.78988318 112.718033026773 + 457849.180107207 5439091.80158478 112.718033026773 + 457849.147957331 5439091.78988318 112.715240400089 + 457849.149549233 5439091.78394212 112.715240400089 + + + + + + + + + 457849.150085296 5439091.77781489 112.715240400089 + 457849.184298479 5439091.77781489 112.718033026773 + 457849.183242641 5439091.78988318 112.718033026773 + 457849.149549233 5439091.78394212 112.715240400089 + 457849.150085296 5439091.77781489 112.715240400089 + + + + + + + + + 457849.149549233 5439091.77168766 112.715240400089 + 457849.183242641 5439091.7657466 112.718033026773 + 457849.184298479 5439091.77781489 112.718033026773 + 457849.150085296 5439091.77781489 112.715240400089 + 457849.149549233 5439091.77168766 112.715240400089 + + + + + + + + + 457849.147957331 5439091.7657466 112.715240400089 + 457849.180107207 5439091.75404501 112.718033026773 + 457849.183242641 5439091.7657466 112.718033026773 + 457849.149549233 5439091.77168766 112.715240400089 + 457849.147957331 5439091.7657466 112.715240400089 + + + + + + + + + 457849.145357961 5439091.76017224 112.715240400089 + 457849.174987447 5439091.74306564 112.718033026773 + 457849.180107207 5439091.75404501 112.718033026773 + 457849.147957331 5439091.7657466 112.715240400089 + 457849.145357961 5439091.76017224 112.715240400089 + + + + + + + + + 457849.141830101 5439091.75513393 112.715240400089 + 457849.168038921 5439091.73314212 112.718033026773 + 457849.174987447 5439091.74306564 112.718033026773 + 457849.145357961 5439091.76017224 112.715240400089 + 457849.141830101 5439091.75513393 112.715240400089 + + + + + + + + + 457849.137480946 5439091.75078478 112.715240400089 + 457849.159472756 5439091.72457596 112.718033026773 + 457849.168038921 5439091.73314212 112.718033026773 + 457849.141830101 5439091.75513393 112.715240400089 + 457849.137480946 5439091.75078478 112.715240400089 + + + + + + + + + 457849.132442641 5439091.74725692 112.715240400089 + 457849.149549233 5439091.71762743 112.718033026773 + 457849.159472756 5439091.72457596 112.718033026773 + 457849.137480946 5439091.75078478 112.715240400089 + 457849.132442641 5439091.74725692 112.715240400089 + + + + + + + + + 457849.126868273 5439091.74465755 112.715240400089 + 457849.138569871 5439091.71250767 112.718033026773 + 457849.149549233 5439091.71762743 112.718033026773 + 457849.132442641 5439091.74725692 112.715240400089 + 457849.126868273 5439091.74465755 112.715240400089 + + + + + + + + + 457849.120927216 5439091.74306564 112.715240400089 + 457849.126868273 5439091.70937224 112.718033026773 + 457849.138569871 5439091.71250767 112.718033026773 + 457849.126868273 5439091.74465755 112.715240400089 + 457849.120927216 5439091.74306564 112.715240400089 + + + + + + + + + 457849.114799986 5439091.7083164 112.718033026773 + 457849.114799986 5439091.67621489 112.722593027506 + 457849.132442641 5439091.67775842 112.722593027506 + 457849.126868273 5439091.70937224 112.718033026773 + 457849.114799986 5439091.7083164 112.718033026773 + + + + + + + + + 457849.102731699 5439091.70937224 112.718033026773 + 457849.097157331 5439091.67775842 112.722593027506 + 457849.114799986 5439091.67621489 112.722593027506 + 457849.114799986 5439091.7083164 112.718033026773 + 457849.102731699 5439091.70937224 112.718033026773 + + + + + + + + + 457849.091030101 5439091.71250767 112.718033026773 + 457849.08005074 5439091.68234212 112.722593027506 + 457849.097157331 5439091.67775842 112.722593027506 + 457849.102731699 5439091.70937224 112.718033026773 + 457849.091030101 5439091.71250767 112.718033026773 + + + + + + + + + 457849.08005074 5439091.71762743 112.718033026773 + 457849.063999986 5439091.68982671 112.722593027506 + 457849.08005074 5439091.68234212 112.722593027506 + 457849.091030101 5439091.71250767 112.718033026773 + 457849.08005074 5439091.71762743 112.718033026773 + + + + + + + + + 457849.070127216 5439091.72457596 112.718033026773 + 457849.049492765 5439091.69998478 112.722593027506 + 457849.063999986 5439091.68982671 112.722593027506 + 457849.08005074 5439091.71762743 112.718033026773 + 457849.070127216 5439091.72457596 112.718033026773 + + + + + + + + + 457849.061561052 5439091.73314212 112.718033026773 + 457849.036969871 5439091.71250767 112.722593027506 + 457849.049492765 5439091.69998478 112.722593027506 + 457849.070127216 5439091.72457596 112.718033026773 + 457849.061561052 5439091.73314212 112.718033026773 + + + + + + + + + 457849.054612526 5439091.74306564 112.718033026773 + 457849.026811805 5439091.72701489 112.722593027506 + 457849.036969871 5439091.71250767 112.722593027506 + 457849.061561052 5439091.73314212 112.718033026773 + 457849.054612526 5439091.74306564 112.718033026773 + + + + + + + + + 457849.049492765 5439091.75404501 112.718033026773 + 457849.019327216 5439091.74306564 112.722593027506 + 457849.026811805 5439091.72701489 112.722593027506 + 457849.054612526 5439091.74306564 112.718033026773 + 457849.049492765 5439091.75404501 112.718033026773 + + + + + + + + + 457849.046357331 5439091.7657466 112.718033026773 + 457849.014743518 5439091.76017224 112.722593027506 + 457849.019327216 5439091.74306564 112.722593027506 + 457849.049492765 5439091.75404501 112.718033026773 + 457849.046357331 5439091.7657466 112.718033026773 + + + + + + + + + 457849.045301493 5439091.77781489 112.718033026773 + 457849.013199986 5439091.77781489 112.722593027506 + 457849.014743518 5439091.76017224 112.722593027506 + 457849.046357331 5439091.7657466 112.718033026773 + 457849.045301493 5439091.77781489 112.718033026773 + + + + + + + + + 457849.046357331 5439091.78988318 112.718033026773 + 457849.014743518 5439091.79545755 112.722593027506 + 457849.013199986 5439091.77781489 112.722593027506 + 457849.045301493 5439091.77781489 112.718033026773 + 457849.046357331 5439091.78988318 112.718033026773 + + + + + + + + + 457849.049492765 5439091.80158478 112.718033026773 + 457849.019327216 5439091.81256414 112.722593027506 + 457849.014743518 5439091.79545755 112.722593027506 + 457849.046357331 5439091.78988318 112.718033026773 + 457849.049492765 5439091.80158478 112.718033026773 + + + + + + + + + 457849.054612526 5439091.81256414 112.718033026773 + 457849.026811805 5439091.82861489 112.722593027506 + 457849.019327216 5439091.81256414 112.722593027506 + 457849.049492765 5439091.80158478 112.718033026773 + 457849.054612526 5439091.81256414 112.718033026773 + + + + + + + + + 457849.061561052 5439091.82248766 112.718033026773 + 457849.036969871 5439091.84312211 112.722593027506 + 457849.026811805 5439091.82861489 112.722593027506 + 457849.054612526 5439091.81256414 112.718033026773 + 457849.061561052 5439091.82248766 112.718033026773 + + + + + + + + + 457849.070127216 5439091.83105383 112.718033026773 + 457849.049492765 5439091.85564501 112.722593027506 + 457849.036969871 5439091.84312211 112.722593027506 + 457849.061561052 5439091.82248766 112.718033026773 + 457849.070127216 5439091.83105383 112.718033026773 + + + + + + + + + 457849.08005074 5439091.83800235 112.718033026773 + 457849.063999986 5439091.86580307 112.722593027506 + 457849.049492765 5439091.85564501 112.722593027506 + 457849.070127216 5439091.83105383 112.718033026773 + 457849.08005074 5439091.83800235 112.718033026773 + + + + + + + + + 457849.091030101 5439091.84312211 112.718033026773 + 457849.08005074 5439091.87328766 112.722593027506 + 457849.063999986 5439091.86580307 112.722593027506 + 457849.08005074 5439091.83800235 112.718033026773 + 457849.091030101 5439091.84312211 112.718033026773 + + + + + + + + + 457849.102731699 5439091.84625755 112.718033026773 + 457849.097157331 5439091.87787136 112.722593027506 + 457849.08005074 5439091.87328766 112.722593027506 + 457849.091030101 5439091.84312211 112.718033026773 + 457849.102731699 5439091.84625755 112.718033026773 + + + + + + + + + 457849.114799986 5439091.84731338 112.718033026773 + 457849.114799986 5439091.87941489 112.722593027506 + 457849.097157331 5439091.87787136 112.722593027506 + 457849.102731699 5439091.84625755 112.718033026773 + 457849.114799986 5439091.84731338 112.718033026773 + + + + + + + + + 457849.126868273 5439091.84625755 112.718033026773 + 457849.132442641 5439091.87787136 112.722593027506 + 457849.114799986 5439091.87941489 112.722593027506 + 457849.114799986 5439091.84731338 112.718033026773 + 457849.126868273 5439091.84625755 112.718033026773 + + + + + + + + + 457849.138569871 5439091.84312211 112.718033026773 + 457849.149549233 5439091.87328766 112.722593027506 + 457849.132442641 5439091.87787136 112.722593027506 + 457849.126868273 5439091.84625755 112.718033026773 + 457849.138569871 5439091.84312211 112.718033026773 + + + + + + + + + 457849.149549233 5439091.83800235 112.718033026773 + 457849.165599986 5439091.86580307 112.722593027506 + 457849.149549233 5439091.87328766 112.722593027506 + 457849.138569871 5439091.84312211 112.718033026773 + 457849.149549233 5439091.83800235 112.718033026773 + + + + + + + + + 457849.159472756 5439091.83105383 112.718033026773 + 457849.180107207 5439091.85564501 112.722593027506 + 457849.165599986 5439091.86580307 112.722593027506 + 457849.149549233 5439091.83800235 112.718033026773 + 457849.159472756 5439091.83105383 112.718033026773 + + + + + + + + + 457849.168038921 5439091.82248766 112.718033026773 + 457849.192630101 5439091.84312211 112.722593027506 + 457849.180107207 5439091.85564501 112.722593027506 + 457849.159472756 5439091.83105383 112.718033026773 + 457849.168038921 5439091.82248766 112.718033026773 + + + + + + + + + 457849.174987447 5439091.81256414 112.718033026773 + 457849.202788167 5439091.82861489 112.722593027506 + 457849.192630101 5439091.84312211 112.722593027506 + 457849.168038921 5439091.82248766 112.718033026773 + 457849.174987447 5439091.81256414 112.718033026773 + + + + + + + + + 457849.180107207 5439091.80158478 112.718033026773 + 457849.210272756 5439091.81256414 112.722593027506 + 457849.202788167 5439091.82861489 112.722593027506 + 457849.174987447 5439091.81256414 112.718033026773 + 457849.180107207 5439091.80158478 112.718033026773 + + + + + + + + + 457849.183242641 5439091.78988318 112.718033026773 + 457849.214856454 5439091.79545755 112.722593027506 + 457849.210272756 5439091.81256414 112.722593027506 + 457849.180107207 5439091.80158478 112.718033026773 + 457849.183242641 5439091.78988318 112.718033026773 + + + + + + + + + 457849.184298479 5439091.77781489 112.718033026773 + 457849.216399986 5439091.77781489 112.722593027506 + 457849.214856454 5439091.79545755 112.722593027506 + 457849.183242641 5439091.78988318 112.718033026773 + 457849.184298479 5439091.77781489 112.718033026773 + + + + + + + + + 457849.183242641 5439091.7657466 112.718033026773 + 457849.214856454 5439091.76017224 112.722593027506 + 457849.216399986 5439091.77781489 112.722593027506 + 457849.184298479 5439091.77781489 112.718033026773 + 457849.183242641 5439091.7657466 112.718033026773 + + + + + + + + + 457849.180107207 5439091.75404501 112.718033026773 + 457849.210272756 5439091.74306564 112.722593027506 + 457849.214856454 5439091.76017224 112.722593027506 + 457849.183242641 5439091.7657466 112.718033026773 + 457849.180107207 5439091.75404501 112.718033026773 + + + + + + + + + 457849.174987447 5439091.74306564 112.718033026773 + 457849.202788167 5439091.72701489 112.722593027506 + 457849.210272756 5439091.74306564 112.722593027506 + 457849.180107207 5439091.75404501 112.718033026773 + 457849.174987447 5439091.74306564 112.718033026773 + + + + + + + + + 457849.168038921 5439091.73314212 112.718033026773 + 457849.192630101 5439091.71250767 112.722593027506 + 457849.202788167 5439091.72701489 112.722593027506 + 457849.174987447 5439091.74306564 112.718033026773 + 457849.168038921 5439091.73314212 112.718033026773 + + + + + + + + + 457849.159472756 5439091.72457596 112.718033026773 + 457849.180107207 5439091.69998478 112.722593027506 + 457849.192630101 5439091.71250767 112.722593027506 + 457849.168038921 5439091.73314212 112.718033026773 + 457849.159472756 5439091.72457596 112.718033026773 + + + + + + + + + 457849.149549233 5439091.71762743 112.718033026773 + 457849.165599986 5439091.68982671 112.722593027506 + 457849.180107207 5439091.69998478 112.722593027506 + 457849.159472756 5439091.72457596 112.718033026773 + 457849.149549233 5439091.71762743 112.718033026773 + + + + + + + + + 457849.138569871 5439091.71250767 112.718033026773 + 457849.149549233 5439091.68234212 112.722593027506 + 457849.165599986 5439091.68982671 112.722593027506 + 457849.149549233 5439091.71762743 112.718033026773 + 457849.138569871 5439091.71250767 112.718033026773 + + + + + + + + + 457849.126868273 5439091.70937224 112.718033026773 + 457849.132442641 5439091.67775842 112.722593027506 + 457849.149549233 5439091.68234212 112.722593027506 + 457849.138569871 5439091.71250767 112.718033026773 + 457849.126868273 5439091.70937224 112.718033026773 + + + + + + + + + 457849.114799986 5439091.67621489 112.722593027506 + 457849.114799986 5439091.64720045 112.728781848971 + 457849.137480946 5439091.64918478 112.728781848971 + 457849.132442641 5439091.67775842 112.722593027506 + 457849.114799986 5439091.67621489 112.722593027506 + + + + + + + + + 457849.097157331 5439091.67775842 112.722593027506 + 457849.092119026 5439091.64918478 112.728781848971 + 457849.114799986 5439091.64720045 112.728781848971 + 457849.114799986 5439091.67621489 112.722593027506 + 457849.097157331 5439091.67775842 112.722593027506 + + + + + + + + + 457849.08005074 5439091.68234212 112.722593027506 + 457849.070127216 5439091.65507746 112.728781848971 + 457849.092119026 5439091.64918478 112.728781848971 + 457849.097157331 5439091.67775842 112.722593027506 + 457849.08005074 5439091.68234212 112.722593027506 + + + + + + + + + 457849.063999986 5439091.68982671 112.722593027506 + 457849.049492765 5439091.66469947 112.728781848971 + 457849.070127216 5439091.65507746 112.728781848971 + 457849.08005074 5439091.68234212 112.722593027506 + 457849.063999986 5439091.68982671 112.722593027506 + + + + + + + + + 457849.049492765 5439091.69998478 112.722593027506 + 457849.030842641 5439091.67775842 112.728781848971 + 457849.049492765 5439091.66469947 112.728781848971 + 457849.063999986 5439091.68982671 112.722593027506 + 457849.049492765 5439091.69998478 112.722593027506 + + + + + + + + + 457849.036969871 5439091.71250767 112.722593027506 + 457849.014743518 5439091.69385755 112.728781848971 + 457849.030842641 5439091.67775842 112.728781848971 + 457849.049492765 5439091.69998478 112.722593027506 + 457849.036969871 5439091.71250767 112.722593027506 + + + + + + + + + 457849.026811805 5439091.72701489 112.722593027506 + 457849.001684561 5439091.71250767 112.728781848971 + 457849.014743518 5439091.69385755 112.728781848971 + 457849.036969871 5439091.71250767 112.722593027506 + 457849.026811805 5439091.72701489 112.722593027506 + + + + + + + + + 457849.019327216 5439091.74306564 112.722593027506 + 457848.992062558 5439091.73314212 112.728781848971 + 457849.001684561 5439091.71250767 112.728781848971 + 457849.026811805 5439091.72701489 112.722593027506 + 457849.019327216 5439091.74306564 112.722593027506 + + + + + + + + + 457849.014743518 5439091.76017224 112.722593027506 + 457848.986169871 5439091.75513393 112.728781848971 + 457848.992062558 5439091.73314212 112.728781848971 + 457849.019327216 5439091.74306564 112.722593027506 + 457849.014743518 5439091.76017224 112.722593027506 + + + + + + + + + 457849.013199986 5439091.77781489 112.722593027506 + 457848.984185544 5439091.77781489 112.728781848971 + 457848.986169871 5439091.75513393 112.728781848971 + 457849.014743518 5439091.76017224 112.722593027506 + 457849.013199986 5439091.77781489 112.722593027506 + + + + + + + + + 457849.014743518 5439091.79545755 112.722593027506 + 457848.986169871 5439091.80049585 112.728781848971 + 457848.984185544 5439091.77781489 112.728781848971 + 457849.013199986 5439091.77781489 112.722593027506 + 457849.014743518 5439091.79545755 112.722593027506 + + + + + + + + + 457849.019327216 5439091.81256414 112.722593027506 + 457848.992062558 5439091.82248766 112.728781848971 + 457848.986169871 5439091.80049585 112.728781848971 + 457849.014743518 5439091.79545755 112.722593027506 + 457849.019327216 5439091.81256414 112.722593027506 + + + + + + + + + 457849.026811805 5439091.82861489 112.722593027506 + 457849.001684561 5439091.84312211 112.728781848971 + 457848.992062558 5439091.82248766 112.728781848971 + 457849.019327216 5439091.81256414 112.722593027506 + 457849.026811805 5439091.82861489 112.722593027506 + + + + + + + + + 457849.036969871 5439091.84312211 112.722593027506 + 457849.014743518 5439091.86177224 112.728781848971 + 457849.001684561 5439091.84312211 112.728781848971 + 457849.026811805 5439091.82861489 112.722593027506 + 457849.036969871 5439091.84312211 112.722593027506 + + + + + + + + + 457849.049492765 5439091.85564501 112.722593027506 + 457849.030842641 5439091.87787136 112.728781848971 + 457849.014743518 5439091.86177224 112.728781848971 + 457849.036969871 5439091.84312211 112.722593027506 + 457849.049492765 5439091.85564501 112.722593027506 + + + + + + + + + 457849.063999986 5439091.86580307 112.722593027506 + 457849.049492765 5439091.89093032 112.728781848971 + 457849.030842641 5439091.87787136 112.728781848971 + 457849.049492765 5439091.85564501 112.722593027506 + 457849.063999986 5439091.86580307 112.722593027506 + + + + + + + + + 457849.08005074 5439091.87328766 112.722593027506 + 457849.070127216 5439091.90055232 112.728781848971 + 457849.049492765 5439091.89093032 112.728781848971 + 457849.063999986 5439091.86580307 112.722593027506 + 457849.08005074 5439091.87328766 112.722593027506 + + + + + + + + + 457849.097157331 5439091.87787136 112.722593027506 + 457849.092119026 5439091.90644501 112.728781848971 + 457849.070127216 5439091.90055232 112.728781848971 + 457849.08005074 5439091.87328766 112.722593027506 + 457849.097157331 5439091.87787136 112.722593027506 + + + + + + + + + 457849.114799986 5439091.87941489 112.722593027506 + 457849.114799986 5439091.90842933 112.728781848971 + 457849.092119026 5439091.90644501 112.728781848971 + 457849.097157331 5439091.87787136 112.722593027506 + 457849.114799986 5439091.87941489 112.722593027506 + + + + + + + + + 457849.132442641 5439091.87787136 112.722593027506 + 457849.137480946 5439091.90644501 112.728781848971 + 457849.114799986 5439091.90842933 112.728781848971 + 457849.114799986 5439091.87941489 112.722593027506 + 457849.132442641 5439091.87787136 112.722593027506 + + + + + + + + + 457849.149549233 5439091.87328766 112.722593027506 + 457849.159472756 5439091.90055232 112.728781848971 + 457849.137480946 5439091.90644501 112.728781848971 + 457849.132442641 5439091.87787136 112.722593027506 + 457849.149549233 5439091.87328766 112.722593027506 + + + + + + + + + 457849.165599986 5439091.86580307 112.722593027506 + 457849.180107207 5439091.89093032 112.728781848971 + 457849.159472756 5439091.90055232 112.728781848971 + 457849.149549233 5439091.87328766 112.722593027506 + 457849.165599986 5439091.86580307 112.722593027506 + + + + + + + + + 457849.180107207 5439091.85564501 112.722593027506 + 457849.198757331 5439091.87787136 112.728781848971 + 457849.180107207 5439091.89093032 112.728781848971 + 457849.165599986 5439091.86580307 112.722593027506 + 457849.180107207 5439091.85564501 112.722593027506 + + + + + + + + + 457849.192630101 5439091.84312211 112.722593027506 + 457849.214856454 5439091.86177224 112.728781848971 + 457849.198757331 5439091.87787136 112.728781848971 + 457849.180107207 5439091.85564501 112.722593027506 + 457849.192630101 5439091.84312211 112.722593027506 + + + + + + + + + 457849.202788167 5439091.82861489 112.722593027506 + 457849.227915411 5439091.84312211 112.728781848971 + 457849.214856454 5439091.86177224 112.728781848971 + 457849.192630101 5439091.84312211 112.722593027506 + 457849.202788167 5439091.82861489 112.722593027506 + + + + + + + + + 457849.210272756 5439091.81256414 112.722593027506 + 457849.237537414 5439091.82248766 112.728781848971 + 457849.227915411 5439091.84312211 112.728781848971 + 457849.202788167 5439091.82861489 112.722593027506 + 457849.210272756 5439091.81256414 112.722593027506 + + + + + + + + + 457849.214856454 5439091.79545755 112.722593027506 + 457849.243430101 5439091.80049585 112.728781848971 + 457849.237537414 5439091.82248766 112.728781848971 + 457849.210272756 5439091.81256414 112.722593027506 + 457849.214856454 5439091.79545755 112.722593027506 + + + + + + + + + 457849.216399986 5439091.77781489 112.722593027506 + 457849.245414428 5439091.77781489 112.728781848971 + 457849.243430101 5439091.80049585 112.728781848971 + 457849.214856454 5439091.79545755 112.722593027506 + 457849.216399986 5439091.77781489 112.722593027506 + + + + + + + + + 457849.214856454 5439091.76017224 112.722593027506 + 457849.243430101 5439091.75513393 112.728781848971 + 457849.245414428 5439091.77781489 112.728781848971 + 457849.216399986 5439091.77781489 112.722593027506 + 457849.214856454 5439091.76017224 112.722593027506 + + + + + + + + + 457849.210272756 5439091.74306564 112.722593027506 + 457849.237537414 5439091.73314212 112.728781848971 + 457849.243430101 5439091.75513393 112.728781848971 + 457849.214856454 5439091.76017224 112.722593027506 + 457849.210272756 5439091.74306564 112.722593027506 + + + + + + + + + 457849.202788167 5439091.72701489 112.722593027506 + 457849.227915411 5439091.71250767 112.728781848971 + 457849.237537414 5439091.73314212 112.728781848971 + 457849.210272756 5439091.74306564 112.722593027506 + 457849.202788167 5439091.72701489 112.722593027506 + + + + + + + + + 457849.192630101 5439091.71250767 112.722593027506 + 457849.214856454 5439091.69385755 112.728781848971 + 457849.227915411 5439091.71250767 112.728781848971 + 457849.202788167 5439091.72701489 112.722593027506 + 457849.192630101 5439091.71250767 112.722593027506 + + + + + + + + + 457849.180107207 5439091.69998478 112.722593027506 + 457849.198757331 5439091.67775842 112.728781848971 + 457849.214856454 5439091.69385755 112.728781848971 + 457849.192630101 5439091.71250767 112.722593027506 + 457849.180107207 5439091.69998478 112.722593027506 + + + + + + + + + 457849.165599986 5439091.68982671 112.722593027506 + 457849.180107207 5439091.66469947 112.728781848971 + 457849.198757331 5439091.67775842 112.728781848971 + 457849.180107207 5439091.69998478 112.722593027506 + 457849.165599986 5439091.68982671 112.722593027506 + + + + + + + + + 457849.149549233 5439091.68234212 112.722593027506 + 457849.159472756 5439091.65507746 112.728781848971 + 457849.180107207 5439091.66469947 112.728781848971 + 457849.165599986 5439091.68982671 112.722593027506 + 457849.149549233 5439091.68234212 112.722593027506 + + + + + + + + + 457849.132442641 5439091.67775842 112.722593027506 + 457849.137480946 5439091.64918478 112.728781848971 + 457849.159472756 5439091.65507746 112.728781848971 + 457849.149549233 5439091.68234212 112.722593027506 + 457849.132442641 5439091.67775842 112.722593027506 + + + + + + + + + 457849.114799986 5439091.64720045 112.728781848971 + 457849.114799986 5439091.62215466 112.73641144696 + 457849.141830101 5439091.62451949 112.73641144696 + 457849.137480946 5439091.64918478 112.728781848971 + 457849.114799986 5439091.64720045 112.728781848971 + + + + + + + + + 457849.092119026 5439091.64918478 112.728781848971 + 457849.087769871 5439091.62451949 112.73641144696 + 457849.114799986 5439091.62215466 112.73641144696 + 457849.114799986 5439091.64720045 112.728781848971 + 457849.092119026 5439091.64918478 112.728781848971 + + + + + + + + + 457849.070127216 5439091.65507746 112.728781848971 + 457849.061561052 5439091.63154212 112.73641144696 + 457849.087769871 5439091.62451949 112.73641144696 + 457849.092119026 5439091.64918478 112.728781848971 + 457849.070127216 5439091.65507746 112.728781848971 + + + + + + + + + 457849.049492765 5439091.66469947 112.728781848971 + 457849.036969871 5439091.64300918 112.73641144696 + 457849.061561052 5439091.63154212 112.73641144696 + 457849.070127216 5439091.65507746 112.728781848971 + 457849.049492765 5439091.66469947 112.728781848971 + + + + + + + + + 457849.030842641 5439091.67775842 112.728781848971 + 457849.014743518 5439091.65857224 112.73641144696 + 457849.036969871 5439091.64300918 112.73641144696 + 457849.049492765 5439091.66469947 112.728781848971 + 457849.030842641 5439091.67775842 112.728781848971 + + + + + + + + + 457849.014743518 5439091.69385755 112.728781848971 + 457848.995557331 5439091.67775842 112.73641144696 + 457849.014743518 5439091.65857224 112.73641144696 + 457849.030842641 5439091.67775842 112.728781848971 + 457849.014743518 5439091.69385755 112.728781848971 + + + + + + + + + 457849.001684561 5439091.71250767 112.728781848971 + 457848.979994272 5439091.69998478 112.73641144696 + 457848.995557331 5439091.67775842 112.73641144696 + 457849.014743518 5439091.69385755 112.728781848971 + 457849.001684561 5439091.71250767 112.728781848971 + + + + + + + + + 457848.992062558 5439091.73314212 112.728781848971 + 457848.968527216 5439091.72457596 112.73641144696 + 457848.979994272 5439091.69998478 112.73641144696 + 457849.001684561 5439091.71250767 112.728781848971 + 457848.992062558 5439091.73314212 112.728781848971 + + + + + + + + + 457848.986169871 5439091.75513393 112.728781848971 + 457848.961504584 5439091.75078478 112.73641144696 + 457848.968527216 5439091.72457596 112.73641144696 + 457848.992062558 5439091.73314212 112.728781848971 + 457848.986169871 5439091.75513393 112.728781848971 + + + + + + + + + 457848.984185544 5439091.77781489 112.728781848971 + 457848.959139755 5439091.77781489 112.73641144696 + 457848.961504584 5439091.75078478 112.73641144696 + 457848.986169871 5439091.75513393 112.728781848971 + 457848.984185544 5439091.77781489 112.728781848971 + + + + + + + + + 457848.986169871 5439091.80049585 112.728781848971 + 457848.961504584 5439091.80484501 112.73641144696 + 457848.959139755 5439091.77781489 112.73641144696 + 457848.984185544 5439091.77781489 112.728781848971 + 457848.986169871 5439091.80049585 112.728781848971 + + + + + + + + + 457848.992062558 5439091.82248766 112.728781848971 + 457848.968527216 5439091.83105383 112.73641144696 + 457848.961504584 5439091.80484501 112.73641144696 + 457848.986169871 5439091.80049585 112.728781848971 + 457848.992062558 5439091.82248766 112.728781848971 + + + + + + + + + 457849.001684561 5439091.84312211 112.728781848971 + 457848.979994272 5439091.85564501 112.73641144696 + 457848.968527216 5439091.83105383 112.73641144696 + 457848.992062558 5439091.82248766 112.728781848971 + 457849.001684561 5439091.84312211 112.728781848971 + + + + + + + + + 457849.014743518 5439091.86177224 112.728781848971 + 457848.995557331 5439091.87787136 112.73641144696 + 457848.979994272 5439091.85564501 112.73641144696 + 457849.001684561 5439091.84312211 112.728781848971 + 457849.014743518 5439091.86177224 112.728781848971 + + + + + + + + + 457849.030842641 5439091.87787136 112.728781848971 + 457849.014743518 5439091.89705755 112.73641144696 + 457848.995557331 5439091.87787136 112.73641144696 + 457849.014743518 5439091.86177224 112.728781848971 + 457849.030842641 5439091.87787136 112.728781848971 + + + + + + + + + 457849.049492765 5439091.89093032 112.728781848971 + 457849.036969871 5439091.91262061 112.73641144696 + 457849.014743518 5439091.89705755 112.73641144696 + 457849.030842641 5439091.87787136 112.728781848971 + 457849.049492765 5439091.89093032 112.728781848971 + + + + + + + + + 457849.070127216 5439091.90055232 112.728781848971 + 457849.061561052 5439091.92408766 112.73641144696 + 457849.036969871 5439091.91262061 112.73641144696 + 457849.049492765 5439091.89093032 112.728781848971 + 457849.070127216 5439091.90055232 112.728781848971 + + + + + + + + + 457849.092119026 5439091.90644501 112.728781848971 + 457849.087769871 5439091.93111029 112.73641144696 + 457849.061561052 5439091.92408766 112.73641144696 + 457849.070127216 5439091.90055232 112.728781848971 + 457849.092119026 5439091.90644501 112.728781848971 + + + + + + + + + 457849.114799986 5439091.90842933 112.728781848971 + 457849.114799986 5439091.93347512 112.73641144696 + 457849.087769871 5439091.93111029 112.73641144696 + 457849.092119026 5439091.90644501 112.728781848971 + 457849.114799986 5439091.90842933 112.728781848971 + + + + + + + + + 457849.137480946 5439091.90644501 112.728781848971 + 457849.141830101 5439091.93111029 112.73641144696 + 457849.114799986 5439091.93347512 112.73641144696 + 457849.114799986 5439091.90842933 112.728781848971 + 457849.137480946 5439091.90644501 112.728781848971 + + + + + + + + + 457849.159472756 5439091.90055232 112.728781848971 + 457849.168038921 5439091.92408766 112.73641144696 + 457849.141830101 5439091.93111029 112.73641144696 + 457849.137480946 5439091.90644501 112.728781848971 + 457849.159472756 5439091.90055232 112.728781848971 + + + + + + + + + 457849.180107207 5439091.89093032 112.728781848971 + 457849.192630101 5439091.91262061 112.73641144696 + 457849.168038921 5439091.92408766 112.73641144696 + 457849.159472756 5439091.90055232 112.728781848971 + 457849.180107207 5439091.89093032 112.728781848971 + + + + + + + + + 457849.198757331 5439091.87787136 112.728781848971 + 457849.214856454 5439091.89705755 112.73641144696 + 457849.192630101 5439091.91262061 112.73641144696 + 457849.180107207 5439091.89093032 112.728781848971 + 457849.198757331 5439091.87787136 112.728781848971 + + + + + + + + + 457849.214856454 5439091.86177224 112.728781848971 + 457849.234042641 5439091.87787136 112.73641144696 + 457849.214856454 5439091.89705755 112.73641144696 + 457849.198757331 5439091.87787136 112.728781848971 + 457849.214856454 5439091.86177224 112.728781848971 + + + + + + + + + 457849.227915411 5439091.84312211 112.728781848971 + 457849.2496057 5439091.85564501 112.73641144696 + 457849.234042641 5439091.87787136 112.73641144696 + 457849.214856454 5439091.86177224 112.728781848971 + 457849.227915411 5439091.84312211 112.728781848971 + + + + + + + + + 457849.237537414 5439091.82248766 112.728781848971 + 457849.261072756 5439091.83105383 112.73641144696 + 457849.2496057 5439091.85564501 112.73641144696 + 457849.227915411 5439091.84312211 112.728781848971 + 457849.237537414 5439091.82248766 112.728781848971 + + + + + + + + + 457849.243430101 5439091.80049585 112.728781848971 + 457849.268095388 5439091.80484501 112.73641144696 + 457849.261072756 5439091.83105383 112.73641144696 + 457849.237537414 5439091.82248766 112.728781848971 + 457849.243430101 5439091.80049585 112.728781848971 + + + + + + + + + 457849.245414428 5439091.77781489 112.728781848971 + 457849.270460217 5439091.77781489 112.73641144696 + 457849.268095388 5439091.80484501 112.73641144696 + 457849.243430101 5439091.80049585 112.728781848971 + 457849.245414428 5439091.77781489 112.728781848971 + + + + + + + + + 457849.243430101 5439091.75513393 112.728781848971 + 457849.268095388 5439091.75078478 112.73641144696 + 457849.270460217 5439091.77781489 112.73641144696 + 457849.245414428 5439091.77781489 112.728781848971 + 457849.243430101 5439091.75513393 112.728781848971 + + + + + + + + + 457849.237537414 5439091.73314212 112.728781848971 + 457849.261072756 5439091.72457596 112.73641144696 + 457849.268095388 5439091.75078478 112.73641144696 + 457849.243430101 5439091.75513393 112.728781848971 + 457849.237537414 5439091.73314212 112.728781848971 + + + + + + + + + 457849.227915411 5439091.71250767 112.728781848971 + 457849.2496057 5439091.69998478 112.73641144696 + 457849.261072756 5439091.72457596 112.73641144696 + 457849.237537414 5439091.73314212 112.728781848971 + 457849.227915411 5439091.71250767 112.728781848971 + + + + + + + + + 457849.214856454 5439091.69385755 112.728781848971 + 457849.234042641 5439091.67775842 112.73641144696 + 457849.2496057 5439091.69998478 112.73641144696 + 457849.227915411 5439091.71250767 112.728781848971 + 457849.214856454 5439091.69385755 112.728781848971 + + + + + + + + + 457849.198757331 5439091.67775842 112.728781848971 + 457849.214856454 5439091.65857224 112.73641144696 + 457849.234042641 5439091.67775842 112.73641144696 + 457849.214856454 5439091.69385755 112.728781848971 + 457849.198757331 5439091.67775842 112.728781848971 + + + + + + + + + 457849.180107207 5439091.66469947 112.728781848971 + 457849.192630101 5439091.64300918 112.73641144696 + 457849.214856454 5439091.65857224 112.73641144696 + 457849.198757331 5439091.67775842 112.728781848971 + 457849.180107207 5439091.66469947 112.728781848971 + + + + + + + + + 457849.159472756 5439091.65507746 112.728781848971 + 457849.168038921 5439091.63154212 112.73641144696 + 457849.192630101 5439091.64300918 112.73641144696 + 457849.180107207 5439091.66469947 112.728781848971 + 457849.159472756 5439091.65507746 112.728781848971 + + + + + + + + + 457849.137480946 5439091.64918478 112.728781848971 + 457849.141830101 5439091.62451949 112.73641144696 + 457849.168038921 5439091.63154212 112.73641144696 + 457849.159472756 5439091.65507746 112.728781848971 + 457849.137480946 5439091.64918478 112.728781848971 + + + + + + + + + 457849.114799986 5439091.62215466 112.73641144696 + 457849.114799986 5439091.60183853 112.74525 + 457849.145357961 5439091.60451201 112.74525 + 457849.141830101 5439091.62451949 112.73641144696 + 457849.114799986 5439091.62215466 112.73641144696 + + + + + + + + + 457849.087769871 5439091.62451949 112.73641144696 + 457849.084242011 5439091.60451201 112.74525 + 457849.114799986 5439091.60183853 112.74525 + 457849.114799986 5439091.62215466 112.73641144696 + 457849.087769871 5439091.62451949 112.73641144696 + + + + + + + + + 457849.061561052 5439091.63154212 112.73641144696 + 457849.054612526 5439091.6124512 112.74525 + 457849.084242011 5439091.60451201 112.74525 + 457849.087769871 5439091.62451949 112.73641144696 + 457849.061561052 5439091.63154212 112.73641144696 + + + + + + + + + 457849.036969871 5439091.64300918 112.73641144696 + 457849.026811805 5439091.62541489 112.74525 + 457849.054612526 5439091.6124512 112.74525 + 457849.061561052 5439091.63154212 112.73641144696 + 457849.036969871 5439091.64300918 112.73641144696 + + + + + + + + + 457849.014743518 5439091.65857224 112.73641144696 + 457849.001684561 5439091.64300918 112.74525 + 457849.026811805 5439091.62541489 112.74525 + 457849.036969871 5439091.64300918 112.73641144696 + 457849.014743518 5439091.65857224 112.73641144696 + + + + + + + + + 457848.995557331 5439091.67775842 112.73641144696 + 457848.979994272 5439091.66469947 112.74525 + 457849.001684561 5439091.64300918 112.74525 + 457849.014743518 5439091.65857224 112.73641144696 + 457848.995557331 5439091.67775842 112.73641144696 + + + + + + + + + 457848.979994272 5439091.69998478 112.73641144696 + 457848.962399986 5439091.68982671 112.74525 + 457848.979994272 5439091.66469947 112.74525 + 457848.995557331 5439091.67775842 112.73641144696 + 457848.979994272 5439091.69998478 112.73641144696 + + + + + + + + + 457848.968527216 5439091.72457596 112.73641144696 + 457848.949436297 5439091.71762743 112.74525 + 457848.962399986 5439091.68982671 112.74525 + 457848.979994272 5439091.69998478 112.73641144696 + 457848.968527216 5439091.72457596 112.73641144696 + + + + + + + + + 457848.961504584 5439091.75078478 112.73641144696 + 457848.9414971 5439091.74725692 112.74525 + 457848.949436297 5439091.71762743 112.74525 + 457848.968527216 5439091.72457596 112.73641144696 + 457848.961504584 5439091.75078478 112.73641144696 + + + + + + + + + 457848.959139755 5439091.77781489 112.73641144696 + 457848.938823624 5439091.77781489 112.74525 + 457848.9414971 5439091.74725692 112.74525 + 457848.961504584 5439091.75078478 112.73641144696 + 457848.959139755 5439091.77781489 112.73641144696 + + + + + + + + + 457848.961504584 5439091.80484501 112.73641144696 + 457848.9414971 5439091.80837287 112.74525 + 457848.938823624 5439091.77781489 112.74525 + 457848.959139755 5439091.77781489 112.73641144696 + 457848.961504584 5439091.80484501 112.73641144696 + + + + + + + + + 457848.968527216 5439091.83105383 112.73641144696 + 457848.949436297 5439091.83800235 112.74525 + 457848.9414971 5439091.80837287 112.74525 + 457848.961504584 5439091.80484501 112.73641144696 + 457848.968527216 5439091.83105383 112.73641144696 + + + + + + + + + 457848.979994272 5439091.85564501 112.73641144696 + 457848.962399986 5439091.86580307 112.74525 + 457848.949436297 5439091.83800235 112.74525 + 457848.968527216 5439091.83105383 112.73641144696 + 457848.979994272 5439091.85564501 112.73641144696 + + + + + + + + + 457848.995557331 5439091.87787136 112.73641144696 + 457848.979994272 5439091.89093032 112.74525 + 457848.962399986 5439091.86580307 112.74525 + 457848.979994272 5439091.85564501 112.73641144696 + 457848.995557331 5439091.87787136 112.73641144696 + + + + + + + + + 457849.014743518 5439091.89705755 112.73641144696 + 457849.001684561 5439091.91262061 112.74525 + 457848.979994272 5439091.89093032 112.74525 + 457848.995557331 5439091.87787136 112.73641144696 + 457849.014743518 5439091.89705755 112.73641144696 + + + + + + + + + 457849.036969871 5439091.91262061 112.73641144696 + 457849.026811805 5439091.93021489 112.74525 + 457849.001684561 5439091.91262061 112.74525 + 457849.014743518 5439091.89705755 112.73641144696 + 457849.036969871 5439091.91262061 112.73641144696 + + + + + + + + + 457849.061561052 5439091.92408766 112.73641144696 + 457849.054612526 5439091.94317858 112.74525 + 457849.026811805 5439091.93021489 112.74525 + 457849.036969871 5439091.91262061 112.73641144696 + 457849.061561052 5439091.92408766 112.73641144696 + + + + + + + + + 457849.087769871 5439091.93111029 112.73641144696 + 457849.084242011 5439091.95111778 112.74525 + 457849.054612526 5439091.94317858 112.74525 + 457849.061561052 5439091.92408766 112.73641144696 + 457849.087769871 5439091.93111029 112.73641144696 + + + + + + + + + 457849.114799986 5439091.93347512 112.73641144696 + 457849.114799986 5439091.95379125 112.74525 + 457849.084242011 5439091.95111778 112.74525 + 457849.087769871 5439091.93111029 112.73641144696 + 457849.114799986 5439091.93347512 112.73641144696 + + + + + + + + + 457849.141830101 5439091.93111029 112.73641144696 + 457849.145357961 5439091.95111778 112.74525 + 457849.114799986 5439091.95379125 112.74525 + 457849.114799986 5439091.93347512 112.73641144696 + 457849.141830101 5439091.93111029 112.73641144696 + + + + + + + + + 457849.168038921 5439091.92408766 112.73641144696 + 457849.174987447 5439091.94317858 112.74525 + 457849.145357961 5439091.95111778 112.74525 + 457849.141830101 5439091.93111029 112.73641144696 + 457849.168038921 5439091.92408766 112.73641144696 + + + + + + + + + 457849.192630101 5439091.91262061 112.73641144696 + 457849.202788167 5439091.93021489 112.74525 + 457849.174987447 5439091.94317858 112.74525 + 457849.168038921 5439091.92408766 112.73641144696 + 457849.192630101 5439091.91262061 112.73641144696 + + + + + + + + + 457849.214856454 5439091.89705755 112.73641144696 + 457849.227915411 5439091.91262061 112.74525 + 457849.202788167 5439091.93021489 112.74525 + 457849.192630101 5439091.91262061 112.73641144696 + 457849.214856454 5439091.89705755 112.73641144696 + + + + + + + + + 457849.234042641 5439091.87787136 112.73641144696 + 457849.2496057 5439091.89093032 112.74525 + 457849.227915411 5439091.91262061 112.74525 + 457849.214856454 5439091.89705755 112.73641144696 + 457849.234042641 5439091.87787136 112.73641144696 + + + + + + + + + 457849.2496057 5439091.85564501 112.73641144696 + 457849.267199986 5439091.86580307 112.74525 + 457849.2496057 5439091.89093032 112.74525 + 457849.234042641 5439091.87787136 112.73641144696 + 457849.2496057 5439091.85564501 112.73641144696 + + + + + + + + + 457849.261072756 5439091.83105383 112.73641144696 + 457849.280163675 5439091.83800235 112.74525 + 457849.267199986 5439091.86580307 112.74525 + 457849.2496057 5439091.85564501 112.73641144696 + 457849.261072756 5439091.83105383 112.73641144696 + + + + + + + + + 457849.268095388 5439091.80484501 112.73641144696 + 457849.288102872 5439091.80837287 112.74525 + 457849.280163675 5439091.83800235 112.74525 + 457849.261072756 5439091.83105383 112.73641144696 + 457849.268095388 5439091.80484501 112.73641144696 + + + + + + + + + 457849.270460217 5439091.77781489 112.73641144696 + 457849.290776348 5439091.77781489 112.74525 + 457849.288102872 5439091.80837287 112.74525 + 457849.268095388 5439091.80484501 112.73641144696 + 457849.270460217 5439091.77781489 112.73641144696 + + + + + + + + + 457849.268095388 5439091.75078478 112.73641144696 + 457849.288102872 5439091.74725692 112.74525 + 457849.290776348 5439091.77781489 112.74525 + 457849.270460217 5439091.77781489 112.73641144696 + 457849.268095388 5439091.75078478 112.73641144696 + + + + + + + + + 457849.261072756 5439091.72457596 112.73641144696 + 457849.280163675 5439091.71762743 112.74525 + 457849.288102872 5439091.74725692 112.74525 + 457849.268095388 5439091.75078478 112.73641144696 + 457849.261072756 5439091.72457596 112.73641144696 + + + + + + + + + 457849.2496057 5439091.69998478 112.73641144696 + 457849.267199986 5439091.68982671 112.74525 + 457849.280163675 5439091.71762743 112.74525 + 457849.261072756 5439091.72457596 112.73641144696 + 457849.2496057 5439091.69998478 112.73641144696 + + + + + + + + + 457849.234042641 5439091.67775842 112.73641144696 + 457849.2496057 5439091.66469947 112.74525 + 457849.267199986 5439091.68982671 112.74525 + 457849.2496057 5439091.69998478 112.73641144696 + 457849.234042641 5439091.67775842 112.73641144696 + + + + + + + + + 457849.214856454 5439091.65857224 112.73641144696 + 457849.227915411 5439091.64300918 112.74525 + 457849.2496057 5439091.66469947 112.74525 + 457849.234042641 5439091.67775842 112.73641144696 + 457849.214856454 5439091.65857224 112.73641144696 + + + + + + + + + 457849.192630101 5439091.64300918 112.73641144696 + 457849.202788167 5439091.62541489 112.74525 + 457849.227915411 5439091.64300918 112.74525 + 457849.214856454 5439091.65857224 112.73641144696 + 457849.192630101 5439091.64300918 112.73641144696 + + + + + + + + + 457849.168038921 5439091.63154212 112.73641144696 + 457849.174987447 5439091.6124512 112.74525 + 457849.202788167 5439091.62541489 112.74525 + 457849.192630101 5439091.64300918 112.73641144696 + 457849.168038921 5439091.63154212 112.73641144696 + + + + + + + + + 457849.141830101 5439091.62451949 112.73641144696 + 457849.145357961 5439091.60451201 112.74525 + 457849.174987447 5439091.6124512 112.74525 + 457849.168038921 5439091.63154212 112.73641144696 + 457849.141830101 5439091.62451949 112.73641144696 + + + + + + + + + 457849.114799986 5439091.60183853 112.74525 + 457849.114799986 5439091.58686935 112.755028953128 + 457849.147957331 5439091.58977024 112.755028953128 + 457849.145357961 5439091.60451201 112.74525 + 457849.114799986 5439091.60183853 112.74525 + + + + + + + + + 457849.084242011 5439091.60451201 112.74525 + 457849.081642641 5439091.58977024 112.755028953128 + 457849.114799986 5439091.58686935 112.755028953128 + 457849.114799986 5439091.60183853 112.74525 + 457849.084242011 5439091.60451201 112.74525 + + + + + + + + + 457849.054612526 5439091.6124512 112.74525 + 457849.049492765 5439091.59838478 112.755028953128 + 457849.081642641 5439091.58977024 112.755028953128 + 457849.084242011 5439091.60451201 112.74525 + 457849.054612526 5439091.6124512 112.74525 + + + + + + + + + 457849.026811805 5439091.62541489 112.74525 + 457849.019327216 5439091.6124512 112.755028953128 + 457849.049492765 5439091.59838478 112.755028953128 + 457849.054612526 5439091.6124512 112.74525 + 457849.026811805 5439091.62541489 112.74525 + + + + + + + + + 457849.001684561 5439091.64300918 112.74525 + 457848.992062558 5439091.63154212 112.755028953128 + 457849.019327216 5439091.6124512 112.755028953128 + 457849.026811805 5439091.62541489 112.74525 + 457849.001684561 5439091.64300918 112.74525 + + + + + + + + + 457848.979994272 5439091.66469947 112.74525 + 457848.968527216 5439091.65507746 112.755028953128 + 457848.992062558 5439091.63154212 112.755028953128 + 457849.001684561 5439091.64300918 112.74525 + 457848.979994272 5439091.66469947 112.74525 + + + + + + + + + 457848.962399986 5439091.68982671 112.74525 + 457848.949436297 5439091.68234212 112.755028953128 + 457848.968527216 5439091.65507746 112.755028953128 + 457848.979994272 5439091.66469947 112.74525 + 457848.962399986 5439091.68982671 112.74525 + + + + + + + + + 457848.949436297 5439091.71762743 112.74525 + 457848.935369871 5439091.71250767 112.755028953128 + 457848.949436297 5439091.68234212 112.755028953128 + 457848.962399986 5439091.68982671 112.74525 + 457848.949436297 5439091.71762743 112.74525 + + + + + + + + + 457848.9414971 5439091.74725692 112.74525 + 457848.926755337 5439091.74465755 112.755028953128 + 457848.935369871 5439091.71250767 112.755028953128 + 457848.949436297 5439091.71762743 112.74525 + 457848.9414971 5439091.74725692 112.74525 + + + + + + + + + 457848.938823624 5439091.77781489 112.74525 + 457848.923854446 5439091.77781489 112.755028953128 + 457848.926755337 5439091.74465755 112.755028953128 + 457848.9414971 5439091.74725692 112.74525 + 457848.938823624 5439091.77781489 112.74525 + + + + + + + + + 457848.9414971 5439091.80837287 112.74525 + 457848.926755337 5439091.81097224 112.755028953128 + 457848.923854446 5439091.77781489 112.755028953128 + 457848.938823624 5439091.77781489 112.74525 + 457848.9414971 5439091.80837287 112.74525 + + + + + + + + + 457848.949436297 5439091.83800235 112.74525 + 457848.935369871 5439091.84312211 112.755028953128 + 457848.926755337 5439091.81097224 112.755028953128 + 457848.9414971 5439091.80837287 112.74525 + 457848.949436297 5439091.83800235 112.74525 + + + + + + + + + 457848.962399986 5439091.86580307 112.74525 + 457848.949436297 5439091.87328766 112.755028953128 + 457848.935369871 5439091.84312211 112.755028953128 + 457848.949436297 5439091.83800235 112.74525 + 457848.962399986 5439091.86580307 112.74525 + + + + + + + + + 457848.979994272 5439091.89093032 112.74525 + 457848.968527216 5439091.90055232 112.755028953128 + 457848.949436297 5439091.87328766 112.755028953128 + 457848.962399986 5439091.86580307 112.74525 + 457848.979994272 5439091.89093032 112.74525 + + + + + + + + + 457849.001684561 5439091.91262061 112.74525 + 457848.992062558 5439091.92408766 112.755028953128 + 457848.968527216 5439091.90055232 112.755028953128 + 457848.979994272 5439091.89093032 112.74525 + 457849.001684561 5439091.91262061 112.74525 + + + + + + + + + 457849.026811805 5439091.93021489 112.74525 + 457849.019327216 5439091.94317858 112.755028953128 + 457848.992062558 5439091.92408766 112.755028953128 + 457849.001684561 5439091.91262061 112.74525 + 457849.026811805 5439091.93021489 112.74525 + + + + + + + + + 457849.054612526 5439091.94317858 112.74525 + 457849.049492765 5439091.95724501 112.755028953128 + 457849.019327216 5439091.94317858 112.755028953128 + 457849.026811805 5439091.93021489 112.74525 + 457849.054612526 5439091.94317858 112.74525 + + + + + + + + + 457849.084242011 5439091.95111778 112.74525 + 457849.081642641 5439091.96585954 112.755028953128 + 457849.049492765 5439091.95724501 112.755028953128 + 457849.054612526 5439091.94317858 112.74525 + 457849.084242011 5439091.95111778 112.74525 + + + + + + + + + 457849.114799986 5439091.95379125 112.74525 + 457849.114799986 5439091.96876043 112.755028953128 + 457849.081642641 5439091.96585954 112.755028953128 + 457849.084242011 5439091.95111778 112.74525 + 457849.114799986 5439091.95379125 112.74525 + + + + + + + + + 457849.145357961 5439091.95111778 112.74525 + 457849.147957331 5439091.96585954 112.755028953128 + 457849.114799986 5439091.96876043 112.755028953128 + 457849.114799986 5439091.95379125 112.74525 + 457849.145357961 5439091.95111778 112.74525 + + + + + + + + + 457849.174987447 5439091.94317858 112.74525 + 457849.180107207 5439091.95724501 112.755028953128 + 457849.147957331 5439091.96585954 112.755028953128 + 457849.145357961 5439091.95111778 112.74525 + 457849.174987447 5439091.94317858 112.74525 + + + + + + + + + 457849.202788167 5439091.93021489 112.74525 + 457849.210272756 5439091.94317858 112.755028953128 + 457849.180107207 5439091.95724501 112.755028953128 + 457849.174987447 5439091.94317858 112.74525 + 457849.202788167 5439091.93021489 112.74525 + + + + + + + + + 457849.227915411 5439091.91262061 112.74525 + 457849.237537414 5439091.92408766 112.755028953128 + 457849.210272756 5439091.94317858 112.755028953128 + 457849.202788167 5439091.93021489 112.74525 + 457849.227915411 5439091.91262061 112.74525 + + + + + + + + + 457849.2496057 5439091.89093032 112.74525 + 457849.261072756 5439091.90055232 112.755028953128 + 457849.237537414 5439091.92408766 112.755028953128 + 457849.227915411 5439091.91262061 112.74525 + 457849.2496057 5439091.89093032 112.74525 + + + + + + + + + 457849.267199986 5439091.86580307 112.74525 + 457849.280163675 5439091.87328766 112.755028953128 + 457849.261072756 5439091.90055232 112.755028953128 + 457849.2496057 5439091.89093032 112.74525 + 457849.267199986 5439091.86580307 112.74525 + + + + + + + + + 457849.280163675 5439091.83800235 112.74525 + 457849.294230102 5439091.84312211 112.755028953128 + 457849.280163675 5439091.87328766 112.755028953128 + 457849.267199986 5439091.86580307 112.74525 + 457849.280163675 5439091.83800235 112.74525 + + + + + + + + + 457849.288102872 5439091.80837287 112.74525 + 457849.302844635 5439091.81097224 112.755028953128 + 457849.294230102 5439091.84312211 112.755028953128 + 457849.280163675 5439091.83800235 112.74525 + 457849.288102872 5439091.80837287 112.74525 + + + + + + + + + 457849.290776348 5439091.77781489 112.74525 + 457849.305745527 5439091.77781489 112.755028953128 + 457849.302844635 5439091.81097224 112.755028953128 + 457849.288102872 5439091.80837287 112.74525 + 457849.290776348 5439091.77781489 112.74525 + + + + + + + + + 457849.288102872 5439091.74725692 112.74525 + 457849.302844635 5439091.74465755 112.755028953128 + 457849.305745527 5439091.77781489 112.755028953128 + 457849.290776348 5439091.77781489 112.74525 + 457849.288102872 5439091.74725692 112.74525 + + + + + + + + + 457849.280163675 5439091.71762743 112.74525 + 457849.294230102 5439091.71250767 112.755028953128 + 457849.302844635 5439091.74465755 112.755028953128 + 457849.288102872 5439091.74725692 112.74525 + 457849.280163675 5439091.71762743 112.74525 + + + + + + + + + 457849.267199986 5439091.68982671 112.74525 + 457849.280163675 5439091.68234212 112.755028953128 + 457849.294230102 5439091.71250767 112.755028953128 + 457849.280163675 5439091.71762743 112.74525 + 457849.267199986 5439091.68982671 112.74525 + + + + + + + + + 457849.2496057 5439091.66469947 112.74525 + 457849.261072756 5439091.65507746 112.755028953128 + 457849.280163675 5439091.68234212 112.755028953128 + 457849.267199986 5439091.68982671 112.74525 + 457849.2496057 5439091.66469947 112.74525 + + + + + + + + + 457849.227915411 5439091.64300918 112.74525 + 457849.237537414 5439091.63154212 112.755028953128 + 457849.261072756 5439091.65507746 112.755028953128 + 457849.2496057 5439091.66469947 112.74525 + 457849.227915411 5439091.64300918 112.74525 + + + + + + + + + 457849.202788167 5439091.62541489 112.74525 + 457849.210272756 5439091.6124512 112.755028953128 + 457849.237537414 5439091.63154212 112.755028953128 + 457849.227915411 5439091.64300918 112.74525 + 457849.202788167 5439091.62541489 112.74525 + + + + + + + + + 457849.174987447 5439091.6124512 112.74525 + 457849.180107207 5439091.59838478 112.755028953128 + 457849.210272756 5439091.6124512 112.755028953128 + 457849.202788167 5439091.62541489 112.74525 + 457849.174987447 5439091.6124512 112.74525 + + + + + + + + + 457849.145357961 5439091.60451201 112.74525 + 457849.147957331 5439091.58977024 112.755028953128 + 457849.180107207 5439091.59838478 112.755028953128 + 457849.174987447 5439091.6124512 112.74525 + 457849.145357961 5439091.60451201 112.74525 + + + + + + + + + 457849.114799986 5439091.58686935 112.755028953128 + 457849.114799986 5439091.57770196 112.765451177802 + 457849.149549233 5439091.58074212 112.765451177802 + 457849.147957331 5439091.58977024 112.755028953128 + 457849.114799986 5439091.58686935 112.755028953128 + + + + + + + + + 457849.081642641 5439091.58977024 112.755028953128 + 457849.08005074 5439091.58074212 112.765451177802 + 457849.114799986 5439091.57770196 112.765451177802 + 457849.114799986 5439091.58686935 112.755028953128 + 457849.081642641 5439091.58977024 112.755028953128 + + + + + + + + + 457849.049492765 5439091.59838478 112.755028953128 + 457849.046357331 5439091.58977024 112.765451177802 + 457849.08005074 5439091.58074212 112.765451177802 + 457849.081642641 5439091.58977024 112.755028953128 + 457849.049492765 5439091.59838478 112.755028953128 + + + + + + + + + 457849.019327216 5439091.6124512 112.755028953128 + 457849.014743518 5439091.60451201 112.765451177802 + 457849.046357331 5439091.58977024 112.765451177802 + 457849.049492765 5439091.59838478 112.755028953128 + 457849.019327216 5439091.6124512 112.755028953128 + + + + + + + + + 457848.992062558 5439091.63154212 112.755028953128 + 457848.986169871 5439091.62451949 112.765451177802 + 457849.014743518 5439091.60451201 112.765451177802 + 457849.019327216 5439091.6124512 112.755028953128 + 457848.992062558 5439091.63154212 112.755028953128 + + + + + + + + + 457848.968527216 5439091.65507746 112.755028953128 + 457848.961504584 5439091.64918478 112.765451177802 + 457848.986169871 5439091.62451949 112.765451177802 + 457848.992062558 5439091.63154212 112.755028953128 + 457848.968527216 5439091.65507746 112.755028953128 + + + + + + + + + 457848.949436297 5439091.68234212 112.755028953128 + 457848.9414971 5439091.67775842 112.765451177802 + 457848.961504584 5439091.64918478 112.765451177802 + 457848.968527216 5439091.65507746 112.755028953128 + 457848.949436297 5439091.68234212 112.755028953128 + + + + + + + + + 457848.935369871 5439091.71250767 112.755028953128 + 457848.926755337 5439091.70937224 112.765451177802 + 457848.9414971 5439091.67775842 112.765451177802 + 457848.949436297 5439091.68234212 112.755028953128 + 457848.935369871 5439091.71250767 112.755028953128 + + + + + + + + + 457848.926755337 5439091.74465755 112.755028953128 + 457848.917727216 5439091.74306564 112.765451177802 + 457848.926755337 5439091.70937224 112.765451177802 + 457848.935369871 5439091.71250767 112.755028953128 + 457848.926755337 5439091.74465755 112.755028953128 + + + + + + + + + 457848.923854446 5439091.77781489 112.755028953128 + 457848.914687051 5439091.77781489 112.765451177802 + 457848.917727216 5439091.74306564 112.765451177802 + 457848.926755337 5439091.74465755 112.755028953128 + 457848.923854446 5439091.77781489 112.755028953128 + + + + + + + + + 457848.926755337 5439091.81097224 112.755028953128 + 457848.917727216 5439091.81256414 112.765451177802 + 457848.914687051 5439091.77781489 112.765451177802 + 457848.923854446 5439091.77781489 112.755028953128 + 457848.926755337 5439091.81097224 112.755028953128 + + + + + + + + + 457848.935369871 5439091.84312211 112.755028953128 + 457848.926755337 5439091.84625755 112.765451177802 + 457848.917727216 5439091.81256414 112.765451177802 + 457848.926755337 5439091.81097224 112.755028953128 + 457848.935369871 5439091.84312211 112.755028953128 + + + + + + + + + 457848.949436297 5439091.87328766 112.755028953128 + 457848.9414971 5439091.87787136 112.765451177802 + 457848.926755337 5439091.84625755 112.765451177802 + 457848.935369871 5439091.84312211 112.755028953128 + 457848.949436297 5439091.87328766 112.755028953128 + + + + + + + + + 457848.968527216 5439091.90055232 112.755028953128 + 457848.961504584 5439091.90644501 112.765451177802 + 457848.9414971 5439091.87787136 112.765451177802 + 457848.949436297 5439091.87328766 112.755028953128 + 457848.968527216 5439091.90055232 112.755028953128 + + + + + + + + + 457848.992062558 5439091.92408766 112.755028953128 + 457848.986169871 5439091.93111029 112.765451177802 + 457848.961504584 5439091.90644501 112.765451177802 + 457848.968527216 5439091.90055232 112.755028953128 + 457848.992062558 5439091.92408766 112.755028953128 + + + + + + + + + 457849.019327216 5439091.94317858 112.755028953128 + 457849.014743518 5439091.95111778 112.765451177802 + 457848.986169871 5439091.93111029 112.765451177802 + 457848.992062558 5439091.92408766 112.755028953128 + 457849.019327216 5439091.94317858 112.755028953128 + + + + + + + + + 457849.049492765 5439091.95724501 112.755028953128 + 457849.046357331 5439091.96585954 112.765451177802 + 457849.014743518 5439091.95111778 112.765451177802 + 457849.019327216 5439091.94317858 112.755028953128 + 457849.049492765 5439091.95724501 112.755028953128 + + + + + + + + + 457849.081642641 5439091.96585954 112.755028953128 + 457849.08005074 5439091.97488766 112.765451177802 + 457849.046357331 5439091.96585954 112.765451177802 + 457849.049492765 5439091.95724501 112.755028953128 + 457849.081642641 5439091.96585954 112.755028953128 + + + + + + + + + 457849.114799986 5439091.96876043 112.755028953128 + 457849.114799986 5439091.97792783 112.765451177802 + 457849.08005074 5439091.97488766 112.765451177802 + 457849.081642641 5439091.96585954 112.755028953128 + 457849.114799986 5439091.96876043 112.755028953128 + + + + + + + + + 457849.147957331 5439091.96585954 112.755028953128 + 457849.149549233 5439091.97488766 112.765451177802 + 457849.114799986 5439091.97792783 112.765451177802 + 457849.114799986 5439091.96876043 112.755028953128 + 457849.147957331 5439091.96585954 112.755028953128 + + + + + + + + + 457849.180107207 5439091.95724501 112.755028953128 + 457849.183242641 5439091.96585954 112.765451177802 + 457849.149549233 5439091.97488766 112.765451177802 + 457849.147957331 5439091.96585954 112.755028953128 + 457849.180107207 5439091.95724501 112.755028953128 + + + + + + + + + 457849.210272756 5439091.94317858 112.755028953128 + 457849.214856454 5439091.95111778 112.765451177802 + 457849.183242641 5439091.96585954 112.765451177802 + 457849.180107207 5439091.95724501 112.755028953128 + 457849.210272756 5439091.94317858 112.755028953128 + + + + + + + + + 457849.237537414 5439091.92408766 112.755028953128 + 457849.243430101 5439091.93111029 112.765451177802 + 457849.214856454 5439091.95111778 112.765451177802 + 457849.210272756 5439091.94317858 112.755028953128 + 457849.237537414 5439091.92408766 112.755028953128 + + + + + + + + + 457849.261072756 5439091.90055232 112.755028953128 + 457849.268095388 5439091.90644501 112.765451177802 + 457849.243430101 5439091.93111029 112.765451177802 + 457849.237537414 5439091.92408766 112.755028953128 + 457849.261072756 5439091.90055232 112.755028953128 + + + + + + + + + 457849.280163675 5439091.87328766 112.755028953128 + 457849.288102872 5439091.87787136 112.765451177802 + 457849.268095388 5439091.90644501 112.765451177802 + 457849.261072756 5439091.90055232 112.755028953128 + 457849.280163675 5439091.87328766 112.755028953128 + + + + + + + + + 457849.294230102 5439091.84312211 112.755028953128 + 457849.302844635 5439091.84625755 112.765451177802 + 457849.288102872 5439091.87787136 112.765451177802 + 457849.280163675 5439091.87328766 112.755028953128 + 457849.294230102 5439091.84312211 112.755028953128 + + + + + + + + + 457849.302844635 5439091.81097224 112.755028953128 + 457849.311872756 5439091.81256414 112.765451177802 + 457849.302844635 5439091.84625755 112.765451177802 + 457849.294230102 5439091.84312211 112.755028953128 + 457849.302844635 5439091.81097224 112.755028953128 + + + + + + + + + 457849.305745527 5439091.77781489 112.755028953128 + 457849.314912921 5439091.77781489 112.765451177802 + 457849.311872756 5439091.81256414 112.765451177802 + 457849.302844635 5439091.81097224 112.755028953128 + 457849.305745527 5439091.77781489 112.755028953128 + + + + + + + + + 457849.302844635 5439091.74465755 112.755028953128 + 457849.311872756 5439091.74306564 112.765451177802 + 457849.314912921 5439091.77781489 112.765451177802 + 457849.305745527 5439091.77781489 112.755028953128 + 457849.302844635 5439091.74465755 112.755028953128 + + + + + + + + + 457849.294230102 5439091.71250767 112.755028953128 + 457849.302844635 5439091.70937224 112.765451177802 + 457849.311872756 5439091.74306564 112.765451177802 + 457849.302844635 5439091.74465755 112.755028953128 + 457849.294230102 5439091.71250767 112.755028953128 + + + + + + + + + 457849.280163675 5439091.68234212 112.755028953128 + 457849.288102872 5439091.67775842 112.765451177802 + 457849.302844635 5439091.70937224 112.765451177802 + 457849.294230102 5439091.71250767 112.755028953128 + 457849.280163675 5439091.68234212 112.755028953128 + + + + + + + + + 457849.261072756 5439091.65507746 112.755028953128 + 457849.268095388 5439091.64918478 112.765451177802 + 457849.288102872 5439091.67775842 112.765451177802 + 457849.280163675 5439091.68234212 112.755028953128 + 457849.261072756 5439091.65507746 112.755028953128 + + + + + + + + + 457849.237537414 5439091.63154212 112.755028953128 + 457849.243430101 5439091.62451949 112.765451177802 + 457849.268095388 5439091.64918478 112.765451177802 + 457849.261072756 5439091.65507746 112.755028953128 + 457849.237537414 5439091.63154212 112.755028953128 + + + + + + + + + 457849.210272756 5439091.6124512 112.755028953128 + 457849.214856454 5439091.60451201 112.765451177802 + 457849.243430101 5439091.62451949 112.765451177802 + 457849.237537414 5439091.63154212 112.755028953128 + 457849.210272756 5439091.6124512 112.755028953128 + + + + + + + + + 457849.180107207 5439091.59838478 112.755028953128 + 457849.183242641 5439091.58977024 112.765451177802 + 457849.214856454 5439091.60451201 112.765451177802 + 457849.210272756 5439091.6124512 112.755028953128 + 457849.180107207 5439091.59838478 112.755028953128 + + + + + + + + + 457849.147957331 5439091.58977024 112.755028953128 + 457849.149549233 5439091.58074212 112.765451177802 + 457849.183242641 5439091.58977024 112.765451177802 + 457849.180107207 5439091.59838478 112.755028953128 + 457849.147957331 5439091.58977024 112.755028953128 + + + + + + + + + 457849.114799986 5439091.57770196 112.765451177802 + 457849.114799986 5439091.57461489 112.7762 + 457849.150085296 5439091.57770196 112.7762 + 457849.149549233 5439091.58074212 112.765451177802 + 457849.114799986 5439091.57770196 112.765451177802 + + + + + + + + + 457849.08005074 5439091.58074212 112.765451177802 + 457849.079514676 5439091.57770196 112.7762 + 457849.114799986 5439091.57461489 112.7762 + 457849.114799986 5439091.57770196 112.765451177802 + 457849.08005074 5439091.58074212 112.765451177802 + + + + + + + + + 457849.046357331 5439091.58977024 112.765451177802 + 457849.045301493 5439091.58686935 112.7762 + 457849.079514676 5439091.57770196 112.7762 + 457849.08005074 5439091.58074212 112.765451177802 + 457849.046357331 5439091.58977024 112.765451177802 + + + + + + + + + 457849.014743518 5439091.60451201 112.765451177802 + 457849.013199986 5439091.60183853 112.7762 + 457849.045301493 5439091.58686935 112.7762 + 457849.046357331 5439091.58977024 112.765451177802 + 457849.014743518 5439091.60451201 112.765451177802 + + + + + + + + + 457848.986169871 5439091.62451949 112.765451177802 + 457848.984185544 5439091.62215466 112.7762 + 457849.013199986 5439091.60183853 112.7762 + 457849.014743518 5439091.60451201 112.765451177802 + 457848.986169871 5439091.62451949 112.765451177802 + + + + + + + + + 457848.961504584 5439091.64918478 112.765451177802 + 457848.959139755 5439091.64720045 112.7762 + 457848.984185544 5439091.62215466 112.7762 + 457848.986169871 5439091.62451949 112.765451177802 + 457848.961504584 5439091.64918478 112.765451177802 + + + + + + + + + 457848.9414971 5439091.67775842 112.765451177802 + 457848.938823624 5439091.67621489 112.7762 + 457848.959139755 5439091.64720045 112.7762 + 457848.961504584 5439091.64918478 112.765451177802 + 457848.9414971 5439091.67775842 112.765451177802 + + + + + + + + + 457848.926755337 5439091.70937224 112.765451177802 + 457848.923854446 5439091.7083164 112.7762 + 457848.938823624 5439091.67621489 112.7762 + 457848.9414971 5439091.67775842 112.765451177802 + 457848.926755337 5439091.70937224 112.765451177802 + + + + + + + + + 457848.917727216 5439091.74306564 112.765451177802 + 457848.914687051 5439091.74252958 112.7762 + 457848.923854446 5439091.7083164 112.7762 + 457848.926755337 5439091.70937224 112.765451177802 + 457848.917727216 5439091.74306564 112.765451177802 + + + + + + + + + 457848.914687051 5439091.77781489 112.765451177802 + 457848.911599986 5439091.77781489 112.7762 + 457848.914687051 5439091.74252958 112.7762 + 457848.917727216 5439091.74306564 112.765451177802 + 457848.914687051 5439091.77781489 112.765451177802 + + + + + + + + + 457848.917727216 5439091.81256414 112.765451177802 + 457848.914687051 5439091.8131002 112.7762 + 457848.911599986 5439091.77781489 112.7762 + 457848.914687051 5439091.77781489 112.765451177802 + 457848.917727216 5439091.81256414 112.765451177802 + + + + + + + + + 457848.926755337 5439091.84625755 112.765451177802 + 457848.923854446 5439091.84731338 112.7762 + 457848.914687051 5439091.8131002 112.7762 + 457848.917727216 5439091.81256414 112.765451177802 + 457848.926755337 5439091.84625755 112.765451177802 + + + + + + + + + 457848.9414971 5439091.87787136 112.765451177802 + 457848.938823624 5439091.87941489 112.7762 + 457848.923854446 5439091.84731338 112.7762 + 457848.926755337 5439091.84625755 112.765451177802 + 457848.9414971 5439091.87787136 112.765451177802 + + + + + + + + + 457848.961504584 5439091.90644501 112.765451177802 + 457848.959139755 5439091.90842933 112.7762 + 457848.938823624 5439091.87941489 112.7762 + 457848.9414971 5439091.87787136 112.765451177802 + 457848.961504584 5439091.90644501 112.765451177802 + + + + + + + + + 457848.986169871 5439091.93111029 112.765451177802 + 457848.984185544 5439091.93347512 112.7762 + 457848.959139755 5439091.90842933 112.7762 + 457848.961504584 5439091.90644501 112.765451177802 + 457848.986169871 5439091.93111029 112.765451177802 + + + + + + + + + 457849.014743518 5439091.95111778 112.765451177802 + 457849.013199986 5439091.95379125 112.7762 + 457848.984185544 5439091.93347512 112.7762 + 457848.986169871 5439091.93111029 112.765451177802 + 457849.014743518 5439091.95111778 112.765451177802 + + + + + + + + + 457849.046357331 5439091.96585954 112.765451177802 + 457849.045301493 5439091.96876043 112.7762 + 457849.013199986 5439091.95379125 112.7762 + 457849.014743518 5439091.95111778 112.765451177802 + 457849.046357331 5439091.96585954 112.765451177802 + + + + + + + + + 457849.08005074 5439091.97488766 112.765451177802 + 457849.079514676 5439091.97792783 112.7762 + 457849.045301493 5439091.96876043 112.7762 + 457849.046357331 5439091.96585954 112.765451177802 + 457849.08005074 5439091.97488766 112.765451177802 + + + + + + + + + 457849.114799986 5439091.97792783 112.765451177802 + 457849.114799986 5439091.98101489 112.7762 + 457849.079514676 5439091.97792783 112.7762 + 457849.08005074 5439091.97488766 112.765451177802 + 457849.114799986 5439091.97792783 112.765451177802 + + + + + + + + + 457849.149549233 5439091.97488766 112.765451177802 + 457849.150085296 5439091.97792783 112.7762 + 457849.114799986 5439091.98101489 112.7762 + 457849.114799986 5439091.97792783 112.765451177802 + 457849.149549233 5439091.97488766 112.765451177802 + + + + + + + + + 457849.183242641 5439091.96585954 112.765451177802 + 457849.184298479 5439091.96876043 112.7762 + 457849.150085296 5439091.97792783 112.7762 + 457849.149549233 5439091.97488766 112.765451177802 + 457849.183242641 5439091.96585954 112.765451177802 + + + + + + + + + 457849.214856454 5439091.95111778 112.765451177802 + 457849.216399986 5439091.95379125 112.7762 + 457849.184298479 5439091.96876043 112.7762 + 457849.183242641 5439091.96585954 112.765451177802 + 457849.214856454 5439091.95111778 112.765451177802 + + + + + + + + + 457849.243430101 5439091.93111029 112.765451177802 + 457849.245414428 5439091.93347512 112.7762 + 457849.216399986 5439091.95379125 112.7762 + 457849.214856454 5439091.95111778 112.765451177802 + 457849.243430101 5439091.93111029 112.765451177802 + + + + + + + + + 457849.268095388 5439091.90644501 112.765451177802 + 457849.270460217 5439091.90842933 112.7762 + 457849.245414428 5439091.93347512 112.7762 + 457849.243430101 5439091.93111029 112.765451177802 + 457849.268095388 5439091.90644501 112.765451177802 + + + + + + + + + 457849.288102872 5439091.87787136 112.765451177802 + 457849.290776348 5439091.87941489 112.7762 + 457849.270460217 5439091.90842933 112.7762 + 457849.268095388 5439091.90644501 112.765451177802 + 457849.288102872 5439091.87787136 112.765451177802 + + + + + + + + + 457849.302844635 5439091.84625755 112.765451177802 + 457849.305745527 5439091.84731338 112.7762 + 457849.290776348 5439091.87941489 112.7762 + 457849.288102872 5439091.87787136 112.765451177802 + 457849.302844635 5439091.84625755 112.765451177802 + + + + + + + + + 457849.311872756 5439091.81256414 112.765451177802 + 457849.314912921 5439091.8131002 112.7762 + 457849.305745527 5439091.84731338 112.7762 + 457849.302844635 5439091.84625755 112.765451177802 + 457849.311872756 5439091.81256414 112.765451177802 + + + + + + + + + 457849.314912921 5439091.77781489 112.765451177802 + 457849.317999986 5439091.77781489 112.7762 + 457849.314912921 5439091.8131002 112.7762 + 457849.311872756 5439091.81256414 112.765451177802 + 457849.314912921 5439091.77781489 112.765451177802 + + + + + + + + + 457849.311872756 5439091.74306564 112.765451177802 + 457849.314912921 5439091.74252958 112.7762 + 457849.317999986 5439091.77781489 112.7762 + 457849.314912921 5439091.77781489 112.765451177802 + 457849.311872756 5439091.74306564 112.765451177802 + + + + + + + + + 457849.302844635 5439091.70937224 112.765451177802 + 457849.305745527 5439091.7083164 112.7762 + 457849.314912921 5439091.74252958 112.7762 + 457849.311872756 5439091.74306564 112.765451177802 + 457849.302844635 5439091.70937224 112.765451177802 + + + + + + + + + 457849.288102872 5439091.67775842 112.765451177802 + 457849.290776348 5439091.67621489 112.7762 + 457849.305745527 5439091.7083164 112.7762 + 457849.302844635 5439091.70937224 112.765451177802 + 457849.288102872 5439091.67775842 112.765451177802 + + + + + + + + + 457849.268095388 5439091.64918478 112.765451177802 + 457849.270460217 5439091.64720045 112.7762 + 457849.290776348 5439091.67621489 112.7762 + 457849.288102872 5439091.67775842 112.765451177802 + 457849.268095388 5439091.64918478 112.765451177802 + + + + + + + + + 457849.243430101 5439091.62451949 112.765451177802 + 457849.245414428 5439091.62215466 112.7762 + 457849.270460217 5439091.64720045 112.7762 + 457849.268095388 5439091.64918478 112.765451177802 + 457849.243430101 5439091.62451949 112.765451177802 + + + + + + + + + 457849.214856454 5439091.60451201 112.765451177802 + 457849.216399986 5439091.60183853 112.7762 + 457849.245414428 5439091.62215466 112.7762 + 457849.243430101 5439091.62451949 112.765451177802 + 457849.214856454 5439091.60451201 112.765451177802 + + + + + + + + + 457849.183242641 5439091.58977024 112.765451177802 + 457849.184298479 5439091.58686935 112.7762 + 457849.216399986 5439091.60183853 112.7762 + 457849.214856454 5439091.60451201 112.765451177802 + 457849.183242641 5439091.58977024 112.765451177802 + + + + + + + + + 457849.149549233 5439091.58074212 112.765451177802 + 457849.150085296 5439091.57770196 112.7762 + 457849.184298479 5439091.58686935 112.7762 + 457849.183242641 5439091.58977024 112.765451177802 + 457849.149549233 5439091.58074212 112.765451177802 + + + + + + + + + 457849.114799986 5439091.57461489 112.8238 + 457849.114799986 5439091.57461489 112.7762 + 457849.079514676 5439091.57770196 112.7762 + 457849.079514676 5439091.57770196 112.8238 + 457849.114799986 5439091.57461489 112.8238 + + + + + + + + + 457849.150085296 5439091.57770196 112.8238 + 457849.150085296 5439091.57770196 112.7762 + 457849.114799986 5439091.57461489 112.7762 + 457849.114799986 5439091.57461489 112.8238 + 457849.150085296 5439091.57770196 112.8238 + + + + + + + + + 457849.184298479 5439091.58686935 112.8238 + 457849.184298479 5439091.58686935 112.7762 + 457849.150085296 5439091.57770196 112.7762 + 457849.150085296 5439091.57770196 112.8238 + 457849.184298479 5439091.58686935 112.8238 + + + + + + + + + 457849.216399986 5439091.60183853 112.8238 + 457849.216399986 5439091.60183853 112.7762 + 457849.184298479 5439091.58686935 112.7762 + 457849.184298479 5439091.58686935 112.8238 + 457849.216399986 5439091.60183853 112.8238 + + + + + + + + + 457849.245414428 5439091.62215466 112.8238 + 457849.245414428 5439091.62215466 112.7762 + 457849.216399986 5439091.60183853 112.7762 + 457849.216399986 5439091.60183853 112.8238 + 457849.245414428 5439091.62215466 112.8238 + + + + + + + + + 457849.270460217 5439091.64720045 112.8238 + 457849.270460217 5439091.64720045 112.7762 + 457849.245414428 5439091.62215466 112.7762 + 457849.245414428 5439091.62215466 112.8238 + 457849.270460217 5439091.64720045 112.8238 + + + + + + + + + 457849.290776348 5439091.67621489 112.8238 + 457849.290776348 5439091.67621489 112.7762 + 457849.270460217 5439091.64720045 112.7762 + 457849.270460217 5439091.64720045 112.8238 + 457849.290776348 5439091.67621489 112.8238 + + + + + + + + + 457849.305745527 5439091.7083164 112.8238 + 457849.305745527 5439091.7083164 112.7762 + 457849.290776348 5439091.67621489 112.7762 + 457849.290776348 5439091.67621489 112.8238 + 457849.305745527 5439091.7083164 112.8238 + + + + + + + + + 457849.314912921 5439091.74252958 112.8238 + 457849.314912921 5439091.74252958 112.7762 + 457849.305745527 5439091.7083164 112.7762 + 457849.305745527 5439091.7083164 112.8238 + 457849.314912921 5439091.74252958 112.8238 + + + + + + + + + 457849.314912921 5439091.8131002 112.8238 + 457849.314912921 5439091.8131002 112.7762 + 457849.317999986 5439091.77781489 112.7762 + 457849.317999986 5439091.77781489 112.8238 + 457849.314912921 5439091.8131002 112.8238 + + + + + + + + + 457849.305745527 5439091.84731338 112.8238 + 457849.305745527 5439091.84731338 112.7762 + 457849.314912921 5439091.8131002 112.7762 + 457849.314912921 5439091.8131002 112.8238 + 457849.305745527 5439091.84731338 112.8238 + + + + + + + + + 457849.290776348 5439091.87941489 112.8238 + 457849.290776348 5439091.87941489 112.7762 + 457849.305745527 5439091.84731338 112.7762 + 457849.305745527 5439091.84731338 112.8238 + 457849.290776348 5439091.87941489 112.8238 + + + + + + + + + 457849.270460217 5439091.90842933 112.8238 + 457849.270460217 5439091.90842933 112.7762 + 457849.290776348 5439091.87941489 112.7762 + 457849.290776348 5439091.87941489 112.8238 + 457849.270460217 5439091.90842933 112.8238 + + + + + + + + + 457849.245414428 5439091.93347512 112.8238 + 457849.245414428 5439091.93347512 112.7762 + 457849.270460217 5439091.90842933 112.7762 + 457849.270460217 5439091.90842933 112.8238 + 457849.245414428 5439091.93347512 112.8238 + + + + + + + + + 457849.216399986 5439091.95379125 112.8238 + 457849.216399986 5439091.95379125 112.7762 + 457849.245414428 5439091.93347512 112.7762 + 457849.245414428 5439091.93347512 112.8238 + 457849.216399986 5439091.95379125 112.8238 + + + + + + + + + 457849.184298479 5439091.96876043 112.8238 + 457849.184298479 5439091.96876043 112.7762 + 457849.216399986 5439091.95379125 112.7762 + 457849.216399986 5439091.95379125 112.8238 + 457849.184298479 5439091.96876043 112.8238 + + + + + + + + + 457849.150085296 5439091.97792783 112.8238 + 457849.150085296 5439091.97792783 112.7762 + 457849.184298479 5439091.96876043 112.7762 + 457849.184298479 5439091.96876043 112.8238 + 457849.150085296 5439091.97792783 112.8238 + + + + + + + + + 457849.114799986 5439091.98101489 112.8238 + 457849.114799986 5439091.98101489 112.7762 + 457849.150085296 5439091.97792783 112.7762 + 457849.150085296 5439091.97792783 112.8238 + 457849.114799986 5439091.98101489 112.8238 + + + + + + + + + 457849.079514676 5439091.97792783 112.8238 + 457849.079514676 5439091.97792783 112.7762 + 457849.114799986 5439091.98101489 112.7762 + 457849.114799986 5439091.98101489 112.8238 + 457849.079514676 5439091.97792783 112.8238 + + + + + + + + + 457849.045301493 5439091.96876043 112.8238 + 457849.045301493 5439091.96876043 112.7762 + 457849.079514676 5439091.97792783 112.7762 + 457849.079514676 5439091.97792783 112.8238 + 457849.045301493 5439091.96876043 112.8238 + + + + + + + + + 457849.013199986 5439091.95379125 112.8238 + 457849.013199986 5439091.95379125 112.7762 + 457849.045301493 5439091.96876043 112.7762 + 457849.045301493 5439091.96876043 112.8238 + 457849.013199986 5439091.95379125 112.8238 + + + + + + + + + 457848.984185544 5439091.93347512 112.8238 + 457848.984185544 5439091.93347512 112.7762 + 457849.013199986 5439091.95379125 112.7762 + 457849.013199986 5439091.95379125 112.8238 + 457848.984185544 5439091.93347512 112.8238 + + + + + + + + + 457848.959139755 5439091.90842933 112.8238 + 457848.959139755 5439091.90842933 112.7762 + 457848.984185544 5439091.93347512 112.7762 + 457848.984185544 5439091.93347512 112.8238 + 457848.959139755 5439091.90842933 112.8238 + + + + + + + + + 457848.938823624 5439091.87941489 112.8238 + 457848.938823624 5439091.87941489 112.7762 + 457848.959139755 5439091.90842933 112.7762 + 457848.959139755 5439091.90842933 112.8238 + 457848.938823624 5439091.87941489 112.8238 + + + + + + + + + 457848.923854446 5439091.84731338 112.8238 + 457848.923854446 5439091.84731338 112.7762 + 457848.938823624 5439091.87941489 112.7762 + 457848.938823624 5439091.87941489 112.8238 + 457848.923854446 5439091.84731338 112.8238 + + + + + + + + + 457848.914687051 5439091.8131002 112.8238 + 457848.914687051 5439091.8131002 112.7762 + 457848.923854446 5439091.84731338 112.7762 + 457848.923854446 5439091.84731338 112.8238 + 457848.914687051 5439091.8131002 112.8238 + + + + + + + + + 457848.911599986 5439091.77781489 112.8238 + 457848.911599986 5439091.77781489 112.7762 + 457848.914687051 5439091.8131002 112.7762 + 457848.914687051 5439091.8131002 112.8238 + 457848.911599986 5439091.77781489 112.8238 + + + + + + + + + 457848.914687051 5439091.74252958 112.8238 + 457848.914687051 5439091.74252958 112.7762 + 457848.911599986 5439091.77781489 112.7762 + 457848.911599986 5439091.77781489 112.8238 + 457848.914687051 5439091.74252958 112.8238 + + + + + + + + + 457848.923854446 5439091.7083164 112.8238 + 457848.923854446 5439091.7083164 112.7762 + 457848.914687051 5439091.74252958 112.7762 + 457848.914687051 5439091.74252958 112.8238 + 457848.923854446 5439091.7083164 112.8238 + + + + + + + + + 457848.938823624 5439091.67621489 112.8238 + 457848.938823624 5439091.67621489 112.7762 + 457848.923854446 5439091.7083164 112.7762 + 457848.923854446 5439091.7083164 112.8238 + 457848.938823624 5439091.67621489 112.8238 + + + + + + + + + 457848.959139755 5439091.64720045 112.8238 + 457848.959139755 5439091.64720045 112.7762 + 457848.938823624 5439091.67621489 112.7762 + 457848.938823624 5439091.67621489 112.8238 + 457848.959139755 5439091.64720045 112.8238 + + + + + + + + + 457848.984185544 5439091.62215466 112.8238 + 457848.984185544 5439091.62215466 112.7762 + 457848.959139755 5439091.64720045 112.7762 + 457848.959139755 5439091.64720045 112.8238 + 457848.984185544 5439091.62215466 112.8238 + + + + + + + + + 457849.013199986 5439091.60183853 112.8238 + 457849.013199986 5439091.60183853 112.7762 + 457848.984185544 5439091.62215466 112.7762 + 457848.984185544 5439091.62215466 112.8238 + 457849.013199986 5439091.60183853 112.8238 + + + + + + + + + 457849.045301493 5439091.58686935 112.8238 + 457849.045301493 5439091.58686935 112.7762 + 457849.013199986 5439091.60183853 112.7762 + 457849.013199986 5439091.60183853 112.8238 + 457849.045301493 5439091.58686935 112.8238 + + + + + + + + + 457849.079514676 5439091.57770196 112.8238 + 457849.079514676 5439091.57770196 112.7762 + 457849.045301493 5439091.58686935 112.7762 + 457849.045301493 5439091.58686935 112.8238 + 457849.079514676 5439091.57770196 112.8238 + + + + + + + + + 457849.330699986 5439091.85741785 112.903175 + 457849.327073181 5439091.85995736 112.903175 + 457849.323942457 5439091.86308809 112.903175 + 457849.321402941 5439091.86671489 112.903175 + 457849.319531793 5439091.87072758 112.903175 + 457849.318385869 5439091.87500423 112.903175 + 457849.317999986 5439091.87941489 112.903175 + 457849.318385869 5439091.88382555 112.903175 + 457849.319531793 5439091.8881022 112.903175 + 457849.321402941 5439091.89211489 112.903175 + 457849.323942457 5439091.8957417 112.903175 + 457849.327073181 5439091.89887242 112.903175 + 457849.330699986 5439091.90141194 112.903175 + 457849.334712674 5439091.90328308 112.903175 + 457849.338989322 5439091.90442901 112.903175 + 457849.343399986 5439091.90481489 112.903175 + 457849.34781065 5439091.90442901 112.903175 + 457849.352087298 5439091.90328308 112.903175 + 457849.356099986 5439091.90141194 112.903175 + 457849.359726791 5439091.89887242 112.903175 + 457849.362857515 5439091.8957417 112.903175 + 457849.365397031 5439091.89211489 112.903175 + 457849.367268179 5439091.8881022 112.903175 + 457849.368414103 5439091.88382555 112.903175 + 457849.368799986 5439091.87941489 112.903175 + 457849.368414103 5439091.87500423 112.903175 + 457849.367268179 5439091.87072758 112.903175 + 457849.365397031 5439091.86671489 112.903175 + 457849.362857515 5439091.86308809 112.903175 + 457849.359726791 5439091.85995736 112.903175 + 457849.356099986 5439091.85741785 112.903175 + 457849.352087298 5439091.8555467 112.903175 + 457849.34781065 5439091.85440077 112.903175 + 457849.343399986 5439091.85401489 112.903175 + 457849.338989322 5439091.85440077 112.903175 + 457849.334712674 5439091.8555467 112.903175 + 457849.330699986 5439091.85741785 112.903175 + + + + + + + + + 457849.34781065 5439091.85440077 112.953975 + 457849.352087298 5439091.8555467 112.953975 + 457849.356099986 5439091.85741785 112.953975 + 457849.359726791 5439091.85995736 112.953975 + 457849.362857515 5439091.86308809 112.953975 + 457849.365397031 5439091.86671489 112.953975 + 457849.367268179 5439091.87072758 112.953975 + 457849.368414103 5439091.87500423 112.953975 + 457849.368799986 5439091.87941489 112.953975 + 457849.368414103 5439091.88382555 112.953975 + 457849.367268179 5439091.8881022 112.953975 + 457849.365397031 5439091.89211489 112.953975 + 457849.362857515 5439091.8957417 112.953975 + 457849.359726791 5439091.89887242 112.953975 + 457849.356099986 5439091.90141194 112.953975 + 457849.352087298 5439091.90328308 112.953975 + 457849.34781065 5439091.90442901 112.953975 + 457849.343399986 5439091.90481489 112.953975 + 457849.338989322 5439091.90442901 112.953975 + 457849.334712674 5439091.90328308 112.953975 + 457849.330699986 5439091.90141194 112.953975 + 457849.327073181 5439091.89887242 112.953975 + 457849.323942457 5439091.8957417 112.953975 + 457849.321402941 5439091.89211489 112.953975 + 457849.319531793 5439091.8881022 112.953975 + 457849.318385869 5439091.88382555 112.953975 + 457849.317999986 5439091.87941489 112.953975 + 457849.318385869 5439091.87500423 112.953975 + 457849.319531793 5439091.87072758 112.953975 + 457849.321402941 5439091.86671489 112.953975 + 457849.323942457 5439091.86308809 112.953975 + 457849.327073181 5439091.85995736 112.953975 + 457849.330699986 5439091.85741785 112.953975 + 457849.334712674 5439091.8555467 112.953975 + 457849.338989322 5439091.85440077 112.953975 + 457849.343399986 5439091.85401489 112.953975 + 457849.34781065 5439091.85440077 112.953975 + + + + + + + + + 457849.338989322 5439091.85440077 112.903175 + 457849.343399986 5439091.85401489 112.903175 + 457849.343399986 5439091.85401489 112.953975 + 457849.338989322 5439091.85440077 112.953975 + 457849.338989322 5439091.85440077 112.903175 + + + + + + + + + 457849.343399986 5439091.85401489 112.903175 + 457849.34781065 5439091.85440077 112.903175 + 457849.34781065 5439091.85440077 112.953975 + 457849.343399986 5439091.85401489 112.953975 + 457849.343399986 5439091.85401489 112.903175 + + + + + + + + + 457849.34781065 5439091.85440077 112.903175 + 457849.352087298 5439091.8555467 112.903175 + 457849.352087298 5439091.8555467 112.953975 + 457849.34781065 5439091.85440077 112.953975 + 457849.34781065 5439091.85440077 112.903175 + + + + + + + + + 457849.352087298 5439091.8555467 112.903175 + 457849.356099986 5439091.85741785 112.903175 + 457849.356099986 5439091.85741785 112.953975 + 457849.352087298 5439091.8555467 112.953975 + 457849.352087298 5439091.8555467 112.903175 + + + + + + + + + 457849.356099986 5439091.85741785 112.903175 + 457849.359726791 5439091.85995736 112.903175 + 457849.359726791 5439091.85995736 112.953975 + 457849.356099986 5439091.85741785 112.953975 + 457849.356099986 5439091.85741785 112.903175 + + + + + + + + + 457849.359726791 5439091.85995736 112.903175 + 457849.362857515 5439091.86308809 112.903175 + 457849.362857515 5439091.86308809 112.953975 + 457849.359726791 5439091.85995736 112.953975 + 457849.359726791 5439091.85995736 112.903175 + + + + + + + + + 457849.362857515 5439091.86308809 112.903175 + 457849.365397031 5439091.86671489 112.903175 + 457849.365397031 5439091.86671489 112.953975 + 457849.362857515 5439091.86308809 112.953975 + 457849.362857515 5439091.86308809 112.903175 + + + + + + + + + 457849.365397031 5439091.86671489 112.903175 + 457849.367268179 5439091.87072758 112.903175 + 457849.367268179 5439091.87072758 112.953975 + 457849.365397031 5439091.86671489 112.953975 + 457849.365397031 5439091.86671489 112.903175 + + + + + + + + + 457849.367268179 5439091.87072758 112.903175 + 457849.368414103 5439091.87500423 112.903175 + 457849.368414103 5439091.87500423 112.953975 + 457849.367268179 5439091.87072758 112.953975 + 457849.367268179 5439091.87072758 112.903175 + + + + + + + + + 457849.368414103 5439091.87500423 112.903175 + 457849.368799986 5439091.87941489 112.903175 + 457849.368799986 5439091.87941489 112.953975 + 457849.368414103 5439091.87500423 112.953975 + 457849.368414103 5439091.87500423 112.903175 + + + + + + + + + 457849.368799986 5439091.87941489 112.903175 + 457849.368414103 5439091.88382555 112.903175 + 457849.368414103 5439091.88382555 112.953975 + 457849.368799986 5439091.87941489 112.953975 + 457849.368799986 5439091.87941489 112.903175 + + + + + + + + + 457849.368414103 5439091.88382555 112.903175 + 457849.367268179 5439091.8881022 112.903175 + 457849.367268179 5439091.8881022 112.953975 + 457849.368414103 5439091.88382555 112.953975 + 457849.368414103 5439091.88382555 112.903175 + + + + + + + + + 457849.367268179 5439091.8881022 112.903175 + 457849.365397031 5439091.89211489 112.903175 + 457849.365397031 5439091.89211489 112.953975 + 457849.367268179 5439091.8881022 112.953975 + 457849.367268179 5439091.8881022 112.903175 + + + + + + + + + 457849.365397031 5439091.89211489 112.903175 + 457849.362857515 5439091.8957417 112.903175 + 457849.362857515 5439091.8957417 112.953975 + 457849.365397031 5439091.89211489 112.953975 + 457849.365397031 5439091.89211489 112.903175 + + + + + + + + + 457849.362857515 5439091.8957417 112.903175 + 457849.359726791 5439091.89887242 112.903175 + 457849.359726791 5439091.89887242 112.953975 + 457849.362857515 5439091.8957417 112.953975 + 457849.362857515 5439091.8957417 112.903175 + + + + + + + + + 457849.359726791 5439091.89887242 112.903175 + 457849.356099986 5439091.90141194 112.903175 + 457849.356099986 5439091.90141194 112.953975 + 457849.359726791 5439091.89887242 112.953975 + 457849.359726791 5439091.89887242 112.903175 + + + + + + + + + 457849.356099986 5439091.90141194 112.903175 + 457849.352087298 5439091.90328308 112.903175 + 457849.352087298 5439091.90328308 112.953975 + 457849.356099986 5439091.90141194 112.953975 + 457849.356099986 5439091.90141194 112.903175 + + + + + + + + + 457849.352087298 5439091.90328308 112.903175 + 457849.34781065 5439091.90442901 112.903175 + 457849.34781065 5439091.90442901 112.953975 + 457849.352087298 5439091.90328308 112.953975 + 457849.352087298 5439091.90328308 112.903175 + + + + + + + + + 457849.34781065 5439091.90442901 112.903175 + 457849.343399986 5439091.90481489 112.903175 + 457849.343399986 5439091.90481489 112.953975 + 457849.34781065 5439091.90442901 112.953975 + 457849.34781065 5439091.90442901 112.903175 + + + + + + + + + 457849.343399986 5439091.90481489 112.903175 + 457849.338989322 5439091.90442901 112.903175 + 457849.338989322 5439091.90442901 112.953975 + 457849.343399986 5439091.90481489 112.953975 + 457849.343399986 5439091.90481489 112.903175 + + + + + + + + + 457849.338989322 5439091.90442901 112.903175 + 457849.334712674 5439091.90328308 112.903175 + 457849.334712674 5439091.90328308 112.953975 + 457849.338989322 5439091.90442901 112.953975 + 457849.338989322 5439091.90442901 112.903175 + + + + + + + + + 457849.334712674 5439091.90328308 112.903175 + 457849.330699986 5439091.90141194 112.903175 + 457849.330699986 5439091.90141194 112.953975 + 457849.334712674 5439091.90328308 112.953975 + 457849.334712674 5439091.90328308 112.903175 + + + + + + + + + 457849.330699986 5439091.90141194 112.903175 + 457849.327073181 5439091.89887242 112.903175 + 457849.327073181 5439091.89887242 112.953975 + 457849.330699986 5439091.90141194 112.953975 + 457849.330699986 5439091.90141194 112.903175 + + + + + + + + + 457849.327073181 5439091.89887242 112.903175 + 457849.323942457 5439091.8957417 112.903175 + 457849.323942457 5439091.8957417 112.953975 + 457849.327073181 5439091.89887242 112.953975 + 457849.327073181 5439091.89887242 112.903175 + + + + + + + + + 457849.323942457 5439091.8957417 112.903175 + 457849.321402941 5439091.89211489 112.903175 + 457849.321402941 5439091.89211489 112.953975 + 457849.323942457 5439091.8957417 112.953975 + 457849.323942457 5439091.8957417 112.903175 + + + + + + + + + 457849.321402941 5439091.89211489 112.903175 + 457849.319531793 5439091.8881022 112.903175 + 457849.319531793 5439091.8881022 112.953975 + 457849.321402941 5439091.89211489 112.953975 + 457849.321402941 5439091.89211489 112.903175 + + + + + + + + + 457849.319531793 5439091.8881022 112.903175 + 457849.318385869 5439091.88382555 112.903175 + 457849.318385869 5439091.88382555 112.953975 + 457849.319531793 5439091.8881022 112.953975 + 457849.319531793 5439091.8881022 112.903175 + + + + + + + + + 457849.318385869 5439091.88382555 112.903175 + 457849.317999986 5439091.87941489 112.903175 + 457849.317999986 5439091.87941489 112.953975 + 457849.318385869 5439091.88382555 112.953975 + 457849.318385869 5439091.88382555 112.903175 + + + + + + + + + 457849.317999986 5439091.87941489 112.903175 + 457849.318385869 5439091.87500423 112.903175 + 457849.318385869 5439091.87500423 112.953975 + 457849.317999986 5439091.87941489 112.953975 + 457849.317999986 5439091.87941489 112.903175 + + + + + + + + + 457849.318385869 5439091.87500423 112.903175 + 457849.319531793 5439091.87072758 112.903175 + 457849.319531793 5439091.87072758 112.953975 + 457849.318385869 5439091.87500423 112.953975 + 457849.318385869 5439091.87500423 112.903175 + + + + + + + + + 457849.319531793 5439091.87072758 112.903175 + 457849.321402941 5439091.86671489 112.903175 + 457849.321402941 5439091.86671489 112.953975 + 457849.319531793 5439091.87072758 112.953975 + 457849.319531793 5439091.87072758 112.903175 + + + + + + + + + 457849.321402941 5439091.86671489 112.903175 + 457849.323942457 5439091.86308809 112.903175 + 457849.323942457 5439091.86308809 112.953975 + 457849.321402941 5439091.86671489 112.953975 + 457849.321402941 5439091.86671489 112.903175 + + + + + + + + + 457849.323942457 5439091.86308809 112.903175 + 457849.327073181 5439091.85995736 112.903175 + 457849.327073181 5439091.85995736 112.953975 + 457849.323942457 5439091.86308809 112.953975 + 457849.323942457 5439091.86308809 112.903175 + + + + + + + + + 457849.327073181 5439091.85995736 112.903175 + 457849.330699986 5439091.85741785 112.903175 + 457849.330699986 5439091.85741785 112.953975 + 457849.327073181 5439091.85995736 112.953975 + 457849.327073181 5439091.85995736 112.903175 + + + + + + + + + 457849.330699986 5439091.85741785 112.903175 + 457849.334712674 5439091.8555467 112.903175 + 457849.334712674 5439091.8555467 112.953975 + 457849.330699986 5439091.85741785 112.953975 + 457849.330699986 5439091.85741785 112.903175 + + + + + + + + + 457849.334712674 5439091.8555467 112.903175 + 457849.338989322 5439091.85440077 112.903175 + 457849.338989322 5439091.85440077 112.953975 + 457849.334712674 5439091.8555467 112.953975 + 457849.334712674 5439091.8555467 112.903175 + + + + + + + + + 457849.330699986 5439091.65421785 112.903175 + 457849.327073181 5439091.65675736 112.903175 + 457849.323942457 5439091.65988809 112.903175 + 457849.321402941 5439091.66351489 112.903175 + 457849.319531793 5439091.66752758 112.903175 + 457849.318385869 5439091.67180423 112.903175 + 457849.317999986 5439091.67621489 112.903175 + 457849.318385869 5439091.68062555 112.903175 + 457849.319531793 5439091.6849022 112.903175 + 457849.321402941 5439091.68891489 112.903175 + 457849.323942457 5439091.6925417 112.903175 + 457849.327073181 5439091.69567242 112.903175 + 457849.330699986 5439091.69821194 112.903175 + 457849.334712674 5439091.70008308 112.903175 + 457849.338989322 5439091.70122901 112.903175 + 457849.343399986 5439091.70161489 112.903175 + 457849.34781065 5439091.70122901 112.903175 + 457849.352087298 5439091.70008308 112.903175 + 457849.356099986 5439091.69821194 112.903175 + 457849.359726791 5439091.69567242 112.903175 + 457849.362857515 5439091.6925417 112.903175 + 457849.365397031 5439091.68891489 112.903175 + 457849.367268179 5439091.6849022 112.903175 + 457849.368414103 5439091.68062555 112.903175 + 457849.368799986 5439091.67621489 112.903175 + 457849.368414103 5439091.67180423 112.903175 + 457849.367268179 5439091.66752758 112.903175 + 457849.365397031 5439091.66351489 112.903175 + 457849.362857515 5439091.65988809 112.903175 + 457849.359726791 5439091.65675736 112.903175 + 457849.356099986 5439091.65421785 112.903175 + 457849.352087298 5439091.6523467 112.903175 + 457849.34781065 5439091.65120077 112.903175 + 457849.343399986 5439091.65081489 112.903175 + 457849.338989322 5439091.65120077 112.903175 + 457849.334712674 5439091.6523467 112.903175 + 457849.330699986 5439091.65421785 112.903175 + + + + + + + + + 457849.323942457 5439091.65988809 112.953975 + 457849.327073181 5439091.65675736 112.953975 + 457849.330699986 5439091.65421785 112.953975 + 457849.334712674 5439091.6523467 112.953975 + 457849.338989322 5439091.65120077 112.953975 + 457849.343399986 5439091.65081489 112.953975 + 457849.34781065 5439091.65120077 112.953975 + 457849.352087298 5439091.6523467 112.953975 + 457849.356099986 5439091.65421785 112.953975 + 457849.359726791 5439091.65675736 112.953975 + 457849.362857515 5439091.65988809 112.953975 + 457849.365397031 5439091.66351489 112.953975 + 457849.367268179 5439091.66752758 112.953975 + 457849.368414103 5439091.67180423 112.953975 + 457849.368799986 5439091.67621489 112.953975 + 457849.368414103 5439091.68062555 112.953975 + 457849.367268179 5439091.6849022 112.953975 + 457849.365397031 5439091.68891489 112.953975 + 457849.362857515 5439091.6925417 112.953975 + 457849.359726791 5439091.69567242 112.953975 + 457849.356099986 5439091.69821194 112.953975 + 457849.352087298 5439091.70008308 112.953975 + 457849.34781065 5439091.70122901 112.953975 + 457849.343399986 5439091.70161489 112.953975 + 457849.338989322 5439091.70122901 112.953975 + 457849.334712674 5439091.70008308 112.953975 + 457849.330699986 5439091.69821194 112.953975 + 457849.327073181 5439091.69567242 112.953975 + 457849.323942457 5439091.6925417 112.953975 + 457849.321402941 5439091.68891489 112.953975 + 457849.319531793 5439091.6849022 112.953975 + 457849.318385869 5439091.68062555 112.953975 + 457849.317999986 5439091.67621489 112.953975 + 457849.318385869 5439091.67180423 112.953975 + 457849.319531793 5439091.66752758 112.953975 + 457849.321402941 5439091.66351489 112.953975 + 457849.323942457 5439091.65988809 112.953975 + + + + + + + + + 457849.338989322 5439091.65120077 112.903175 + 457849.343399986 5439091.65081489 112.903175 + 457849.343399986 5439091.65081489 112.953975 + 457849.338989322 5439091.65120077 112.953975 + 457849.338989322 5439091.65120077 112.903175 + + + + + + + + + 457849.343399986 5439091.65081489 112.903175 + 457849.34781065 5439091.65120077 112.903175 + 457849.34781065 5439091.65120077 112.953975 + 457849.343399986 5439091.65081489 112.953975 + 457849.343399986 5439091.65081489 112.903175 + + + + + + + + + 457849.34781065 5439091.65120077 112.903175 + 457849.352087298 5439091.6523467 112.903175 + 457849.352087298 5439091.6523467 112.953975 + 457849.34781065 5439091.65120077 112.953975 + 457849.34781065 5439091.65120077 112.903175 + + + + + + + + + 457849.352087298 5439091.6523467 112.903175 + 457849.356099986 5439091.65421785 112.903175 + 457849.356099986 5439091.65421785 112.953975 + 457849.352087298 5439091.6523467 112.953975 + 457849.352087298 5439091.6523467 112.903175 + + + + + + + + + 457849.356099986 5439091.65421785 112.903175 + 457849.359726791 5439091.65675736 112.903175 + 457849.359726791 5439091.65675736 112.953975 + 457849.356099986 5439091.65421785 112.953975 + 457849.356099986 5439091.65421785 112.903175 + + + + + + + + + 457849.359726791 5439091.65675736 112.903175 + 457849.362857515 5439091.65988809 112.903175 + 457849.362857515 5439091.65988809 112.953975 + 457849.359726791 5439091.65675736 112.953975 + 457849.359726791 5439091.65675736 112.903175 + + + + + + + + + 457849.362857515 5439091.65988809 112.903175 + 457849.365397031 5439091.66351489 112.903175 + 457849.365397031 5439091.66351489 112.953975 + 457849.362857515 5439091.65988809 112.953975 + 457849.362857515 5439091.65988809 112.903175 + + + + + + + + + 457849.365397031 5439091.66351489 112.903175 + 457849.367268179 5439091.66752758 112.903175 + 457849.367268179 5439091.66752758 112.953975 + 457849.365397031 5439091.66351489 112.953975 + 457849.365397031 5439091.66351489 112.903175 + + + + + + + + + 457849.367268179 5439091.66752758 112.903175 + 457849.368414103 5439091.67180423 112.903175 + 457849.368414103 5439091.67180423 112.953975 + 457849.367268179 5439091.66752758 112.953975 + 457849.367268179 5439091.66752758 112.903175 + + + + + + + + + 457849.368414103 5439091.67180423 112.903175 + 457849.368799986 5439091.67621489 112.903175 + 457849.368799986 5439091.67621489 112.953975 + 457849.368414103 5439091.67180423 112.953975 + 457849.368414103 5439091.67180423 112.903175 + + + + + + + + + 457849.368799986 5439091.67621489 112.903175 + 457849.368414103 5439091.68062555 112.903175 + 457849.368414103 5439091.68062555 112.953975 + 457849.368799986 5439091.67621489 112.953975 + 457849.368799986 5439091.67621489 112.903175 + + + + + + + + + 457849.368414103 5439091.68062555 112.903175 + 457849.367268179 5439091.6849022 112.903175 + 457849.367268179 5439091.6849022 112.953975 + 457849.368414103 5439091.68062555 112.953975 + 457849.368414103 5439091.68062555 112.903175 + + + + + + + + + 457849.367268179 5439091.6849022 112.903175 + 457849.365397031 5439091.68891489 112.903175 + 457849.365397031 5439091.68891489 112.953975 + 457849.367268179 5439091.6849022 112.953975 + 457849.367268179 5439091.6849022 112.903175 + + + + + + + + + 457849.365397031 5439091.68891489 112.903175 + 457849.362857515 5439091.6925417 112.903175 + 457849.362857515 5439091.6925417 112.953975 + 457849.365397031 5439091.68891489 112.953975 + 457849.365397031 5439091.68891489 112.903175 + + + + + + + + + 457849.362857515 5439091.6925417 112.903175 + 457849.359726791 5439091.69567242 112.903175 + 457849.359726791 5439091.69567242 112.953975 + 457849.362857515 5439091.6925417 112.953975 + 457849.362857515 5439091.6925417 112.903175 + + + + + + + + + 457849.359726791 5439091.69567242 112.903175 + 457849.356099986 5439091.69821194 112.903175 + 457849.356099986 5439091.69821194 112.953975 + 457849.359726791 5439091.69567242 112.953975 + 457849.359726791 5439091.69567242 112.903175 + + + + + + + + + 457849.356099986 5439091.69821194 112.903175 + 457849.352087298 5439091.70008308 112.903175 + 457849.352087298 5439091.70008308 112.953975 + 457849.356099986 5439091.69821194 112.953975 + 457849.356099986 5439091.69821194 112.903175 + + + + + + + + + 457849.352087298 5439091.70008308 112.903175 + 457849.34781065 5439091.70122901 112.903175 + 457849.34781065 5439091.70122901 112.953975 + 457849.352087298 5439091.70008308 112.953975 + 457849.352087298 5439091.70008308 112.903175 + + + + + + + + + 457849.34781065 5439091.70122901 112.903175 + 457849.343399986 5439091.70161489 112.903175 + 457849.343399986 5439091.70161489 112.953975 + 457849.34781065 5439091.70122901 112.953975 + 457849.34781065 5439091.70122901 112.903175 + + + + + + + + + 457849.343399986 5439091.70161489 112.903175 + 457849.338989322 5439091.70122901 112.903175 + 457849.338989322 5439091.70122901 112.953975 + 457849.343399986 5439091.70161489 112.953975 + 457849.343399986 5439091.70161489 112.903175 + + + + + + + + + 457849.338989322 5439091.70122901 112.903175 + 457849.334712674 5439091.70008308 112.903175 + 457849.334712674 5439091.70008308 112.953975 + 457849.338989322 5439091.70122901 112.953975 + 457849.338989322 5439091.70122901 112.903175 + + + + + + + + + 457849.334712674 5439091.70008308 112.903175 + 457849.330699986 5439091.69821194 112.903175 + 457849.330699986 5439091.69821194 112.953975 + 457849.334712674 5439091.70008308 112.953975 + 457849.334712674 5439091.70008308 112.903175 + + + + + + + + + 457849.330699986 5439091.69821194 112.903175 + 457849.327073181 5439091.69567242 112.903175 + 457849.327073181 5439091.69567242 112.953975 + 457849.330699986 5439091.69821194 112.953975 + 457849.330699986 5439091.69821194 112.903175 + + + + + + + + + 457849.327073181 5439091.69567242 112.903175 + 457849.323942457 5439091.6925417 112.903175 + 457849.323942457 5439091.6925417 112.953975 + 457849.327073181 5439091.69567242 112.953975 + 457849.327073181 5439091.69567242 112.903175 + + + + + + + + + 457849.323942457 5439091.6925417 112.903175 + 457849.321402941 5439091.68891489 112.903175 + 457849.321402941 5439091.68891489 112.953975 + 457849.323942457 5439091.6925417 112.953975 + 457849.323942457 5439091.6925417 112.903175 + + + + + + + + + 457849.321402941 5439091.68891489 112.903175 + 457849.319531793 5439091.6849022 112.903175 + 457849.319531793 5439091.6849022 112.953975 + 457849.321402941 5439091.68891489 112.953975 + 457849.321402941 5439091.68891489 112.903175 + + + + + + + + + 457849.319531793 5439091.6849022 112.903175 + 457849.318385869 5439091.68062555 112.903175 + 457849.318385869 5439091.68062555 112.953975 + 457849.319531793 5439091.6849022 112.953975 + 457849.319531793 5439091.6849022 112.903175 + + + + + + + + + 457849.318385869 5439091.68062555 112.903175 + 457849.317999986 5439091.67621489 112.903175 + 457849.317999986 5439091.67621489 112.953975 + 457849.318385869 5439091.68062555 112.953975 + 457849.318385869 5439091.68062555 112.903175 + + + + + + + + + 457849.317999986 5439091.67621489 112.903175 + 457849.318385869 5439091.67180423 112.903175 + 457849.318385869 5439091.67180423 112.953975 + 457849.317999986 5439091.67621489 112.953975 + 457849.317999986 5439091.67621489 112.903175 + + + + + + + + + 457849.318385869 5439091.67180423 112.903175 + 457849.319531793 5439091.66752758 112.903175 + 457849.319531793 5439091.66752758 112.953975 + 457849.318385869 5439091.67180423 112.953975 + 457849.318385869 5439091.67180423 112.903175 + + + + + + + + + 457849.319531793 5439091.66752758 112.903175 + 457849.321402941 5439091.66351489 112.903175 + 457849.321402941 5439091.66351489 112.953975 + 457849.319531793 5439091.66752758 112.953975 + 457849.319531793 5439091.66752758 112.903175 + + + + + + + + + 457849.321402941 5439091.66351489 112.903175 + 457849.323942457 5439091.65988809 112.903175 + 457849.323942457 5439091.65988809 112.953975 + 457849.321402941 5439091.66351489 112.953975 + 457849.321402941 5439091.66351489 112.903175 + + + + + + + + + 457849.323942457 5439091.65988809 112.903175 + 457849.327073181 5439091.65675736 112.903175 + 457849.327073181 5439091.65675736 112.953975 + 457849.323942457 5439091.65988809 112.953975 + 457849.323942457 5439091.65988809 112.903175 + + + + + + + + + 457849.327073181 5439091.65675736 112.903175 + 457849.330699986 5439091.65421785 112.903175 + 457849.330699986 5439091.65421785 112.953975 + 457849.327073181 5439091.65675736 112.953975 + 457849.327073181 5439091.65675736 112.903175 + + + + + + + + + 457849.330699986 5439091.65421785 112.903175 + 457849.334712674 5439091.6523467 112.903175 + 457849.334712674 5439091.6523467 112.953975 + 457849.330699986 5439091.65421785 112.953975 + 457849.330699986 5439091.65421785 112.903175 + + + + + + + + + 457849.334712674 5439091.6523467 112.903175 + 457849.338989322 5439091.65120077 112.903175 + 457849.338989322 5439091.65120077 112.953975 + 457849.334712674 5439091.6523467 112.953975 + 457849.334712674 5439091.6523467 112.903175 + + + + + + + + + 457849.343399986 5439091.76511489 112.903175 + 457849.343399986 5439091.79051489 112.903175 + 457849.368799986 5439091.79051489 112.903175 + 457849.368799986 5439091.76511489 112.903175 + 457849.343399986 5439091.76511489 112.903175 + + + + + + + + + 457849.343399986 5439091.79051489 112.979375 + 457849.343399986 5439091.76511489 112.979375 + 457849.368799986 5439091.76511489 112.979375 + 457849.368799986 5439091.79051489 112.979375 + 457849.343399986 5439091.79051489 112.979375 + + + + + + + + + 457849.343399986 5439091.79051489 112.903175 + 457849.343399986 5439091.76511489 112.903175 + 457849.343399986 5439091.76511489 112.979375 + 457849.343399986 5439091.79051489 112.979375 + 457849.343399986 5439091.79051489 112.903175 + + + + + + + + + 457849.343399986 5439091.76511489 112.903175 + 457849.368799986 5439091.76511489 112.903175 + 457849.368799986 5439091.76511489 112.979375 + 457849.343399986 5439091.76511489 112.979375 + 457849.343399986 5439091.76511489 112.903175 + + + + + + + + + 457849.368799986 5439091.76511489 112.903175 + 457849.368799986 5439091.79051489 112.903175 + 457849.368799986 5439091.79051489 112.979375 + 457849.368799986 5439091.76511489 112.979375 + 457849.368799986 5439091.76511489 112.903175 + + + + + + + + + 457849.368799986 5439091.79051489 112.903175 + 457849.343399986 5439091.79051489 112.903175 + 457849.343399986 5439091.79051489 112.979375 + 457849.368799986 5439091.79051489 112.979375 + 457849.368799986 5439091.79051489 112.903175 + + + + + + + + + 457849.368799986 5439091.76511489 112.979375 + 457849.368799986 5439091.79051489 112.979375 + 457849.368799986 5439091.79051489 113.004775 + 457849.368799986 5439091.76511489 113.004775 + 457849.368799986 5439091.76511489 112.979375 + + + + + + + + + 457849.216399986 5439091.79051489 112.979375 + 457849.216399986 5439091.76511489 112.979375 + 457849.216399986 5439091.76511489 113.004775 + 457849.216399986 5439091.79051489 113.004775 + 457849.216399986 5439091.79051489 112.979375 + + + + + + + + + 457849.368799986 5439091.79051489 112.979375 + 457849.368799986 5439091.76511489 112.979375 + 457849.343399986 5439091.76511489 112.979375 + 457849.216399986 5439091.76511489 112.979375 + 457849.216399986 5439091.79051489 112.979375 + 457849.368799986 5439091.79051489 112.979375 + + + + + + + + + 457849.368799986 5439091.76511489 112.979375 + 457849.368799986 5439091.76511489 113.004775 + 457849.216399986 5439091.76511489 113.004775 + 457849.216399986 5439091.76511489 112.979375 + 457849.343399986 5439091.76511489 112.979375 + 457849.368799986 5439091.76511489 112.979375 + + + + + + + + + 457849.368799986 5439091.76511489 113.004775 + 457849.368799986 5439091.79051489 113.004775 + 457849.216399986 5439091.79051489 113.004775 + 457849.216399986 5439091.76511489 113.004775 + 457849.368799986 5439091.76511489 113.004775 + + + + + + + + + 457849.368799986 5439091.79051489 113.004775 + 457849.368799986 5439091.79051489 112.979375 + 457849.216399986 5439091.79051489 112.979375 + 457849.216399986 5439091.79051489 113.004775 + 457849.368799986 5439091.79051489 113.004775 + + + + + + + + + 457849.314912921 5439091.74252958 112.7762 + 457849.314912921 5439091.74252958 112.8238 + 457849.317999986 5439091.77781489 112.8238 + 457849.317999986 5439091.77781489 112.7762 + 457849.314912921 5439091.74252958 112.7762 + + + + + + + + + 457848.809999986 5439091.52781489 112.8238 + 457848.809999986 5439092.02781489 112.8238 + 457849.409999986 5439092.02781489 112.8238 + 457849.409999986 5439091.52781489 112.8238 + 457848.809999986 5439091.52781489 112.8238 + + + + + 457848.959139755 5439091.64720045 112.8238 + 457848.984185544 5439091.62215466 112.8238 + 457849.013199986 5439091.60183853 112.8238 + 457849.045301493 5439091.58686935 112.8238 + 457849.079514676 5439091.57770196 112.8238 + 457849.114799986 5439091.57461489 112.8238 + 457849.150085296 5439091.57770196 112.8238 + 457849.184298479 5439091.58686935 112.8238 + 457849.216399986 5439091.60183853 112.8238 + 457849.245414428 5439091.62215466 112.8238 + 457849.270460217 5439091.64720045 112.8238 + 457849.290776348 5439091.67621489 112.8238 + 457849.305745527 5439091.7083164 112.8238 + 457849.314912921 5439091.74252958 112.8238 + 457849.317999986 5439091.77781489 112.8238 + 457849.314912921 5439091.8131002 112.8238 + 457849.305745527 5439091.84731338 112.8238 + 457849.290776348 5439091.87941489 112.8238 + 457849.270460217 5439091.90842933 112.8238 + 457849.245414428 5439091.93347512 112.8238 + 457849.216399986 5439091.95379125 112.8238 + 457849.184298479 5439091.96876043 112.8238 + 457849.150085296 5439091.97792783 112.8238 + 457849.114799986 5439091.98101489 112.8238 + 457849.079514676 5439091.97792783 112.8238 + 457849.045301493 5439091.96876043 112.8238 + 457849.013199986 5439091.95379125 112.8238 + 457848.984185544 5439091.93347512 112.8238 + 457848.959139755 5439091.90842933 112.8238 + 457848.938823624 5439091.87941489 112.8238 + 457848.923854446 5439091.84731338 112.8238 + 457848.914687051 5439091.8131002 112.8238 + 457848.911599986 5439091.77781489 112.8238 + 457848.914687051 5439091.74252958 112.8238 + 457848.923854446 5439091.7083164 112.8238 + 457848.938823624 5439091.67621489 112.8238 + 457848.959139755 5439091.64720045 112.8238 + + + + + + + + + 457848.809999986 5439092.02781489 112.8238 + 457848.809999986 5439091.52781489 112.8238 + 457848.809999986 5439091.52781489 112.9 + 457848.809999986 5439092.02781489 112.9 + 457848.809999986 5439092.02781489 112.8238 + + + + + + + + + 457848.809999986 5439091.52781489 112.8238 + 457849.409999986 5439091.52781489 112.8238 + 457849.409999986 5439091.52781489 112.9 + 457848.809999986 5439091.52781489 112.9 + 457848.809999986 5439091.52781489 112.8238 + + + + + + + + + 457849.409999986 5439092.02781489 112.8238 + 457848.809999986 5439092.02781489 112.8238 + 457848.809999986 5439092.02781489 112.9 + 457849.409999986 5439092.02781489 112.9 + 457849.409999986 5439092.02781489 112.8238 + + + + + + + + + 457849.409999986 5439091.52781489 112.8238 + 457849.409999986 5439092.02781489 112.8238 + 457849.409999986 5439092.02781489 112.9 + 457849.409999986 5439091.52781489 112.9 + 457849.409999986 5439091.52781489 112.8238 + + + + + + + + + 457848.809999986 5439092.02781489 112.9 + 457848.809999986 5439091.52781489 112.9 + 457849.409999986 5439091.52781489 112.9 + 457849.409999986 5439092.02781489 112.9 + 457848.809999986 5439092.02781489 112.9 + + + + + 457849.216399986 5439091.60183853 112.9 + 457849.184298479 5439091.58686935 112.9 + 457849.150085296 5439091.57770196 112.9 + 457849.114799986 5439091.57461489 112.9 + 457849.079514676 5439091.57770196 112.9 + 457849.045301493 5439091.58686935 112.9 + 457849.013199986 5439091.60183853 112.9 + 457848.984185544 5439091.62215466 112.9 + 457848.959139755 5439091.64720045 112.9 + 457848.938823624 5439091.67621489 112.9 + 457848.923854446 5439091.7083164 112.9 + 457848.914687051 5439091.74252958 112.9 + 457848.911599986 5439091.77781489 112.9 + 457848.914687051 5439091.8131002 112.9 + 457848.923854446 5439091.84731338 112.9 + 457848.938823624 5439091.87941489 112.9 + 457848.959139755 5439091.90842933 112.9 + 457848.984185544 5439091.93347512 112.9 + 457849.013199986 5439091.95379125 112.9 + 457849.045301493 5439091.96876043 112.9 + 457849.079514676 5439091.97792783 112.9 + 457849.114799986 5439091.98101489 112.9 + 457849.150085296 5439091.97792783 112.9 + 457849.184298479 5439091.96876043 112.9 + 457849.216399986 5439091.95379125 112.9 + 457849.245414428 5439091.93347512 112.9 + 457849.270460217 5439091.90842933 112.9 + 457849.290776348 5439091.87941489 112.9 + 457849.305745527 5439091.84731338 112.9 + 457849.314912921 5439091.8131002 112.9 + 457849.317999986 5439091.77781489 112.9 + 457849.314912921 5439091.74252958 112.9 + 457849.305745527 5439091.7083164 112.9 + 457849.290776348 5439091.67621489 112.9 + 457849.270460217 5439091.64720045 112.9 + 457849.245414428 5439091.62215466 112.9 + 457849.216399986 5439091.60183853 112.9 + + + + + + + + + 457849.245414428 5439091.62215466 112.8238 + 457849.245414428 5439091.62215466 112.9 + 457849.270460217 5439091.64720045 112.9 + 457849.270460217 5439091.64720045 112.8238 + 457849.245414428 5439091.62215466 112.8238 + + + + + + + + + 457849.216399986 5439091.60183853 112.8238 + 457849.216399986 5439091.60183853 112.9 + 457849.245414428 5439091.62215466 112.9 + 457849.245414428 5439091.62215466 112.8238 + 457849.216399986 5439091.60183853 112.8238 + + + + + + + + + 457849.184298479 5439091.58686935 112.8238 + 457849.184298479 5439091.58686935 112.9 + 457849.216399986 5439091.60183853 112.9 + 457849.216399986 5439091.60183853 112.8238 + 457849.184298479 5439091.58686935 112.8238 + + + + + + + + + 457849.150085296 5439091.57770196 112.8238 + 457849.150085296 5439091.57770196 112.9 + 457849.184298479 5439091.58686935 112.9 + 457849.184298479 5439091.58686935 112.8238 + 457849.150085296 5439091.57770196 112.8238 + + + + + + + + + 457849.114799986 5439091.57461489 112.8238 + 457849.114799986 5439091.57461489 112.9 + 457849.150085296 5439091.57770196 112.9 + 457849.150085296 5439091.57770196 112.8238 + 457849.114799986 5439091.57461489 112.8238 + + + + + + + + + 457849.079514676 5439091.57770196 112.8238 + 457849.079514676 5439091.57770196 112.9 + 457849.114799986 5439091.57461489 112.9 + 457849.114799986 5439091.57461489 112.8238 + 457849.079514676 5439091.57770196 112.8238 + + + + + + + + + 457849.045301493 5439091.58686935 112.8238 + 457849.045301493 5439091.58686935 112.9 + 457849.079514676 5439091.57770196 112.9 + 457849.079514676 5439091.57770196 112.8238 + 457849.045301493 5439091.58686935 112.8238 + + + + + + + + + 457849.013199986 5439091.60183853 112.8238 + 457849.013199986 5439091.60183853 112.9 + 457849.045301493 5439091.58686935 112.9 + 457849.045301493 5439091.58686935 112.8238 + 457849.013199986 5439091.60183853 112.8238 + + + + + + + + + 457848.984185544 5439091.62215466 112.8238 + 457848.984185544 5439091.62215466 112.9 + 457849.013199986 5439091.60183853 112.9 + 457849.013199986 5439091.60183853 112.8238 + 457848.984185544 5439091.62215466 112.8238 + + + + + + + + + 457849.290776348 5439091.67621489 112.9 + 457849.290776348 5439091.67621489 112.8238 + 457849.270460217 5439091.64720045 112.8238 + 457849.270460217 5439091.64720045 112.9 + 457849.290776348 5439091.67621489 112.9 + + + + + + + + + 457849.305745527 5439091.7083164 112.9 + 457849.305745527 5439091.7083164 112.8238 + 457849.290776348 5439091.67621489 112.8238 + 457849.290776348 5439091.67621489 112.9 + 457849.305745527 5439091.7083164 112.9 + + + + + + + + + 457849.314912921 5439091.74252958 112.9 + 457849.314912921 5439091.74252958 112.8238 + 457849.305745527 5439091.7083164 112.8238 + 457849.305745527 5439091.7083164 112.9 + 457849.314912921 5439091.74252958 112.9 + + + + + + + + + 457849.317999986 5439091.77781489 112.9 + 457849.317999986 5439091.77781489 112.8238 + 457849.314912921 5439091.74252958 112.8238 + 457849.314912921 5439091.74252958 112.9 + 457849.317999986 5439091.77781489 112.9 + + + + + + + + + 457849.314912921 5439091.8131002 112.9 + 457849.314912921 5439091.8131002 112.8238 + 457849.317999986 5439091.77781489 112.8238 + 457849.317999986 5439091.77781489 112.9 + 457849.314912921 5439091.8131002 112.9 + + + + + + + + + 457848.959139755 5439091.64720045 112.8238 + 457848.959139755 5439091.64720045 112.9 + 457848.984185544 5439091.62215466 112.9 + 457848.984185544 5439091.62215466 112.8238 + 457848.959139755 5439091.64720045 112.8238 + + + + + + + + + 457848.938823624 5439091.67621489 112.8238 + 457848.938823624 5439091.67621489 112.9 + 457848.959139755 5439091.64720045 112.9 + 457848.959139755 5439091.64720045 112.8238 + 457848.938823624 5439091.67621489 112.8238 + + + + + + + + + 457848.923854446 5439091.7083164 112.8238 + 457848.923854446 5439091.7083164 112.9 + 457848.938823624 5439091.67621489 112.9 + 457848.938823624 5439091.67621489 112.8238 + 457848.923854446 5439091.7083164 112.8238 + + + + + + + + + 457848.914687051 5439091.74252958 112.8238 + 457848.914687051 5439091.74252958 112.9 + 457848.923854446 5439091.7083164 112.9 + 457848.923854446 5439091.7083164 112.8238 + 457848.914687051 5439091.74252958 112.8238 + + + + + + + + + 457848.911599986 5439091.77781489 112.8238 + 457848.911599986 5439091.77781489 112.9 + 457848.914687051 5439091.74252958 112.9 + 457848.914687051 5439091.74252958 112.8238 + 457848.911599986 5439091.77781489 112.8238 + + + + + + + + + 457848.914687051 5439091.8131002 112.8238 + 457848.914687051 5439091.8131002 112.9 + 457848.911599986 5439091.77781489 112.9 + 457848.911599986 5439091.77781489 112.8238 + 457848.914687051 5439091.8131002 112.8238 + + + + + + + + + 457848.923854446 5439091.84731338 112.8238 + 457848.923854446 5439091.84731338 112.9 + 457848.914687051 5439091.8131002 112.9 + 457848.914687051 5439091.8131002 112.8238 + 457848.923854446 5439091.84731338 112.8238 + + + + + + + + + 457848.938823624 5439091.87941489 112.8238 + 457848.938823624 5439091.87941489 112.9 + 457848.923854446 5439091.84731338 112.9 + 457848.923854446 5439091.84731338 112.8238 + 457848.938823624 5439091.87941489 112.8238 + + + + + + + + + 457848.959139755 5439091.90842933 112.8238 + 457848.959139755 5439091.90842933 112.9 + 457848.938823624 5439091.87941489 112.9 + 457848.938823624 5439091.87941489 112.8238 + 457848.959139755 5439091.90842933 112.8238 + + + + + + + + + 457848.984185544 5439091.93347512 112.8238 + 457848.984185544 5439091.93347512 112.9 + 457848.959139755 5439091.90842933 112.9 + 457848.959139755 5439091.90842933 112.8238 + 457848.984185544 5439091.93347512 112.8238 + + + + + + + + + 457849.013199986 5439091.95379125 112.8238 + 457849.013199986 5439091.95379125 112.9 + 457848.984185544 5439091.93347512 112.9 + 457848.984185544 5439091.93347512 112.8238 + 457849.013199986 5439091.95379125 112.8238 + + + + + + + + + 457849.045301493 5439091.96876043 112.8238 + 457849.045301493 5439091.96876043 112.9 + 457849.013199986 5439091.95379125 112.9 + 457849.013199986 5439091.95379125 112.8238 + 457849.045301493 5439091.96876043 112.8238 + + + + + + + + + 457849.079514676 5439091.97792783 112.8238 + 457849.079514676 5439091.97792783 112.9 + 457849.045301493 5439091.96876043 112.9 + 457849.045301493 5439091.96876043 112.8238 + 457849.079514676 5439091.97792783 112.8238 + + + + + + + + + 457849.114799986 5439091.98101489 112.8238 + 457849.114799986 5439091.98101489 112.9 + 457849.079514676 5439091.97792783 112.9 + 457849.079514676 5439091.97792783 112.8238 + 457849.114799986 5439091.98101489 112.8238 + + + + + + + + + 457849.150085296 5439091.97792783 112.8238 + 457849.150085296 5439091.97792783 112.9 + 457849.114799986 5439091.98101489 112.9 + 457849.114799986 5439091.98101489 112.8238 + 457849.150085296 5439091.97792783 112.8238 + + + + + + + + + 457849.184298479 5439091.96876043 112.8238 + 457849.184298479 5439091.96876043 112.9 + 457849.150085296 5439091.97792783 112.9 + 457849.150085296 5439091.97792783 112.8238 + 457849.184298479 5439091.96876043 112.8238 + + + + + + + + + 457849.216399986 5439091.95379125 112.8238 + 457849.216399986 5439091.95379125 112.9 + 457849.184298479 5439091.96876043 112.9 + 457849.184298479 5439091.96876043 112.8238 + 457849.216399986 5439091.95379125 112.8238 + + + + + + + + + 457849.245414428 5439091.93347512 112.8238 + 457849.245414428 5439091.93347512 112.9 + 457849.216399986 5439091.95379125 112.9 + 457849.216399986 5439091.95379125 112.8238 + 457849.245414428 5439091.93347512 112.8238 + + + + + + + + + 457849.270460217 5439091.90842933 112.8238 + 457849.270460217 5439091.90842933 112.9 + 457849.245414428 5439091.93347512 112.9 + 457849.245414428 5439091.93347512 112.8238 + 457849.270460217 5439091.90842933 112.8238 + + + + + + + + + 457849.290776348 5439091.87941489 112.8238 + 457849.290776348 5439091.87941489 112.9 + 457849.270460217 5439091.90842933 112.9 + 457849.270460217 5439091.90842933 112.8238 + 457849.290776348 5439091.87941489 112.8238 + + + + + + + + + 457849.305745527 5439091.84731338 112.9 + 457849.305745527 5439091.84731338 112.8238 + 457849.314912921 5439091.8131002 112.8238 + 457849.314912921 5439091.8131002 112.9 + 457849.305745527 5439091.84731338 112.9 + + + + + + + + + 457849.305745527 5439091.84731338 112.8238 + 457849.305745527 5439091.84731338 112.9 + 457849.290776348 5439091.87941489 112.9 + 457849.290776348 5439091.87941489 112.8238 + 457849.305745527 5439091.84731338 112.8238 + + + + + + + + + 457849.409999986 5439092.02781489 113 + 457849.409999986 5439092.02781489 112.9 + 457849.409999986 5439091.52781489 112.9 + 457849.409999986 5439091.52781489 113 + 457849.409999986 5439092.02781489 113 + + + + + + + + + 457849.409999986 5439091.52781489 112.8 + 457849.409999986 5439091.52781489 112.8238 + 457849.409999986 5439092.02781489 112.8238 + 457849.409999986 5439092.02781489 112.8 + 457849.409999986 5439091.52781489 112.8 + + + + + + + 1070 + + + + + Waschbecken 2 von ArchiCAD 14 + Basin 2 + + + + + + + 457848.809999986 5439091.33892709 112.9 + 457848.809999986 5439090.83892709 112.9 + 457849.409999986 5439090.83892709 112.9 + 457849.409999986 5439091.33892709 112.9 + 457848.809999986 5439091.33892709 112.9 + + + + + 457849.184298479 5439090.89798155 112.9 + 457849.150085296 5439090.88881415 112.9 + 457849.114799986 5439090.88572709 112.9 + 457849.079514676 5439090.88881415 112.9 + 457849.045301493 5439090.89798155 112.9 + 457849.013199986 5439090.91295073 112.9 + 457848.984185544 5439090.93326686 112.9 + 457848.959139755 5439090.95831265 112.9 + 457848.938823624 5439090.98732709 112.9 + 457848.923854446 5439091.0194286 112.9 + 457848.914687051 5439091.05364178 112.9 + 457848.911599986 5439091.08892709 112.9 + 457848.914687051 5439091.1242124 112.9 + 457848.923854446 5439091.15842558 112.9 + 457848.938823624 5439091.19052709 112.9 + 457848.959139755 5439091.21954153 112.9 + 457848.984185544 5439091.24458732 112.9 + 457849.013199986 5439091.26490345 112.9 + 457849.045301493 5439091.27987263 112.9 + 457849.079514676 5439091.28904003 112.9 + 457849.114799986 5439091.29212709 112.9 + 457849.150085296 5439091.28904003 112.9 + 457849.184298479 5439091.27987263 112.9 + 457849.216399986 5439091.26490345 112.9 + 457849.245414428 5439091.24458732 112.9 + 457849.270460217 5439091.21954153 112.9 + 457849.290776348 5439091.19052709 112.9 + 457849.305745527 5439091.15842558 112.9 + 457849.314912921 5439091.1242124 112.9 + 457849.317999986 5439091.08892709 112.9 + 457849.314912921 5439091.05364178 112.9 + 457849.305745527 5439091.0194286 112.9 + 457849.290776348 5439090.98732709 112.9 + 457849.270460217 5439090.95831265 112.9 + 457849.245414428 5439090.93326686 112.9 + 457849.216399986 5439090.91295073 112.9 + 457849.184298479 5439090.89798155 112.9 + + + + + + + + + 457848.809999986 5439091.33892709 112.8238 + 457848.809999986 5439090.83892709 112.8238 + 457848.809999986 5439090.83892709 112.9 + 457848.809999986 5439091.33892709 112.9 + 457848.809999986 5439091.33892709 112.8238 + + + + + + + + + 457848.809999986 5439090.83892709 112.8238 + 457849.409999986 5439090.83892709 112.8238 + 457849.409999986 5439090.83892709 112.9 + 457848.809999986 5439090.83892709 112.9 + 457848.809999986 5439090.83892709 112.8238 + + + + + + + + + 457849.409999986 5439091.33892709 112.8238 + 457848.809999986 5439091.33892709 112.8238 + 457848.809999986 5439091.33892709 112.9 + 457849.409999986 5439091.33892709 112.9 + 457849.409999986 5439091.33892709 112.8238 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.114799986 5439091.05364178 112.715240400089 + 457849.120927216 5439091.05417784 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.108672756 5439091.05417784 112.715240400089 + 457849.114799986 5439091.05364178 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.102731699 5439091.05576974 112.715240400089 + 457849.108672756 5439091.05417784 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.097157331 5439091.05836912 112.715240400089 + 457849.102731699 5439091.05576974 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.092119026 5439091.06189697 112.715240400089 + 457849.097157331 5439091.05836912 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.087769871 5439091.06624613 112.715240400089 + 457849.092119026 5439091.06189697 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.084242011 5439091.07128443 112.715240400089 + 457849.087769871 5439091.06624613 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.081642641 5439091.0768588 112.715240400089 + 457849.084242011 5439091.07128443 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.08005074 5439091.08279986 112.715240400089 + 457849.081642641 5439091.0768588 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.079514676 5439091.08892709 112.715240400089 + 457849.08005074 5439091.08279986 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.08005074 5439091.09505432 112.715240400089 + 457849.079514676 5439091.08892709 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.081642641 5439091.10099538 112.715240400089 + 457849.08005074 5439091.09505432 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.084242011 5439091.10656974 112.715240400089 + 457849.081642641 5439091.10099538 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.087769871 5439091.11160805 112.715240400089 + 457849.084242011 5439091.10656974 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.092119026 5439091.11595721 112.715240400089 + 457849.087769871 5439091.11160805 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.097157331 5439091.11948506 112.715240400089 + 457849.092119026 5439091.11595721 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.102731699 5439091.12208444 112.715240400089 + 457849.097157331 5439091.11948506 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.108672756 5439091.12367634 112.715240400089 + 457849.102731699 5439091.12208444 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.114799986 5439091.1242124 112.715240400089 + 457849.108672756 5439091.12367634 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.120927216 5439091.12367634 112.715240400089 + 457849.114799986 5439091.1242124 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.126868273 5439091.12208444 112.715240400089 + 457849.120927216 5439091.12367634 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.132442641 5439091.11948506 112.715240400089 + 457849.126868273 5439091.12208444 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.137480946 5439091.11595721 112.715240400089 + 457849.132442641 5439091.11948506 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.141830101 5439091.11160805 112.715240400089 + 457849.137480946 5439091.11595721 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.145357961 5439091.10656974 112.715240400089 + 457849.141830101 5439091.11160805 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.147957331 5439091.10099538 112.715240400089 + 457849.145357961 5439091.10656974 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.149549233 5439091.09505432 112.715240400089 + 457849.147957331 5439091.10099538 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.150085296 5439091.08892709 112.715240400089 + 457849.149549233 5439091.09505432 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.149549233 5439091.08279986 112.715240400089 + 457849.150085296 5439091.08892709 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.147957331 5439091.0768588 112.715240400089 + 457849.149549233 5439091.08279986 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.145357961 5439091.07128443 112.715240400089 + 457849.147957331 5439091.0768588 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.141830101 5439091.06624613 112.715240400089 + 457849.145357961 5439091.07128443 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.137480946 5439091.06189697 112.715240400089 + 457849.141830101 5439091.06624613 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.132442641 5439091.05836912 112.715240400089 + 457849.137480946 5439091.06189697 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.126868273 5439091.05576974 112.715240400089 + 457849.132442641 5439091.05836912 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.08892709 112.7143 + 457849.120927216 5439091.05417784 112.715240400089 + 457849.126868273 5439091.05576974 112.715240400089 + 457849.114799986 5439091.08892709 112.7143 + + + + + + + + + 457849.114799986 5439091.05364178 112.715240400089 + 457849.114799986 5439091.0194286 112.718033026773 + 457849.126868273 5439091.02048443 112.718033026773 + 457849.120927216 5439091.05417784 112.715240400089 + 457849.114799986 5439091.05364178 112.715240400089 + + + + + + + + + 457849.108672756 5439091.05417784 112.715240400089 + 457849.102731699 5439091.02048443 112.718033026773 + 457849.114799986 5439091.0194286 112.718033026773 + 457849.114799986 5439091.05364178 112.715240400089 + 457849.108672756 5439091.05417784 112.715240400089 + + + + + + + + + 457849.102731699 5439091.05576974 112.715240400089 + 457849.091030101 5439091.02361987 112.718033026773 + 457849.102731699 5439091.02048443 112.718033026773 + 457849.108672756 5439091.05417784 112.715240400089 + 457849.102731699 5439091.05576974 112.715240400089 + + + + + + + + + 457849.097157331 5439091.05836912 112.715240400089 + 457849.08005074 5439091.02873963 112.718033026773 + 457849.091030101 5439091.02361987 112.718033026773 + 457849.102731699 5439091.05576974 112.715240400089 + 457849.097157331 5439091.05836912 112.715240400089 + + + + + + + + + 457849.092119026 5439091.06189697 112.715240400089 + 457849.070127216 5439091.03568816 112.718033026773 + 457849.08005074 5439091.02873963 112.718033026773 + 457849.097157331 5439091.05836912 112.715240400089 + 457849.092119026 5439091.06189697 112.715240400089 + + + + + + + + + 457849.087769871 5439091.06624613 112.715240400089 + 457849.061561052 5439091.04425432 112.718033026773 + 457849.070127216 5439091.03568816 112.718033026773 + 457849.092119026 5439091.06189697 112.715240400089 + 457849.087769871 5439091.06624613 112.715240400089 + + + + + + + + + 457849.084242011 5439091.07128443 112.715240400089 + 457849.054612526 5439091.05417784 112.718033026773 + 457849.061561052 5439091.04425432 112.718033026773 + 457849.087769871 5439091.06624613 112.715240400089 + 457849.084242011 5439091.07128443 112.715240400089 + + + + + + + + + 457849.081642641 5439091.0768588 112.715240400089 + 457849.049492765 5439091.0651572 112.718033026773 + 457849.054612526 5439091.05417784 112.718033026773 + 457849.084242011 5439091.07128443 112.715240400089 + 457849.081642641 5439091.0768588 112.715240400089 + + + + + + + + + 457849.08005074 5439091.08279986 112.715240400089 + 457849.046357331 5439091.0768588 112.718033026773 + 457849.049492765 5439091.0651572 112.718033026773 + 457849.081642641 5439091.0768588 112.715240400089 + 457849.08005074 5439091.08279986 112.715240400089 + + + + + + + + + 457849.079514676 5439091.08892709 112.715240400089 + 457849.045301493 5439091.08892709 112.718033026773 + 457849.046357331 5439091.0768588 112.718033026773 + 457849.08005074 5439091.08279986 112.715240400089 + 457849.079514676 5439091.08892709 112.715240400089 + + + + + + + + + 457849.08005074 5439091.09505432 112.715240400089 + 457849.046357331 5439091.10099538 112.718033026773 + 457849.045301493 5439091.08892709 112.718033026773 + 457849.079514676 5439091.08892709 112.715240400089 + 457849.08005074 5439091.09505432 112.715240400089 + + + + + + + + + 457849.081642641 5439091.10099538 112.715240400089 + 457849.049492765 5439091.11269697 112.718033026773 + 457849.046357331 5439091.10099538 112.718033026773 + 457849.08005074 5439091.09505432 112.715240400089 + 457849.081642641 5439091.10099538 112.715240400089 + + + + + + + + + 457849.084242011 5439091.10656974 112.715240400089 + 457849.054612526 5439091.12367634 112.718033026773 + 457849.049492765 5439091.11269697 112.718033026773 + 457849.081642641 5439091.10099538 112.715240400089 + 457849.084242011 5439091.10656974 112.715240400089 + + + + + + + + + 457849.087769871 5439091.11160805 112.715240400089 + 457849.061561052 5439091.13359986 112.718033026773 + 457849.054612526 5439091.12367634 112.718033026773 + 457849.084242011 5439091.10656974 112.715240400089 + 457849.087769871 5439091.11160805 112.715240400089 + + + + + + + + + 457849.092119026 5439091.11595721 112.715240400089 + 457849.070127216 5439091.14216602 112.718033026773 + 457849.061561052 5439091.13359986 112.718033026773 + 457849.087769871 5439091.11160805 112.715240400089 + 457849.092119026 5439091.11595721 112.715240400089 + + + + + + + + + 457849.097157331 5439091.11948506 112.715240400089 + 457849.08005074 5439091.14911455 112.718033026773 + 457849.070127216 5439091.14216602 112.718033026773 + 457849.092119026 5439091.11595721 112.715240400089 + 457849.097157331 5439091.11948506 112.715240400089 + + + + + + + + + 457849.102731699 5439091.12208444 112.715240400089 + 457849.091030101 5439091.15423431 112.718033026773 + 457849.08005074 5439091.14911455 112.718033026773 + 457849.097157331 5439091.11948506 112.715240400089 + 457849.102731699 5439091.12208444 112.715240400089 + + + + + + + + + 457849.108672756 5439091.12367634 112.715240400089 + 457849.102731699 5439091.15736974 112.718033026773 + 457849.091030101 5439091.15423431 112.718033026773 + 457849.102731699 5439091.12208444 112.715240400089 + 457849.108672756 5439091.12367634 112.715240400089 + + + + + + + + + 457849.114799986 5439091.1242124 112.715240400089 + 457849.114799986 5439091.15842558 112.718033026773 + 457849.102731699 5439091.15736974 112.718033026773 + 457849.108672756 5439091.12367634 112.715240400089 + 457849.114799986 5439091.1242124 112.715240400089 + + + + + + + + + 457849.120927216 5439091.12367634 112.715240400089 + 457849.126868273 5439091.15736974 112.718033026773 + 457849.114799986 5439091.15842558 112.718033026773 + 457849.114799986 5439091.1242124 112.715240400089 + 457849.120927216 5439091.12367634 112.715240400089 + + + + + + + + + 457849.126868273 5439091.12208444 112.715240400089 + 457849.138569871 5439091.15423431 112.718033026773 + 457849.126868273 5439091.15736974 112.718033026773 + 457849.120927216 5439091.12367634 112.715240400089 + 457849.126868273 5439091.12208444 112.715240400089 + + + + + + + + + 457849.132442641 5439091.11948506 112.715240400089 + 457849.149549233 5439091.14911455 112.718033026773 + 457849.138569871 5439091.15423431 112.718033026773 + 457849.126868273 5439091.12208444 112.715240400089 + 457849.132442641 5439091.11948506 112.715240400089 + + + + + + + + + 457849.137480946 5439091.11595721 112.715240400089 + 457849.159472756 5439091.14216602 112.718033026773 + 457849.149549233 5439091.14911455 112.718033026773 + 457849.132442641 5439091.11948506 112.715240400089 + 457849.137480946 5439091.11595721 112.715240400089 + + + + + + + + + 457849.141830101 5439091.11160805 112.715240400089 + 457849.168038921 5439091.13359986 112.718033026773 + 457849.159472756 5439091.14216602 112.718033026773 + 457849.137480946 5439091.11595721 112.715240400089 + 457849.141830101 5439091.11160805 112.715240400089 + + + + + + + + + 457849.145357961 5439091.10656974 112.715240400089 + 457849.174987447 5439091.12367634 112.718033026773 + 457849.168038921 5439091.13359986 112.718033026773 + 457849.141830101 5439091.11160805 112.715240400089 + 457849.145357961 5439091.10656974 112.715240400089 + + + + + + + + + 457849.147957331 5439091.10099538 112.715240400089 + 457849.180107207 5439091.11269697 112.718033026773 + 457849.174987447 5439091.12367634 112.718033026773 + 457849.145357961 5439091.10656974 112.715240400089 + 457849.147957331 5439091.10099538 112.715240400089 + + + + + + + + + 457849.149549233 5439091.09505432 112.715240400089 + 457849.183242641 5439091.10099538 112.718033026773 + 457849.180107207 5439091.11269697 112.718033026773 + 457849.147957331 5439091.10099538 112.715240400089 + 457849.149549233 5439091.09505432 112.715240400089 + + + + + + + + + 457849.150085296 5439091.08892709 112.715240400089 + 457849.184298479 5439091.08892709 112.718033026773 + 457849.183242641 5439091.10099538 112.718033026773 + 457849.149549233 5439091.09505432 112.715240400089 + 457849.150085296 5439091.08892709 112.715240400089 + + + + + + + + + 457849.149549233 5439091.08279986 112.715240400089 + 457849.183242641 5439091.0768588 112.718033026773 + 457849.184298479 5439091.08892709 112.718033026773 + 457849.150085296 5439091.08892709 112.715240400089 + 457849.149549233 5439091.08279986 112.715240400089 + + + + + + + + + 457849.147957331 5439091.0768588 112.715240400089 + 457849.180107207 5439091.0651572 112.718033026773 + 457849.183242641 5439091.0768588 112.718033026773 + 457849.149549233 5439091.08279986 112.715240400089 + 457849.147957331 5439091.0768588 112.715240400089 + + + + + + + + + 457849.145357961 5439091.07128443 112.715240400089 + 457849.174987447 5439091.05417784 112.718033026773 + 457849.180107207 5439091.0651572 112.718033026773 + 457849.147957331 5439091.0768588 112.715240400089 + 457849.145357961 5439091.07128443 112.715240400089 + + + + + + + + + 457849.141830101 5439091.06624613 112.715240400089 + 457849.168038921 5439091.04425432 112.718033026773 + 457849.174987447 5439091.05417784 112.718033026773 + 457849.145357961 5439091.07128443 112.715240400089 + 457849.141830101 5439091.06624613 112.715240400089 + + + + + + + + + 457849.137480946 5439091.06189697 112.715240400089 + 457849.159472756 5439091.03568816 112.718033026773 + 457849.168038921 5439091.04425432 112.718033026773 + 457849.141830101 5439091.06624613 112.715240400089 + 457849.137480946 5439091.06189697 112.715240400089 + + + + + + + + + 457849.132442641 5439091.05836912 112.715240400089 + 457849.149549233 5439091.02873963 112.718033026773 + 457849.159472756 5439091.03568816 112.718033026773 + 457849.137480946 5439091.06189697 112.715240400089 + 457849.132442641 5439091.05836912 112.715240400089 + + + + + + + + + 457849.126868273 5439091.05576974 112.715240400089 + 457849.138569871 5439091.02361987 112.718033026773 + 457849.149549233 5439091.02873963 112.718033026773 + 457849.132442641 5439091.05836912 112.715240400089 + 457849.126868273 5439091.05576974 112.715240400089 + + + + + + + + + 457849.120927216 5439091.05417784 112.715240400089 + 457849.126868273 5439091.02048443 112.718033026773 + 457849.138569871 5439091.02361987 112.718033026773 + 457849.126868273 5439091.05576974 112.715240400089 + 457849.120927216 5439091.05417784 112.715240400089 + + + + + + + + + 457849.114799986 5439091.0194286 112.718033026773 + 457849.114799986 5439090.98732709 112.722593027506 + 457849.132442641 5439090.98887062 112.722593027506 + 457849.126868273 5439091.02048443 112.718033026773 + 457849.114799986 5439091.0194286 112.718033026773 + + + + + + + + + 457849.102731699 5439091.02048443 112.718033026773 + 457849.097157331 5439090.98887062 112.722593027506 + 457849.114799986 5439090.98732709 112.722593027506 + 457849.114799986 5439091.0194286 112.718033026773 + 457849.102731699 5439091.02048443 112.718033026773 + + + + + + + + + 457849.091030101 5439091.02361987 112.718033026773 + 457849.08005074 5439090.99345432 112.722593027506 + 457849.097157331 5439090.98887062 112.722593027506 + 457849.102731699 5439091.02048443 112.718033026773 + 457849.091030101 5439091.02361987 112.718033026773 + + + + + + + + + 457849.08005074 5439091.02873963 112.718033026773 + 457849.063999986 5439091.00093891 112.722593027506 + 457849.08005074 5439090.99345432 112.722593027506 + 457849.091030101 5439091.02361987 112.718033026773 + 457849.08005074 5439091.02873963 112.718033026773 + + + + + + + + + 457849.070127216 5439091.03568816 112.718033026773 + 457849.049492765 5439091.01109697 112.722593027506 + 457849.063999986 5439091.00093891 112.722593027506 + 457849.08005074 5439091.02873963 112.718033026773 + 457849.070127216 5439091.03568816 112.718033026773 + + + + + + + + + 457849.061561052 5439091.04425432 112.718033026773 + 457849.036969871 5439091.02361987 112.722593027506 + 457849.049492765 5439091.01109697 112.722593027506 + 457849.070127216 5439091.03568816 112.718033026773 + 457849.061561052 5439091.04425432 112.718033026773 + + + + + + + + + 457849.054612526 5439091.05417784 112.718033026773 + 457849.026811805 5439091.03812709 112.722593027506 + 457849.036969871 5439091.02361987 112.722593027506 + 457849.061561052 5439091.04425432 112.718033026773 + 457849.054612526 5439091.05417784 112.718033026773 + + + + + + + + + 457849.049492765 5439091.0651572 112.718033026773 + 457849.019327216 5439091.05417784 112.722593027506 + 457849.026811805 5439091.03812709 112.722593027506 + 457849.054612526 5439091.05417784 112.718033026773 + 457849.049492765 5439091.0651572 112.718033026773 + + + + + + + + + 457849.046357331 5439091.0768588 112.718033026773 + 457849.014743518 5439091.07128443 112.722593027506 + 457849.019327216 5439091.05417784 112.722593027506 + 457849.049492765 5439091.0651572 112.718033026773 + 457849.046357331 5439091.0768588 112.718033026773 + + + + + + + + + 457849.045301493 5439091.08892709 112.718033026773 + 457849.013199986 5439091.08892709 112.722593027506 + 457849.014743518 5439091.07128443 112.722593027506 + 457849.046357331 5439091.0768588 112.718033026773 + 457849.045301493 5439091.08892709 112.718033026773 + + + + + + + + + 457849.046357331 5439091.10099538 112.718033026773 + 457849.014743518 5439091.10656974 112.722593027506 + 457849.013199986 5439091.08892709 112.722593027506 + 457849.045301493 5439091.08892709 112.718033026773 + 457849.046357331 5439091.10099538 112.718033026773 + + + + + + + + + 457849.049492765 5439091.11269697 112.718033026773 + 457849.019327216 5439091.12367634 112.722593027506 + 457849.014743518 5439091.10656974 112.722593027506 + 457849.046357331 5439091.10099538 112.718033026773 + 457849.049492765 5439091.11269697 112.718033026773 + + + + + + + + + 457849.054612526 5439091.12367634 112.718033026773 + 457849.026811805 5439091.13972709 112.722593027506 + 457849.019327216 5439091.12367634 112.722593027506 + 457849.049492765 5439091.11269697 112.718033026773 + 457849.054612526 5439091.12367634 112.718033026773 + + + + + + + + + 457849.061561052 5439091.13359986 112.718033026773 + 457849.036969871 5439091.15423431 112.722593027506 + 457849.026811805 5439091.13972709 112.722593027506 + 457849.054612526 5439091.12367634 112.718033026773 + 457849.061561052 5439091.13359986 112.718033026773 + + + + + + + + + 457849.070127216 5439091.14216602 112.718033026773 + 457849.049492765 5439091.1667572 112.722593027506 + 457849.036969871 5439091.15423431 112.722593027506 + 457849.061561052 5439091.13359986 112.718033026773 + 457849.070127216 5439091.14216602 112.718033026773 + + + + + + + + + 457849.08005074 5439091.14911455 112.718033026773 + 457849.063999986 5439091.17691527 112.722593027506 + 457849.049492765 5439091.1667572 112.722593027506 + 457849.070127216 5439091.14216602 112.718033026773 + 457849.08005074 5439091.14911455 112.718033026773 + + + + + + + + + 457849.091030101 5439091.15423431 112.718033026773 + 457849.08005074 5439091.18439986 112.722593027506 + 457849.063999986 5439091.17691527 112.722593027506 + 457849.08005074 5439091.14911455 112.718033026773 + 457849.091030101 5439091.15423431 112.718033026773 + + + + + + + + + 457849.102731699 5439091.15736974 112.718033026773 + 457849.097157331 5439091.18898356 112.722593027506 + 457849.08005074 5439091.18439986 112.722593027506 + 457849.091030101 5439091.15423431 112.718033026773 + 457849.102731699 5439091.15736974 112.718033026773 + + + + + + + + + 457849.114799986 5439091.15842558 112.718033026773 + 457849.114799986 5439091.19052709 112.722593027506 + 457849.097157331 5439091.18898356 112.722593027506 + 457849.102731699 5439091.15736974 112.718033026773 + 457849.114799986 5439091.15842558 112.718033026773 + + + + + + + + + 457849.126868273 5439091.15736974 112.718033026773 + 457849.132442641 5439091.18898356 112.722593027506 + 457849.114799986 5439091.19052709 112.722593027506 + 457849.114799986 5439091.15842558 112.718033026773 + 457849.126868273 5439091.15736974 112.718033026773 + + + + + + + + + 457849.138569871 5439091.15423431 112.718033026773 + 457849.149549233 5439091.18439986 112.722593027506 + 457849.132442641 5439091.18898356 112.722593027506 + 457849.126868273 5439091.15736974 112.718033026773 + 457849.138569871 5439091.15423431 112.718033026773 + + + + + + + + + 457849.149549233 5439091.14911455 112.718033026773 + 457849.165599986 5439091.17691527 112.722593027506 + 457849.149549233 5439091.18439986 112.722593027506 + 457849.138569871 5439091.15423431 112.718033026773 + 457849.149549233 5439091.14911455 112.718033026773 + + + + + + + + + 457849.159472756 5439091.14216602 112.718033026773 + 457849.180107207 5439091.1667572 112.722593027506 + 457849.165599986 5439091.17691527 112.722593027506 + 457849.149549233 5439091.14911455 112.718033026773 + 457849.159472756 5439091.14216602 112.718033026773 + + + + + + + + + 457849.168038921 5439091.13359986 112.718033026773 + 457849.192630101 5439091.15423431 112.722593027506 + 457849.180107207 5439091.1667572 112.722593027506 + 457849.159472756 5439091.14216602 112.718033026773 + 457849.168038921 5439091.13359986 112.718033026773 + + + + + + + + + 457849.174987447 5439091.12367634 112.718033026773 + 457849.202788167 5439091.13972709 112.722593027506 + 457849.192630101 5439091.15423431 112.722593027506 + 457849.168038921 5439091.13359986 112.718033026773 + 457849.174987447 5439091.12367634 112.718033026773 + + + + + + + + + 457849.180107207 5439091.11269697 112.718033026773 + 457849.210272756 5439091.12367634 112.722593027506 + 457849.202788167 5439091.13972709 112.722593027506 + 457849.174987447 5439091.12367634 112.718033026773 + 457849.180107207 5439091.11269697 112.718033026773 + + + + + + + + + 457849.183242641 5439091.10099538 112.718033026773 + 457849.214856454 5439091.10656974 112.722593027506 + 457849.210272756 5439091.12367634 112.722593027506 + 457849.180107207 5439091.11269697 112.718033026773 + 457849.183242641 5439091.10099538 112.718033026773 + + + + + + + + + 457849.184298479 5439091.08892709 112.718033026773 + 457849.216399986 5439091.08892709 112.722593027506 + 457849.214856454 5439091.10656974 112.722593027506 + 457849.183242641 5439091.10099538 112.718033026773 + 457849.184298479 5439091.08892709 112.718033026773 + + + + + + + + + 457849.183242641 5439091.0768588 112.718033026773 + 457849.214856454 5439091.07128443 112.722593027506 + 457849.216399986 5439091.08892709 112.722593027506 + 457849.184298479 5439091.08892709 112.718033026773 + 457849.183242641 5439091.0768588 112.718033026773 + + + + + + + + + 457849.180107207 5439091.0651572 112.718033026773 + 457849.210272756 5439091.05417784 112.722593027506 + 457849.214856454 5439091.07128443 112.722593027506 + 457849.183242641 5439091.0768588 112.718033026773 + 457849.180107207 5439091.0651572 112.718033026773 + + + + + + + + + 457849.174987447 5439091.05417784 112.718033026773 + 457849.202788167 5439091.03812709 112.722593027506 + 457849.210272756 5439091.05417784 112.722593027506 + 457849.180107207 5439091.0651572 112.718033026773 + 457849.174987447 5439091.05417784 112.718033026773 + + + + + + + + + 457849.168038921 5439091.04425432 112.718033026773 + 457849.192630101 5439091.02361987 112.722593027506 + 457849.202788167 5439091.03812709 112.722593027506 + 457849.174987447 5439091.05417784 112.718033026773 + 457849.168038921 5439091.04425432 112.718033026773 + + + + + + + + + 457849.159472756 5439091.03568816 112.718033026773 + 457849.180107207 5439091.01109697 112.722593027506 + 457849.192630101 5439091.02361987 112.722593027506 + 457849.168038921 5439091.04425432 112.718033026773 + 457849.159472756 5439091.03568816 112.718033026773 + + + + + + + + + 457849.149549233 5439091.02873963 112.718033026773 + 457849.165599986 5439091.00093891 112.722593027506 + 457849.180107207 5439091.01109697 112.722593027506 + 457849.159472756 5439091.03568816 112.718033026773 + 457849.149549233 5439091.02873963 112.718033026773 + + + + + + + + + 457849.138569871 5439091.02361987 112.718033026773 + 457849.149549233 5439090.99345432 112.722593027506 + 457849.165599986 5439091.00093891 112.722593027506 + 457849.149549233 5439091.02873963 112.718033026773 + 457849.138569871 5439091.02361987 112.718033026773 + + + + + + + + + 457849.126868273 5439091.02048443 112.718033026773 + 457849.132442641 5439090.98887062 112.722593027506 + 457849.149549233 5439090.99345432 112.722593027506 + 457849.138569871 5439091.02361987 112.718033026773 + 457849.126868273 5439091.02048443 112.718033026773 + + + + + + + + + 457849.114799986 5439090.98732709 112.722593027506 + 457849.114799986 5439090.95831265 112.728781848971 + 457849.137480946 5439090.96029697 112.728781848971 + 457849.132442641 5439090.98887062 112.722593027506 + 457849.114799986 5439090.98732709 112.722593027506 + + + + + + + + + 457849.097157331 5439090.98887062 112.722593027506 + 457849.092119026 5439090.96029697 112.728781848971 + 457849.114799986 5439090.95831265 112.728781848971 + 457849.114799986 5439090.98732709 112.722593027506 + 457849.097157331 5439090.98887062 112.722593027506 + + + + + + + + + 457849.08005074 5439090.99345432 112.722593027506 + 457849.070127216 5439090.96618966 112.728781848971 + 457849.092119026 5439090.96029697 112.728781848971 + 457849.097157331 5439090.98887062 112.722593027506 + 457849.08005074 5439090.99345432 112.722593027506 + + + + + + + + + 457849.063999986 5439091.00093891 112.722593027506 + 457849.049492765 5439090.97581166 112.728781848971 + 457849.070127216 5439090.96618966 112.728781848971 + 457849.08005074 5439090.99345432 112.722593027506 + 457849.063999986 5439091.00093891 112.722593027506 + + + + + + + + + 457849.049492765 5439091.01109697 112.722593027506 + 457849.030842641 5439090.98887062 112.728781848971 + 457849.049492765 5439090.97581166 112.728781848971 + 457849.063999986 5439091.00093891 112.722593027506 + 457849.049492765 5439091.01109697 112.722593027506 + + + + + + + + + 457849.036969871 5439091.02361987 112.722593027506 + 457849.014743518 5439091.00496974 112.728781848971 + 457849.030842641 5439090.98887062 112.728781848971 + 457849.049492765 5439091.01109697 112.722593027506 + 457849.036969871 5439091.02361987 112.722593027506 + + + + + + + + + 457849.026811805 5439091.03812709 112.722593027506 + 457849.001684561 5439091.02361987 112.728781848971 + 457849.014743518 5439091.00496974 112.728781848971 + 457849.036969871 5439091.02361987 112.722593027506 + 457849.026811805 5439091.03812709 112.722593027506 + + + + + + + + + 457849.019327216 5439091.05417784 112.722593027506 + 457848.992062558 5439091.04425432 112.728781848971 + 457849.001684561 5439091.02361987 112.728781848971 + 457849.026811805 5439091.03812709 112.722593027506 + 457849.019327216 5439091.05417784 112.722593027506 + + + + + + + + + 457849.014743518 5439091.07128443 112.722593027506 + 457848.986169871 5439091.06624613 112.728781848971 + 457848.992062558 5439091.04425432 112.728781848971 + 457849.019327216 5439091.05417784 112.722593027506 + 457849.014743518 5439091.07128443 112.722593027506 + + + + + + + + + 457849.013199986 5439091.08892709 112.722593027506 + 457848.984185544 5439091.08892709 112.728781848971 + 457848.986169871 5439091.06624613 112.728781848971 + 457849.014743518 5439091.07128443 112.722593027506 + 457849.013199986 5439091.08892709 112.722593027506 + + + + + + + + + 457849.014743518 5439091.10656974 112.722593027506 + 457848.986169871 5439091.11160805 112.728781848971 + 457848.984185544 5439091.08892709 112.728781848971 + 457849.013199986 5439091.08892709 112.722593027506 + 457849.014743518 5439091.10656974 112.722593027506 + + + + + + + + + 457849.019327216 5439091.12367634 112.722593027506 + 457848.992062558 5439091.13359986 112.728781848971 + 457848.986169871 5439091.11160805 112.728781848971 + 457849.014743518 5439091.10656974 112.722593027506 + 457849.019327216 5439091.12367634 112.722593027506 + + + + + + + + + 457849.026811805 5439091.13972709 112.722593027506 + 457849.001684561 5439091.15423431 112.728781848971 + 457848.992062558 5439091.13359986 112.728781848971 + 457849.019327216 5439091.12367634 112.722593027506 + 457849.026811805 5439091.13972709 112.722593027506 + + + + + + + + + 457849.036969871 5439091.15423431 112.722593027506 + 457849.014743518 5439091.17288443 112.728781848971 + 457849.001684561 5439091.15423431 112.728781848971 + 457849.026811805 5439091.13972709 112.722593027506 + 457849.036969871 5439091.15423431 112.722593027506 + + + + + + + + + 457849.049492765 5439091.1667572 112.722593027506 + 457849.030842641 5439091.18898356 112.728781848971 + 457849.014743518 5439091.17288443 112.728781848971 + 457849.036969871 5439091.15423431 112.722593027506 + 457849.049492765 5439091.1667572 112.722593027506 + + + + + + + + + 457849.063999986 5439091.17691527 112.722593027506 + 457849.049492765 5439091.20204251 112.728781848971 + 457849.030842641 5439091.18898356 112.728781848971 + 457849.049492765 5439091.1667572 112.722593027506 + 457849.063999986 5439091.17691527 112.722593027506 + + + + + + + + + 457849.08005074 5439091.18439986 112.722593027506 + 457849.070127216 5439091.21166452 112.728781848971 + 457849.049492765 5439091.20204251 112.728781848971 + 457849.063999986 5439091.17691527 112.722593027506 + 457849.08005074 5439091.18439986 112.722593027506 + + + + + + + + + 457849.097157331 5439091.18898356 112.722593027506 + 457849.092119026 5439091.2175572 112.728781848971 + 457849.070127216 5439091.21166452 112.728781848971 + 457849.08005074 5439091.18439986 112.722593027506 + 457849.097157331 5439091.18898356 112.722593027506 + + + + + + + + + 457849.114799986 5439091.19052709 112.722593027506 + 457849.114799986 5439091.21954153 112.728781848971 + 457849.092119026 5439091.2175572 112.728781848971 + 457849.097157331 5439091.18898356 112.722593027506 + 457849.114799986 5439091.19052709 112.722593027506 + + + + + + + + + 457849.132442641 5439091.18898356 112.722593027506 + 457849.137480946 5439091.2175572 112.728781848971 + 457849.114799986 5439091.21954153 112.728781848971 + 457849.114799986 5439091.19052709 112.722593027506 + 457849.132442641 5439091.18898356 112.722593027506 + + + + + + + + + 457849.149549233 5439091.18439986 112.722593027506 + 457849.159472756 5439091.21166452 112.728781848971 + 457849.137480946 5439091.2175572 112.728781848971 + 457849.132442641 5439091.18898356 112.722593027506 + 457849.149549233 5439091.18439986 112.722593027506 + + + + + + + + + 457849.165599986 5439091.17691527 112.722593027506 + 457849.180107207 5439091.20204251 112.728781848971 + 457849.159472756 5439091.21166452 112.728781848971 + 457849.149549233 5439091.18439986 112.722593027506 + 457849.165599986 5439091.17691527 112.722593027506 + + + + + + + + + 457849.180107207 5439091.1667572 112.722593027506 + 457849.198757331 5439091.18898356 112.728781848971 + 457849.180107207 5439091.20204251 112.728781848971 + 457849.165599986 5439091.17691527 112.722593027506 + 457849.180107207 5439091.1667572 112.722593027506 + + + + + + + + + 457849.192630101 5439091.15423431 112.722593027506 + 457849.214856454 5439091.17288443 112.728781848971 + 457849.198757331 5439091.18898356 112.728781848971 + 457849.180107207 5439091.1667572 112.722593027506 + 457849.192630101 5439091.15423431 112.722593027506 + + + + + + + + + 457849.202788167 5439091.13972709 112.722593027506 + 457849.227915411 5439091.15423431 112.728781848971 + 457849.214856454 5439091.17288443 112.728781848971 + 457849.192630101 5439091.15423431 112.722593027506 + 457849.202788167 5439091.13972709 112.722593027506 + + + + + + + + + 457849.210272756 5439091.12367634 112.722593027506 + 457849.237537414 5439091.13359986 112.728781848971 + 457849.227915411 5439091.15423431 112.728781848971 + 457849.202788167 5439091.13972709 112.722593027506 + 457849.210272756 5439091.12367634 112.722593027506 + + + + + + + + + 457849.214856454 5439091.10656974 112.722593027506 + 457849.243430101 5439091.11160805 112.728781848971 + 457849.237537414 5439091.13359986 112.728781848971 + 457849.210272756 5439091.12367634 112.722593027506 + 457849.214856454 5439091.10656974 112.722593027506 + + + + + + + + + 457849.216399986 5439091.08892709 112.722593027506 + 457849.245414428 5439091.08892709 112.728781848971 + 457849.243430101 5439091.11160805 112.728781848971 + 457849.214856454 5439091.10656974 112.722593027506 + 457849.216399986 5439091.08892709 112.722593027506 + + + + + + + + + 457849.214856454 5439091.07128443 112.722593027506 + 457849.243430101 5439091.06624613 112.728781848971 + 457849.245414428 5439091.08892709 112.728781848971 + 457849.216399986 5439091.08892709 112.722593027506 + 457849.214856454 5439091.07128443 112.722593027506 + + + + + + + + + 457849.210272756 5439091.05417784 112.722593027506 + 457849.237537414 5439091.04425432 112.728781848971 + 457849.243430101 5439091.06624613 112.728781848971 + 457849.214856454 5439091.07128443 112.722593027506 + 457849.210272756 5439091.05417784 112.722593027506 + + + + + + + + + 457849.202788167 5439091.03812709 112.722593027506 + 457849.227915411 5439091.02361987 112.728781848971 + 457849.237537414 5439091.04425432 112.728781848971 + 457849.210272756 5439091.05417784 112.722593027506 + 457849.202788167 5439091.03812709 112.722593027506 + + + + + + + + + 457849.192630101 5439091.02361987 112.722593027506 + 457849.214856454 5439091.00496974 112.728781848971 + 457849.227915411 5439091.02361987 112.728781848971 + 457849.202788167 5439091.03812709 112.722593027506 + 457849.192630101 5439091.02361987 112.722593027506 + + + + + + + + + 457849.180107207 5439091.01109697 112.722593027506 + 457849.198757331 5439090.98887062 112.728781848971 + 457849.214856454 5439091.00496974 112.728781848971 + 457849.192630101 5439091.02361987 112.722593027506 + 457849.180107207 5439091.01109697 112.722593027506 + + + + + + + + + 457849.165599986 5439091.00093891 112.722593027506 + 457849.180107207 5439090.97581166 112.728781848971 + 457849.198757331 5439090.98887062 112.728781848971 + 457849.180107207 5439091.01109697 112.722593027506 + 457849.165599986 5439091.00093891 112.722593027506 + + + + + + + + + 457849.149549233 5439090.99345432 112.722593027506 + 457849.159472756 5439090.96618966 112.728781848971 + 457849.180107207 5439090.97581166 112.728781848971 + 457849.165599986 5439091.00093891 112.722593027506 + 457849.149549233 5439090.99345432 112.722593027506 + + + + + + + + + 457849.132442641 5439090.98887062 112.722593027506 + 457849.137480946 5439090.96029697 112.728781848971 + 457849.159472756 5439090.96618966 112.728781848971 + 457849.149549233 5439090.99345432 112.722593027506 + 457849.132442641 5439090.98887062 112.722593027506 + + + + + + + + + 457849.114799986 5439090.95831265 112.728781848971 + 457849.114799986 5439090.93326686 112.73641144696 + 457849.141830101 5439090.93563169 112.73641144696 + 457849.137480946 5439090.96029697 112.728781848971 + 457849.114799986 5439090.95831265 112.728781848971 + + + + + + + + + 457849.092119026 5439090.96029697 112.728781848971 + 457849.087769871 5439090.93563169 112.73641144696 + 457849.114799986 5439090.93326686 112.73641144696 + 457849.114799986 5439090.95831265 112.728781848971 + 457849.092119026 5439090.96029697 112.728781848971 + + + + + + + + + 457849.070127216 5439090.96618966 112.728781848971 + 457849.061561052 5439090.94265432 112.73641144696 + 457849.087769871 5439090.93563169 112.73641144696 + 457849.092119026 5439090.96029697 112.728781848971 + 457849.070127216 5439090.96618966 112.728781848971 + + + + + + + + + 457849.049492765 5439090.97581166 112.728781848971 + 457849.036969871 5439090.95412138 112.73641144696 + 457849.061561052 5439090.94265432 112.73641144696 + 457849.070127216 5439090.96618966 112.728781848971 + 457849.049492765 5439090.97581166 112.728781848971 + + + + + + + + + 457849.030842641 5439090.98887062 112.728781848971 + 457849.014743518 5439090.96968444 112.73641144696 + 457849.036969871 5439090.95412138 112.73641144696 + 457849.049492765 5439090.97581166 112.728781848971 + 457849.030842641 5439090.98887062 112.728781848971 + + + + + + + + + 457849.014743518 5439091.00496974 112.728781848971 + 457848.995557331 5439090.98887062 112.73641144696 + 457849.014743518 5439090.96968444 112.73641144696 + 457849.030842641 5439090.98887062 112.728781848971 + 457849.014743518 5439091.00496974 112.728781848971 + + + + + + + + + 457849.001684561 5439091.02361987 112.728781848971 + 457848.979994272 5439091.01109697 112.73641144696 + 457848.995557331 5439090.98887062 112.73641144696 + 457849.014743518 5439091.00496974 112.728781848971 + 457849.001684561 5439091.02361987 112.728781848971 + + + + + + + + + 457848.992062558 5439091.04425432 112.728781848971 + 457848.968527216 5439091.03568816 112.73641144696 + 457848.979994272 5439091.01109697 112.73641144696 + 457849.001684561 5439091.02361987 112.728781848971 + 457848.992062558 5439091.04425432 112.728781848971 + + + + + + + + + 457848.986169871 5439091.06624613 112.728781848971 + 457848.961504584 5439091.06189697 112.73641144696 + 457848.968527216 5439091.03568816 112.73641144696 + 457848.992062558 5439091.04425432 112.728781848971 + 457848.986169871 5439091.06624613 112.728781848971 + + + + + + + + + 457848.984185544 5439091.08892709 112.728781848971 + 457848.959139755 5439091.08892709 112.73641144696 + 457848.961504584 5439091.06189697 112.73641144696 + 457848.986169871 5439091.06624613 112.728781848971 + 457848.984185544 5439091.08892709 112.728781848971 + + + + + + + + + 457848.986169871 5439091.11160805 112.728781848971 + 457848.961504584 5439091.11595721 112.73641144696 + 457848.959139755 5439091.08892709 112.73641144696 + 457848.984185544 5439091.08892709 112.728781848971 + 457848.986169871 5439091.11160805 112.728781848971 + + + + + + + + + 457848.992062558 5439091.13359986 112.728781848971 + 457848.968527216 5439091.14216602 112.73641144696 + 457848.961504584 5439091.11595721 112.73641144696 + 457848.986169871 5439091.11160805 112.728781848971 + 457848.992062558 5439091.13359986 112.728781848971 + + + + + + + + + 457849.001684561 5439091.15423431 112.728781848971 + 457848.979994272 5439091.1667572 112.73641144696 + 457848.968527216 5439091.14216602 112.73641144696 + 457848.992062558 5439091.13359986 112.728781848971 + 457849.001684561 5439091.15423431 112.728781848971 + + + + + + + + + 457849.014743518 5439091.17288443 112.728781848971 + 457848.995557331 5439091.18898356 112.73641144696 + 457848.979994272 5439091.1667572 112.73641144696 + 457849.001684561 5439091.15423431 112.728781848971 + 457849.014743518 5439091.17288443 112.728781848971 + + + + + + + + + 457849.030842641 5439091.18898356 112.728781848971 + 457849.014743518 5439091.20816974 112.73641144696 + 457848.995557331 5439091.18898356 112.73641144696 + 457849.014743518 5439091.17288443 112.728781848971 + 457849.030842641 5439091.18898356 112.728781848971 + + + + + + + + + 457849.049492765 5439091.20204251 112.728781848971 + 457849.036969871 5439091.2237328 112.73641144696 + 457849.014743518 5439091.20816974 112.73641144696 + 457849.030842641 5439091.18898356 112.728781848971 + 457849.049492765 5439091.20204251 112.728781848971 + + + + + + + + + 457849.070127216 5439091.21166452 112.728781848971 + 457849.061561052 5439091.23519986 112.73641144696 + 457849.036969871 5439091.2237328 112.73641144696 + 457849.049492765 5439091.20204251 112.728781848971 + 457849.070127216 5439091.21166452 112.728781848971 + + + + + + + + + 457849.092119026 5439091.2175572 112.728781848971 + 457849.087769871 5439091.24222249 112.73641144696 + 457849.061561052 5439091.23519986 112.73641144696 + 457849.070127216 5439091.21166452 112.728781848971 + 457849.092119026 5439091.2175572 112.728781848971 + + + + + + + + + 457849.114799986 5439091.21954153 112.728781848971 + 457849.114799986 5439091.24458732 112.73641144696 + 457849.087769871 5439091.24222249 112.73641144696 + 457849.092119026 5439091.2175572 112.728781848971 + 457849.114799986 5439091.21954153 112.728781848971 + + + + + + + + + 457849.137480946 5439091.2175572 112.728781848971 + 457849.141830101 5439091.24222249 112.73641144696 + 457849.114799986 5439091.24458732 112.73641144696 + 457849.114799986 5439091.21954153 112.728781848971 + 457849.137480946 5439091.2175572 112.728781848971 + + + + + + + + + 457849.159472756 5439091.21166452 112.728781848971 + 457849.168038921 5439091.23519986 112.73641144696 + 457849.141830101 5439091.24222249 112.73641144696 + 457849.137480946 5439091.2175572 112.728781848971 + 457849.159472756 5439091.21166452 112.728781848971 + + + + + + + + + 457849.180107207 5439091.20204251 112.728781848971 + 457849.192630101 5439091.2237328 112.73641144696 + 457849.168038921 5439091.23519986 112.73641144696 + 457849.159472756 5439091.21166452 112.728781848971 + 457849.180107207 5439091.20204251 112.728781848971 + + + + + + + + + 457849.198757331 5439091.18898356 112.728781848971 + 457849.214856454 5439091.20816974 112.73641144696 + 457849.192630101 5439091.2237328 112.73641144696 + 457849.180107207 5439091.20204251 112.728781848971 + 457849.198757331 5439091.18898356 112.728781848971 + + + + + + + + + 457849.214856454 5439091.17288443 112.728781848971 + 457849.234042641 5439091.18898356 112.73641144696 + 457849.214856454 5439091.20816974 112.73641144696 + 457849.198757331 5439091.18898356 112.728781848971 + 457849.214856454 5439091.17288443 112.728781848971 + + + + + + + + + 457849.227915411 5439091.15423431 112.728781848971 + 457849.2496057 5439091.1667572 112.73641144696 + 457849.234042641 5439091.18898356 112.73641144696 + 457849.214856454 5439091.17288443 112.728781848971 + 457849.227915411 5439091.15423431 112.728781848971 + + + + + + + + + 457849.237537414 5439091.13359986 112.728781848971 + 457849.261072756 5439091.14216602 112.73641144696 + 457849.2496057 5439091.1667572 112.73641144696 + 457849.227915411 5439091.15423431 112.728781848971 + 457849.237537414 5439091.13359986 112.728781848971 + + + + + + + + + 457849.243430101 5439091.11160805 112.728781848971 + 457849.268095388 5439091.11595721 112.73641144696 + 457849.261072756 5439091.14216602 112.73641144696 + 457849.237537414 5439091.13359986 112.728781848971 + 457849.243430101 5439091.11160805 112.728781848971 + + + + + + + + + 457849.245414428 5439091.08892709 112.728781848971 + 457849.270460217 5439091.08892709 112.73641144696 + 457849.268095388 5439091.11595721 112.73641144696 + 457849.243430101 5439091.11160805 112.728781848971 + 457849.245414428 5439091.08892709 112.728781848971 + + + + + + + + + 457849.243430101 5439091.06624613 112.728781848971 + 457849.268095388 5439091.06189697 112.73641144696 + 457849.270460217 5439091.08892709 112.73641144696 + 457849.245414428 5439091.08892709 112.728781848971 + 457849.243430101 5439091.06624613 112.728781848971 + + + + + + + + + 457849.237537414 5439091.04425432 112.728781848971 + 457849.261072756 5439091.03568816 112.73641144696 + 457849.268095388 5439091.06189697 112.73641144696 + 457849.243430101 5439091.06624613 112.728781848971 + 457849.237537414 5439091.04425432 112.728781848971 + + + + + + + + + 457849.227915411 5439091.02361987 112.728781848971 + 457849.2496057 5439091.01109697 112.73641144696 + 457849.261072756 5439091.03568816 112.73641144696 + 457849.237537414 5439091.04425432 112.728781848971 + 457849.227915411 5439091.02361987 112.728781848971 + + + + + + + + + 457849.214856454 5439091.00496974 112.728781848971 + 457849.234042641 5439090.98887062 112.73641144696 + 457849.2496057 5439091.01109697 112.73641144696 + 457849.227915411 5439091.02361987 112.728781848971 + 457849.214856454 5439091.00496974 112.728781848971 + + + + + + + + + 457849.198757331 5439090.98887062 112.728781848971 + 457849.214856454 5439090.96968444 112.73641144696 + 457849.234042641 5439090.98887062 112.73641144696 + 457849.214856454 5439091.00496974 112.728781848971 + 457849.198757331 5439090.98887062 112.728781848971 + + + + + + + + + 457849.180107207 5439090.97581166 112.728781848971 + 457849.192630101 5439090.95412138 112.73641144696 + 457849.214856454 5439090.96968444 112.73641144696 + 457849.198757331 5439090.98887062 112.728781848971 + 457849.180107207 5439090.97581166 112.728781848971 + + + + + + + + + 457849.159472756 5439090.96618966 112.728781848971 + 457849.168038921 5439090.94265432 112.73641144696 + 457849.192630101 5439090.95412138 112.73641144696 + 457849.180107207 5439090.97581166 112.728781848971 + 457849.159472756 5439090.96618966 112.728781848971 + + + + + + + + + 457849.137480946 5439090.96029697 112.728781848971 + 457849.141830101 5439090.93563169 112.73641144696 + 457849.168038921 5439090.94265432 112.73641144696 + 457849.159472756 5439090.96618966 112.728781848971 + 457849.137480946 5439090.96029697 112.728781848971 + + + + + + + + + 457849.114799986 5439090.93326686 112.73641144696 + 457849.114799986 5439090.91295073 112.74525 + 457849.145357961 5439090.9156242 112.74525 + 457849.141830101 5439090.93563169 112.73641144696 + 457849.114799986 5439090.93326686 112.73641144696 + + + + + + + + + 457849.087769871 5439090.93563169 112.73641144696 + 457849.084242011 5439090.9156242 112.74525 + 457849.114799986 5439090.91295073 112.74525 + 457849.114799986 5439090.93326686 112.73641144696 + 457849.087769871 5439090.93563169 112.73641144696 + + + + + + + + + 457849.061561052 5439090.94265432 112.73641144696 + 457849.054612526 5439090.9235634 112.74525 + 457849.084242011 5439090.9156242 112.74525 + 457849.087769871 5439090.93563169 112.73641144696 + 457849.061561052 5439090.94265432 112.73641144696 + + + + + + + + + 457849.036969871 5439090.95412138 112.73641144696 + 457849.026811805 5439090.93652709 112.74525 + 457849.054612526 5439090.9235634 112.74525 + 457849.061561052 5439090.94265432 112.73641144696 + 457849.036969871 5439090.95412138 112.73641144696 + + + + + + + + + 457849.014743518 5439090.96968444 112.73641144696 + 457849.001684561 5439090.95412138 112.74525 + 457849.026811805 5439090.93652709 112.74525 + 457849.036969871 5439090.95412138 112.73641144696 + 457849.014743518 5439090.96968444 112.73641144696 + + + + + + + + + 457848.995557331 5439090.98887062 112.73641144696 + 457848.979994272 5439090.97581166 112.74525 + 457849.001684561 5439090.95412138 112.74525 + 457849.014743518 5439090.96968444 112.73641144696 + 457848.995557331 5439090.98887062 112.73641144696 + + + + + + + + + 457848.979994272 5439091.01109697 112.73641144696 + 457848.962399986 5439091.00093891 112.74525 + 457848.979994272 5439090.97581166 112.74525 + 457848.995557331 5439090.98887062 112.73641144696 + 457848.979994272 5439091.01109697 112.73641144696 + + + + + + + + + 457848.968527216 5439091.03568816 112.73641144696 + 457848.949436297 5439091.02873963 112.74525 + 457848.962399986 5439091.00093891 112.74525 + 457848.979994272 5439091.01109697 112.73641144696 + 457848.968527216 5439091.03568816 112.73641144696 + + + + + + + + + 457848.961504584 5439091.06189697 112.73641144696 + 457848.9414971 5439091.05836912 112.74525 + 457848.949436297 5439091.02873963 112.74525 + 457848.968527216 5439091.03568816 112.73641144696 + 457848.961504584 5439091.06189697 112.73641144696 + + + + + + + + + 457848.959139755 5439091.08892709 112.73641144696 + 457848.938823624 5439091.08892709 112.74525 + 457848.9414971 5439091.05836912 112.74525 + 457848.961504584 5439091.06189697 112.73641144696 + 457848.959139755 5439091.08892709 112.73641144696 + + + + + + + + + 457848.961504584 5439091.11595721 112.73641144696 + 457848.9414971 5439091.11948506 112.74525 + 457848.938823624 5439091.08892709 112.74525 + 457848.959139755 5439091.08892709 112.73641144696 + 457848.961504584 5439091.11595721 112.73641144696 + + + + + + + + + 457848.968527216 5439091.14216602 112.73641144696 + 457848.949436297 5439091.14911455 112.74525 + 457848.9414971 5439091.11948506 112.74525 + 457848.961504584 5439091.11595721 112.73641144696 + 457848.968527216 5439091.14216602 112.73641144696 + + + + + + + + + 457848.979994272 5439091.1667572 112.73641144696 + 457848.962399986 5439091.17691527 112.74525 + 457848.949436297 5439091.14911455 112.74525 + 457848.968527216 5439091.14216602 112.73641144696 + 457848.979994272 5439091.1667572 112.73641144696 + + + + + + + + + 457848.995557331 5439091.18898356 112.73641144696 + 457848.979994272 5439091.20204251 112.74525 + 457848.962399986 5439091.17691527 112.74525 + 457848.979994272 5439091.1667572 112.73641144696 + 457848.995557331 5439091.18898356 112.73641144696 + + + + + + + + + 457849.014743518 5439091.20816974 112.73641144696 + 457849.001684561 5439091.2237328 112.74525 + 457848.979994272 5439091.20204251 112.74525 + 457848.995557331 5439091.18898356 112.73641144696 + 457849.014743518 5439091.20816974 112.73641144696 + + + + + + + + + 457849.036969871 5439091.2237328 112.73641144696 + 457849.026811805 5439091.24132709 112.74525 + 457849.001684561 5439091.2237328 112.74525 + 457849.014743518 5439091.20816974 112.73641144696 + 457849.036969871 5439091.2237328 112.73641144696 + + + + + + + + + 457849.061561052 5439091.23519986 112.73641144696 + 457849.054612526 5439091.25429078 112.74525 + 457849.026811805 5439091.24132709 112.74525 + 457849.036969871 5439091.2237328 112.73641144696 + 457849.061561052 5439091.23519986 112.73641144696 + + + + + + + + + 457849.087769871 5439091.24222249 112.73641144696 + 457849.084242011 5439091.26222998 112.74525 + 457849.054612526 5439091.25429078 112.74525 + 457849.061561052 5439091.23519986 112.73641144696 + 457849.087769871 5439091.24222249 112.73641144696 + + + + + + + + + 457849.114799986 5439091.24458732 112.73641144696 + 457849.114799986 5439091.26490345 112.74525 + 457849.084242011 5439091.26222998 112.74525 + 457849.087769871 5439091.24222249 112.73641144696 + 457849.114799986 5439091.24458732 112.73641144696 + + + + + + + + + 457849.141830101 5439091.24222249 112.73641144696 + 457849.145357961 5439091.26222998 112.74525 + 457849.114799986 5439091.26490345 112.74525 + 457849.114799986 5439091.24458732 112.73641144696 + 457849.141830101 5439091.24222249 112.73641144696 + + + + + + + + + 457849.168038921 5439091.23519986 112.73641144696 + 457849.174987447 5439091.25429078 112.74525 + 457849.145357961 5439091.26222998 112.74525 + 457849.141830101 5439091.24222249 112.73641144696 + 457849.168038921 5439091.23519986 112.73641144696 + + + + + + + + + 457849.192630101 5439091.2237328 112.73641144696 + 457849.202788167 5439091.24132709 112.74525 + 457849.174987447 5439091.25429078 112.74525 + 457849.168038921 5439091.23519986 112.73641144696 + 457849.192630101 5439091.2237328 112.73641144696 + + + + + + + + + 457849.214856454 5439091.20816974 112.73641144696 + 457849.227915411 5439091.2237328 112.74525 + 457849.202788167 5439091.24132709 112.74525 + 457849.192630101 5439091.2237328 112.73641144696 + 457849.214856454 5439091.20816974 112.73641144696 + + + + + + + + + 457849.234042641 5439091.18898356 112.73641144696 + 457849.2496057 5439091.20204251 112.74525 + 457849.227915411 5439091.2237328 112.74525 + 457849.214856454 5439091.20816974 112.73641144696 + 457849.234042641 5439091.18898356 112.73641144696 + + + + + + + + + 457849.2496057 5439091.1667572 112.73641144696 + 457849.267199986 5439091.17691527 112.74525 + 457849.2496057 5439091.20204251 112.74525 + 457849.234042641 5439091.18898356 112.73641144696 + 457849.2496057 5439091.1667572 112.73641144696 + + + + + + + + + 457849.261072756 5439091.14216602 112.73641144696 + 457849.280163675 5439091.14911455 112.74525 + 457849.267199986 5439091.17691527 112.74525 + 457849.2496057 5439091.1667572 112.73641144696 + 457849.261072756 5439091.14216602 112.73641144696 + + + + + + + + + 457849.268095388 5439091.11595721 112.73641144696 + 457849.288102872 5439091.11948506 112.74525 + 457849.280163675 5439091.14911455 112.74525 + 457849.261072756 5439091.14216602 112.73641144696 + 457849.268095388 5439091.11595721 112.73641144696 + + + + + + + + + 457849.270460217 5439091.08892709 112.73641144696 + 457849.290776348 5439091.08892709 112.74525 + 457849.288102872 5439091.11948506 112.74525 + 457849.268095388 5439091.11595721 112.73641144696 + 457849.270460217 5439091.08892709 112.73641144696 + + + + + + + + + 457849.268095388 5439091.06189697 112.73641144696 + 457849.288102872 5439091.05836912 112.74525 + 457849.290776348 5439091.08892709 112.74525 + 457849.270460217 5439091.08892709 112.73641144696 + 457849.268095388 5439091.06189697 112.73641144696 + + + + + + + + + 457849.261072756 5439091.03568816 112.73641144696 + 457849.280163675 5439091.02873963 112.74525 + 457849.288102872 5439091.05836912 112.74525 + 457849.268095388 5439091.06189697 112.73641144696 + 457849.261072756 5439091.03568816 112.73641144696 + + + + + + + + + 457849.2496057 5439091.01109697 112.73641144696 + 457849.267199986 5439091.00093891 112.74525 + 457849.280163675 5439091.02873963 112.74525 + 457849.261072756 5439091.03568816 112.73641144696 + 457849.2496057 5439091.01109697 112.73641144696 + + + + + + + + + 457849.234042641 5439090.98887062 112.73641144696 + 457849.2496057 5439090.97581166 112.74525 + 457849.267199986 5439091.00093891 112.74525 + 457849.2496057 5439091.01109697 112.73641144696 + 457849.234042641 5439090.98887062 112.73641144696 + + + + + + + + + 457849.214856454 5439090.96968444 112.73641144696 + 457849.227915411 5439090.95412138 112.74525 + 457849.2496057 5439090.97581166 112.74525 + 457849.234042641 5439090.98887062 112.73641144696 + 457849.214856454 5439090.96968444 112.73641144696 + + + + + + + + + 457849.192630101 5439090.95412138 112.73641144696 + 457849.202788167 5439090.93652709 112.74525 + 457849.227915411 5439090.95412138 112.74525 + 457849.214856454 5439090.96968444 112.73641144696 + 457849.192630101 5439090.95412138 112.73641144696 + + + + + + + + + 457849.168038921 5439090.94265432 112.73641144696 + 457849.174987447 5439090.9235634 112.74525 + 457849.202788167 5439090.93652709 112.74525 + 457849.192630101 5439090.95412138 112.73641144696 + 457849.168038921 5439090.94265432 112.73641144696 + + + + + + + + + 457849.141830101 5439090.93563169 112.73641144696 + 457849.145357961 5439090.9156242 112.74525 + 457849.174987447 5439090.9235634 112.74525 + 457849.168038921 5439090.94265432 112.73641144696 + 457849.141830101 5439090.93563169 112.73641144696 + + + + + + + + + 457849.114799986 5439090.91295073 112.74525 + 457849.114799986 5439090.89798155 112.755028953128 + 457849.147957331 5439090.90088244 112.755028953128 + 457849.145357961 5439090.9156242 112.74525 + 457849.114799986 5439090.91295073 112.74525 + + + + + + + + + 457849.084242011 5439090.9156242 112.74525 + 457849.081642641 5439090.90088244 112.755028953128 + 457849.114799986 5439090.89798155 112.755028953128 + 457849.114799986 5439090.91295073 112.74525 + 457849.084242011 5439090.9156242 112.74525 + + + + + + + + + 457849.054612526 5439090.9235634 112.74525 + 457849.049492765 5439090.90949697 112.755028953128 + 457849.081642641 5439090.90088244 112.755028953128 + 457849.084242011 5439090.9156242 112.74525 + 457849.054612526 5439090.9235634 112.74525 + + + + + + + + + 457849.026811805 5439090.93652709 112.74525 + 457849.019327216 5439090.9235634 112.755028953128 + 457849.049492765 5439090.90949697 112.755028953128 + 457849.054612526 5439090.9235634 112.74525 + 457849.026811805 5439090.93652709 112.74525 + + + + + + + + + 457849.001684561 5439090.95412138 112.74525 + 457848.992062558 5439090.94265432 112.755028953128 + 457849.019327216 5439090.9235634 112.755028953128 + 457849.026811805 5439090.93652709 112.74525 + 457849.001684561 5439090.95412138 112.74525 + + + + + + + + + 457848.979994272 5439090.97581166 112.74525 + 457848.968527216 5439090.96618966 112.755028953128 + 457848.992062558 5439090.94265432 112.755028953128 + 457849.001684561 5439090.95412138 112.74525 + 457848.979994272 5439090.97581166 112.74525 + + + + + + + + + 457848.962399986 5439091.00093891 112.74525 + 457848.949436297 5439090.99345432 112.755028953128 + 457848.968527216 5439090.96618966 112.755028953128 + 457848.979994272 5439090.97581166 112.74525 + 457848.962399986 5439091.00093891 112.74525 + + + + + + + + + 457848.949436297 5439091.02873963 112.74525 + 457848.935369871 5439091.02361987 112.755028953128 + 457848.949436297 5439090.99345432 112.755028953128 + 457848.962399986 5439091.00093891 112.74525 + 457848.949436297 5439091.02873963 112.74525 + + + + + + + + + 457848.9414971 5439091.05836912 112.74525 + 457848.926755337 5439091.05576974 112.755028953128 + 457848.935369871 5439091.02361987 112.755028953128 + 457848.949436297 5439091.02873963 112.74525 + 457848.9414971 5439091.05836912 112.74525 + + + + + + + + + 457848.938823624 5439091.08892709 112.74525 + 457848.923854446 5439091.08892709 112.755028953128 + 457848.926755337 5439091.05576974 112.755028953128 + 457848.9414971 5439091.05836912 112.74525 + 457848.938823624 5439091.08892709 112.74525 + + + + + + + + + 457848.9414971 5439091.11948506 112.74525 + 457848.926755337 5439091.12208444 112.755028953128 + 457848.923854446 5439091.08892709 112.755028953128 + 457848.938823624 5439091.08892709 112.74525 + 457848.9414971 5439091.11948506 112.74525 + + + + + + + + + 457848.949436297 5439091.14911455 112.74525 + 457848.935369871 5439091.15423431 112.755028953128 + 457848.926755337 5439091.12208444 112.755028953128 + 457848.9414971 5439091.11948506 112.74525 + 457848.949436297 5439091.14911455 112.74525 + + + + + + + + + 457848.962399986 5439091.17691527 112.74525 + 457848.949436297 5439091.18439986 112.755028953128 + 457848.935369871 5439091.15423431 112.755028953128 + 457848.949436297 5439091.14911455 112.74525 + 457848.962399986 5439091.17691527 112.74525 + + + + + + + + + 457848.979994272 5439091.20204251 112.74525 + 457848.968527216 5439091.21166452 112.755028953128 + 457848.949436297 5439091.18439986 112.755028953128 + 457848.962399986 5439091.17691527 112.74525 + 457848.979994272 5439091.20204251 112.74525 + + + + + + + + + 457849.001684561 5439091.2237328 112.74525 + 457848.992062558 5439091.23519986 112.755028953128 + 457848.968527216 5439091.21166452 112.755028953128 + 457848.979994272 5439091.20204251 112.74525 + 457849.001684561 5439091.2237328 112.74525 + + + + + + + + + 457849.026811805 5439091.24132709 112.74525 + 457849.019327216 5439091.25429078 112.755028953128 + 457848.992062558 5439091.23519986 112.755028953128 + 457849.001684561 5439091.2237328 112.74525 + 457849.026811805 5439091.24132709 112.74525 + + + + + + + + + 457849.054612526 5439091.25429078 112.74525 + 457849.049492765 5439091.26835721 112.755028953128 + 457849.019327216 5439091.25429078 112.755028953128 + 457849.026811805 5439091.24132709 112.74525 + 457849.054612526 5439091.25429078 112.74525 + + + + + + + + + 457849.084242011 5439091.26222998 112.74525 + 457849.081642641 5439091.27697174 112.755028953128 + 457849.049492765 5439091.26835721 112.755028953128 + 457849.054612526 5439091.25429078 112.74525 + 457849.084242011 5439091.26222998 112.74525 + + + + + + + + + 457849.114799986 5439091.26490345 112.74525 + 457849.114799986 5439091.27987263 112.755028953128 + 457849.081642641 5439091.27697174 112.755028953128 + 457849.084242011 5439091.26222998 112.74525 + 457849.114799986 5439091.26490345 112.74525 + + + + + + + + + 457849.145357961 5439091.26222998 112.74525 + 457849.147957331 5439091.27697174 112.755028953128 + 457849.114799986 5439091.27987263 112.755028953128 + 457849.114799986 5439091.26490345 112.74525 + 457849.145357961 5439091.26222998 112.74525 + + + + + + + + + 457849.174987447 5439091.25429078 112.74525 + 457849.180107207 5439091.26835721 112.755028953128 + 457849.147957331 5439091.27697174 112.755028953128 + 457849.145357961 5439091.26222998 112.74525 + 457849.174987447 5439091.25429078 112.74525 + + + + + + + + + 457849.202788167 5439091.24132709 112.74525 + 457849.210272756 5439091.25429078 112.755028953128 + 457849.180107207 5439091.26835721 112.755028953128 + 457849.174987447 5439091.25429078 112.74525 + 457849.202788167 5439091.24132709 112.74525 + + + + + + + + + 457849.227915411 5439091.2237328 112.74525 + 457849.237537414 5439091.23519986 112.755028953128 + 457849.210272756 5439091.25429078 112.755028953128 + 457849.202788167 5439091.24132709 112.74525 + 457849.227915411 5439091.2237328 112.74525 + + + + + + + + + 457849.2496057 5439091.20204251 112.74525 + 457849.261072756 5439091.21166452 112.755028953128 + 457849.237537414 5439091.23519986 112.755028953128 + 457849.227915411 5439091.2237328 112.74525 + 457849.2496057 5439091.20204251 112.74525 + + + + + + + + + 457849.267199986 5439091.17691527 112.74525 + 457849.280163675 5439091.18439986 112.755028953128 + 457849.261072756 5439091.21166452 112.755028953128 + 457849.2496057 5439091.20204251 112.74525 + 457849.267199986 5439091.17691527 112.74525 + + + + + + + + + 457849.280163675 5439091.14911455 112.74525 + 457849.294230102 5439091.15423431 112.755028953128 + 457849.280163675 5439091.18439986 112.755028953128 + 457849.267199986 5439091.17691527 112.74525 + 457849.280163675 5439091.14911455 112.74525 + + + + + + + + + 457849.288102872 5439091.11948506 112.74525 + 457849.302844635 5439091.12208444 112.755028953128 + 457849.294230102 5439091.15423431 112.755028953128 + 457849.280163675 5439091.14911455 112.74525 + 457849.288102872 5439091.11948506 112.74525 + + + + + + + + + 457849.290776348 5439091.08892709 112.74525 + 457849.305745527 5439091.08892709 112.755028953128 + 457849.302844635 5439091.12208444 112.755028953128 + 457849.288102872 5439091.11948506 112.74525 + 457849.290776348 5439091.08892709 112.74525 + + + + + + + + + 457849.288102872 5439091.05836912 112.74525 + 457849.302844635 5439091.05576974 112.755028953128 + 457849.305745527 5439091.08892709 112.755028953128 + 457849.290776348 5439091.08892709 112.74525 + 457849.288102872 5439091.05836912 112.74525 + + + + + + + + + 457849.280163675 5439091.02873963 112.74525 + 457849.294230102 5439091.02361987 112.755028953128 + 457849.302844635 5439091.05576974 112.755028953128 + 457849.288102872 5439091.05836912 112.74525 + 457849.280163675 5439091.02873963 112.74525 + + + + + + + + + 457849.267199986 5439091.00093891 112.74525 + 457849.280163675 5439090.99345432 112.755028953128 + 457849.294230102 5439091.02361987 112.755028953128 + 457849.280163675 5439091.02873963 112.74525 + 457849.267199986 5439091.00093891 112.74525 + + + + + + + + + 457849.2496057 5439090.97581166 112.74525 + 457849.261072756 5439090.96618966 112.755028953128 + 457849.280163675 5439090.99345432 112.755028953128 + 457849.267199986 5439091.00093891 112.74525 + 457849.2496057 5439090.97581166 112.74525 + + + + + + + + + 457849.227915411 5439090.95412138 112.74525 + 457849.237537414 5439090.94265432 112.755028953128 + 457849.261072756 5439090.96618966 112.755028953128 + 457849.2496057 5439090.97581166 112.74525 + 457849.227915411 5439090.95412138 112.74525 + + + + + + + + + 457849.202788167 5439090.93652709 112.74525 + 457849.210272756 5439090.9235634 112.755028953128 + 457849.237537414 5439090.94265432 112.755028953128 + 457849.227915411 5439090.95412138 112.74525 + 457849.202788167 5439090.93652709 112.74525 + + + + + + + + + 457849.174987447 5439090.9235634 112.74525 + 457849.180107207 5439090.90949697 112.755028953128 + 457849.210272756 5439090.9235634 112.755028953128 + 457849.202788167 5439090.93652709 112.74525 + 457849.174987447 5439090.9235634 112.74525 + + + + + + + + + 457849.145357961 5439090.9156242 112.74525 + 457849.147957331 5439090.90088244 112.755028953128 + 457849.180107207 5439090.90949697 112.755028953128 + 457849.174987447 5439090.9235634 112.74525 + 457849.145357961 5439090.9156242 112.74525 + + + + + + + + + 457849.114799986 5439090.89798155 112.755028953128 + 457849.114799986 5439090.88881415 112.765451177802 + 457849.149549233 5439090.89185432 112.765451177802 + 457849.147957331 5439090.90088244 112.755028953128 + 457849.114799986 5439090.89798155 112.755028953128 + + + + + + + + + 457849.081642641 5439090.90088244 112.755028953128 + 457849.08005074 5439090.89185432 112.765451177802 + 457849.114799986 5439090.88881415 112.765451177802 + 457849.114799986 5439090.89798155 112.755028953128 + 457849.081642641 5439090.90088244 112.755028953128 + + + + + + + + + 457849.049492765 5439090.90949697 112.755028953128 + 457849.046357331 5439090.90088244 112.765451177802 + 457849.08005074 5439090.89185432 112.765451177802 + 457849.081642641 5439090.90088244 112.755028953128 + 457849.049492765 5439090.90949697 112.755028953128 + + + + + + + + + 457849.019327216 5439090.9235634 112.755028953128 + 457849.014743518 5439090.9156242 112.765451177802 + 457849.046357331 5439090.90088244 112.765451177802 + 457849.049492765 5439090.90949697 112.755028953128 + 457849.019327216 5439090.9235634 112.755028953128 + + + + + + + + + 457848.992062558 5439090.94265432 112.755028953128 + 457848.986169871 5439090.93563169 112.765451177802 + 457849.014743518 5439090.9156242 112.765451177802 + 457849.019327216 5439090.9235634 112.755028953128 + 457848.992062558 5439090.94265432 112.755028953128 + + + + + + + + + 457848.968527216 5439090.96618966 112.755028953128 + 457848.961504584 5439090.96029697 112.765451177802 + 457848.986169871 5439090.93563169 112.765451177802 + 457848.992062558 5439090.94265432 112.755028953128 + 457848.968527216 5439090.96618966 112.755028953128 + + + + + + + + + 457848.949436297 5439090.99345432 112.755028953128 + 457848.9414971 5439090.98887062 112.765451177802 + 457848.961504584 5439090.96029697 112.765451177802 + 457848.968527216 5439090.96618966 112.755028953128 + 457848.949436297 5439090.99345432 112.755028953128 + + + + + + + + + 457848.935369871 5439091.02361987 112.755028953128 + 457848.926755337 5439091.02048443 112.765451177802 + 457848.9414971 5439090.98887062 112.765451177802 + 457848.949436297 5439090.99345432 112.755028953128 + 457848.935369871 5439091.02361987 112.755028953128 + + + + + + + + + 457848.926755337 5439091.05576974 112.755028953128 + 457848.917727216 5439091.05417784 112.765451177802 + 457848.926755337 5439091.02048443 112.765451177802 + 457848.935369871 5439091.02361987 112.755028953128 + 457848.926755337 5439091.05576974 112.755028953128 + + + + + + + + + 457848.923854446 5439091.08892709 112.755028953128 + 457848.914687051 5439091.08892709 112.765451177802 + 457848.917727216 5439091.05417784 112.765451177802 + 457848.926755337 5439091.05576974 112.755028953128 + 457848.923854446 5439091.08892709 112.755028953128 + + + + + + + + + 457848.926755337 5439091.12208444 112.755028953128 + 457848.917727216 5439091.12367634 112.765451177802 + 457848.914687051 5439091.08892709 112.765451177802 + 457848.923854446 5439091.08892709 112.755028953128 + 457848.926755337 5439091.12208444 112.755028953128 + + + + + + + + + 457848.935369871 5439091.15423431 112.755028953128 + 457848.926755337 5439091.15736974 112.765451177802 + 457848.917727216 5439091.12367634 112.765451177802 + 457848.926755337 5439091.12208444 112.755028953128 + 457848.935369871 5439091.15423431 112.755028953128 + + + + + + + + + 457848.949436297 5439091.18439986 112.755028953128 + 457848.9414971 5439091.18898356 112.765451177802 + 457848.926755337 5439091.15736974 112.765451177802 + 457848.935369871 5439091.15423431 112.755028953128 + 457848.949436297 5439091.18439986 112.755028953128 + + + + + + + + + 457848.968527216 5439091.21166452 112.755028953128 + 457848.961504584 5439091.2175572 112.765451177802 + 457848.9414971 5439091.18898356 112.765451177802 + 457848.949436297 5439091.18439986 112.755028953128 + 457848.968527216 5439091.21166452 112.755028953128 + + + + + + + + + 457848.992062558 5439091.23519986 112.755028953128 + 457848.986169871 5439091.24222249 112.765451177802 + 457848.961504584 5439091.2175572 112.765451177802 + 457848.968527216 5439091.21166452 112.755028953128 + 457848.992062558 5439091.23519986 112.755028953128 + + + + + + + + + 457849.019327216 5439091.25429078 112.755028953128 + 457849.014743518 5439091.26222998 112.765451177802 + 457848.986169871 5439091.24222249 112.765451177802 + 457848.992062558 5439091.23519986 112.755028953128 + 457849.019327216 5439091.25429078 112.755028953128 + + + + + + + + + 457849.049492765 5439091.26835721 112.755028953128 + 457849.046357331 5439091.27697174 112.765451177802 + 457849.014743518 5439091.26222998 112.765451177802 + 457849.019327216 5439091.25429078 112.755028953128 + 457849.049492765 5439091.26835721 112.755028953128 + + + + + + + + + 457849.081642641 5439091.27697174 112.755028953128 + 457849.08005074 5439091.28599986 112.765451177802 + 457849.046357331 5439091.27697174 112.765451177802 + 457849.049492765 5439091.26835721 112.755028953128 + 457849.081642641 5439091.27697174 112.755028953128 + + + + + + + + + 457849.114799986 5439091.27987263 112.755028953128 + 457849.114799986 5439091.28904003 112.765451177802 + 457849.08005074 5439091.28599986 112.765451177802 + 457849.081642641 5439091.27697174 112.755028953128 + 457849.114799986 5439091.27987263 112.755028953128 + + + + + + + + + 457849.147957331 5439091.27697174 112.755028953128 + 457849.149549233 5439091.28599986 112.765451177802 + 457849.114799986 5439091.28904003 112.765451177802 + 457849.114799986 5439091.27987263 112.755028953128 + 457849.147957331 5439091.27697174 112.755028953128 + + + + + + + + + 457849.180107207 5439091.26835721 112.755028953128 + 457849.183242641 5439091.27697174 112.765451177802 + 457849.149549233 5439091.28599986 112.765451177802 + 457849.147957331 5439091.27697174 112.755028953128 + 457849.180107207 5439091.26835721 112.755028953128 + + + + + + + + + 457849.210272756 5439091.25429078 112.755028953128 + 457849.214856454 5439091.26222998 112.765451177802 + 457849.183242641 5439091.27697174 112.765451177802 + 457849.180107207 5439091.26835721 112.755028953128 + 457849.210272756 5439091.25429078 112.755028953128 + + + + + + + + + 457849.237537414 5439091.23519986 112.755028953128 + 457849.243430101 5439091.24222249 112.765451177802 + 457849.214856454 5439091.26222998 112.765451177802 + 457849.210272756 5439091.25429078 112.755028953128 + 457849.237537414 5439091.23519986 112.755028953128 + + + + + + + + + 457849.261072756 5439091.21166452 112.755028953128 + 457849.268095388 5439091.2175572 112.765451177802 + 457849.243430101 5439091.24222249 112.765451177802 + 457849.237537414 5439091.23519986 112.755028953128 + 457849.261072756 5439091.21166452 112.755028953128 + + + + + + + + + 457849.280163675 5439091.18439986 112.755028953128 + 457849.288102872 5439091.18898356 112.765451177802 + 457849.268095388 5439091.2175572 112.765451177802 + 457849.261072756 5439091.21166452 112.755028953128 + 457849.280163675 5439091.18439986 112.755028953128 + + + + + + + + + 457849.294230102 5439091.15423431 112.755028953128 + 457849.302844635 5439091.15736974 112.765451177802 + 457849.288102872 5439091.18898356 112.765451177802 + 457849.280163675 5439091.18439986 112.755028953128 + 457849.294230102 5439091.15423431 112.755028953128 + + + + + + + + + 457849.305745527 5439091.08892709 112.755028953128 + 457849.314912921 5439091.08892709 112.765451177802 + 457849.311872756 5439091.12367634 112.765451177802 + 457849.302844635 5439091.12208444 112.755028953128 + 457849.305745527 5439091.08892709 112.755028953128 + + + + + + + + + 457849.302844635 5439091.05576974 112.755028953128 + 457849.311872756 5439091.05417784 112.765451177802 + 457849.314912921 5439091.08892709 112.765451177802 + 457849.305745527 5439091.08892709 112.755028953128 + 457849.302844635 5439091.05576974 112.755028953128 + + + + + + + + + 457849.294230102 5439091.02361987 112.755028953128 + 457849.302844635 5439091.02048443 112.765451177802 + 457849.311872756 5439091.05417784 112.765451177802 + 457849.302844635 5439091.05576974 112.755028953128 + 457849.294230102 5439091.02361987 112.755028953128 + + + + + + + + + 457849.280163675 5439090.99345432 112.755028953128 + 457849.288102872 5439090.98887062 112.765451177802 + 457849.302844635 5439091.02048443 112.765451177802 + 457849.294230102 5439091.02361987 112.755028953128 + 457849.280163675 5439090.99345432 112.755028953128 + + + + + + + + + 457849.261072756 5439090.96618966 112.755028953128 + 457849.268095388 5439090.96029697 112.765451177802 + 457849.288102872 5439090.98887062 112.765451177802 + 457849.280163675 5439090.99345432 112.755028953128 + 457849.261072756 5439090.96618966 112.755028953128 + + + + + + + + + 457849.237537414 5439090.94265432 112.755028953128 + 457849.243430101 5439090.93563169 112.765451177802 + 457849.268095388 5439090.96029697 112.765451177802 + 457849.261072756 5439090.96618966 112.755028953128 + 457849.237537414 5439090.94265432 112.755028953128 + + + + + + + + + 457849.210272756 5439090.9235634 112.755028953128 + 457849.214856454 5439090.9156242 112.765451177802 + 457849.243430101 5439090.93563169 112.765451177802 + 457849.237537414 5439090.94265432 112.755028953128 + 457849.210272756 5439090.9235634 112.755028953128 + + + + + + + + + 457849.180107207 5439090.90949697 112.755028953128 + 457849.183242641 5439090.90088244 112.765451177802 + 457849.214856454 5439090.9156242 112.765451177802 + 457849.210272756 5439090.9235634 112.755028953128 + 457849.180107207 5439090.90949697 112.755028953128 + + + + + + + + + 457849.147957331 5439090.90088244 112.755028953128 + 457849.149549233 5439090.89185432 112.765451177802 + 457849.183242641 5439090.90088244 112.765451177802 + 457849.180107207 5439090.90949697 112.755028953128 + 457849.147957331 5439090.90088244 112.755028953128 + + + + + + + + + 457849.114799986 5439090.88881415 112.765451177802 + 457849.114799986 5439090.88572709 112.7762 + 457849.150085296 5439090.88881415 112.7762 + 457849.149549233 5439090.89185432 112.765451177802 + 457849.114799986 5439090.88881415 112.765451177802 + + + + + + + + + 457849.08005074 5439090.89185432 112.765451177802 + 457849.079514676 5439090.88881415 112.7762 + 457849.114799986 5439090.88572709 112.7762 + 457849.114799986 5439090.88881415 112.765451177802 + 457849.08005074 5439090.89185432 112.765451177802 + + + + + + + + + 457849.046357331 5439090.90088244 112.765451177802 + 457849.045301493 5439090.89798155 112.7762 + 457849.079514676 5439090.88881415 112.7762 + 457849.08005074 5439090.89185432 112.765451177802 + 457849.046357331 5439090.90088244 112.765451177802 + + + + + + + + + 457849.014743518 5439090.9156242 112.765451177802 + 457849.013199986 5439090.91295073 112.7762 + 457849.045301493 5439090.89798155 112.7762 + 457849.046357331 5439090.90088244 112.765451177802 + 457849.014743518 5439090.9156242 112.765451177802 + + + + + + + + + 457848.986169871 5439090.93563169 112.765451177802 + 457848.984185544 5439090.93326686 112.7762 + 457849.013199986 5439090.91295073 112.7762 + 457849.014743518 5439090.9156242 112.765451177802 + 457848.986169871 5439090.93563169 112.765451177802 + + + + + + + + + 457848.961504584 5439090.96029697 112.765451177802 + 457848.959139755 5439090.95831265 112.7762 + 457848.984185544 5439090.93326686 112.7762 + 457848.986169871 5439090.93563169 112.765451177802 + 457848.961504584 5439090.96029697 112.765451177802 + + + + + + + + + 457848.9414971 5439090.98887062 112.765451177802 + 457848.938823624 5439090.98732709 112.7762 + 457848.959139755 5439090.95831265 112.7762 + 457848.961504584 5439090.96029697 112.765451177802 + 457848.9414971 5439090.98887062 112.765451177802 + + + + + + + + + 457848.926755337 5439091.02048443 112.765451177802 + 457848.923854446 5439091.0194286 112.7762 + 457848.938823624 5439090.98732709 112.7762 + 457848.9414971 5439090.98887062 112.765451177802 + 457848.926755337 5439091.02048443 112.765451177802 + + + + + + + + + 457848.917727216 5439091.05417784 112.765451177802 + 457848.914687051 5439091.05364178 112.7762 + 457848.923854446 5439091.0194286 112.7762 + 457848.926755337 5439091.02048443 112.765451177802 + 457848.917727216 5439091.05417784 112.765451177802 + + + + + + + + + 457848.914687051 5439091.08892709 112.765451177802 + 457848.911599986 5439091.08892709 112.7762 + 457848.914687051 5439091.05364178 112.7762 + 457848.917727216 5439091.05417784 112.765451177802 + 457848.914687051 5439091.08892709 112.765451177802 + + + + + + + + + 457848.917727216 5439091.12367634 112.765451177802 + 457848.914687051 5439091.1242124 112.7762 + 457848.911599986 5439091.08892709 112.7762 + 457848.914687051 5439091.08892709 112.765451177802 + 457848.917727216 5439091.12367634 112.765451177802 + + + + + + + + + 457848.926755337 5439091.15736974 112.765451177802 + 457848.923854446 5439091.15842558 112.7762 + 457848.914687051 5439091.1242124 112.7762 + 457848.917727216 5439091.12367634 112.765451177802 + 457848.926755337 5439091.15736974 112.765451177802 + + + + + + + + + 457848.9414971 5439091.18898356 112.765451177802 + 457848.938823624 5439091.19052709 112.7762 + 457848.923854446 5439091.15842558 112.7762 + 457848.926755337 5439091.15736974 112.765451177802 + 457848.9414971 5439091.18898356 112.765451177802 + + + + + + + + + 457848.961504584 5439091.2175572 112.765451177802 + 457848.959139755 5439091.21954153 112.7762 + 457848.938823624 5439091.19052709 112.7762 + 457848.9414971 5439091.18898356 112.765451177802 + 457848.961504584 5439091.2175572 112.765451177802 + + + + + + + + + 457848.986169871 5439091.24222249 112.765451177802 + 457848.984185544 5439091.24458732 112.7762 + 457848.959139755 5439091.21954153 112.7762 + 457848.961504584 5439091.2175572 112.765451177802 + 457848.986169871 5439091.24222249 112.765451177802 + + + + + + + + + 457849.014743518 5439091.26222998 112.765451177802 + 457849.013199986 5439091.26490345 112.7762 + 457848.984185544 5439091.24458732 112.7762 + 457848.986169871 5439091.24222249 112.765451177802 + 457849.014743518 5439091.26222998 112.765451177802 + + + + + + + + + 457849.046357331 5439091.27697174 112.765451177802 + 457849.045301493 5439091.27987263 112.7762 + 457849.013199986 5439091.26490345 112.7762 + 457849.014743518 5439091.26222998 112.765451177802 + 457849.046357331 5439091.27697174 112.765451177802 + + + + + + + + + 457849.08005074 5439091.28599986 112.765451177802 + 457849.079514676 5439091.28904003 112.7762 + 457849.045301493 5439091.27987263 112.7762 + 457849.046357331 5439091.27697174 112.765451177802 + 457849.08005074 5439091.28599986 112.765451177802 + + + + + + + + + 457849.114799986 5439091.28904003 112.765451177802 + 457849.114799986 5439091.29212709 112.7762 + 457849.079514676 5439091.28904003 112.7762 + 457849.08005074 5439091.28599986 112.765451177802 + 457849.114799986 5439091.28904003 112.765451177802 + + + + + + + + + 457849.149549233 5439091.28599986 112.765451177802 + 457849.150085296 5439091.28904003 112.7762 + 457849.114799986 5439091.29212709 112.7762 + 457849.114799986 5439091.28904003 112.765451177802 + 457849.149549233 5439091.28599986 112.765451177802 + + + + + + + + + 457849.183242641 5439091.27697174 112.765451177802 + 457849.184298479 5439091.27987263 112.7762 + 457849.150085296 5439091.28904003 112.7762 + 457849.149549233 5439091.28599986 112.765451177802 + 457849.183242641 5439091.27697174 112.765451177802 + + + + + + + + + 457849.214856454 5439091.26222998 112.765451177802 + 457849.216399986 5439091.26490345 112.7762 + 457849.184298479 5439091.27987263 112.7762 + 457849.183242641 5439091.27697174 112.765451177802 + 457849.214856454 5439091.26222998 112.765451177802 + + + + + + + + + 457849.243430101 5439091.24222249 112.765451177802 + 457849.245414428 5439091.24458732 112.7762 + 457849.216399986 5439091.26490345 112.7762 + 457849.214856454 5439091.26222998 112.765451177802 + 457849.243430101 5439091.24222249 112.765451177802 + + + + + + + + + 457849.268095388 5439091.2175572 112.765451177802 + 457849.270460217 5439091.21954153 112.7762 + 457849.245414428 5439091.24458732 112.7762 + 457849.243430101 5439091.24222249 112.765451177802 + 457849.268095388 5439091.2175572 112.765451177802 + + + + + + + + + 457849.288102872 5439091.18898356 112.765451177802 + 457849.290776348 5439091.19052709 112.7762 + 457849.270460217 5439091.21954153 112.7762 + 457849.268095388 5439091.2175572 112.765451177802 + 457849.288102872 5439091.18898356 112.765451177802 + + + + + + + + + 457849.302844635 5439091.15736974 112.765451177802 + 457849.305745527 5439091.15842558 112.7762 + 457849.290776348 5439091.19052709 112.7762 + 457849.288102872 5439091.18898356 112.765451177802 + 457849.302844635 5439091.15736974 112.765451177802 + + + + + + + + + 457849.311872756 5439091.12367634 112.765451177802 + 457849.314912921 5439091.1242124 112.7762 + 457849.305745527 5439091.15842558 112.7762 + 457849.302844635 5439091.15736974 112.765451177802 + 457849.311872756 5439091.12367634 112.765451177802 + + + + + + + + + 457849.314912921 5439091.08892709 112.765451177802 + 457849.317999986 5439091.08892709 112.7762 + 457849.314912921 5439091.1242124 112.7762 + 457849.311872756 5439091.12367634 112.765451177802 + 457849.314912921 5439091.08892709 112.765451177802 + + + + + + + + + 457849.311872756 5439091.05417784 112.765451177802 + 457849.314912921 5439091.05364178 112.7762 + 457849.317999986 5439091.08892709 112.7762 + 457849.314912921 5439091.08892709 112.765451177802 + 457849.311872756 5439091.05417784 112.765451177802 + + + + + + + + + 457849.302844635 5439091.02048443 112.765451177802 + 457849.305745527 5439091.0194286 112.7762 + 457849.314912921 5439091.05364178 112.7762 + 457849.311872756 5439091.05417784 112.765451177802 + 457849.302844635 5439091.02048443 112.765451177802 + + + + + + + + + 457849.288102872 5439090.98887062 112.765451177802 + 457849.290776348 5439090.98732709 112.7762 + 457849.305745527 5439091.0194286 112.7762 + 457849.302844635 5439091.02048443 112.765451177802 + 457849.288102872 5439090.98887062 112.765451177802 + + + + + + + + + 457849.268095388 5439090.96029697 112.765451177802 + 457849.270460217 5439090.95831265 112.7762 + 457849.290776348 5439090.98732709 112.7762 + 457849.288102872 5439090.98887062 112.765451177802 + 457849.268095388 5439090.96029697 112.765451177802 + + + + + + + + + 457849.243430101 5439090.93563169 112.765451177802 + 457849.245414428 5439090.93326686 112.7762 + 457849.270460217 5439090.95831265 112.7762 + 457849.268095388 5439090.96029697 112.765451177802 + 457849.243430101 5439090.93563169 112.765451177802 + + + + + + + + + 457849.214856454 5439090.9156242 112.765451177802 + 457849.216399986 5439090.91295073 112.7762 + 457849.245414428 5439090.93326686 112.7762 + 457849.243430101 5439090.93563169 112.765451177802 + 457849.214856454 5439090.9156242 112.765451177802 + + + + + + + + + 457849.183242641 5439090.90088244 112.765451177802 + 457849.184298479 5439090.89798155 112.7762 + 457849.216399986 5439090.91295073 112.7762 + 457849.214856454 5439090.9156242 112.765451177802 + 457849.183242641 5439090.90088244 112.765451177802 + + + + + + + + + 457849.149549233 5439090.89185432 112.765451177802 + 457849.150085296 5439090.88881415 112.7762 + 457849.184298479 5439090.89798155 112.7762 + 457849.183242641 5439090.90088244 112.765451177802 + 457849.149549233 5439090.89185432 112.765451177802 + + + + + + + + + 457849.114799986 5439090.88572709 112.8238 + 457849.114799986 5439090.88572709 112.7762 + 457849.079514676 5439090.88881415 112.7762 + 457849.079514676 5439090.88881415 112.8238 + 457849.114799986 5439090.88572709 112.8238 + + + + + + + + + 457849.150085296 5439090.88881415 112.8238 + 457849.150085296 5439090.88881415 112.7762 + 457849.114799986 5439090.88572709 112.7762 + 457849.114799986 5439090.88572709 112.8238 + 457849.150085296 5439090.88881415 112.8238 + + + + + + + + + 457849.184298479 5439090.89798155 112.8238 + 457849.184298479 5439090.89798155 112.7762 + 457849.150085296 5439090.88881415 112.7762 + 457849.150085296 5439090.88881415 112.8238 + 457849.184298479 5439090.89798155 112.8238 + + + + + + + + + 457849.216399986 5439090.91295073 112.8238 + 457849.216399986 5439090.91295073 112.7762 + 457849.184298479 5439090.89798155 112.7762 + 457849.184298479 5439090.89798155 112.8238 + 457849.216399986 5439090.91295073 112.8238 + + + + + + + + + 457849.245414428 5439090.93326686 112.8238 + 457849.245414428 5439090.93326686 112.7762 + 457849.216399986 5439090.91295073 112.7762 + 457849.216399986 5439090.91295073 112.8238 + 457849.245414428 5439090.93326686 112.8238 + + + + + + + + + 457849.270460217 5439090.95831265 112.8238 + 457849.270460217 5439090.95831265 112.7762 + 457849.245414428 5439090.93326686 112.7762 + 457849.245414428 5439090.93326686 112.8238 + 457849.270460217 5439090.95831265 112.8238 + + + + + + + + + 457849.290776348 5439090.98732709 112.8238 + 457849.290776348 5439090.98732709 112.7762 + 457849.270460217 5439090.95831265 112.7762 + 457849.270460217 5439090.95831265 112.8238 + 457849.290776348 5439090.98732709 112.8238 + + + + + + + + + 457849.305745527 5439091.0194286 112.8238 + 457849.305745527 5439091.0194286 112.7762 + 457849.290776348 5439090.98732709 112.7762 + 457849.290776348 5439090.98732709 112.8238 + 457849.305745527 5439091.0194286 112.8238 + + + + + + + + + 457849.314912921 5439091.05364178 112.8238 + 457849.314912921 5439091.05364178 112.7762 + 457849.305745527 5439091.0194286 112.7762 + 457849.305745527 5439091.0194286 112.8238 + 457849.314912921 5439091.05364178 112.8238 + + + + + + + + + 457849.317999986 5439091.08892709 112.8238 + 457849.317999986 5439091.08892709 112.7762 + 457849.314912921 5439091.05364178 112.7762 + 457849.314912921 5439091.05364178 112.8238 + 457849.317999986 5439091.08892709 112.8238 + + + + + + + + + 457849.314912921 5439091.1242124 112.8238 + 457849.314912921 5439091.1242124 112.7762 + 457849.317999986 5439091.08892709 112.7762 + 457849.317999986 5439091.08892709 112.8238 + 457849.314912921 5439091.1242124 112.8238 + + + + + + + + + 457849.305745527 5439091.15842558 112.8238 + 457849.305745527 5439091.15842558 112.7762 + 457849.314912921 5439091.1242124 112.7762 + 457849.314912921 5439091.1242124 112.8238 + 457849.305745527 5439091.15842558 112.8238 + + + + + + + + + 457849.290776348 5439091.19052709 112.8238 + 457849.290776348 5439091.19052709 112.7762 + 457849.305745527 5439091.15842558 112.7762 + 457849.305745527 5439091.15842558 112.8238 + 457849.290776348 5439091.19052709 112.8238 + + + + + + + + + 457849.270460217 5439091.21954153 112.8238 + 457849.270460217 5439091.21954153 112.7762 + 457849.290776348 5439091.19052709 112.7762 + 457849.290776348 5439091.19052709 112.8238 + 457849.270460217 5439091.21954153 112.8238 + + + + + + + + + 457849.245414428 5439091.24458732 112.8238 + 457849.245414428 5439091.24458732 112.7762 + 457849.270460217 5439091.21954153 112.7762 + 457849.270460217 5439091.21954153 112.8238 + 457849.245414428 5439091.24458732 112.8238 + + + + + + + + + 457849.216399986 5439091.26490345 112.8238 + 457849.216399986 5439091.26490345 112.7762 + 457849.245414428 5439091.24458732 112.7762 + 457849.245414428 5439091.24458732 112.8238 + 457849.216399986 5439091.26490345 112.8238 + + + + + + + + + 457849.184298479 5439091.27987263 112.8238 + 457849.184298479 5439091.27987263 112.7762 + 457849.216399986 5439091.26490345 112.7762 + 457849.216399986 5439091.26490345 112.8238 + 457849.184298479 5439091.27987263 112.8238 + + + + + + + + + 457849.150085296 5439091.28904003 112.8238 + 457849.150085296 5439091.28904003 112.7762 + 457849.184298479 5439091.27987263 112.7762 + 457849.184298479 5439091.27987263 112.8238 + 457849.150085296 5439091.28904003 112.8238 + + + + + + + + + 457849.114799986 5439091.29212709 112.8238 + 457849.114799986 5439091.29212709 112.7762 + 457849.150085296 5439091.28904003 112.7762 + 457849.150085296 5439091.28904003 112.8238 + 457849.114799986 5439091.29212709 112.8238 + + + + + + + + + 457849.079514676 5439091.28904003 112.8238 + 457849.079514676 5439091.28904003 112.7762 + 457849.114799986 5439091.29212709 112.7762 + 457849.114799986 5439091.29212709 112.8238 + 457849.079514676 5439091.28904003 112.8238 + + + + + + + + + 457849.045301493 5439091.27987263 112.8238 + 457849.045301493 5439091.27987263 112.7762 + 457849.079514676 5439091.28904003 112.7762 + 457849.079514676 5439091.28904003 112.8238 + 457849.045301493 5439091.27987263 112.8238 + + + + + + + + + 457849.013199986 5439091.26490345 112.8238 + 457849.013199986 5439091.26490345 112.7762 + 457849.045301493 5439091.27987263 112.7762 + 457849.045301493 5439091.27987263 112.8238 + 457849.013199986 5439091.26490345 112.8238 + + + + + + + + + 457848.984185544 5439091.24458732 112.8238 + 457848.984185544 5439091.24458732 112.7762 + 457849.013199986 5439091.26490345 112.7762 + 457849.013199986 5439091.26490345 112.8238 + 457848.984185544 5439091.24458732 112.8238 + + + + + + + + + 457848.959139755 5439091.21954153 112.8238 + 457848.959139755 5439091.21954153 112.7762 + 457848.984185544 5439091.24458732 112.7762 + 457848.984185544 5439091.24458732 112.8238 + 457848.959139755 5439091.21954153 112.8238 + + + + + + + + + 457848.923854446 5439091.15842558 112.8238 + 457848.923854446 5439091.15842558 112.7762 + 457848.938823624 5439091.19052709 112.7762 + 457848.938823624 5439091.19052709 112.8238 + 457848.923854446 5439091.15842558 112.8238 + + + + + + + + + 457848.914687051 5439091.1242124 112.8238 + 457848.914687051 5439091.1242124 112.7762 + 457848.923854446 5439091.15842558 112.7762 + 457848.923854446 5439091.15842558 112.8238 + 457848.914687051 5439091.1242124 112.8238 + + + + + + + + + 457848.911599986 5439091.08892709 112.8238 + 457848.911599986 5439091.08892709 112.7762 + 457848.914687051 5439091.1242124 112.7762 + 457848.914687051 5439091.1242124 112.8238 + 457848.911599986 5439091.08892709 112.8238 + + + + + + + + + 457848.914687051 5439091.05364178 112.8238 + 457848.914687051 5439091.05364178 112.7762 + 457848.911599986 5439091.08892709 112.7762 + 457848.911599986 5439091.08892709 112.8238 + 457848.914687051 5439091.05364178 112.8238 + + + + + + + + + 457848.923854446 5439091.0194286 112.8238 + 457848.923854446 5439091.0194286 112.7762 + 457848.914687051 5439091.05364178 112.7762 + 457848.914687051 5439091.05364178 112.8238 + 457848.923854446 5439091.0194286 112.8238 + + + + + + + + + 457848.938823624 5439090.98732709 112.8238 + 457848.938823624 5439090.98732709 112.7762 + 457848.923854446 5439091.0194286 112.7762 + 457848.923854446 5439091.0194286 112.8238 + 457848.938823624 5439090.98732709 112.8238 + + + + + + + + + 457848.959139755 5439090.95831265 112.8238 + 457848.959139755 5439090.95831265 112.7762 + 457848.938823624 5439090.98732709 112.7762 + 457848.938823624 5439090.98732709 112.8238 + 457848.959139755 5439090.95831265 112.8238 + + + + + + + + + 457848.984185544 5439090.93326686 112.8238 + 457848.984185544 5439090.93326686 112.7762 + 457848.959139755 5439090.95831265 112.7762 + 457848.959139755 5439090.95831265 112.8238 + 457848.984185544 5439090.93326686 112.8238 + + + + + + + + + 457849.013199986 5439090.91295073 112.8238 + 457849.013199986 5439090.91295073 112.7762 + 457848.984185544 5439090.93326686 112.7762 + 457848.984185544 5439090.93326686 112.8238 + 457849.013199986 5439090.91295073 112.8238 + + + + + + + + + 457849.045301493 5439090.89798155 112.8238 + 457849.045301493 5439090.89798155 112.7762 + 457849.013199986 5439090.91295073 112.7762 + 457849.013199986 5439090.91295073 112.8238 + 457849.045301493 5439090.89798155 112.8238 + + + + + + + + + 457849.079514676 5439090.88881415 112.8238 + 457849.079514676 5439090.88881415 112.7762 + 457849.045301493 5439090.89798155 112.7762 + 457849.045301493 5439090.89798155 112.8238 + 457849.079514676 5439090.88881415 112.8238 + + + + + + + + + 457849.330699986 5439091.16853004 112.903175 + 457849.327073181 5439091.17106956 112.903175 + 457849.323942457 5439091.17420028 112.903175 + 457849.321402941 5439091.17782709 112.903175 + 457849.319531793 5439091.18183978 112.903175 + 457849.318385869 5439091.18611643 112.903175 + 457849.317999986 5439091.19052709 112.903175 + 457849.318385869 5439091.19493775 112.903175 + 457849.319531793 5439091.1992144 112.903175 + 457849.321402941 5439091.20322709 112.903175 + 457849.323942457 5439091.20685389 112.903175 + 457849.327073181 5439091.20998462 112.903175 + 457849.330699986 5439091.21252413 112.903175 + 457849.334712674 5439091.21439528 112.903175 + 457849.338989322 5439091.21554121 112.903175 + 457849.343399986 5439091.21592709 112.903175 + 457849.34781065 5439091.21554121 112.903175 + 457849.352087298 5439091.21439528 112.903175 + 457849.356099986 5439091.21252413 112.903175 + 457849.359726791 5439091.20998462 112.903175 + 457849.362857515 5439091.20685389 112.903175 + 457849.365397031 5439091.20322709 112.903175 + 457849.367268179 5439091.1992144 112.903175 + 457849.368414103 5439091.19493775 112.903175 + 457849.368799986 5439091.19052709 112.903175 + 457849.368414103 5439091.18611643 112.903175 + 457849.367268179 5439091.18183978 112.903175 + 457849.365397031 5439091.17782709 112.903175 + 457849.362857515 5439091.17420028 112.903175 + 457849.359726791 5439091.17106956 112.903175 + 457849.356099986 5439091.16853004 112.903175 + 457849.352087298 5439091.1666589 112.903175 + 457849.34781065 5439091.16551297 112.903175 + 457849.343399986 5439091.16512709 112.903175 + 457849.338989322 5439091.16551297 112.903175 + 457849.334712674 5439091.1666589 112.903175 + 457849.330699986 5439091.16853004 112.903175 + + + + + + + + + 457849.338989322 5439091.16551297 112.903175 + 457849.343399986 5439091.16512709 112.903175 + 457849.343399986 5439091.16512709 112.953975 + 457849.338989322 5439091.16551297 112.953975 + 457849.338989322 5439091.16551297 112.903175 + + + + + + + + + 457849.34781065 5439091.16551297 112.903175 + 457849.352087298 5439091.1666589 112.903175 + 457849.352087298 5439091.1666589 112.953975 + 457849.34781065 5439091.16551297 112.953975 + 457849.34781065 5439091.16551297 112.903175 + + + + + + + + + 457849.352087298 5439091.1666589 112.903175 + 457849.356099986 5439091.16853004 112.903175 + 457849.356099986 5439091.16853004 112.953975 + 457849.352087298 5439091.1666589 112.953975 + 457849.352087298 5439091.1666589 112.903175 + + + + + + + + + 457849.356099986 5439091.16853004 112.903175 + 457849.359726791 5439091.17106956 112.903175 + 457849.359726791 5439091.17106956 112.953975 + 457849.356099986 5439091.16853004 112.953975 + 457849.356099986 5439091.16853004 112.903175 + + + + + + + + + 457849.359726791 5439091.17106956 112.903175 + 457849.362857515 5439091.17420028 112.903175 + 457849.362857515 5439091.17420028 112.953975 + 457849.359726791 5439091.17106956 112.953975 + 457849.359726791 5439091.17106956 112.903175 + + + + + + + + + 457849.362857515 5439091.17420028 112.903175 + 457849.365397031 5439091.17782709 112.903175 + 457849.365397031 5439091.17782709 112.953975 + 457849.362857515 5439091.17420028 112.953975 + 457849.362857515 5439091.17420028 112.903175 + + + + + + + + + 457849.365397031 5439091.17782709 112.903175 + 457849.367268179 5439091.18183978 112.903175 + 457849.367268179 5439091.18183978 112.953975 + 457849.365397031 5439091.17782709 112.953975 + 457849.365397031 5439091.17782709 112.903175 + + + + + + + + + 457849.367268179 5439091.18183978 112.903175 + 457849.368414103 5439091.18611643 112.903175 + 457849.368414103 5439091.18611643 112.953975 + 457849.367268179 5439091.18183978 112.953975 + 457849.367268179 5439091.18183978 112.903175 + + + + + + + + + 457849.368414103 5439091.18611643 112.903175 + 457849.368799986 5439091.19052709 112.903175 + 457849.368799986 5439091.19052709 112.953975 + 457849.368414103 5439091.18611643 112.953975 + 457849.368414103 5439091.18611643 112.903175 + + + + + + + + + 457849.368799986 5439091.19052709 112.903175 + 457849.368414103 5439091.19493775 112.903175 + 457849.368414103 5439091.19493775 112.953975 + 457849.368799986 5439091.19052709 112.953975 + 457849.368799986 5439091.19052709 112.903175 + + + + + + + + + 457849.368414103 5439091.19493775 112.903175 + 457849.367268179 5439091.1992144 112.903175 + 457849.367268179 5439091.1992144 112.953975 + 457849.368414103 5439091.19493775 112.953975 + 457849.368414103 5439091.19493775 112.903175 + + + + + + + + + 457849.367268179 5439091.1992144 112.903175 + 457849.365397031 5439091.20322709 112.903175 + 457849.365397031 5439091.20322709 112.953975 + 457849.367268179 5439091.1992144 112.953975 + 457849.367268179 5439091.1992144 112.903175 + + + + + + + + + 457849.365397031 5439091.20322709 112.903175 + 457849.362857515 5439091.20685389 112.903175 + 457849.362857515 5439091.20685389 112.953975 + 457849.365397031 5439091.20322709 112.953975 + 457849.365397031 5439091.20322709 112.903175 + + + + + + + + + 457849.362857515 5439091.20685389 112.903175 + 457849.359726791 5439091.20998462 112.903175 + 457849.359726791 5439091.20998462 112.953975 + 457849.362857515 5439091.20685389 112.953975 + 457849.362857515 5439091.20685389 112.903175 + + + + + + + + + 457849.359726791 5439091.20998462 112.903175 + 457849.356099986 5439091.21252413 112.903175 + 457849.356099986 5439091.21252413 112.953975 + 457849.359726791 5439091.20998462 112.953975 + 457849.359726791 5439091.20998462 112.903175 + + + + + + + + + 457849.356099986 5439091.21252413 112.903175 + 457849.352087298 5439091.21439528 112.903175 + 457849.352087298 5439091.21439528 112.953975 + 457849.356099986 5439091.21252413 112.953975 + 457849.356099986 5439091.21252413 112.903175 + + + + + + + + + 457849.352087298 5439091.21439528 112.903175 + 457849.34781065 5439091.21554121 112.903175 + 457849.34781065 5439091.21554121 112.953975 + 457849.352087298 5439091.21439528 112.953975 + 457849.352087298 5439091.21439528 112.903175 + + + + + + + + + 457849.34781065 5439091.21554121 112.903175 + 457849.343399986 5439091.21592709 112.903175 + 457849.343399986 5439091.21592709 112.953975 + 457849.34781065 5439091.21554121 112.953975 + 457849.34781065 5439091.21554121 112.903175 + + + + + + + + + 457849.343399986 5439091.21592709 112.903175 + 457849.338989322 5439091.21554121 112.903175 + 457849.338989322 5439091.21554121 112.953975 + 457849.343399986 5439091.21592709 112.953975 + 457849.343399986 5439091.21592709 112.903175 + + + + + + + + + 457849.338989322 5439091.21554121 112.903175 + 457849.334712674 5439091.21439528 112.903175 + 457849.334712674 5439091.21439528 112.953975 + 457849.338989322 5439091.21554121 112.953975 + 457849.338989322 5439091.21554121 112.903175 + + + + + + + + + 457849.334712674 5439091.21439528 112.903175 + 457849.330699986 5439091.21252413 112.903175 + 457849.330699986 5439091.21252413 112.953975 + 457849.334712674 5439091.21439528 112.953975 + 457849.334712674 5439091.21439528 112.903175 + + + + + + + + + 457849.330699986 5439091.21252413 112.903175 + 457849.327073181 5439091.20998462 112.903175 + 457849.327073181 5439091.20998462 112.953975 + 457849.330699986 5439091.21252413 112.953975 + 457849.330699986 5439091.21252413 112.903175 + + + + + + + + + 457849.327073181 5439091.20998462 112.903175 + 457849.323942457 5439091.20685389 112.903175 + 457849.323942457 5439091.20685389 112.953975 + 457849.327073181 5439091.20998462 112.953975 + 457849.327073181 5439091.20998462 112.903175 + + + + + + + + + 457849.323942457 5439091.20685389 112.903175 + 457849.321402941 5439091.20322709 112.903175 + 457849.321402941 5439091.20322709 112.953975 + 457849.323942457 5439091.20685389 112.953975 + 457849.323942457 5439091.20685389 112.903175 + + + + + + + + + 457849.321402941 5439091.20322709 112.903175 + 457849.319531793 5439091.1992144 112.903175 + 457849.319531793 5439091.1992144 112.953975 + 457849.321402941 5439091.20322709 112.953975 + 457849.321402941 5439091.20322709 112.903175 + + + + + + + + + 457849.319531793 5439091.1992144 112.903175 + 457849.318385869 5439091.19493775 112.903175 + 457849.318385869 5439091.19493775 112.953975 + 457849.319531793 5439091.1992144 112.953975 + 457849.319531793 5439091.1992144 112.903175 + + + + + + + + + 457849.318385869 5439091.19493775 112.903175 + 457849.317999986 5439091.19052709 112.903175 + 457849.317999986 5439091.19052709 112.953975 + 457849.318385869 5439091.19493775 112.953975 + 457849.318385869 5439091.19493775 112.903175 + + + + + + + + + 457849.317999986 5439091.19052709 112.903175 + 457849.318385869 5439091.18611643 112.903175 + 457849.318385869 5439091.18611643 112.953975 + 457849.317999986 5439091.19052709 112.953975 + 457849.317999986 5439091.19052709 112.903175 + + + + + + + + + 457849.318385869 5439091.18611643 112.903175 + 457849.319531793 5439091.18183978 112.903175 + 457849.319531793 5439091.18183978 112.953975 + 457849.318385869 5439091.18611643 112.953975 + 457849.318385869 5439091.18611643 112.903175 + + + + + + + + + 457849.319531793 5439091.18183978 112.903175 + 457849.321402941 5439091.17782709 112.903175 + 457849.321402941 5439091.17782709 112.953975 + 457849.319531793 5439091.18183978 112.953975 + 457849.319531793 5439091.18183978 112.903175 + + + + + + + + + 457849.321402941 5439091.17782709 112.903175 + 457849.323942457 5439091.17420028 112.903175 + 457849.323942457 5439091.17420028 112.953975 + 457849.321402941 5439091.17782709 112.953975 + 457849.321402941 5439091.17782709 112.903175 + + + + + + + + + 457849.323942457 5439091.17420028 112.903175 + 457849.327073181 5439091.17106956 112.903175 + 457849.327073181 5439091.17106956 112.953975 + 457849.323942457 5439091.17420028 112.953975 + 457849.323942457 5439091.17420028 112.903175 + + + + + + + + + 457849.327073181 5439091.17106956 112.903175 + 457849.330699986 5439091.16853004 112.903175 + 457849.330699986 5439091.16853004 112.953975 + 457849.327073181 5439091.17106956 112.953975 + 457849.327073181 5439091.17106956 112.903175 + + + + + + + + + 457849.330699986 5439091.16853004 112.903175 + 457849.334712674 5439091.1666589 112.903175 + 457849.334712674 5439091.1666589 112.953975 + 457849.330699986 5439091.16853004 112.953975 + 457849.330699986 5439091.16853004 112.903175 + + + + + + + + + 457849.334712674 5439091.1666589 112.903175 + 457849.338989322 5439091.16551297 112.903175 + 457849.338989322 5439091.16551297 112.953975 + 457849.334712674 5439091.1666589 112.953975 + 457849.334712674 5439091.1666589 112.903175 + + + + + + + + + 457849.319531793 5439090.9960144 112.903175 + 457849.321402941 5439091.00002709 112.903175 + 457849.323942457 5439091.0036539 112.903175 + 457849.327073181 5439091.00678462 112.903175 + 457849.330699986 5439091.00932414 112.903175 + 457849.334712674 5439091.01119528 112.903175 + 457849.338989322 5439091.01234121 112.903175 + 457849.343399986 5439091.01272709 112.903175 + 457849.34781065 5439091.01234121 112.903175 + 457849.352087298 5439091.01119528 112.903175 + 457849.356099986 5439091.00932414 112.903175 + 457849.359726791 5439091.00678462 112.903175 + 457849.362857515 5439091.0036539 112.903175 + 457849.365397031 5439091.00002709 112.903175 + 457849.367268179 5439090.9960144 112.903175 + 457849.368414103 5439090.99173775 112.903175 + 457849.368799986 5439090.98732709 112.903175 + 457849.368414103 5439090.98291643 112.903175 + 457849.367268179 5439090.97863978 112.903175 + 457849.365397031 5439090.97462709 112.903175 + 457849.362857515 5439090.97100028 112.903175 + 457849.359726791 5439090.96786956 112.903175 + 457849.356099986 5439090.96533004 112.903175 + 457849.352087298 5439090.9634589 112.903175 + 457849.34781065 5439090.96231297 112.903175 + 457849.343399986 5439090.96192709 112.903175 + 457849.338989322 5439090.96231297 112.903175 + 457849.334712674 5439090.9634589 112.903175 + 457849.330699986 5439090.96533004 112.903175 + 457849.327073181 5439090.96786956 112.903175 + 457849.323942457 5439090.97100028 112.903175 + 457849.321402941 5439090.97462709 112.903175 + 457849.319531793 5439090.97863978 112.903175 + 457849.318385869 5439090.98291643 112.903175 + 457849.317999986 5439090.98732709 112.903175 + 457849.318385869 5439090.99173775 112.903175 + 457849.319531793 5439090.9960144 112.903175 + + + + + + + + + 457849.323942457 5439090.97100028 112.953975 + 457849.327073181 5439090.96786956 112.953975 + 457849.330699986 5439090.96533004 112.953975 + 457849.334712674 5439090.9634589 112.953975 + 457849.338989322 5439090.96231297 112.953975 + 457849.343399986 5439090.96192709 112.953975 + 457849.34781065 5439090.96231297 112.953975 + 457849.352087298 5439090.9634589 112.953975 + 457849.356099986 5439090.96533004 112.953975 + 457849.359726791 5439090.96786956 112.953975 + 457849.362857515 5439090.97100028 112.953975 + 457849.365397031 5439090.97462709 112.953975 + 457849.367268179 5439090.97863978 112.953975 + 457849.368414103 5439090.98291643 112.953975 + 457849.368799986 5439090.98732709 112.953975 + 457849.368414103 5439090.99173775 112.953975 + 457849.367268179 5439090.9960144 112.953975 + 457849.365397031 5439091.00002709 112.953975 + 457849.362857515 5439091.0036539 112.953975 + 457849.359726791 5439091.00678462 112.953975 + 457849.356099986 5439091.00932414 112.953975 + 457849.352087298 5439091.01119528 112.953975 + 457849.34781065 5439091.01234121 112.953975 + 457849.343399986 5439091.01272709 112.953975 + 457849.338989322 5439091.01234121 112.953975 + 457849.334712674 5439091.01119528 112.953975 + 457849.330699986 5439091.00932414 112.953975 + 457849.327073181 5439091.00678462 112.953975 + 457849.323942457 5439091.0036539 112.953975 + 457849.321402941 5439091.00002709 112.953975 + 457849.319531793 5439090.9960144 112.953975 + 457849.318385869 5439090.99173775 112.953975 + 457849.317999986 5439090.98732709 112.953975 + 457849.318385869 5439090.98291643 112.953975 + 457849.319531793 5439090.97863978 112.953975 + 457849.321402941 5439090.97462709 112.953975 + 457849.323942457 5439090.97100028 112.953975 + + + + + + + + + 457849.338989322 5439090.96231297 112.903175 + 457849.343399986 5439090.96192709 112.903175 + 457849.343399986 5439090.96192709 112.953975 + 457849.338989322 5439090.96231297 112.953975 + 457849.338989322 5439090.96231297 112.903175 + + + + + + + + + 457849.343399986 5439090.96192709 112.903175 + 457849.34781065 5439090.96231297 112.903175 + 457849.34781065 5439090.96231297 112.953975 + 457849.343399986 5439090.96192709 112.953975 + 457849.343399986 5439090.96192709 112.903175 + + + + + + + + + 457849.34781065 5439090.96231297 112.903175 + 457849.352087298 5439090.9634589 112.903175 + 457849.352087298 5439090.9634589 112.953975 + 457849.34781065 5439090.96231297 112.953975 + 457849.34781065 5439090.96231297 112.903175 + + + + + + + + + 457849.352087298 5439090.9634589 112.903175 + 457849.356099986 5439090.96533004 112.903175 + 457849.356099986 5439090.96533004 112.953975 + 457849.352087298 5439090.9634589 112.953975 + 457849.352087298 5439090.9634589 112.903175 + + + + + + + + + 457849.356099986 5439090.96533004 112.903175 + 457849.359726791 5439090.96786956 112.903175 + 457849.359726791 5439090.96786956 112.953975 + 457849.356099986 5439090.96533004 112.953975 + 457849.356099986 5439090.96533004 112.903175 + + + + + + + + + 457849.359726791 5439090.96786956 112.903175 + 457849.362857515 5439090.97100028 112.903175 + 457849.362857515 5439090.97100028 112.953975 + 457849.359726791 5439090.96786956 112.953975 + 457849.359726791 5439090.96786956 112.903175 + + + + + + + + + 457849.362857515 5439090.97100028 112.903175 + 457849.365397031 5439090.97462709 112.903175 + 457849.365397031 5439090.97462709 112.953975 + 457849.362857515 5439090.97100028 112.953975 + 457849.362857515 5439090.97100028 112.903175 + + + + + + + + + 457849.365397031 5439090.97462709 112.903175 + 457849.367268179 5439090.97863978 112.903175 + 457849.367268179 5439090.97863978 112.953975 + 457849.365397031 5439090.97462709 112.953975 + 457849.365397031 5439090.97462709 112.903175 + + + + + + + + + 457849.367268179 5439090.97863978 112.903175 + 457849.368414103 5439090.98291643 112.903175 + 457849.368414103 5439090.98291643 112.953975 + 457849.367268179 5439090.97863978 112.953975 + 457849.367268179 5439090.97863978 112.903175 + + + + + + + + + 457849.368414103 5439090.98291643 112.903175 + 457849.368799986 5439090.98732709 112.903175 + 457849.368799986 5439090.98732709 112.953975 + 457849.368414103 5439090.98291643 112.953975 + 457849.368414103 5439090.98291643 112.903175 + + + + + + + + + 457849.368799986 5439090.98732709 112.903175 + 457849.368414103 5439090.99173775 112.903175 + 457849.368414103 5439090.99173775 112.953975 + 457849.368799986 5439090.98732709 112.953975 + 457849.368799986 5439090.98732709 112.903175 + + + + + + + + + 457849.368414103 5439090.99173775 112.903175 + 457849.367268179 5439090.9960144 112.903175 + 457849.367268179 5439090.9960144 112.953975 + 457849.368414103 5439090.99173775 112.953975 + 457849.368414103 5439090.99173775 112.903175 + + + + + + + + + 457849.367268179 5439090.9960144 112.903175 + 457849.365397031 5439091.00002709 112.903175 + 457849.365397031 5439091.00002709 112.953975 + 457849.367268179 5439090.9960144 112.953975 + 457849.367268179 5439090.9960144 112.903175 + + + + + + + + + 457849.365397031 5439091.00002709 112.903175 + 457849.362857515 5439091.0036539 112.903175 + 457849.362857515 5439091.0036539 112.953975 + 457849.365397031 5439091.00002709 112.953975 + 457849.365397031 5439091.00002709 112.903175 + + + + + + + + + 457849.362857515 5439091.0036539 112.903175 + 457849.359726791 5439091.00678462 112.903175 + 457849.359726791 5439091.00678462 112.953975 + 457849.362857515 5439091.0036539 112.953975 + 457849.362857515 5439091.0036539 112.903175 + + + + + + + + + 457849.359726791 5439091.00678462 112.903175 + 457849.356099986 5439091.00932414 112.903175 + 457849.356099986 5439091.00932414 112.953975 + 457849.359726791 5439091.00678462 112.953975 + 457849.359726791 5439091.00678462 112.903175 + + + + + + + + + 457849.356099986 5439091.00932414 112.903175 + 457849.352087298 5439091.01119528 112.903175 + 457849.352087298 5439091.01119528 112.953975 + 457849.356099986 5439091.00932414 112.953975 + 457849.356099986 5439091.00932414 112.903175 + + + + + + + + + 457849.352087298 5439091.01119528 112.903175 + 457849.34781065 5439091.01234121 112.903175 + 457849.34781065 5439091.01234121 112.953975 + 457849.352087298 5439091.01119528 112.953975 + 457849.352087298 5439091.01119528 112.903175 + + + + + + + + + 457849.34781065 5439091.01234121 112.903175 + 457849.343399986 5439091.01272709 112.903175 + 457849.343399986 5439091.01272709 112.953975 + 457849.34781065 5439091.01234121 112.953975 + 457849.34781065 5439091.01234121 112.903175 + + + + + + + + + 457849.343399986 5439091.01272709 112.903175 + 457849.338989322 5439091.01234121 112.903175 + 457849.338989322 5439091.01234121 112.953975 + 457849.343399986 5439091.01272709 112.953975 + 457849.343399986 5439091.01272709 112.903175 + + + + + + + + + 457849.338989322 5439091.01234121 112.903175 + 457849.334712674 5439091.01119528 112.903175 + 457849.334712674 5439091.01119528 112.953975 + 457849.338989322 5439091.01234121 112.953975 + 457849.338989322 5439091.01234121 112.903175 + + + + + + + + + 457849.334712674 5439091.01119528 112.903175 + 457849.330699986 5439091.00932414 112.903175 + 457849.330699986 5439091.00932414 112.953975 + 457849.334712674 5439091.01119528 112.953975 + 457849.334712674 5439091.01119528 112.903175 + + + + + + + + + 457849.330699986 5439091.00932414 112.903175 + 457849.327073181 5439091.00678462 112.903175 + 457849.327073181 5439091.00678462 112.953975 + 457849.330699986 5439091.00932414 112.953975 + 457849.330699986 5439091.00932414 112.903175 + + + + + + + + + 457849.327073181 5439091.00678462 112.903175 + 457849.323942457 5439091.0036539 112.903175 + 457849.323942457 5439091.0036539 112.953975 + 457849.327073181 5439091.00678462 112.953975 + 457849.327073181 5439091.00678462 112.903175 + + + + + + + + + 457849.323942457 5439091.0036539 112.903175 + 457849.321402941 5439091.00002709 112.903175 + 457849.321402941 5439091.00002709 112.953975 + 457849.323942457 5439091.0036539 112.953975 + 457849.323942457 5439091.0036539 112.903175 + + + + + + + + + 457849.321402941 5439091.00002709 112.903175 + 457849.319531793 5439090.9960144 112.903175 + 457849.319531793 5439090.9960144 112.953975 + 457849.321402941 5439091.00002709 112.953975 + 457849.321402941 5439091.00002709 112.903175 + + + + + + + + + 457849.319531793 5439090.9960144 112.903175 + 457849.318385869 5439090.99173775 112.903175 + 457849.318385869 5439090.99173775 112.953975 + 457849.319531793 5439090.9960144 112.953975 + 457849.319531793 5439090.9960144 112.903175 + + + + + + + + + 457849.318385869 5439090.99173775 112.903175 + 457849.317999986 5439090.98732709 112.903175 + 457849.317999986 5439090.98732709 112.953975 + 457849.318385869 5439090.99173775 112.953975 + 457849.318385869 5439090.99173775 112.903175 + + + + + + + + + 457849.317999986 5439090.98732709 112.903175 + 457849.318385869 5439090.98291643 112.903175 + 457849.318385869 5439090.98291643 112.953975 + 457849.317999986 5439090.98732709 112.953975 + 457849.317999986 5439090.98732709 112.903175 + + + + + + + + + 457849.318385869 5439090.98291643 112.903175 + 457849.319531793 5439090.97863978 112.903175 + 457849.319531793 5439090.97863978 112.953975 + 457849.318385869 5439090.98291643 112.953975 + 457849.318385869 5439090.98291643 112.903175 + + + + + + + + + 457849.319531793 5439090.97863978 112.903175 + 457849.321402941 5439090.97462709 112.903175 + 457849.321402941 5439090.97462709 112.953975 + 457849.319531793 5439090.97863978 112.953975 + 457849.319531793 5439090.97863978 112.903175 + + + + + + + + + 457849.321402941 5439090.97462709 112.903175 + 457849.323942457 5439090.97100028 112.903175 + 457849.323942457 5439090.97100028 112.953975 + 457849.321402941 5439090.97462709 112.953975 + 457849.321402941 5439090.97462709 112.903175 + + + + + + + + + 457849.323942457 5439090.97100028 112.903175 + 457849.327073181 5439090.96786956 112.903175 + 457849.327073181 5439090.96786956 112.953975 + 457849.323942457 5439090.97100028 112.953975 + 457849.323942457 5439090.97100028 112.903175 + + + + + + + + + 457849.327073181 5439090.96786956 112.903175 + 457849.330699986 5439090.96533004 112.903175 + 457849.330699986 5439090.96533004 112.953975 + 457849.327073181 5439090.96786956 112.953975 + 457849.327073181 5439090.96786956 112.903175 + + + + + + + + + 457849.330699986 5439090.96533004 112.903175 + 457849.334712674 5439090.9634589 112.903175 + 457849.334712674 5439090.9634589 112.953975 + 457849.330699986 5439090.96533004 112.953975 + 457849.330699986 5439090.96533004 112.903175 + + + + + + + + + 457849.334712674 5439090.9634589 112.903175 + 457849.338989322 5439090.96231297 112.903175 + 457849.338989322 5439090.96231297 112.953975 + 457849.334712674 5439090.9634589 112.953975 + 457849.334712674 5439090.9634589 112.903175 + + + + + + + + + 457849.343399986 5439091.07622709 112.903175 + 457849.343399986 5439091.10162709 112.903175 + 457849.368799986 5439091.10162709 112.903175 + 457849.368799986 5439091.07622709 112.903175 + 457849.343399986 5439091.07622709 112.903175 + + + + + + + + + 457849.343399986 5439091.10162709 112.979375 + 457849.343399986 5439091.07622709 112.979375 + 457849.368799986 5439091.07622709 112.979375 + 457849.368799986 5439091.10162709 112.979375 + 457849.343399986 5439091.10162709 112.979375 + + + + + + + + + 457849.343399986 5439091.10162709 112.903175 + 457849.343399986 5439091.07622709 112.903175 + 457849.343399986 5439091.07622709 112.979375 + 457849.343399986 5439091.10162709 112.979375 + 457849.343399986 5439091.10162709 112.903175 + + + + + + + + + 457849.343399986 5439091.07622709 112.903175 + 457849.368799986 5439091.07622709 112.903175 + 457849.368799986 5439091.07622709 112.979375 + 457849.343399986 5439091.07622709 112.979375 + 457849.343399986 5439091.07622709 112.903175 + + + + + + + + + 457849.368799986 5439091.07622709 112.903175 + 457849.368799986 5439091.10162709 112.903175 + 457849.368799986 5439091.10162709 112.979375 + 457849.368799986 5439091.07622709 112.979375 + 457849.368799986 5439091.07622709 112.903175 + + + + + + + + + 457849.368799986 5439091.10162709 112.903175 + 457849.343399986 5439091.10162709 112.903175 + 457849.343399986 5439091.10162709 112.979375 + 457849.368799986 5439091.10162709 112.979375 + 457849.368799986 5439091.10162709 112.903175 + + + + + + + + + 457849.368799986 5439091.07622709 112.979375 + 457849.368799986 5439091.10162709 112.979375 + 457849.368799986 5439091.10162709 113.004775 + 457849.368799986 5439091.07622709 113.004775 + 457849.368799986 5439091.07622709 112.979375 + + + + + + + + + 457849.216399986 5439091.10162709 112.979375 + 457849.216399986 5439091.07622709 112.979375 + 457849.216399986 5439091.07622709 113.004775 + 457849.216399986 5439091.10162709 113.004775 + 457849.216399986 5439091.10162709 112.979375 + + + + + + + + + 457849.368799986 5439091.10162709 112.979375 + 457849.368799986 5439091.07622709 112.979375 + 457849.343399986 5439091.07622709 112.979375 + 457849.216399986 5439091.07622709 112.979375 + 457849.216399986 5439091.10162709 112.979375 + 457849.368799986 5439091.10162709 112.979375 + + + + + + + + + 457849.368799986 5439091.07622709 112.979375 + 457849.368799986 5439091.07622709 113.004775 + 457849.216399986 5439091.07622709 113.004775 + 457849.216399986 5439091.07622709 112.979375 + 457849.343399986 5439091.07622709 112.979375 + 457849.368799986 5439091.07622709 112.979375 + + + + + + + + + 457849.368799986 5439091.07622709 113.004775 + 457849.368799986 5439091.10162709 113.004775 + 457849.216399986 5439091.10162709 113.004775 + 457849.216399986 5439091.07622709 113.004775 + 457849.368799986 5439091.07622709 113.004775 + + + + + + + + + 457849.368799986 5439091.10162709 113.004775 + 457849.368799986 5439091.10162709 112.979375 + 457849.216399986 5439091.10162709 112.979375 + 457849.216399986 5439091.10162709 113.004775 + 457849.368799986 5439091.10162709 113.004775 + + + + + + + + + 457849.409999986 5439091.33892709 112.8238 + 457849.409999986 5439091.33892709 112.9 + 457849.409999986 5439090.83892709 112.9 + 457849.409999986 5439090.83892709 112.8238 + 457849.409999986 5439091.33892709 112.8238 + + + + + + + + + 457848.959139755 5439091.21954153 112.7762 + 457848.959139755 5439091.21954153 112.8238 + 457848.938823624 5439091.19052709 112.8238 + 457848.938823624 5439091.19052709 112.7762 + 457848.959139755 5439091.21954153 112.7762 + + + + + + + + + 457848.809999986 5439090.83892709 112.8238 + 457848.809999986 5439091.33892709 112.8238 + 457849.409999986 5439091.33892709 112.8238 + 457849.409999986 5439090.83892709 112.8238 + 457848.809999986 5439090.83892709 112.8238 + + + + + 457849.150085296 5439090.88881415 112.8238 + 457849.184298479 5439090.89798155 112.8238 + 457849.216399986 5439090.91295073 112.8238 + 457849.245414428 5439090.93326686 112.8238 + 457849.270460217 5439090.95831265 112.8238 + 457849.290776348 5439090.98732709 112.8238 + 457849.305745527 5439091.0194286 112.8238 + 457849.314912921 5439091.05364178 112.8238 + 457849.317999986 5439091.08892709 112.8238 + 457849.314912921 5439091.1242124 112.8238 + 457849.305745527 5439091.15842558 112.8238 + 457849.290776348 5439091.19052709 112.8238 + 457849.270460217 5439091.21954153 112.8238 + 457849.245414428 5439091.24458732 112.8238 + 457849.216399986 5439091.26490345 112.8238 + 457849.184298479 5439091.27987263 112.8238 + 457849.150085296 5439091.28904003 112.8238 + 457849.114799986 5439091.29212709 112.8238 + 457849.079514676 5439091.28904003 112.8238 + 457849.045301493 5439091.27987263 112.8238 + 457849.013199986 5439091.26490345 112.8238 + 457848.984185544 5439091.24458732 112.8238 + 457848.959139755 5439091.21954153 112.8238 + 457848.938823624 5439091.19052709 112.8238 + 457848.923854446 5439091.15842558 112.8238 + 457848.914687051 5439091.1242124 112.8238 + 457848.911599986 5439091.08892709 112.8238 + 457848.914687051 5439091.05364178 112.8238 + 457848.923854446 5439091.0194286 112.8238 + 457848.938823624 5439090.98732709 112.8238 + 457848.959139755 5439090.95831265 112.8238 + 457848.984185544 5439090.93326686 112.8238 + 457849.013199986 5439090.91295073 112.8238 + 457849.045301493 5439090.89798155 112.8238 + 457849.079514676 5439090.88881415 112.8238 + 457849.114799986 5439090.88572709 112.8238 + 457849.150085296 5439090.88881415 112.8238 + + + + + + + + + 457849.184298479 5439090.89798155 112.8238 + 457849.150085296 5439090.88881415 112.8238 + 457849.150085296 5439090.88881415 112.9 + 457849.184298479 5439090.89798155 112.9 + 457849.184298479 5439090.89798155 112.8238 + + + + + + + + + 457849.150085296 5439090.88881415 112.8238 + 457849.114799986 5439090.88572709 112.8238 + 457849.114799986 5439090.88572709 112.9 + 457849.150085296 5439090.88881415 112.9 + 457849.150085296 5439090.88881415 112.8238 + + + + + + + + + 457849.114799986 5439090.88572709 112.8238 + 457849.079514676 5439090.88881415 112.8238 + 457849.079514676 5439090.88881415 112.9 + 457849.114799986 5439090.88572709 112.9 + 457849.114799986 5439090.88572709 112.8238 + + + + + + + + + 457849.079514676 5439090.88881415 112.8238 + 457849.045301493 5439090.89798155 112.8238 + 457849.045301493 5439090.89798155 112.9 + 457849.079514676 5439090.88881415 112.9 + 457849.079514676 5439090.88881415 112.8238 + + + + + + + + + 457849.045301493 5439090.89798155 112.8238 + 457849.013199986 5439090.91295073 112.8238 + 457849.013199986 5439090.91295073 112.9 + 457849.045301493 5439090.89798155 112.9 + 457849.045301493 5439090.89798155 112.8238 + + + + + + + + + 457849.013199986 5439090.91295073 112.8238 + 457848.984185544 5439090.93326686 112.8238 + 457848.984185544 5439090.93326686 112.9 + 457849.013199986 5439090.91295073 112.9 + 457849.013199986 5439090.91295073 112.8238 + + + + + + + + + 457848.984185544 5439090.93326686 112.8238 + 457848.959139755 5439090.95831265 112.8238 + 457848.959139755 5439090.95831265 112.9 + 457848.984185544 5439090.93326686 112.9 + 457848.984185544 5439090.93326686 112.8238 + + + + + + + + + 457848.959139755 5439090.95831265 112.8238 + 457848.938823624 5439090.98732709 112.8238 + 457848.938823624 5439090.98732709 112.9 + 457848.959139755 5439090.95831265 112.9 + 457848.959139755 5439090.95831265 112.8238 + + + + + + + + + 457848.938823624 5439090.98732709 112.8238 + 457848.923854446 5439091.0194286 112.8238 + 457848.923854446 5439091.0194286 112.9 + 457848.938823624 5439090.98732709 112.9 + 457848.938823624 5439090.98732709 112.8238 + + + + + + + + + 457848.923854446 5439091.0194286 112.8238 + 457848.914687051 5439091.05364178 112.8238 + 457848.914687051 5439091.05364178 112.9 + 457848.923854446 5439091.0194286 112.9 + 457848.923854446 5439091.0194286 112.8238 + + + + + + + + + 457848.914687051 5439091.05364178 112.8238 + 457848.911599986 5439091.08892709 112.8238 + 457848.911599986 5439091.08892709 112.9 + 457848.914687051 5439091.05364178 112.9 + 457848.914687051 5439091.05364178 112.8238 + + + + + + + + + 457848.911599986 5439091.08892709 112.8238 + 457848.914687051 5439091.1242124 112.8238 + 457848.914687051 5439091.1242124 112.9 + 457848.911599986 5439091.08892709 112.9 + 457848.911599986 5439091.08892709 112.8238 + + + + + + + + + 457848.914687051 5439091.1242124 112.8238 + 457848.923854446 5439091.15842558 112.8238 + 457848.923854446 5439091.15842558 112.9 + 457848.914687051 5439091.1242124 112.9 + 457848.914687051 5439091.1242124 112.8238 + + + + + + + + + 457848.923854446 5439091.15842558 112.8238 + 457848.938823624 5439091.19052709 112.8238 + 457848.938823624 5439091.19052709 112.9 + 457848.923854446 5439091.15842558 112.9 + 457848.923854446 5439091.15842558 112.8238 + + + + + + + + + 457848.938823624 5439091.19052709 112.8238 + 457848.959139755 5439091.21954153 112.8238 + 457848.959139755 5439091.21954153 112.9 + 457848.938823624 5439091.19052709 112.9 + 457848.938823624 5439091.19052709 112.8238 + + + + + + + + + 457848.959139755 5439091.21954153 112.8238 + 457848.984185544 5439091.24458732 112.8238 + 457848.984185544 5439091.24458732 112.9 + 457848.959139755 5439091.21954153 112.9 + 457848.959139755 5439091.21954153 112.8238 + + + + + + + + + 457848.984185544 5439091.24458732 112.8238 + 457849.013199986 5439091.26490345 112.8238 + 457849.013199986 5439091.26490345 112.9 + 457848.984185544 5439091.24458732 112.9 + 457848.984185544 5439091.24458732 112.8238 + + + + + + + + + 457849.013199986 5439091.26490345 112.8238 + 457849.045301493 5439091.27987263 112.8238 + 457849.045301493 5439091.27987263 112.9 + 457849.013199986 5439091.26490345 112.9 + 457849.013199986 5439091.26490345 112.8238 + + + + + + + + + 457849.045301493 5439091.27987263 112.8238 + 457849.079514676 5439091.28904003 112.8238 + 457849.079514676 5439091.28904003 112.9 + 457849.045301493 5439091.27987263 112.9 + 457849.045301493 5439091.27987263 112.8238 + + + + + + + + + 457849.079514676 5439091.28904003 112.8238 + 457849.114799986 5439091.29212709 112.8238 + 457849.114799986 5439091.29212709 112.9 + 457849.079514676 5439091.28904003 112.9 + 457849.079514676 5439091.28904003 112.8238 + + + + + + + + + 457849.114799986 5439091.29212709 112.8238 + 457849.150085296 5439091.28904003 112.8238 + 457849.150085296 5439091.28904003 112.9 + 457849.114799986 5439091.29212709 112.9 + 457849.114799986 5439091.29212709 112.8238 + + + + + + + + + 457849.150085296 5439091.28904003 112.8238 + 457849.184298479 5439091.27987263 112.8238 + 457849.184298479 5439091.27987263 112.9 + 457849.150085296 5439091.28904003 112.9 + 457849.150085296 5439091.28904003 112.8238 + + + + + + + + + 457849.184298479 5439091.27987263 112.8238 + 457849.216399986 5439091.26490345 112.8238 + 457849.216399986 5439091.26490345 112.9 + 457849.184298479 5439091.27987263 112.9 + 457849.184298479 5439091.27987263 112.8238 + + + + + + + + + 457849.216399986 5439091.26490345 112.8238 + 457849.245414428 5439091.24458732 112.8238 + 457849.245414428 5439091.24458732 112.9 + 457849.216399986 5439091.26490345 112.9 + 457849.216399986 5439091.26490345 112.8238 + + + + + + + + + 457849.245414428 5439091.24458732 112.8238 + 457849.270460217 5439091.21954153 112.8238 + 457849.270460217 5439091.21954153 112.9 + 457849.245414428 5439091.24458732 112.9 + 457849.245414428 5439091.24458732 112.8238 + + + + + + + + + 457849.270460217 5439091.21954153 112.8238 + 457849.290776348 5439091.19052709 112.8238 + 457849.290776348 5439091.19052709 112.9 + 457849.270460217 5439091.21954153 112.9 + 457849.270460217 5439091.21954153 112.8238 + + + + + + + + + 457849.290776348 5439091.19052709 112.8238 + 457849.305745527 5439091.15842558 112.8238 + 457849.305745527 5439091.15842558 112.9 + 457849.290776348 5439091.19052709 112.9 + 457849.290776348 5439091.19052709 112.8238 + + + + + + + + + 457849.305745527 5439091.15842558 112.8238 + 457849.314912921 5439091.1242124 112.8238 + 457849.314912921 5439091.1242124 112.9 + 457849.305745527 5439091.15842558 112.9 + 457849.305745527 5439091.15842558 112.8238 + + + + + + + + + 457849.314912921 5439091.1242124 112.8238 + 457849.317999986 5439091.08892709 112.8238 + 457849.317999986 5439091.08892709 112.9 + 457849.314912921 5439091.1242124 112.9 + 457849.314912921 5439091.1242124 112.8238 + + + + + + + + + 457849.317999986 5439091.08892709 112.8238 + 457849.314912921 5439091.05364178 112.8238 + 457849.314912921 5439091.05364178 112.9 + 457849.317999986 5439091.08892709 112.9 + 457849.317999986 5439091.08892709 112.8238 + + + + + + + + + 457849.314912921 5439091.05364178 112.8238 + 457849.305745527 5439091.0194286 112.8238 + 457849.305745527 5439091.0194286 112.9 + 457849.314912921 5439091.05364178 112.9 + 457849.314912921 5439091.05364178 112.8238 + + + + + + + + + 457849.305745527 5439091.0194286 112.8238 + 457849.290776348 5439090.98732709 112.8238 + 457849.290776348 5439090.98732709 112.9 + 457849.305745527 5439091.0194286 112.9 + 457849.305745527 5439091.0194286 112.8238 + + + + + + + + + 457849.290776348 5439090.98732709 112.8238 + 457849.270460217 5439090.95831265 112.8238 + 457849.270460217 5439090.95831265 112.9 + 457849.290776348 5439090.98732709 112.9 + 457849.290776348 5439090.98732709 112.8238 + + + + + + + + + 457849.270460217 5439090.95831265 112.8238 + 457849.245414428 5439090.93326686 112.8238 + 457849.245414428 5439090.93326686 112.9 + 457849.270460217 5439090.95831265 112.9 + 457849.270460217 5439090.95831265 112.8238 + + + + + + + + + 457849.245414428 5439090.93326686 112.8238 + 457849.216399986 5439090.91295073 112.8238 + 457849.216399986 5439090.91295073 112.9 + 457849.245414428 5439090.93326686 112.9 + 457849.245414428 5439090.93326686 112.8238 + + + + + + + + + 457849.216399986 5439090.91295073 112.8238 + 457849.184298479 5439090.89798155 112.8238 + 457849.184298479 5439090.89798155 112.9 + 457849.216399986 5439090.91295073 112.9 + 457849.216399986 5439090.91295073 112.8238 + + + + + + + + + 457849.323942457 5439091.17420028 112.953975 + 457849.327073181 5439091.17106956 112.953975 + 457849.330699986 5439091.16853004 112.953975 + 457849.334712674 5439091.1666589 112.953975 + 457849.338989322 5439091.16551297 112.953975 + 457849.343399986 5439091.16512709 112.953975 + 457849.34781065 5439091.16551297 112.953975 + 457849.352087298 5439091.1666589 112.953975 + 457849.356099986 5439091.16853004 112.953975 + 457849.359726791 5439091.17106956 112.953975 + 457849.362857515 5439091.17420028 112.953975 + 457849.365397031 5439091.17782709 112.953975 + 457849.367268179 5439091.18183978 112.953975 + 457849.368414103 5439091.18611643 112.953975 + 457849.368799986 5439091.19052709 112.953975 + 457849.368414103 5439091.19493775 112.953975 + 457849.367268179 5439091.1992144 112.953975 + 457849.365397031 5439091.20322709 112.953975 + 457849.362857515 5439091.20685389 112.953975 + 457849.359726791 5439091.20998462 112.953975 + 457849.356099986 5439091.21252413 112.953975 + 457849.352087298 5439091.21439528 112.953975 + 457849.34781065 5439091.21554121 112.953975 + 457849.343399986 5439091.21592709 112.953975 + 457849.338989322 5439091.21554121 112.953975 + 457849.334712674 5439091.21439528 112.953975 + 457849.330699986 5439091.21252413 112.953975 + 457849.327073181 5439091.20998462 112.953975 + 457849.323942457 5439091.20685389 112.953975 + 457849.321402941 5439091.20322709 112.953975 + 457849.319531793 5439091.1992144 112.953975 + 457849.318385869 5439091.19493775 112.953975 + 457849.317999986 5439091.19052709 112.953975 + 457849.318385869 5439091.18611643 112.953975 + 457849.319531793 5439091.18183978 112.953975 + 457849.321402941 5439091.17782709 112.953975 + 457849.323942457 5439091.17420028 112.953975 + + + + + + + + + 457849.343399986 5439091.16512709 112.903175 + 457849.34781065 5439091.16551297 112.903175 + 457849.34781065 5439091.16551297 112.953975 + 457849.343399986 5439091.16512709 112.953975 + 457849.343399986 5439091.16512709 112.903175 + + + + + + + + + 457849.409999986 5439091.33892709 113 + 457849.409999986 5439091.33892709 112.9 + 457849.409999986 5439090.83892709 112.9 + 457849.409999986 5439090.83892709 113 + 457849.409999986 5439091.33892709 113 + + + + + + + + + 457849.409999986 5439090.83892709 112.8 + 457849.409999986 5439090.83892709 112.8238 + 457849.409999986 5439091.33892709 112.8238 + 457849.409999986 5439091.33892709 112.8 + 457849.409999986 5439090.83892709 112.8 + + + + + + + + + 457849.302844635 5439091.12208444 112.755028953128 + 457849.311872756 5439091.12367634 112.765451177802 + 457849.302844635 5439091.15736974 112.765451177802 + 457849.294230102 5439091.15423431 112.755028953128 + 457849.302844635 5439091.12208444 112.755028953128 + + + + + + + 1070 + + + + + Shower von ArchiCAD 14 + Shower Door + + + + + + + 457848.96 5439089.81928932 112.2 + 457848.96 5439089.81928932 114.1 + 457848.949393398 5439089.82989592 114.1 + 457848.935251263 5439089.84403806 114.1 + 457848.924644661 5439089.85464466 114.1 + 457848.924644661 5439089.85464466 112.2 + 457848.935251263 5439089.84403806 112.2 + 457848.949393398 5439089.82989592 112.2 + 457848.96 5439089.81928932 112.2 + + + + + + + + + 457848.96 5439089.81928932 114.1 + 457848.580710678 5439089.44 114.1 + 457848.570104076 5439089.4506066 114.1 + 457848.555961941 5439089.46474874 114.1 + 457848.545355339 5439089.47535534 114.1 + 457848.924644661 5439089.85464466 114.1 + 457848.935251263 5439089.84403806 114.1 + 457848.949393398 5439089.82989592 114.1 + 457848.96 5439089.81928932 114.1 + + + + + + + + + 457848.580710678 5439089.44 114.1 + 457848.580710678 5439089.44 112.2 + 457848.570104076 5439089.4506066 112.2 + 457848.545355339 5439089.47535534 112.2 + 457848.545355339 5439089.47535534 114.1 + 457848.555961941 5439089.46474874 114.1 + 457848.570104076 5439089.4506066 114.1 + 457848.580710678 5439089.44 114.1 + + + + + + + + + 457848.580710678 5439089.44 112.2 + 457848.96 5439089.81928932 112.2 + 457848.949393398 5439089.82989592 112.2 + 457848.935251263 5439089.84403806 112.2 + 457848.924644661 5439089.85464466 112.2 + 457848.545355339 5439089.47535534 112.2 + 457848.570104076 5439089.4506066 112.2 + 457848.580710678 5439089.44 112.2 + + + + + + + + + 457848.51 5439089.44 114.15 + 457848.96 5439089.89 114.15 + 457848.96 5439089.89 112.15 + 457848.51 5439089.44 112.15 + 457848.51 5439089.44 114.15 + + + + + 457848.924644661 5439089.85464466 112.2 + 457848.924644661 5439089.85464466 114.1 + 457848.545355339 5439089.47535534 114.1 + 457848.545355339 5439089.47535534 112.2 + 457848.924644661 5439089.85464466 112.2 + + + + + + + + + 457848.949393398 5439089.82989592 112.2 + 457848.570104076 5439089.4506066 112.2 + 457848.555961941 5439089.46474874 112.2 + 457848.935251263 5439089.84403806 112.2 + 457848.949393398 5439089.82989592 112.2 + + + + + + + + + 457848.570104076 5439089.4506066 112.2 + 457848.570104076 5439089.4506066 114.1 + 457848.555961941 5439089.46474874 114.1 + 457848.555961941 5439089.46474874 112.2 + 457848.570104076 5439089.4506066 112.2 + + + + + + + + + 457848.570104076 5439089.4506066 114.1 + 457848.949393398 5439089.82989592 114.1 + 457848.935251263 5439089.84403806 114.1 + 457848.555961941 5439089.46474874 114.1 + 457848.570104076 5439089.4506066 114.1 + + + + + + + + + 457848.949393398 5439089.82989592 114.1 + 457848.949393398 5439089.82989592 112.2 + 457848.935251263 5439089.84403806 112.2 + 457848.935251263 5439089.84403806 114.1 + 457848.949393398 5439089.82989592 114.1 + + + + + + + + + 457848.935251263 5439089.81575379 112.22 + 457848.935251263 5439089.81575379 114.08 + 457848.928180195 5439089.82282486 114.08 + 457848.921109127 5439089.82989592 114.08 + 457848.921109127 5439089.82989592 112.22 + 457848.928180195 5439089.82282486 112.22 + 457848.935251263 5439089.81575379 112.22 + + + + + + + + + 457848.935251263 5439089.81575379 114.08 + 457848.584246212 5439089.46474874 114.08 + 457848.577175144 5439089.47181981 114.08 + 457848.570104076 5439089.47889087 114.08 + 457848.921109127 5439089.82989592 114.08 + 457848.928180195 5439089.82282486 114.08 + 457848.935251263 5439089.81575379 114.08 + + + + + + + + + 457848.584246212 5439089.46474874 114.08 + 457848.584246212 5439089.46474874 112.22 + 457848.577175144 5439089.47181981 112.22 + 457848.570104076 5439089.47889087 112.22 + 457848.570104076 5439089.47889087 114.08 + 457848.577175144 5439089.47181981 114.08 + 457848.584246212 5439089.46474874 114.08 + + + + + + + + + 457848.584246212 5439089.46474874 112.22 + 457848.935251263 5439089.81575379 112.22 + 457848.928180195 5439089.82282486 112.22 + 457848.921109127 5439089.82989592 112.22 + 457848.570104076 5439089.47889087 112.22 + 457848.577175144 5439089.47181981 112.22 + 457848.584246212 5439089.46474874 112.22 + + + + + + + + + 457848.935251263 5439089.81575379 114.08 + 457848.949393398 5439089.82989592 114.1 + 457848.570104076 5439089.4506066 114.1 + 457848.584246212 5439089.46474874 114.08 + 457848.935251263 5439089.81575379 114.08 + + + + + + + + + 457848.949393398 5439089.82989592 114.1 + 457848.935251263 5439089.81575379 114.08 + 457848.935251263 5439089.81575379 112.22 + 457848.949393398 5439089.82989592 114.1 + + + + + + + + + 457848.584246212 5439089.46474874 114.08 + 457848.570104076 5439089.4506066 114.1 + 457848.570104076 5439089.4506066 112.2 + 457848.949393398 5439089.82989592 112.2 + 457848.949393398 5439089.82989592 114.1 + 457848.935251263 5439089.81575379 112.22 + 457848.584246212 5439089.46474874 112.22 + 457848.584246212 5439089.46474874 114.08 + + + + + + + + + 457848.555961941 5439089.46474874 114.1 + 457848.935251263 5439089.84403806 114.1 + 457848.935251263 5439089.84403806 112.2 + 457848.555961941 5439089.46474874 112.2 + 457848.555961941 5439089.46474874 114.1 + + + + + 457848.921109127 5439089.82989592 112.22 + 457848.921109127 5439089.82989592 114.08 + 457848.570104076 5439089.47889087 114.08 + 457848.570104076 5439089.47889087 112.22 + 457848.921109127 5439089.82989592 112.22 + + + + + + + + + 457848.928180195 5439089.82282486 112.22 + 457848.577175144 5439089.47181981 112.22 + 457848.577175144 5439089.47181981 114.08 + 457848.928180195 5439089.82282486 114.08 + 457848.928180195 5439089.82282486 112.22 + + + + + + + + + 457849.41 5439089.84 114.15 + 457849.41 5439089.84 112.15 + 457849.41 5439089.89 112.15 + 457849.41 5439089.89 114.15 + 457849.41 5439089.84 114.15 + + + + + + + + + 457849.01 5439089.84 114.1 + 457849.01 5439089.84 112.2 + 457849.01 5439089.865 112.2 + 457849.01 5439089.89 112.2 + 457849.01 5439089.89 114.1 + 457849.01 5439089.865 114.1 + 457849.01 5439089.84 114.1 + + + + + + + + + 457849.01 5439089.84 112.2 + 457849.36 5439089.84 112.2 + 457849.36 5439089.865 112.2 + 457849.36 5439089.89 112.2 + 457849.01 5439089.89 112.2 + 457849.01 5439089.865 112.2 + 457849.01 5439089.84 112.2 + + + + + + + + + 457849.36 5439089.84 112.2 + 457849.36 5439089.84 114.1 + 457849.36 5439089.865 114.1 + 457849.36 5439089.89 114.1 + 457849.36 5439089.89 112.2 + 457849.36 5439089.865 112.2 + 457849.36 5439089.84 112.2 + + + + + + + + + 457849.36 5439089.84 114.1 + 457849.01 5439089.84 114.1 + 457849.01 5439089.865 114.1 + 457849.01 5439089.89 114.1 + 457849.36 5439089.89 114.1 + 457849.36 5439089.865 114.1 + 457849.36 5439089.84 114.1 + + + + + + + + + 457849.41 5439089.84 112.15 + 457849.41 5439089.84 114.15 + 457848.980710678 5439089.84 114.15 + 457848.980710678 5439089.84 112.15 + 457849.41 5439089.84 112.15 + + + + + 457849.01 5439089.84 114.1 + 457849.36 5439089.84 114.1 + 457849.36 5439089.84 112.2 + 457849.01 5439089.84 112.2 + 457849.01 5439089.84 114.1 + + + + + + + + + 457849.41 5439089.89 112.15 + 457848.96 5439089.89 112.15 + 457848.96 5439089.89 114.15 + 457849.41 5439089.89 114.15 + 457849.41 5439089.89 112.15 + + + + + 457849.01 5439089.89 114.1 + 457849.01 5439089.89 112.2 + 457849.36 5439089.89 112.2 + 457849.36 5439089.89 114.1 + 457849.01 5439089.89 114.1 + + + + + + + + + 457849.36 5439089.865 112.2 + 457849.01 5439089.865 112.2 + 457849.01 5439089.865 114.1 + 457849.36 5439089.865 114.1 + 457849.36 5439089.865 112.2 + + + + + + + + + 457848.51 5439088.99 114.15 + 457848.51 5439088.99 112.15 + 457848.56 5439088.99 112.15 + 457848.56 5439088.99 114.15 + 457848.51 5439088.99 114.15 + + + + + + + + + 457848.51 5439089.39 114.1 + 457848.51 5439089.39 112.2 + 457848.535 5439089.39 112.2 + 457848.56 5439089.39 112.2 + 457848.56 5439089.39 114.1 + 457848.535 5439089.39 114.1 + 457848.51 5439089.39 114.1 + + + + + + + + + 457848.51 5439089.39 112.2 + 457848.51 5439089.04 112.2 + 457848.535 5439089.04 112.2 + 457848.56 5439089.04 112.2 + 457848.56 5439089.39 112.2 + 457848.535 5439089.39 112.2 + 457848.51 5439089.39 112.2 + + + + + + + + + 457848.51 5439089.04 112.2 + 457848.51 5439089.04 114.1 + 457848.535 5439089.04 114.1 + 457848.56 5439089.04 114.1 + 457848.56 5439089.04 112.2 + 457848.535 5439089.04 112.2 + 457848.51 5439089.04 112.2 + + + + + + + + + 457848.51 5439089.04 114.1 + 457848.51 5439089.39 114.1 + 457848.535 5439089.39 114.1 + 457848.56 5439089.39 114.1 + 457848.56 5439089.04 114.1 + 457848.535 5439089.04 114.1 + 457848.51 5439089.04 114.1 + + + + + + + + + 457848.51 5439088.99 112.15 + 457848.51 5439088.99 114.15 + 457848.51 5439089.44 114.15 + 457848.51 5439089.44 112.15 + 457848.51 5439088.99 112.15 + + + + + 457848.51 5439089.39 114.1 + 457848.51 5439089.04 114.1 + 457848.51 5439089.04 112.2 + 457848.51 5439089.39 112.2 + 457848.51 5439089.39 114.1 + + + + + + + + + 457848.535 5439089.39 112.2 + 457848.535 5439089.04 112.2 + 457848.535 5439089.04 114.1 + 457848.535 5439089.39 114.1 + 457848.535 5439089.39 112.2 + + + + + + + + + 457848.96 5439089.89 114.15 + 457848.51 5439089.44 114.15 + 457848.51 5439088.99 114.15 + 457848.56 5439088.99 114.15 + 457848.56 5439089.41928932 114.15 + 457848.980710678 5439089.84 114.15 + 457849.41 5439089.84 114.15 + 457849.41 5439089.89 114.15 + 457848.96 5439089.89 114.15 + + + + + + + + + 457848.56 5439088.99 112.15 + 457848.56 5439089.41928932 112.15 + 457848.56 5439089.41928932 114.15 + 457848.56 5439088.99 114.15 + 457848.56 5439089.04 114.1 + 457848.56 5439089.39 114.1 + 457848.56 5439089.39 112.2 + 457848.56 5439089.04 112.2 + 457848.56 5439089.04 114.1 + 457848.56 5439088.99 114.15 + 457848.56 5439088.99 112.15 + + + + + + + + + 457848.56 5439089.41928932 112.15 + 457848.980710678 5439089.84 112.15 + 457848.980710678 5439089.84 114.15 + 457848.56 5439089.41928932 114.15 + 457848.56 5439089.41928932 112.15 + + + + + 457848.580710678 5439089.44 112.2 + 457848.580710678 5439089.44 114.1 + 457848.96 5439089.81928932 114.1 + 457848.96 5439089.81928932 112.2 + 457848.580710678 5439089.44 112.2 + + + + + + + + + 457848.980710678 5439089.84 112.15 + 457848.56 5439089.41928932 112.15 + 457848.56 5439088.99 112.15 + 457848.51 5439088.99 112.15 + 457848.51 5439089.44 112.15 + 457848.96 5439089.89 112.15 + 457849.41 5439089.89 112.15 + 457849.41 5439089.84 112.15 + 457848.980710678 5439089.84 112.15 + + + + + + + 1070 + + + + + Duschwanne von ArchiCAD14 + Shower Basin + + + + + + + 457848.96 5439089.89 112 + 457848.96 5439089.89 112.15 + 457849.41 5439089.89 112.15 + 457849.41 5439089.89 112 + 457848.96 5439089.89 112 + + + + + + + + + 457848.51 5439089.44 112 + 457848.51 5439089.44 112.15 + 457848.96 5439089.89 112.15 + 457848.96 5439089.89 112 + 457848.51 5439089.44 112 + + + + + + + + + 457849.41 5439088.99 112 + 457849.41 5439088.99 112.15 + 457848.51 5439088.99 112.15 + 457848.51 5439088.99 112 + 457849.41 5439088.99 112 + + + + + + + + + 457849.41 5439089.89 112 + 457849.41 5439089.89 112.15 + 457849.41 5439088.99 112.15 + 457849.41 5439088.99 112 + 457849.41 5439089.89 112 + + + + + + + + + 457848.51 5439088.99 112 + 457848.51 5439089.44 112 + 457848.96 5439089.89 112 + 457849.41 5439089.89 112 + 457849.41 5439088.99 112 + 457848.51 5439088.99 112 + + + + + + + + + 457849.34 5439089.04 112.15 + 457849.34 5439089.04 112.05 + 457848.58 5439089.04 112.05 + 457848.58 5439089.04 112.15 + 457849.34 5439089.04 112.15 + + + + + + + + + 457848.58 5439089.04 112.15 + 457848.58 5439089.04 112.05 + 457848.56 5439089.06 112.05 + 457848.56 5439089.06 112.15 + 457848.58 5439089.04 112.15 + + + + + + + + + 457848.56 5439089.06 112.15 + 457848.56 5439089.06 112.05 + 457848.56 5439089.41928932 112.05 + 457848.56 5439089.41928932 112.15 + 457848.56 5439089.06 112.15 + + + + + + + + + 457848.56 5439089.41928932 112.15 + 457848.56 5439089.41928932 112.05 + 457848.980710678 5439089.84 112.05 + 457848.980710678 5439089.84 112.15 + 457848.56 5439089.41928932 112.15 + + + + + + + + + 457848.980710678 5439089.84 112.15 + 457848.980710678 5439089.84 112.05 + 457849.34 5439089.84 112.05 + 457849.34 5439089.84 112.15 + 457848.980710678 5439089.84 112.15 + + + + + + + + + 457849.34 5439089.84 112.15 + 457849.34 5439089.84 112.05 + 457849.36 5439089.82 112.05 + 457849.36 5439089.82 112.15 + 457849.34 5439089.84 112.15 + + + + + + + + + 457849.36 5439089.06 112.15 + 457849.36 5439089.06 112.05 + 457849.34 5439089.04 112.05 + 457849.34 5439089.04 112.15 + 457849.36 5439089.06 112.15 + + + + + + + + + 457848.96 5439089.89 112.15 + 457848.51 5439089.44 112.15 + 457848.51 5439088.99 112.15 + 457849.41 5439088.99 112.15 + 457849.41 5439089.89 112.15 + 457848.96 5439089.89 112.15 + + + + + 457848.56 5439089.06 112.15 + 457848.56 5439089.41928932 112.15 + 457848.980710678 5439089.84 112.15 + 457849.34 5439089.84 112.15 + 457849.36 5439089.82 112.15 + 457849.36 5439089.06 112.15 + 457849.34 5439089.04 112.15 + 457848.58 5439089.04 112.15 + 457848.56 5439089.06 112.15 + + + + + + + + + 457849.34 5439089.84 112.05 + 457848.980710678 5439089.84 112.05 + 457848.56 5439089.41928932 112.05 + 457848.56 5439089.06 112.05 + 457848.58 5439089.04 112.05 + 457849.34 5439089.04 112.05 + 457849.36 5439089.06 112.05 + 457849.36 5439089.82 112.05 + 457849.34 5439089.84 112.05 + + + + + + + + + 457848.950432914 5439089.46309699 112.05 + 457848.96 5439089.465 112.05 + 457848.969567086 5439089.46309699 112.05 + 457848.97767767 5439089.45767767 112.05 + 457848.983096988 5439089.44956709 112.05 + 457848.985 5439089.44 112.05 + 457848.983096988 5439089.43043291 112.05 + 457848.97767767 5439089.42232233 112.05 + 457848.969567086 5439089.41690301 112.05 + 457848.96 5439089.415 112.05 + 457848.950432914 5439089.41690301 112.05 + 457848.94232233 5439089.42232233 112.05 + 457848.936903012 5439089.43043291 112.05 + 457848.935 5439089.44 112.05 + 457848.936903012 5439089.44956709 112.05 + 457848.94232233 5439089.45767767 112.05 + 457848.950432914 5439089.46309699 112.05 + + + + + + + + + 457848.936903012 5439089.43043291 112.055 + 457848.94232233 5439089.42232233 112.055 + 457848.950432914 5439089.41690301 112.055 + 457848.96 5439089.415 112.055 + 457848.969567086 5439089.41690301 112.055 + 457848.97767767 5439089.42232233 112.055 + 457848.983096988 5439089.43043291 112.055 + 457848.985 5439089.44 112.055 + 457848.983096988 5439089.44956709 112.055 + 457848.97767767 5439089.45767767 112.055 + 457848.969567086 5439089.46309699 112.055 + 457848.96 5439089.465 112.055 + 457848.950432914 5439089.46309699 112.055 + 457848.94232233 5439089.45767767 112.055 + 457848.936903012 5439089.44956709 112.055 + 457848.935 5439089.44 112.055 + 457848.936903012 5439089.43043291 112.055 + + + + + + + + + 457848.936903012 5439089.44956709 112.05 + 457848.935 5439089.44 112.05 + 457848.935 5439089.44 112.055 + 457848.936903012 5439089.44956709 112.055 + 457848.936903012 5439089.44956709 112.05 + + + + + + + + + 457848.935 5439089.44 112.05 + 457848.936903012 5439089.43043291 112.05 + 457848.936903012 5439089.43043291 112.055 + 457848.935 5439089.44 112.055 + 457848.935 5439089.44 112.05 + + + + + + + + + 457848.936903012 5439089.43043291 112.05 + 457848.94232233 5439089.42232233 112.05 + 457848.94232233 5439089.42232233 112.055 + 457848.936903012 5439089.43043291 112.055 + 457848.936903012 5439089.43043291 112.05 + + + + + + + + + 457848.94232233 5439089.42232233 112.05 + 457848.950432914 5439089.41690301 112.05 + 457848.950432914 5439089.41690301 112.055 + 457848.94232233 5439089.42232233 112.055 + 457848.94232233 5439089.42232233 112.05 + + + + + + + + + 457848.950432914 5439089.41690301 112.05 + 457848.96 5439089.415 112.05 + 457848.96 5439089.415 112.055 + 457848.950432914 5439089.41690301 112.055 + 457848.950432914 5439089.41690301 112.05 + + + + + + + + + 457848.96 5439089.415 112.05 + 457848.969567086 5439089.41690301 112.05 + 457848.969567086 5439089.41690301 112.055 + 457848.96 5439089.415 112.055 + 457848.96 5439089.415 112.05 + + + + + + + + + 457848.969567086 5439089.41690301 112.05 + 457848.97767767 5439089.42232233 112.05 + 457848.97767767 5439089.42232233 112.055 + 457848.969567086 5439089.41690301 112.055 + 457848.969567086 5439089.41690301 112.05 + + + + + + + + + 457848.97767767 5439089.42232233 112.05 + 457848.983096988 5439089.43043291 112.05 + 457848.983096988 5439089.43043291 112.055 + 457848.97767767 5439089.42232233 112.055 + 457848.97767767 5439089.42232233 112.05 + + + + + + + + + 457848.983096988 5439089.43043291 112.05 + 457848.985 5439089.44 112.05 + 457848.985 5439089.44 112.055 + 457848.983096988 5439089.43043291 112.055 + 457848.983096988 5439089.43043291 112.05 + + + + + + + + + 457848.985 5439089.44 112.05 + 457848.983096988 5439089.44956709 112.05 + 457848.983096988 5439089.44956709 112.055 + 457848.985 5439089.44 112.055 + 457848.985 5439089.44 112.05 + + + + + + + + + 457848.983096988 5439089.44956709 112.05 + 457848.97767767 5439089.45767767 112.05 + 457848.97767767 5439089.45767767 112.055 + 457848.983096988 5439089.44956709 112.055 + 457848.983096988 5439089.44956709 112.05 + + + + + + + + + 457848.97767767 5439089.45767767 112.05 + 457848.969567086 5439089.46309699 112.05 + 457848.969567086 5439089.46309699 112.055 + 457848.97767767 5439089.45767767 112.055 + 457848.97767767 5439089.45767767 112.05 + + + + + + + + + 457848.969567086 5439089.46309699 112.05 + 457848.96 5439089.465 112.05 + 457848.96 5439089.465 112.055 + 457848.969567086 5439089.46309699 112.055 + 457848.969567086 5439089.46309699 112.05 + + + + + + + + + 457848.96 5439089.465 112.05 + 457848.950432914 5439089.46309699 112.05 + 457848.950432914 5439089.46309699 112.055 + 457848.96 5439089.465 112.055 + 457848.96 5439089.465 112.05 + + + + + + + + + 457848.950432914 5439089.46309699 112.05 + 457848.94232233 5439089.45767767 112.05 + 457848.94232233 5439089.45767767 112.055 + 457848.950432914 5439089.46309699 112.055 + 457848.950432914 5439089.46309699 112.05 + + + + + + + + + 457848.94232233 5439089.45767767 112.05 + 457848.936903012 5439089.44956709 112.05 + 457848.936903012 5439089.44956709 112.055 + 457848.94232233 5439089.45767767 112.055 + 457848.94232233 5439089.45767767 112.05 + + + + + + + + + 457848.51 5439088.99 112 + 457848.51 5439088.99 112.15 + 457848.51 5439089.44 112.15 + 457848.51 5439089.44 112 + 457848.51 5439088.99 112 + + + + + + + + + 457849.36 5439089.82 112.15 + 457849.36 5439089.82 112.05 + 457849.36 5439089.06 112.05 + 457849.36 5439089.06 112.15 + 457849.36 5439089.82 112.15 + + + + + + + 1070 + + + + + Kamin von ArchiCAD 14 + Fire Place + + + + + + + 457852.273469372 5439086.21 112 + 457852.273469372 5439087.01 112 + 457852.273469372 5439087.01 112.1 + 457852.273469372 5439086.21 112.1 + 457852.273469372 5439086.21 112 + + + + + + + + + 457852.273469372 5439087.01 112 + 457850.473469372 5439087.01 112 + 457850.473469372 5439087.01 112.1 + 457850.653469372 5439087.01 112.1 + 457852.093469372 5439087.01 112.1 + 457852.273469372 5439087.01 112.1 + 457852.273469372 5439087.01 112 + + + + + + + + + 457850.473469372 5439087.01 112 + 457850.473469372 5439086.21 112 + 457850.473469372 5439086.21 112.1 + 457850.473469372 5439087.01 112.1 + 457850.473469372 5439087.01 112 + + + + + + + + + 457850.473469372 5439086.21 112 + 457850.473469372 5439087.01 112 + 457852.273469372 5439087.01 112 + 457852.273469372 5439086.21 112 + 457850.473469372 5439086.21 112 + + + + + + + + + 457850.473469372 5439086.21 112.1 + 457852.273469372 5439086.21 112.1 + 457852.273469372 5439087.01 112.1 + 457852.093469372 5439087.01 112.1 + 457850.653469372 5439087.01 112.1 + 457850.473469372 5439087.01 112.1 + 457850.473469372 5439086.21 112.1 + + + + + + + + + 457850.473469372 5439086.21 112 + 457852.273469372 5439086.21 112 + 457852.273469372 5439086.21 112.1 + 457850.473469372 5439086.21 112.1 + 457850.473469372 5439086.21 112 + + + + + + + + + 457851.112129626 5439086.365 112.1 + 457851.111129817 5439086.36357212 112.1 + 457851.109897249 5439086.36233956 112.1 + 457851.108469372 5439086.36133975 112.1 + 457851.106889574 5439086.36060307 112.1 + 457851.105205854 5439086.36015192 112.1 + 457851.103469372 5439086.36 112.1 + 457851.101732891 5439086.36015192 112.1 + 457851.100049171 5439086.36060307 112.1 + 457851.098469372 5439086.36133975 112.1 + 457851.097041496 5439086.36233956 112.1 + 457851.095808928 5439086.36357212 112.1 + 457851.094809118 5439086.365 112.1 + 457851.094072446 5439086.3665798 112.1 + 457851.093621295 5439086.36826352 112.1 + 457851.093469372 5439086.37 112.1 + 457851.093621295 5439086.37173648 112.1 + 457851.094072446 5439086.3734202 112.1 + 457851.094809118 5439086.375 112.1 + 457851.095808928 5439086.37642788 112.1 + 457851.097041496 5439086.37766044 112.1 + 457851.098469372 5439086.37866025 112.1 + 457851.100049171 5439086.37939693 112.1 + 457851.101732891 5439086.37984808 112.1 + 457851.103469372 5439086.38 112.1 + 457851.105205854 5439086.37984808 112.1 + 457851.106889574 5439086.37939693 112.1 + 457851.108469372 5439086.37866025 112.1 + 457851.109897249 5439086.37766044 112.1 + 457851.111129817 5439086.37642788 112.1 + 457851.112129626 5439086.375 112.1 + 457851.112866299 5439086.3734202 112.1 + 457851.11331745 5439086.37173648 112.1 + 457851.113469372 5439086.37 112.1 + 457851.11331745 5439086.36826352 112.1 + 457851.112866299 5439086.3665798 112.1 + 457851.112129626 5439086.365 112.1 + + + + + + + + + 457851.11331745 5439086.37173648 112.12 + 457851.112866299 5439086.3734202 112.12 + 457851.112129626 5439086.375 112.12 + 457851.111129817 5439086.37642788 112.12 + 457851.109897249 5439086.37766044 112.12 + 457851.108469372 5439086.37866025 112.12 + 457851.106889574 5439086.37939693 112.12 + 457851.105205854 5439086.37984808 112.12 + 457851.103469372 5439086.38 112.12 + 457851.101732891 5439086.37984808 112.12 + 457851.100049171 5439086.37939693 112.12 + 457851.098469372 5439086.37866025 112.12 + 457851.097041496 5439086.37766044 112.12 + 457851.095808928 5439086.37642788 112.12 + 457851.094809118 5439086.375 112.12 + 457851.094072446 5439086.3734202 112.12 + 457851.093621295 5439086.37173648 112.12 + 457851.093469372 5439086.37 112.12 + 457851.093621295 5439086.36826352 112.12 + 457851.094072446 5439086.3665798 112.12 + 457851.094809118 5439086.365 112.12 + 457851.095808928 5439086.36357212 112.12 + 457851.097041496 5439086.36233956 112.12 + 457851.098469372 5439086.36133975 112.12 + 457851.100049171 5439086.36060307 112.12 + 457851.101732891 5439086.36015192 112.12 + 457851.103469372 5439086.36 112.12 + 457851.105205854 5439086.36015192 112.12 + 457851.106889574 5439086.36060307 112.12 + 457851.108469372 5439086.36133975 112.12 + 457851.109897249 5439086.36233956 112.12 + 457851.111129817 5439086.36357212 112.12 + 457851.112129626 5439086.365 112.12 + 457851.112866299 5439086.3665798 112.12 + 457851.11331745 5439086.36826352 112.12 + 457851.113469372 5439086.37 112.12 + 457851.11331745 5439086.37173648 112.12 + + + + + + + + + 457851.11331745 5439086.36826352 112.1 + 457851.113469372 5439086.37 112.1 + 457851.113469372 5439086.37 112.12 + 457851.11331745 5439086.36826352 112.12 + 457851.11331745 5439086.36826352 112.1 + + + + + + + + + 457851.113469372 5439086.37 112.1 + 457851.11331745 5439086.37173648 112.1 + 457851.11331745 5439086.37173648 112.12 + 457851.113469372 5439086.37 112.12 + 457851.113469372 5439086.37 112.1 + + + + + + + + + 457851.11331745 5439086.37173648 112.1 + 457851.112866299 5439086.3734202 112.1 + 457851.112866299 5439086.3734202 112.12 + 457851.11331745 5439086.37173648 112.12 + 457851.11331745 5439086.37173648 112.1 + + + + + + + + + 457851.112866299 5439086.3734202 112.1 + 457851.112129626 5439086.375 112.1 + 457851.112129626 5439086.375 112.12 + 457851.112866299 5439086.3734202 112.12 + 457851.112866299 5439086.3734202 112.1 + + + + + + + + + 457851.112129626 5439086.375 112.1 + 457851.111129817 5439086.37642788 112.1 + 457851.111129817 5439086.37642788 112.12 + 457851.112129626 5439086.375 112.12 + 457851.112129626 5439086.375 112.1 + + + + + + + + + 457851.111129817 5439086.37642788 112.1 + 457851.109897249 5439086.37766044 112.1 + 457851.109897249 5439086.37766044 112.12 + 457851.111129817 5439086.37642788 112.12 + 457851.111129817 5439086.37642788 112.1 + + + + + + + + + 457851.109897249 5439086.37766044 112.1 + 457851.108469372 5439086.37866025 112.1 + 457851.108469372 5439086.37866025 112.12 + 457851.109897249 5439086.37766044 112.12 + 457851.109897249 5439086.37766044 112.1 + + + + + + + + + 457851.108469372 5439086.37866025 112.1 + 457851.106889574 5439086.37939693 112.1 + 457851.106889574 5439086.37939693 112.12 + 457851.108469372 5439086.37866025 112.12 + 457851.108469372 5439086.37866025 112.1 + + + + + + + + + 457851.106889574 5439086.37939693 112.1 + 457851.105205854 5439086.37984808 112.1 + 457851.105205854 5439086.37984808 112.12 + 457851.106889574 5439086.37939693 112.12 + 457851.106889574 5439086.37939693 112.1 + + + + + + + + + 457851.105205854 5439086.37984808 112.1 + 457851.103469372 5439086.38 112.1 + 457851.103469372 5439086.38 112.12 + 457851.105205854 5439086.37984808 112.12 + 457851.105205854 5439086.37984808 112.1 + + + + + + + + + 457851.103469372 5439086.38 112.1 + 457851.101732891 5439086.37984808 112.1 + 457851.101732891 5439086.37984808 112.12 + 457851.103469372 5439086.38 112.12 + 457851.103469372 5439086.38 112.1 + + + + + + + + + 457851.101732891 5439086.37984808 112.1 + 457851.100049171 5439086.37939693 112.1 + 457851.100049171 5439086.37939693 112.12 + 457851.101732891 5439086.37984808 112.12 + 457851.101732891 5439086.37984808 112.1 + + + + + + + + + 457851.100049171 5439086.37939693 112.1 + 457851.098469372 5439086.37866025 112.1 + 457851.098469372 5439086.37866025 112.12 + 457851.100049171 5439086.37939693 112.12 + 457851.100049171 5439086.37939693 112.1 + + + + + + + + + 457851.098469372 5439086.37866025 112.1 + 457851.097041496 5439086.37766044 112.1 + 457851.097041496 5439086.37766044 112.12 + 457851.098469372 5439086.37866025 112.12 + 457851.098469372 5439086.37866025 112.1 + + + + + + + + + 457851.097041496 5439086.37766044 112.1 + 457851.095808928 5439086.37642788 112.1 + 457851.095808928 5439086.37642788 112.12 + 457851.097041496 5439086.37766044 112.12 + 457851.097041496 5439086.37766044 112.1 + + + + + + + + + 457851.095808928 5439086.37642788 112.1 + 457851.094809118 5439086.375 112.1 + 457851.094809118 5439086.375 112.12 + 457851.095808928 5439086.37642788 112.12 + 457851.095808928 5439086.37642788 112.1 + + + + + + + + + 457851.094809118 5439086.375 112.1 + 457851.094072446 5439086.3734202 112.1 + 457851.094072446 5439086.3734202 112.12 + 457851.094809118 5439086.375 112.12 + 457851.094809118 5439086.375 112.1 + + + + + + + + + 457851.094072446 5439086.3734202 112.1 + 457851.093621295 5439086.37173648 112.1 + 457851.093621295 5439086.37173648 112.12 + 457851.094072446 5439086.3734202 112.12 + 457851.094072446 5439086.3734202 112.1 + + + + + + + + + 457851.093621295 5439086.37173648 112.1 + 457851.093469372 5439086.37 112.1 + 457851.093469372 5439086.37 112.12 + 457851.093621295 5439086.37173648 112.12 + 457851.093621295 5439086.37173648 112.1 + + + + + + + + + 457851.093469372 5439086.37 112.1 + 457851.093621295 5439086.36826352 112.1 + 457851.093621295 5439086.36826352 112.12 + 457851.093469372 5439086.37 112.12 + 457851.093469372 5439086.37 112.1 + + + + + + + + + 457851.093621295 5439086.36826352 112.1 + 457851.094072446 5439086.3665798 112.1 + 457851.094072446 5439086.3665798 112.12 + 457851.093621295 5439086.36826352 112.12 + 457851.093621295 5439086.36826352 112.1 + + + + + + + + + 457851.094072446 5439086.3665798 112.1 + 457851.094809118 5439086.365 112.1 + 457851.094809118 5439086.365 112.12 + 457851.094072446 5439086.3665798 112.12 + 457851.094072446 5439086.3665798 112.1 + + + + + + + + + 457851.094809118 5439086.365 112.1 + 457851.095808928 5439086.36357212 112.1 + 457851.095808928 5439086.36357212 112.12 + 457851.094809118 5439086.365 112.12 + 457851.094809118 5439086.365 112.1 + + + + + + + + + 457851.095808928 5439086.36357212 112.1 + 457851.097041496 5439086.36233956 112.1 + 457851.097041496 5439086.36233956 112.12 + 457851.095808928 5439086.36357212 112.12 + 457851.095808928 5439086.36357212 112.1 + + + + + + + + + 457851.097041496 5439086.36233956 112.1 + 457851.098469372 5439086.36133975 112.1 + 457851.098469372 5439086.36133975 112.12 + 457851.097041496 5439086.36233956 112.12 + 457851.097041496 5439086.36233956 112.1 + + + + + + + + + 457851.098469372 5439086.36133975 112.1 + 457851.100049171 5439086.36060307 112.1 + 457851.100049171 5439086.36060307 112.12 + 457851.098469372 5439086.36133975 112.12 + 457851.098469372 5439086.36133975 112.1 + + + + + + + + + 457851.100049171 5439086.36060307 112.1 + 457851.101732891 5439086.36015192 112.1 + 457851.101732891 5439086.36015192 112.12 + 457851.100049171 5439086.36060307 112.12 + 457851.100049171 5439086.36060307 112.1 + + + + + + + + + 457851.101732891 5439086.36015192 112.1 + 457851.103469372 5439086.36 112.1 + 457851.103469372 5439086.36 112.12 + 457851.101732891 5439086.36015192 112.12 + 457851.101732891 5439086.36015192 112.1 + + + + + + + + + 457851.103469372 5439086.36 112.1 + 457851.105205854 5439086.36015192 112.1 + 457851.105205854 5439086.36015192 112.12 + 457851.103469372 5439086.36 112.12 + 457851.103469372 5439086.36 112.1 + + + + + + + + + 457851.105205854 5439086.36015192 112.1 + 457851.106889574 5439086.36060307 112.1 + 457851.106889574 5439086.36060307 112.12 + 457851.105205854 5439086.36015192 112.12 + 457851.105205854 5439086.36015192 112.1 + + + + + + + + + 457851.106889574 5439086.36060307 112.1 + 457851.108469372 5439086.36133975 112.1 + 457851.108469372 5439086.36133975 112.12 + 457851.106889574 5439086.36060307 112.12 + 457851.106889574 5439086.36060307 112.1 + + + + + + + + + 457851.108469372 5439086.36133975 112.1 + 457851.109897249 5439086.36233956 112.1 + 457851.109897249 5439086.36233956 112.12 + 457851.108469372 5439086.36133975 112.12 + 457851.108469372 5439086.36133975 112.1 + + + + + + + + + 457851.109897249 5439086.36233956 112.1 + 457851.111129817 5439086.36357212 112.1 + 457851.111129817 5439086.36357212 112.12 + 457851.109897249 5439086.36233956 112.12 + 457851.109897249 5439086.36233956 112.1 + + + + + + + + + 457851.111129817 5439086.36357212 112.1 + 457851.112129626 5439086.365 112.1 + 457851.112129626 5439086.365 112.12 + 457851.111129817 5439086.36357212 112.12 + 457851.111129817 5439086.36357212 112.1 + + + + + + + + + 457851.112129626 5439086.365 112.1 + 457851.112866299 5439086.3665798 112.1 + 457851.112866299 5439086.3665798 112.12 + 457851.112129626 5439086.365 112.12 + 457851.112129626 5439086.365 112.1 + + + + + + + + + 457851.112866299 5439086.3665798 112.1 + 457851.11331745 5439086.36826352 112.1 + 457851.11331745 5439086.36826352 112.12 + 457851.112866299 5439086.3665798 112.12 + 457851.112866299 5439086.3665798 112.1 + + + + + + + + + 457851.652129626 5439086.365 112.1 + 457851.651129817 5439086.36357212 112.1 + 457851.649897248 5439086.36233956 112.1 + 457851.648469372 5439086.36133975 112.1 + 457851.646889574 5439086.36060307 112.1 + 457851.645205854 5439086.36015192 112.1 + 457851.643469372 5439086.36 112.1 + 457851.641732891 5439086.36015192 112.1 + 457851.640049171 5439086.36060307 112.1 + 457851.638469372 5439086.36133975 112.1 + 457851.637041496 5439086.36233956 112.1 + 457851.635808928 5439086.36357212 112.1 + 457851.634809118 5439086.365 112.1 + 457851.634072446 5439086.3665798 112.1 + 457851.633621295 5439086.36826352 112.1 + 457851.633469372 5439086.37 112.1 + 457851.633621295 5439086.37173648 112.1 + 457851.634072446 5439086.3734202 112.1 + 457851.634809118 5439086.375 112.1 + 457851.635808928 5439086.37642788 112.1 + 457851.637041496 5439086.37766044 112.1 + 457851.638469372 5439086.37866025 112.1 + 457851.640049171 5439086.37939693 112.1 + 457851.641732891 5439086.37984808 112.1 + 457851.643469372 5439086.38 112.1 + 457851.645205854 5439086.37984808 112.1 + 457851.646889574 5439086.37939693 112.1 + 457851.648469372 5439086.37866025 112.1 + 457851.649897248 5439086.37766044 112.1 + 457851.651129817 5439086.37642788 112.1 + 457851.652129626 5439086.375 112.1 + 457851.652866299 5439086.3734202 112.1 + 457851.65331745 5439086.37173648 112.1 + 457851.653469372 5439086.37 112.1 + 457851.65331745 5439086.36826352 112.1 + 457851.652866299 5439086.3665798 112.1 + 457851.652129626 5439086.365 112.1 + + + + + + + + + 457851.649897248 5439086.36233956 112.12 + 457851.651129817 5439086.36357212 112.12 + 457851.652129626 5439086.365 112.12 + 457851.652866299 5439086.3665798 112.12 + 457851.65331745 5439086.36826352 112.12 + 457851.653469372 5439086.37 112.12 + 457851.65331745 5439086.37173648 112.12 + 457851.652866299 5439086.3734202 112.12 + 457851.652129626 5439086.375 112.12 + 457851.651129817 5439086.37642788 112.12 + 457851.649897248 5439086.37766044 112.12 + 457851.648469372 5439086.37866025 112.12 + 457851.646889574 5439086.37939693 112.12 + 457851.645205854 5439086.37984808 112.12 + 457851.643469372 5439086.38 112.12 + 457851.641732891 5439086.37984808 112.12 + 457851.640049171 5439086.37939693 112.12 + 457851.638469372 5439086.37866025 112.12 + 457851.637041496 5439086.37766044 112.12 + 457851.635808928 5439086.37642788 112.12 + 457851.634809118 5439086.375 112.12 + 457851.634072446 5439086.3734202 112.12 + 457851.633621295 5439086.37173648 112.12 + 457851.633469372 5439086.37 112.12 + 457851.633621295 5439086.36826352 112.12 + 457851.634072446 5439086.3665798 112.12 + 457851.634809118 5439086.365 112.12 + 457851.635808928 5439086.36357212 112.12 + 457851.637041496 5439086.36233956 112.12 + 457851.638469372 5439086.36133975 112.12 + 457851.640049171 5439086.36060307 112.12 + 457851.641732891 5439086.36015192 112.12 + 457851.643469372 5439086.36 112.12 + 457851.645205854 5439086.36015192 112.12 + 457851.646889574 5439086.36060307 112.12 + 457851.648469372 5439086.36133975 112.12 + 457851.649897248 5439086.36233956 112.12 + + + + + + + + + 457851.65331745 5439086.36826352 112.1 + 457851.653469372 5439086.37 112.1 + 457851.653469372 5439086.37 112.12 + 457851.65331745 5439086.36826352 112.12 + 457851.65331745 5439086.36826352 112.1 + + + + + + + + + 457851.653469372 5439086.37 112.1 + 457851.65331745 5439086.37173648 112.1 + 457851.65331745 5439086.37173648 112.12 + 457851.653469372 5439086.37 112.12 + 457851.653469372 5439086.37 112.1 + + + + + + + + + 457851.65331745 5439086.37173648 112.1 + 457851.652866299 5439086.3734202 112.1 + 457851.652866299 5439086.3734202 112.12 + 457851.65331745 5439086.37173648 112.12 + 457851.65331745 5439086.37173648 112.1 + + + + + + + + + 457851.652866299 5439086.3734202 112.1 + 457851.652129626 5439086.375 112.1 + 457851.652129626 5439086.375 112.12 + 457851.652866299 5439086.3734202 112.12 + 457851.652866299 5439086.3734202 112.1 + + + + + + + + + 457851.652129626 5439086.375 112.1 + 457851.651129817 5439086.37642788 112.1 + 457851.651129817 5439086.37642788 112.12 + 457851.652129626 5439086.375 112.12 + 457851.652129626 5439086.375 112.1 + + + + + + + + + 457851.651129817 5439086.37642788 112.1 + 457851.649897248 5439086.37766044 112.1 + 457851.649897248 5439086.37766044 112.12 + 457851.651129817 5439086.37642788 112.12 + 457851.651129817 5439086.37642788 112.1 + + + + + + + + + 457851.649897248 5439086.37766044 112.1 + 457851.648469372 5439086.37866025 112.1 + 457851.648469372 5439086.37866025 112.12 + 457851.649897248 5439086.37766044 112.12 + 457851.649897248 5439086.37766044 112.1 + + + + + + + + + 457851.648469372 5439086.37866025 112.1 + 457851.646889574 5439086.37939693 112.1 + 457851.646889574 5439086.37939693 112.12 + 457851.648469372 5439086.37866025 112.12 + 457851.648469372 5439086.37866025 112.1 + + + + + + + + + 457851.646889574 5439086.37939693 112.1 + 457851.645205854 5439086.37984808 112.1 + 457851.645205854 5439086.37984808 112.12 + 457851.646889574 5439086.37939693 112.12 + 457851.646889574 5439086.37939693 112.1 + + + + + + + + + 457851.645205854 5439086.37984808 112.1 + 457851.643469372 5439086.38 112.1 + 457851.643469372 5439086.38 112.12 + 457851.645205854 5439086.37984808 112.12 + 457851.645205854 5439086.37984808 112.1 + + + + + + + + + 457851.643469372 5439086.38 112.1 + 457851.641732891 5439086.37984808 112.1 + 457851.641732891 5439086.37984808 112.12 + 457851.643469372 5439086.38 112.12 + 457851.643469372 5439086.38 112.1 + + + + + + + + + 457851.641732891 5439086.37984808 112.1 + 457851.640049171 5439086.37939693 112.1 + 457851.640049171 5439086.37939693 112.12 + 457851.641732891 5439086.37984808 112.12 + 457851.641732891 5439086.37984808 112.1 + + + + + + + + + 457851.640049171 5439086.37939693 112.1 + 457851.638469372 5439086.37866025 112.1 + 457851.638469372 5439086.37866025 112.12 + 457851.640049171 5439086.37939693 112.12 + 457851.640049171 5439086.37939693 112.1 + + + + + + + + + 457851.638469372 5439086.37866025 112.1 + 457851.637041496 5439086.37766044 112.1 + 457851.637041496 5439086.37766044 112.12 + 457851.638469372 5439086.37866025 112.12 + 457851.638469372 5439086.37866025 112.1 + + + + + + + + + 457851.637041496 5439086.37766044 112.1 + 457851.635808928 5439086.37642788 112.1 + 457851.635808928 5439086.37642788 112.12 + 457851.637041496 5439086.37766044 112.12 + 457851.637041496 5439086.37766044 112.1 + + + + + + + + + 457851.635808928 5439086.37642788 112.1 + 457851.634809118 5439086.375 112.1 + 457851.634809118 5439086.375 112.12 + 457851.635808928 5439086.37642788 112.12 + 457851.635808928 5439086.37642788 112.1 + + + + + + + + + 457851.634809118 5439086.375 112.1 + 457851.634072446 5439086.3734202 112.1 + 457851.634072446 5439086.3734202 112.12 + 457851.634809118 5439086.375 112.12 + 457851.634809118 5439086.375 112.1 + + + + + + + + + 457851.634072446 5439086.3734202 112.1 + 457851.633621295 5439086.37173648 112.1 + 457851.633621295 5439086.37173648 112.12 + 457851.634072446 5439086.3734202 112.12 + 457851.634072446 5439086.3734202 112.1 + + + + + + + + + 457851.633621295 5439086.37173648 112.1 + 457851.633469372 5439086.37 112.1 + 457851.633469372 5439086.37 112.12 + 457851.633621295 5439086.37173648 112.12 + 457851.633621295 5439086.37173648 112.1 + + + + + + + + + 457851.633469372 5439086.37 112.1 + 457851.633621295 5439086.36826352 112.1 + 457851.633621295 5439086.36826352 112.12 + 457851.633469372 5439086.37 112.12 + 457851.633469372 5439086.37 112.1 + + + + + + + + + 457851.633621295 5439086.36826352 112.1 + 457851.634072446 5439086.3665798 112.1 + 457851.634072446 5439086.3665798 112.12 + 457851.633621295 5439086.36826352 112.12 + 457851.633621295 5439086.36826352 112.1 + + + + + + + + + 457851.634072446 5439086.3665798 112.1 + 457851.634809118 5439086.365 112.1 + 457851.634809118 5439086.365 112.12 + 457851.634072446 5439086.3665798 112.12 + 457851.634072446 5439086.3665798 112.1 + + + + + + + + + 457851.634809118 5439086.365 112.1 + 457851.635808928 5439086.36357212 112.1 + 457851.635808928 5439086.36357212 112.12 + 457851.634809118 5439086.365 112.12 + 457851.634809118 5439086.365 112.1 + + + + + + + + + 457851.635808928 5439086.36357212 112.1 + 457851.637041496 5439086.36233956 112.1 + 457851.637041496 5439086.36233956 112.12 + 457851.635808928 5439086.36357212 112.12 + 457851.635808928 5439086.36357212 112.1 + + + + + + + + + 457851.637041496 5439086.36233956 112.1 + 457851.638469372 5439086.36133975 112.1 + 457851.638469372 5439086.36133975 112.12 + 457851.637041496 5439086.36233956 112.12 + 457851.637041496 5439086.36233956 112.1 + + + + + + + + + 457851.638469372 5439086.36133975 112.1 + 457851.640049171 5439086.36060307 112.1 + 457851.640049171 5439086.36060307 112.12 + 457851.638469372 5439086.36133975 112.12 + 457851.638469372 5439086.36133975 112.1 + + + + + + + + + 457851.640049171 5439086.36060307 112.1 + 457851.641732891 5439086.36015192 112.1 + 457851.641732891 5439086.36015192 112.12 + 457851.640049171 5439086.36060307 112.12 + 457851.640049171 5439086.36060307 112.1 + + + + + + + + + 457851.641732891 5439086.36015192 112.1 + 457851.643469372 5439086.36 112.1 + 457851.643469372 5439086.36 112.12 + 457851.641732891 5439086.36015192 112.12 + 457851.641732891 5439086.36015192 112.1 + + + + + + + + + 457851.643469372 5439086.36 112.1 + 457851.645205854 5439086.36015192 112.1 + 457851.645205854 5439086.36015192 112.12 + 457851.643469372 5439086.36 112.12 + 457851.643469372 5439086.36 112.1 + + + + + + + + + 457851.645205854 5439086.36015192 112.1 + 457851.646889574 5439086.36060307 112.1 + 457851.646889574 5439086.36060307 112.12 + 457851.645205854 5439086.36015192 112.12 + 457851.645205854 5439086.36015192 112.1 + + + + + + + + + 457851.646889574 5439086.36060307 112.1 + 457851.648469372 5439086.36133975 112.1 + 457851.648469372 5439086.36133975 112.12 + 457851.646889574 5439086.36060307 112.12 + 457851.646889574 5439086.36060307 112.1 + + + + + + + + + 457851.648469372 5439086.36133975 112.1 + 457851.649897248 5439086.36233956 112.1 + 457851.649897248 5439086.36233956 112.12 + 457851.648469372 5439086.36133975 112.12 + 457851.648469372 5439086.36133975 112.1 + + + + + + + + + 457851.649897248 5439086.36233956 112.1 + 457851.651129817 5439086.36357212 112.1 + 457851.651129817 5439086.36357212 112.12 + 457851.649897248 5439086.36233956 112.12 + 457851.649897248 5439086.36233956 112.1 + + + + + + + + + 457851.651129817 5439086.36357212 112.1 + 457851.652129626 5439086.365 112.1 + 457851.652129626 5439086.365 112.12 + 457851.651129817 5439086.36357212 112.12 + 457851.651129817 5439086.36357212 112.1 + + + + + + + + + 457851.652129626 5439086.365 112.1 + 457851.652866299 5439086.3665798 112.1 + 457851.652866299 5439086.3665798 112.12 + 457851.652129626 5439086.365 112.12 + 457851.652129626 5439086.365 112.1 + + + + + + + + + 457851.652866299 5439086.3665798 112.1 + 457851.65331745 5439086.36826352 112.1 + 457851.65331745 5439086.36826352 112.12 + 457851.652866299 5439086.3665798 112.12 + 457851.652866299 5439086.3665798 112.1 + + + + + + + + + 457851.139469372 5439086.375 112.1 + 457851.607469372 5439086.375 112.1 + 457851.607469372 5439086.37 112.1 + 457851.139469372 5439086.37 112.1 + 457851.139469372 5439086.375 112.1 + + + + + + + + + 457851.607469372 5439086.375 112.1 + 457851.607469372 5439086.375 112.12 + 457851.607469372 5439086.37 112.12 + 457851.607469372 5439086.37 112.1 + 457851.607469372 5439086.375 112.1 + + + + + + + + + 457851.607469372 5439086.375 112.12 + 457851.600427196 5439086.375 112.160383328093 + 457851.600427196 5439086.37 112.160383328093 + 457851.607469372 5439086.37 112.12 + 457851.607469372 5439086.375 112.12 + + + + + + + + + 457851.600427196 5439086.375 112.160383328093 + 457851.586470429 5439086.375 112.198926992816 + 457851.586470429 5439086.37 112.198926992816 + 457851.600427196 5439086.37 112.160383328093 + 457851.600427196 5439086.375 112.160383328093 + + + + + + + + + 457851.238604472 5439086.375 112.292269235025 + 457851.207227063 5439086.375 112.265890007692 + 457851.207227063 5439086.37 112.265890007692 + 457851.238604472 5439086.37 112.292269235025 + 457851.238604472 5439086.375 112.292269235025 + + + + + + + + + 457851.207227063 5439086.375 112.265890007692 + 457851.180914461 5439086.375 112.23445670699 + 457851.180914461 5439086.37 112.23445670699 + 457851.207227063 5439086.37 112.265890007692 + 457851.207227063 5439086.375 112.265890007692 + + + + + + + + + 457851.180914461 5439086.375 112.23445670699 + 457851.160468316 5439086.375 112.198926992816 + 457851.160468316 5439086.37 112.198926992816 + 457851.180914461 5439086.37 112.23445670699 + 457851.180914461 5439086.375 112.23445670699 + + + + + + + + + 457851.160468316 5439086.375 112.198926992816 + 457851.146511549 5439086.375 112.160383328093 + 457851.146511549 5439086.37 112.160383328093 + 457851.160468316 5439086.37 112.198926992816 + 457851.160468316 5439086.375 112.198926992816 + + + + + + + + + 457851.146511549 5439086.375 112.160383328093 + 457851.139469372 5439086.375 112.12 + 457851.139469372 5439086.37 112.12 + 457851.146511549 5439086.37 112.160383328093 + 457851.146511549 5439086.375 112.160383328093 + + + + + + + + + 457851.139469372 5439086.375 112.12 + 457851.139469372 5439086.375 112.1 + 457851.139469372 5439086.37 112.1 + 457851.139469372 5439086.37 112.12 + 457851.139469372 5439086.375 112.12 + + + + + + + + + 457851.586470429 5439086.375 112.198926992816 + 457851.600427196 5439086.375 112.160383328093 + 457851.607469372 5439086.375 112.12 + 457851.607469372 5439086.375 112.1 + 457851.139469372 5439086.375 112.1 + 457851.139469372 5439086.375 112.12 + 457851.146511549 5439086.375 112.160383328093 + 457851.160468316 5439086.375 112.198926992816 + 457851.180914461 5439086.375 112.23445670699 + 457851.207227063 5439086.375 112.265890007692 + 457851.238604472 5439086.375 112.292269235025 + 457851.274090731 5439086.375 112.312790708573 + 457851.312604701 5439086.375 112.326829212661 + 457851.352972998 5439086.375 112.333957044435 + 457851.393965747 5439086.375 112.333957044435 + 457851.434334044 5439086.375 112.326829212661 + 457851.472848014 5439086.375 112.312790708573 + 457851.508334272 5439086.375 112.292269235025 + 457851.539711682 5439086.375 112.265890007692 + 457851.566024284 5439086.375 112.23445670699 + 457851.586470429 5439086.375 112.198926992816 + + + + + + + + + 457851.607469372 5439086.37 112.12 + 457851.600427196 5439086.37 112.160383328093 + 457851.586470429 5439086.37 112.198926992816 + 457851.566024284 5439086.37 112.23445670699 + 457851.539711682 5439086.37 112.265890007692 + 457851.508334272 5439086.37 112.292269235025 + 457851.472848014 5439086.37 112.312790708573 + 457851.434334044 5439086.37 112.326829212661 + 457851.393965747 5439086.37 112.333957044435 + 457851.352972998 5439086.37 112.333957044435 + 457851.312604701 5439086.37 112.326829212661 + 457851.274090731 5439086.37 112.312790708573 + 457851.238604472 5439086.37 112.292269235025 + 457851.207227063 5439086.37 112.265890007692 + 457851.180914461 5439086.37 112.23445670699 + 457851.160468316 5439086.37 112.198926992816 + 457851.146511549 5439086.37 112.160383328093 + 457851.139469372 5439086.37 112.12 + 457851.139469372 5439086.37 112.1 + 457851.607469372 5439086.37 112.1 + 457851.607469372 5439086.37 112.12 + + + + + + + + + 457851.434334044 5439086.375 112.326829212661 + 457851.393965747 5439086.375 112.333957044435 + 457851.393965747 5439086.37 112.333957044435 + 457851.434334044 5439086.37 112.326829212661 + 457851.434334044 5439086.375 112.326829212661 + + + + + + + + + 457851.393965747 5439086.375 112.333957044435 + 457851.352972998 5439086.375 112.333957044435 + 457851.352972998 5439086.37 112.333957044435 + 457851.393965747 5439086.37 112.333957044435 + 457851.393965747 5439086.375 112.333957044435 + + + + + + + + + 457851.352972998 5439086.375 112.333957044435 + 457851.312604701 5439086.375 112.326829212661 + 457851.312604701 5439086.37 112.326829212661 + 457851.352972998 5439086.37 112.333957044435 + 457851.352972998 5439086.375 112.333957044435 + + + + + + + + + 457851.312604701 5439086.375 112.326829212661 + 457851.274090731 5439086.375 112.312790708573 + 457851.274090731 5439086.37 112.312790708573 + 457851.312604701 5439086.37 112.326829212661 + 457851.312604701 5439086.375 112.326829212661 + + + + + + + + + 457851.274090731 5439086.375 112.312790708573 + 457851.238604472 5439086.375 112.292269235025 + 457851.238604472 5439086.37 112.292269235025 + 457851.274090731 5439086.37 112.312790708573 + 457851.274090731 5439086.375 112.312790708573 + + + + + + + + + 457851.586470429 5439086.375 112.198926992816 + 457851.566024284 5439086.375 112.23445670699 + 457851.566024284 5439086.37 112.23445670699 + 457851.586470429 5439086.37 112.198926992816 + 457851.586470429 5439086.375 112.198926992816 + + + + + + + + + 457851.566024284 5439086.375 112.23445670699 + 457851.539711682 5439086.375 112.265890007692 + 457851.539711682 5439086.37 112.265890007692 + 457851.566024284 5439086.37 112.23445670699 + 457851.566024284 5439086.375 112.23445670699 + + + + + + + + + 457851.539711682 5439086.375 112.265890007692 + 457851.508334272 5439086.375 112.292269235025 + 457851.508334272 5439086.37 112.292269235025 + 457851.539711682 5439086.37 112.265890007692 + 457851.539711682 5439086.375 112.265890007692 + + + + + + + + + 457851.508334272 5439086.375 112.292269235025 + 457851.472848014 5439086.375 112.312790708573 + 457851.472848014 5439086.37 112.312790708573 + 457851.508334272 5439086.37 112.292269235025 + 457851.508334272 5439086.375 112.292269235025 + + + + + + + + + 457851.472848014 5439086.375 112.312790708573 + 457851.434334044 5439086.375 112.326829212661 + 457851.434334044 5439086.37 112.326829212661 + 457851.472848014 5439086.37 112.312790708573 + 457851.472848014 5439086.375 112.312790708573 + + + + + + + + + 457850.563469372 5439086.29 112.92 + 457852.183469372 5439086.29 112.92 + 457852.183469372 5439086.29 113 + 457850.563469372 5439086.29 113 + 457850.563469372 5439086.29 112.92 + + + + + + + + + 457852.183469372 5439086.29 112.92 + 457852.183469372 5439087.01 112.92 + 457852.183469372 5439087.01 113 + 457852.183469372 5439086.29 113 + 457852.183469372 5439086.29 112.92 + + + + + + + + + 457852.183469372 5439087.01 112.92 + 457852.093469372 5439087.01 112.92 + 457850.653469372 5439087.01 112.92 + 457850.563469372 5439087.01 112.92 + 457850.563469372 5439087.01 113 + 457850.833469372 5439087.01 113 + 457851.913469372 5439087.01 113 + 457852.183469372 5439087.01 113 + 457852.183469372 5439087.01 112.92 + + + + + + + + + 457850.563469372 5439087.01 112.92 + 457850.563469372 5439086.29 112.92 + 457850.563469372 5439086.29 113 + 457850.563469372 5439087.01 113 + 457850.563469372 5439087.01 112.92 + + + + + + + + + 457850.563469372 5439086.29 112.92 + 457850.563469372 5439087.01 112.92 + 457850.653469372 5439087.01 112.92 + 457852.093469372 5439087.01 112.92 + 457852.183469372 5439087.01 112.92 + 457852.183469372 5439086.29 112.92 + 457850.563469372 5439086.29 112.92 + + + + + + + + + 457850.563469372 5439086.29 113 + 457852.183469372 5439086.29 113 + 457852.183469372 5439087.01 113 + 457851.913469372 5439087.01 113 + 457850.833469372 5439087.01 113 + 457850.563469372 5439087.01 113 + 457850.563469372 5439086.29 113 + + + + + + + + + 457850.833469372 5439086.45 113 + 457851.913469372 5439086.45 113 + 457851.613469372 5439086.85 113.6 + 457851.133469372 5439086.85 113.6 + 457850.833469372 5439086.45 113 + + + + + + + + + 457851.913469372 5439086.45 113 + 457851.913469372 5439087.01 113 + 457851.613469372 5439087.01 113.6 + 457851.613469372 5439086.85 113.6 + 457851.913469372 5439086.45 113 + + + + + + + + + 457851.913469372 5439087.01 113 + 457850.833469372 5439087.01 113 + 457851.133469372 5439087.01 113.6 + 457851.613469372 5439087.01 113.6 + 457851.913469372 5439087.01 113 + + + + + + + + + 457850.833469372 5439087.01 113 + 457850.833469372 5439086.45 113 + 457851.133469372 5439086.85 113.6 + 457851.133469372 5439087.01 113.6 + 457850.833469372 5439087.01 113 + + + + + + + + + 457851.133469372 5439086.85 113.6 + 457851.613469372 5439086.85 113.6 + 457851.613469372 5439087.01 113.6 + 457851.133469372 5439087.01 113.6 + 457851.133469372 5439086.85 113.6 + + + + + + + + + 457851.013469372 5439086.37 112.1 + 457851.013469372 5439086.37 112.78 + 457851.733469372 5439086.37 112.78 + 457851.733469372 5439086.37 112.1 + 457852.093469372 5439086.37 112.1 + 457852.093469372 5439086.37 112.92 + 457850.653469372 5439086.37 112.92 + 457850.653469372 5439086.37 112.1 + 457851.013469372 5439086.37 112.1 + + + + + + + + + 457850.698469372 5439086.45 112.1 + 457850.698469372 5439086.96 112.1 + 457850.698469372 5439086.96 112.92 + 457850.698469372 5439086.45 112.92 + 457850.698469372 5439086.45 112.1 + + + + + + + + + 457850.698469372 5439086.96 112.1 + 457852.048469372 5439086.96 112.1 + 457852.048469372 5439086.96 112.92 + 457850.698469372 5439086.96 112.92 + 457850.698469372 5439086.96 112.1 + + + + + + + + + 457852.093469372 5439086.37 112.1 + 457852.093469372 5439087.01 112.1 + 457852.093469372 5439087.01 112.92 + 457852.093469372 5439086.37 112.92 + 457852.093469372 5439086.37 112.1 + + + + + + + + + 457850.653469372 5439087.01 112.1 + 457850.653469372 5439086.37 112.1 + 457850.653469372 5439086.37 112.92 + 457850.653469372 5439087.01 112.92 + 457850.653469372 5439087.01 112.1 + + + + + + + + + 457850.653469372 5439086.37 112.1 + 457850.653469372 5439087.01 112.1 + 457852.093469372 5439087.01 112.1 + 457852.093469372 5439086.37 112.1 + 457851.733469372 5439086.37 112.1 + 457851.733469372 5439086.45 112.1 + 457852.048469372 5439086.45 112.1 + 457852.048469372 5439086.96 112.1 + 457850.698469372 5439086.96 112.1 + 457850.698469372 5439086.45 112.1 + 457851.013469372 5439086.45 112.1 + 457851.013469372 5439086.37 112.1 + 457850.653469372 5439086.37 112.1 + + + + + + + + + 457851.013469372 5439086.45 112.78 + 457851.733469372 5439086.45 112.78 + 457851.733469372 5439086.37 112.78 + 457851.013469372 5439086.37 112.78 + 457851.013469372 5439086.45 112.78 + + + + + + + + + 457851.013469372 5439086.37 112.1 + 457851.013469372 5439086.45 112.1 + 457851.013469372 5439086.45 112.78 + 457851.013469372 5439086.37 112.78 + 457851.013469372 5439086.37 112.1 + + + + + + + + + 457851.733469372 5439086.45 112.1 + 457851.733469372 5439086.37 112.1 + 457851.733469372 5439086.37 112.78 + 457851.733469372 5439086.45 112.78 + 457851.733469372 5439086.45 112.1 + + + + + + + + + 457852.093469372 5439087.01 112.92 + 457850.653469372 5439087.01 112.92 + 457850.653469372 5439086.37 112.92 + 457852.093469372 5439086.37 112.92 + 457852.093469372 5439087.01 112.92 + + + + + 457850.698469372 5439086.45 112.92 + 457850.698469372 5439086.96 112.92 + 457852.048469372 5439086.96 112.92 + 457852.048469372 5439086.45 112.92 + 457850.698469372 5439086.45 112.92 + + + + + + + + + 457852.048469372 5439086.96 112.1 + 457852.048469372 5439086.45 112.1 + 457852.048469372 5439086.45 112.92 + 457852.048469372 5439086.96 112.92 + 457852.048469372 5439086.96 112.1 + + + + + + + + + 457851.733469372 5439086.45 112.1 + 457851.733469372 5439086.45 112.78 + 457851.013469372 5439086.45 112.78 + 457851.013469372 5439086.45 112.1 + 457850.698469372 5439086.45 112.1 + 457850.698469372 5439086.45 112.92 + 457852.048469372 5439086.45 112.92 + 457852.048469372 5439086.45 112.1 + 457851.733469372 5439086.45 112.1 + + + + + + + + + 457852.093469372 5439087.01 112.1 + 457850.653469372 5439087.01 112.1 + 457850.653469372 5439087.01 112.92 + 457852.093469372 5439087.01 112.92 + 457852.093469372 5439087.01 112.1 + + + + + + + + + 457851.459441285 5439086.75890772 112.302172411194 + 457851.459844744 5439086.75960653 112.273598223742 + 457851.460107878 5439086.76006229 112.246687619526 + 457851.462163593 5439086.7636229 112.220087968817 + 457851.46355962 5439086.76604089 112.205413638932 + 457851.463661106 5439086.76621667 112.190477317393 + 457851.462464751 5439086.76414452 112.175732493438 + 457851.460006874 5439086.75988735 112.161626811367 + 457851.456362096 5439086.75357441 112.148588511505 + 457851.451641069 5439086.74539735 112.137013429069 + 457851.445987122 5439086.73560443 112.127252976848 + 457851.439571905 5439086.72449294 112.119603476507 + 457851.425847321 5439086.70072127 112.110973773923 + 457851.411631248 5439086.67609831 112.106560721075 + 457851.373469372 5439086.61 112.100150505012 + 457851.372573372 5439086.60844808 112.1 + 457851.306537788 5439086.4940711 112.112634977912 + 457851.300306533 5439086.48327824 112.115714373301 + 457851.294436568 5439086.47311117 112.120908119863 + 457851.289105821 5439086.46387804 112.128058885696 + 457851.284475795 5439086.4558586 112.136950025355 + 457851.280205401 5439086.44846206 112.150211607717 + 457851.277074063 5439086.44303843 112.164689066646 + 457851.275165784 5439086.43973319 112.179994353601 + 457851.274531709 5439086.43863494 112.195717258047 + 457851.275188832 5439086.43977311 112.21143637651 + 457851.277214454 5439086.44328159 112.229618152964 + 457851.280499326 5439086.44897116 112.24704919027 + 457851.290430714 5439086.46617282 112.282966625263 + 457851.300466582 5439086.48355546 112.323700188861 + 457851.306256031 5439086.49358308 112.367609000283 + 457851.308947985 5439086.49824568 112.402606813029 + 457851.314193516 5439086.5073312 112.362158035238 + 457851.315703614 5439086.50994677 112.320479932416 + 457851.313428591 5439086.50600632 112.278940999827 + 457851.332973356 5439086.53985884 112.34536458399 + 457851.336046133 5439086.54518105 112.365300958902 + 457851.337308197 5439086.54736701 112.386010341506 + 457851.336719807 5439086.54634789 112.406839766442 + 457851.336123352 5439086.5453148 112.42654033785 + 457851.337078284 5439086.54696879 112.446184082204 + 457851.339560572 5439086.55126824 112.465285842597 + 457851.343508881 5439086.55810691 112.483373620809 + 457851.348825647 5439086.56731582 112.500000473785 + 457851.35227195 5439086.57328499 112.427368657728 + 457851.354990074 5439086.57799292 112.390550754679 + 457851.35488611 5439086.57781284 112.35333389775 + 457851.351962382 5439086.5727488 112.316578694927 + 457851.358846946 5439086.58467321 112.342883596642 + 457851.363942027 5439086.59349815 112.370771486268 + 457851.365545478 5439086.59627541 112.388398097035 + 457851.365635957 5439086.59643213 112.40631269302 + 457851.364210706 5439086.59396352 112.423999980352 + 457851.362267705 5439086.59059814 112.453685986132 + 457851.369082296 5439086.60240136 112.441669332841 + 457851.373469372 5439086.61 112.430361046194 + 457851.374651539 5439086.61204757 112.427313851207 + 457851.377946575 5439086.61775474 112.414572240908 + 457851.380131761 5439086.6215396 112.400908942939 + 457851.382424923 5439086.62551147 112.372555177464 + 457851.388703532 5439086.63638634 112.312993385813 + 457851.395409598 5439086.64800159 112.330707665871 + 457851.400552092 5439086.65690865 112.350402507886 + 457851.403988081 5439086.66285995 112.371531723046 + 457851.405622167 5439086.66569027 112.393508684749 + 457851.405408983 5439086.66532103 112.415723229756 + 457851.403354448 5439086.66176247 112.437558598622 + 457851.402154059 5439086.65968333 112.447581070161 + 457851.401721927 5439086.65893486 112.458791711427 + 457851.40240311 5439086.6601147 112.468095963767 + 457851.40393768 5439086.66277266 112.476985231546 + 457851.415624414 5439086.68301467 112.432798836566 + 457851.42359963 5439086.69682815 112.385423841945 + 457851.427655243 5439086.70385268 112.336098245894 + 457851.427685338 5439086.70390481 112.286110219434 + 457851.43398096 5439086.71480914 112.302438098707 + 457851.438852389 5439086.72324671 112.32061008899 + 457851.442167741 5439086.72898906 112.340133876032 + 457851.443837238 5439086.73188072 112.360480758553 + 457851.443815669 5439086.73184336 112.381099745972 + 457851.451303163 5439086.74481208 112.35675113344 + 457851.456565007 5439086.75392586 112.330173186144 + 457851.459441285 5439086.75890772 112.302172411194 + + + + + + + + + 457851.28749746 5439086.75890772 112.302172411194 + 457851.287094 5439086.75960653 112.273598223742 + 457851.286830867 5439086.76006229 112.246687619526 + 457851.284775152 5439086.7636229 112.220087968817 + 457851.283379125 5439086.76604089 112.205413638932 + 457851.283277639 5439086.76621667 112.190477317393 + 457851.284473994 5439086.76414452 112.175732493438 + 457851.286931871 5439086.75988735 112.161626811367 + 457851.290576649 5439086.75357441 112.148588511505 + 457851.295297676 5439086.74539735 112.137013429069 + 457851.300951623 5439086.73560443 112.127252976848 + 457851.30736684 5439086.72449294 112.119603476507 + 457851.321091424 5439086.70072127 112.110973773923 + 457851.335307497 5439086.67609831 112.106560721075 + 457851.373469372 5439086.61 112.100150505012 + 457851.374365372 5439086.60844808 112.1 + 457851.440400956 5439086.4940711 112.112634977912 + 457851.446632212 5439086.48327824 112.115714373301 + 457851.452502177 5439086.47311117 112.120908119863 + 457851.457832924 5439086.46387804 112.128058885696 + 457851.46246295 5439086.4558586 112.136950025355 + 457851.466733343 5439086.44846206 112.150211607717 + 457851.469864681 5439086.44303843 112.164689066646 + 457851.471772961 5439086.43973319 112.179994353601 + 457851.472407036 5439086.43863494 112.195717258047 + 457851.471749913 5439086.43977311 112.21143637651 + 457851.469724291 5439086.44328159 112.229618152964 + 457851.466439419 5439086.44897116 112.24704919027 + 457851.456508031 5439086.46617282 112.282966625263 + 457851.446472162 5439086.48355546 112.323700188861 + 457851.440682714 5439086.49358308 112.367609000283 + 457851.43799076 5439086.49824568 112.402606813029 + 457851.432745229 5439086.5073312 112.362158035238 + 457851.431235131 5439086.50994677 112.320479932416 + 457851.433510154 5439086.50600632 112.278940999827 + 457851.413965388 5439086.53985884 112.34536458399 + 457851.410892612 5439086.54518105 112.365300958902 + 457851.409630548 5439086.54736701 112.386010341506 + 457851.410218937 5439086.54634789 112.406839766442 + 457851.410815393 5439086.5453148 112.42654033785 + 457851.409860461 5439086.54696879 112.446184082204 + 457851.407378172 5439086.55126824 112.465285842597 + 457851.403429864 5439086.55810691 112.483373620809 + 457851.398113097 5439086.56731582 112.500000473785 + 457851.394666795 5439086.57328499 112.427368657728 + 457851.391948671 5439086.57799292 112.390550754679 + 457851.392052635 5439086.57781284 112.35333389775 + 457851.394976363 5439086.5727488 112.316578694927 + 457851.388091799 5439086.58467321 112.342883596642 + 457851.382996718 5439086.59349815 112.370771486268 + 457851.381393267 5439086.59627541 112.388398097035 + 457851.381302788 5439086.59643213 112.40631269302 + 457851.382728039 5439086.59396352 112.423999980352 + 457851.38467104 5439086.59059814 112.453685986132 + 457851.377856449 5439086.60240136 112.441669332841 + 457851.373469372 5439086.61 112.430361046194 + 457851.372287206 5439086.61204757 112.427313851207 + 457851.36899217 5439086.61775474 112.414572240908 + 457851.366806983 5439086.6215396 112.400908942939 + 457851.364513822 5439086.62551147 112.372555177464 + 457851.358235213 5439086.63638634 112.312993385813 + 457851.351529147 5439086.64800159 112.330707665871 + 457851.346386652 5439086.65690865 112.350402507886 + 457851.342950664 5439086.66285995 112.371531723046 + 457851.341316578 5439086.66569027 112.393508684749 + 457851.341529762 5439086.66532103 112.415723229756 + 457851.343584297 5439086.66176247 112.437558598622 + 457851.344784686 5439086.65968333 112.447581070161 + 457851.345216818 5439086.65893486 112.458791711427 + 457851.344535634 5439086.6601147 112.468095963767 + 457851.343001065 5439086.66277266 112.476985231546 + 457851.331314331 5439086.68301467 112.432798836566 + 457851.323339115 5439086.69682815 112.385423841945 + 457851.319283502 5439086.70385268 112.336098245894 + 457851.319253407 5439086.70390481 112.286110219434 + 457851.312957785 5439086.71480914 112.302438098707 + 457851.308086356 5439086.72324671 112.32061008899 + 457851.304771004 5439086.72898906 112.340133876032 + 457851.303101507 5439086.73188072 112.360480758553 + 457851.303123076 5439086.73184336 112.381099745972 + 457851.295635582 5439086.74481208 112.35675113344 + 457851.290373738 5439086.75392586 112.330173186144 + 457851.28749746 5439086.75890772 112.302172411194 + + + + + + + + + 457851.373469372 5439086.61 112.430361046194 + 457851.375833706 5439086.61 112.427313851207 + 457851.382423778 5439086.61 112.414572240908 + 457851.38679415 5439086.61 112.400908942939 + 457851.391380473 5439086.61 112.372555177464 + 457851.403937692 5439086.61 112.312993385813 + 457851.417349823 5439086.61 112.330707665871 + 457851.427634812 5439086.61 112.350402507886 + 457851.434506789 5439086.61 112.371531723046 + 457851.437774962 5439086.61 112.393508684749 + 457851.437348594 5439086.61 112.415723229756 + 457851.433239523 5439086.61 112.437558598622 + 457851.430838745 5439086.61 112.447581070161 + 457851.429974481 5439086.61 112.458791711427 + 457851.431336849 5439086.61 112.468095963767 + 457851.434405987 5439086.61 112.476985231546 + 457851.457779455 5439086.61 112.432798836566 + 457851.473729888 5439086.61 112.385423841945 + 457851.481841114 5439086.61 112.336098245894 + 457851.481901303 5439086.61 112.286110219434 + 457851.494492548 5439086.61 112.302438098707 + 457851.504235405 5439086.61 112.32061008899 + 457851.51086611 5439086.61 112.340133876032 + 457851.514205103 5439086.61 112.360480758553 + 457851.514161965 5439086.61 112.381099745972 + 457851.529136953 5439086.61 112.35675113344 + 457851.539660641 5439086.61 112.330173186144 + 457851.545413198 5439086.61 112.302172411194 + 457851.546220116 5439086.61 112.273598223742 + 457851.546746384 5439086.61 112.246687619526 + 457851.550857813 5439086.61 112.220087968817 + 457851.553649867 5439086.61 112.205413638932 + 457851.55385284 5439086.61 112.190477317393 + 457851.551460129 5439086.61 112.175732493438 + 457851.546544376 5439086.61 112.161626811367 + 457851.539254819 5439086.61 112.148588511505 + 457851.529812766 5439086.61 112.137013429069 + 457851.518504872 5439086.61 112.127252976848 + 457851.505674437 5439086.61 112.119603476507 + 457851.478225269 5439086.61 112.110973773923 + 457851.449793124 5439086.61 112.106560721075 + 457851.373469372 5439086.61 112.100150505012 + 457851.371677372 5439086.61 112.1 + 457851.239606204 5439086.61 112.112634977912 + 457851.227143693 5439086.61 112.115714373301 + 457851.215403764 5439086.61 112.120908119863 + 457851.204742269 5439086.61 112.128058885696 + 457851.195482217 5439086.61 112.136950025355 + 457851.18694143 5439086.61 112.150211607717 + 457851.180678754 5439086.61 112.164689066646 + 457851.176862195 5439086.61 112.179994353601 + 457851.175594045 5439086.61 112.195717258047 + 457851.176908292 5439086.61 112.21143637651 + 457851.180959535 5439086.61 112.229618152964 + 457851.18752928 5439086.61 112.24704919027 + 457851.207392055 5439086.61 112.282966625263 + 457851.227463793 5439086.61 112.323700188861 + 457851.23904269 5439086.61 112.367609000283 + 457851.244426598 5439086.61 112.402606813029 + 457851.254917659 5439086.61 112.362158035238 + 457851.257937856 5439086.61 112.320479932416 + 457851.253387809 5439086.61 112.278940999827 + 457851.29247734 5439086.61 112.34536458399 + 457851.298622893 5439086.61 112.365300958902 + 457851.301147021 5439086.61 112.386010341506 + 457851.299970242 5439086.61 112.406839766442 + 457851.298777332 5439086.61 112.42654033785 + 457851.300687196 5439086.61 112.446184082204 + 457851.305651772 5439086.61 112.465285842597 + 457851.313548389 5439086.61 112.483373620809 + 457851.324181922 5439086.61 112.500000473785 + 457851.331074527 5439086.61 112.427368657728 + 457851.336510776 5439086.61 112.390550754679 + 457851.336302847 5439086.61 112.35333389775 + 457851.330455391 5439086.61 112.316578694927 + 457851.344224519 5439086.61 112.342883596642 + 457851.354414681 5439086.61 112.370771486268 + 457851.357621583 5439086.61 112.388398097035 + 457851.357802542 5439086.61 112.40631269302 + 457851.35495204 5439086.61 112.423999980352 + 457851.351066037 5439086.61 112.453685986132 + 457851.364695219 5439086.61 112.441669332841 + 457851.373469372 5439086.61 112.430361046194 + + + + + + + + + 457851.373469372 5439086.61 112.100150505012 + 457851.411631248 5439086.67609831 112.106560721075 + 457851.373469674 5439086.61 112.100000283341 + 457851.372573372 5439086.60844808 112.1 + 457851.373469372 5439086.61 112.100150505012 + + + + + + + + + 457851.373469372 5439086.61 112.100150505012 + 457851.335307497 5439086.67609831 112.106560721075 + 457851.373469674 5439086.61 112.100000283341 + 457851.374365372 5439086.60844808 112.1 + 457851.373469372 5439086.61 112.100150505012 + + + + + + + + + 457851.373469372 5439086.61 112.100150505012 + 457851.449793124 5439086.61 112.106560721075 + 457851.373469674 5439086.61 112.100000283341 + 457851.371677372 5439086.61 112.1 + 457851.373469372 5439086.61 112.100150505012 + + + + + + + + + 457851.823469372 5439086.674 112.1 + 457850.923469372 5439086.674 112.1 + 457850.923469372 5439086.794 112.1 + 457851.823469372 5439086.794 112.1 + 457851.823469372 5439086.674 112.1 + + + + + + + + + 457850.923469372 5439086.674 112.2 + 457851.823469372 5439086.674 112.2 + 457851.823469372 5439086.794 112.2 + 457850.923469372 5439086.794 112.2 + 457850.923469372 5439086.674 112.2 + + + + + + + + + 457850.923469372 5439086.674 112.1 + 457851.823469372 5439086.674 112.1 + 457851.823469372 5439086.674 112.2 + 457850.923469372 5439086.674 112.2 + 457850.923469372 5439086.674 112.1 + + + + + + + + + 457851.823469372 5439086.674 112.1 + 457851.823469372 5439086.794 112.1 + 457851.823469372 5439086.794 112.2 + 457851.823469372 5439086.674 112.2 + 457851.823469372 5439086.674 112.1 + + + + + + + + + 457851.823469372 5439086.794 112.1 + 457850.923469372 5439086.794 112.1 + 457850.923469372 5439086.794 112.2 + 457851.823469372 5439086.794 112.2 + 457851.823469372 5439086.794 112.1 + + + + + + + + + 457850.923469372 5439086.794 112.1 + 457850.923469372 5439086.674 112.1 + 457850.923469372 5439086.674 112.2 + 457850.923469372 5439086.794 112.2 + 457850.923469372 5439086.794 112.1 + + + + + + + + + 457851.811962238 5439086.53 112.2 + 457851.830634131 5439086.63589357 112.2 + 457851.830634131 5439086.63589357 112.3 + 457851.80979635 5439086.51771664 112.3 + 457851.80979635 5439086.51771664 112.2 + 457851.811962238 5439086.53 112.2 + + + + + + + + + 457851.830634131 5439086.63589357 112.2 + 457850.944307154 5439086.79217693 112.2 + 457850.944307154 5439086.79217693 112.3 + 457851.830634131 5439086.63589357 112.3 + 457851.830634131 5439086.63589357 112.2 + + + + + + + + + 457850.944307154 5439086.79217693 112.2 + 457850.923469372 5439086.674 112.2 + 457850.923469372 5439086.674 112.3 + 457850.944307154 5439086.79217693 112.3 + 457850.944307154 5439086.79217693 112.2 + + + + + + + + + 457850.923469372 5439086.674 112.3 + 457851.80979635 5439086.51771664 112.3 + 457851.830634131 5439086.63589357 112.3 + 457850.944307154 5439086.79217693 112.3 + 457850.923469372 5439086.674 112.3 + + + + + + + + + 457851.80979635 5439086.51771664 112.3 + 457850.923469372 5439086.674 112.3 + 457850.923469372 5439086.674 112.2 + 457851.80979635 5439086.51771664 112.2 + 457851.80979635 5439086.51771664 112.3 + + + + + + + + + 457851.830634131 5439086.63589357 112.2 + 457851.811962238 5439086.53 112.2 + 457851.80979635 5439086.51771664 112.2 + 457850.923469372 5439086.674 112.2 + 457850.944307154 5439086.79217693 112.2 + 457851.830634131 5439086.63589357 112.2 + + + + + + + + + 457851.823469372 5439086.53 112.1 + 457850.923469372 5439086.53 112.1 + 457850.923469372 5439086.65 112.1 + 457851.823469372 5439086.65 112.1 + 457851.823469372 5439086.53 112.1 + + + + + + + + + 457851.823469372 5439086.53 112.1 + 457851.823469372 5439086.65 112.1 + 457851.823469372 5439086.65 112.2 + 457851.823469372 5439086.53 112.2 + 457851.823469372 5439086.53 112.1 + + + + + + + + + 457851.823469372 5439086.65 112.1 + 457850.923469372 5439086.65 112.1 + 457850.923469372 5439086.65 112.2 + 457851.823469372 5439086.65 112.2 + 457851.823469372 5439086.65 112.1 + + + + + + + + + 457850.923469372 5439086.65 112.1 + 457850.923469372 5439086.53 112.1 + 457850.923469372 5439086.53 112.2 + 457850.923469372 5439086.65 112.2 + 457850.923469372 5439086.65 112.1 + + + + + + + + + 457851.823469372 5439086.53 112.2 + 457850.923469372 5439086.53 112.2 + 457850.923469372 5439086.53 112.1 + 457851.823469372 5439086.53 112.1 + 457851.823469372 5439086.53 112.2 + + + + + + + + + 457850.923469372 5439086.65 112.2 + 457850.923469372 5439086.53 112.2 + 457851.823469372 5439086.53 112.2 + 457851.823469372 5439086.65 112.2 + 457850.923469372 5439086.65 112.2 + + + + + + + 1070 + + + + + Wendeltreppe von ArchiCAD 14 + Spiral Stair + + + + + + + 457848.56211387 5439086.10042609 112.295140935742 + 457848.558669925 5439086.10226003 112.290806338278 + 457848.573959683 5439085.94533136 112.408475336992 + 457848.56211387 5439086.10042609 112.295140935742 + + + + + + + + + 457848.56211387 5439086.10042609 112.295140935742 + 457848.573959683 5439085.94533136 112.408475336992 + 457848.576891246 5439085.94725489 112.410206601364 + 457848.56211387 5439086.10042609 112.295140935742 + + + + + + + + + 457848.558669925 5439086.10226003 112.290806338278 + 457848.556189953 5439086.10527231 112.284319154735 + 457848.572215011 5439085.94298683 112.405884316756 + 457848.558669925 5439086.10226003 112.290806338278 + + + + + + + + + 457848.558669925 5439086.10226003 112.290806338278 + 457848.572215011 5439085.94298683 112.405884316756 + 457848.573959683 5439085.94533136 112.408475336992 + 457848.558669925 5439086.10226003 112.290806338278 + + + + + + + + + 457848.556189953 5439086.10527231 112.284319154735 + 457848.555051508 5439086.10900434 112.276667 + 457848.57192284 5439085.94057823 112.402828 + 457848.556189953 5439086.10527231 112.284319154735 + + + + + + + + + 457848.556189953 5439086.10527231 112.284319154735 + 457848.57192284 5439085.94057823 112.402828 + 457848.572215011 5439085.94298683 112.405884316756 + 457848.556189953 5439086.10527231 112.284319154735 + + + + + + + + + 457848.555051508 5439086.10900434 112.276667 + 457848.555427907 5439086.11288795 112.269014845265 + 457848.57312765 5439085.93847225 112.399771683244 + 457848.555051508 5439086.10900434 112.276667 + + + + + + + + + 457848.555051508 5439086.10900434 112.276667 + 457848.57312765 5439085.93847225 112.399771683244 + 457848.57192284 5439085.94057823 112.402828 + 457848.555051508 5439086.10900434 112.276667 + + + + + + + + + 457848.555427907 5439086.11288795 112.269014845265 + 457848.557261848 5439086.11633189 112.262527661722 + 457848.575646021 5439085.9369895 112.397180663008 + 457848.555427907 5439086.11288795 112.269014845265 + + + + + + + + + 457848.555427907 5439086.11288795 112.269014845265 + 457848.575646021 5439085.9369895 112.397180663008 + 457848.57312765 5439085.93847225 112.399771683244 + 457848.555427907 5439086.11288795 112.269014845265 + + + + + + + + + 457848.557261848 5439086.11633189 112.262527661722 + 457848.560274128 5439086.11881186 112.258193064258 + 457848.579094553 5439085.93635573 112.395449398636 + 457848.557261848 5439086.11633189 112.262527661722 + + + + + + + + + 457848.557261848 5439086.11633189 112.262527661722 + 457848.579094553 5439085.93635573 112.395449398636 + 457848.575646021 5439085.9369895 112.397180663008 + 457848.557261848 5439086.11633189 112.262527661722 + + + + + + + + + 457848.560274128 5439086.11881186 112.258193064258 + 457848.564006157 5439086.11995031 112.256670956045 + 457848.582948239 5439085.93666742 112.394841459435 + 457848.560274128 5439086.11881186 112.258193064258 + + + + + + + + + 457848.560274128 5439086.11881186 112.258193064258 + 457848.582948239 5439085.93666742 112.394841459435 + 457848.579094553 5439085.93635573 112.395449398636 + 457848.560274128 5439086.11881186 112.258193064258 + + + + + + + + + 457848.564006157 5439086.11995031 112.256670956045 + 457848.567889766 5439086.11957391 112.258193064258 + 457848.586620389 5439085.93787711 112.395449398636 + 457848.564006157 5439086.11995031 112.256670956045 + + + + + + + + + 457848.564006157 5439086.11995031 112.256670956045 + 457848.586620389 5439085.93787711 112.395449398636 + 457848.582948239 5439085.93666742 112.394841459435 + 457848.564006157 5439086.11995031 112.256670956045 + + + + + + + + + 457848.567889766 5439086.11957391 112.258193064258 + 457848.57133371 5439086.11773997 112.262527661722 + 457848.589551952 5439085.93980064 112.397180663008 + 457848.567889766 5439086.11957391 112.258193064258 + + + + + + + + + 457848.567889766 5439086.11957391 112.258193064258 + 457848.589551952 5439085.93980064 112.397180663008 + 457848.586620389 5439085.93787711 112.395449398636 + 457848.567889766 5439086.11957391 112.258193064258 + + + + + + + + + 457848.57133371 5439086.11773997 112.262527661722 + 457848.573813682 5439086.11472769 112.269014845265 + 457848.591296625 5439085.94214517 112.399771683244 + 457848.57133371 5439086.11773997 112.262527661722 + + + + + + + + + 457848.57133371 5439086.11773997 112.262527661722 + 457848.591296625 5439085.94214517 112.399771683244 + 457848.589551952 5439085.93980064 112.397180663008 + 457848.57133371 5439086.11773997 112.262527661722 + + + + + + + + + 457848.573813682 5439086.11472769 112.269014845265 + 457848.574952127 5439086.11099566 112.276667 + 457848.591588796 5439085.94455377 112.402828 + 457848.573813682 5439086.11472769 112.269014845265 + + + + + + + + + 457848.573813682 5439086.11472769 112.269014845265 + 457848.591588796 5439085.94455377 112.402828 + 457848.591296625 5439085.94214517 112.399771683244 + 457848.573813682 5439086.11472769 112.269014845265 + + + + + + + + + 457848.574952127 5439086.11099566 112.276667 + 457848.574575728 5439086.10711205 112.284319154735 + 457848.590383985 5439085.94665975 112.405884316756 + 457848.574952127 5439086.11099566 112.276667 + + + + + + + + + 457848.574952127 5439086.11099566 112.276667 + 457848.590383985 5439085.94665975 112.405884316756 + 457848.591588796 5439085.94455377 112.402828 + 457848.574952127 5439086.11099566 112.276667 + + + + + + + + + 457848.574575728 5439086.10711205 112.284319154735 + 457848.572741788 5439086.10366811 112.290806338278 + 457848.587865614 5439085.9481425 112.408475336992 + 457848.574575728 5439086.10711205 112.284319154735 + + + + + + + + + 457848.574575728 5439086.10711205 112.284319154735 + 457848.587865614 5439085.9481425 112.408475336992 + 457848.590383985 5439085.94665975 112.405884316756 + 457848.574575728 5439086.10711205 112.284319154735 + + + + + + + + + 457848.572741788 5439086.10366811 112.290806338278 + 457848.569729507 5439086.10118814 112.295140935742 + 457848.584417082 5439085.94877627 112.410206601364 + 457848.572741788 5439086.10366811 112.290806338278 + + + + + + + + + 457848.572741788 5439086.10366811 112.290806338278 + 457848.584417082 5439085.94877627 112.410206601364 + 457848.587865614 5439085.9481425 112.408475336992 + 457848.572741788 5439086.10366811 112.290806338278 + + + + + + + + + 457848.569729507 5439086.10118814 112.295140935742 + 457848.565997479 5439086.10004969 112.296663043955 + 457848.580563397 5439085.94846458 112.410814540565 + 457848.569729507 5439086.10118814 112.295140935742 + + + + + + + + + 457848.569729507 5439086.10118814 112.295140935742 + 457848.580563397 5439085.94846458 112.410814540565 + 457848.584417082 5439085.94877627 112.410206601364 + 457848.569729507 5439086.10118814 112.295140935742 + + + + + + + + + 457848.565997479 5439086.10004969 112.296663043955 + 457848.56211387 5439086.10042609 112.295140935742 + 457848.576891246 5439085.94725489 112.410206601364 + 457848.565997479 5439086.10004969 112.296663043955 + + + + + + + + + 457848.565997479 5439086.10004969 112.296663043955 + 457848.576891246 5439085.94725489 112.410206601364 + 457848.580563397 5439085.94846458 112.410814540565 + 457848.565997479 5439086.10004969 112.296663043955 + + + + + + + + + 457848.576891246 5439085.94725489 112.410206601364 + 457848.573959683 5439085.94533136 112.408475336992 + 457848.593603241 5439085.88016825 112.458989574333 + 457848.576891246 5439085.94725489 112.410206601364 + + + + + + + + + 457848.576891246 5439085.94725489 112.410206601364 + 457848.593603241 5439085.88016825 112.458989574333 + 457848.596319932 5439085.88236748 112.460723670531 + 457848.576891246 5439085.94725489 112.410206601364 + + + + + + + + + 457848.573959683 5439085.94533136 112.408475336992 + 457848.572215011 5439085.94298683 112.405884316756 + 457848.592105631 5439085.87766907 112.456394315969 + 457848.573959683 5439085.94533136 112.408475336992 + + + + + + + + + 457848.573959683 5439085.94533136 112.408475336992 + 457848.592105631 5439085.87766907 112.456394315969 + 457848.593603241 5439085.88016825 112.458989574333 + 457848.573959683 5439085.94533136 112.408475336992 + + + + + + + + + 457848.572215011 5439085.94298683 112.405884316756 + 457848.57192284 5439085.94057823 112.402828 + 457848.592055099 5439085.87525042 112.453333 + 457848.572215011 5439085.94298683 112.405884316756 + + + + + + + + + 457848.572215011 5439085.94298683 112.405884316756 + 457848.592055099 5439085.87525042 112.453333 + 457848.592105631 5439085.87766907 112.456394315969 + 457848.572215011 5439085.94298683 112.405884316756 + + + + + + + + + 457848.57192284 5439085.94057823 112.402828 + 457848.57312765 5439085.93847225 112.399771683244 + 457848.593459339 5439085.87328051 112.450271684031 + 457848.57192284 5439085.94057823 112.402828 + + + + + + + + + 457848.57192284 5439085.94057823 112.402828 + 457848.593459339 5439085.87328051 112.450271684031 + 457848.592055099 5439085.87525042 112.453333 + 457848.57192284 5439085.94057823 112.402828 + + + + + + + + + 457848.57312765 5439085.93847225 112.399771683244 + 457848.575646021 5439085.9369895 112.397180663008 + 457848.596104567 5439085.87205924 112.447676425667 + 457848.57312765 5439085.93847225 112.399771683244 + + + + + + + + + 457848.57312765 5439085.93847225 112.399771683244 + 457848.596104567 5439085.87205924 112.447676425667 + 457848.593459339 5439085.87328051 112.450271684031 + 457848.57312765 5439085.93847225 112.399771683244 + + + + + + + + + 457848.575646021 5439085.9369895 112.397180663008 + 457848.579094553 5439085.93635573 112.395449398636 + 457848.599588073 5439085.87177254 112.445942329469 + 457848.575646021 5439085.9369895 112.397180663008 + + + + + + + + + 457848.575646021 5439085.9369895 112.397180663008 + 457848.599588073 5439085.87177254 112.445942329469 + 457848.596104567 5439085.87205924 112.447676425667 + 457848.575646021 5439085.9369895 112.397180663008 + + + + + + + + + 457848.579094553 5439085.93635573 112.395449398636 + 457848.582948239 5439085.93666742 112.394841459435 + 457848.603379523 5439085.87246406 112.445333395862 + 457848.579094553 5439085.93635573 112.395449398636 + + + + + + + + + 457848.579094553 5439085.93635573 112.395449398636 + 457848.603379523 5439085.87246406 112.445333395862 + 457848.599588073 5439085.87177254 112.445942329469 + 457848.579094553 5439085.93635573 112.395449398636 + + + + + + + + + 457848.582948239 5439085.93666742 112.394841459435 + 457848.586620389 5439085.93787711 112.395449398636 + 457848.606901703 5439085.87402852 112.445942329469 + 457848.582948239 5439085.93666742 112.394841459435 + + + + + + + + + 457848.582948239 5439085.93666742 112.394841459435 + 457848.606901703 5439085.87402852 112.445942329469 + 457848.603379523 5439085.87246406 112.445333395862 + 457848.582948239 5439085.93666742 112.394841459435 + + + + + + + + + 457848.586620389 5439085.93787711 112.395449398636 + 457848.589551952 5439085.93980064 112.397180663008 + 457848.609618394 5439085.87622775 112.447676425667 + 457848.586620389 5439085.93787711 112.395449398636 + + + + + + + + + 457848.586620389 5439085.93787711 112.395449398636 + 457848.609618394 5439085.87622775 112.447676425667 + 457848.606901703 5439085.87402852 112.445942329469 + 457848.586620389 5439085.93787711 112.395449398636 + + + + + + + + + 457848.589551952 5439085.93980064 112.397180663008 + 457848.591296625 5439085.94214517 112.399771683244 + 457848.611116005 5439085.87872693 112.450271684031 + 457848.589551952 5439085.93980064 112.397180663008 + + + + + + + + + 457848.589551952 5439085.93980064 112.397180663008 + 457848.611116005 5439085.87872693 112.450271684031 + 457848.609618394 5439085.87622775 112.447676425667 + 457848.589551952 5439085.93980064 112.397180663008 + + + + + + + + + 457848.591296625 5439085.94214517 112.399771683244 + 457848.591588796 5439085.94455377 112.402828 + 457848.611166536 5439085.88114558 112.453333 + 457848.591296625 5439085.94214517 112.399771683244 + + + + + + + + + 457848.591296625 5439085.94214517 112.399771683244 + 457848.611166536 5439085.88114558 112.453333 + 457848.611116005 5439085.87872693 112.450271684031 + 457848.591296625 5439085.94214517 112.399771683244 + + + + + + + + + 457848.591588796 5439085.94455377 112.402828 + 457848.590383985 5439085.94665975 112.405884316756 + 457848.609762296 5439085.88311549 112.456394315969 + 457848.591588796 5439085.94455377 112.402828 + + + + + + + + + 457848.591588796 5439085.94455377 112.402828 + 457848.609762296 5439085.88311549 112.456394315969 + 457848.611166536 5439085.88114558 112.453333 + 457848.591588796 5439085.94455377 112.402828 + + + + + + + + + 457848.590383985 5439085.94665975 112.405884316756 + 457848.587865614 5439085.9481425 112.408475336992 + 457848.607117068 5439085.88433676 112.458989574333 + 457848.590383985 5439085.94665975 112.405884316756 + + + + + + + + + 457848.590383985 5439085.94665975 112.405884316756 + 457848.607117068 5439085.88433676 112.458989574333 + 457848.609762296 5439085.88311549 112.456394315969 + 457848.590383985 5439085.94665975 112.405884316756 + + + + + + + + + 457848.587865614 5439085.9481425 112.408475336992 + 457848.584417082 5439085.94877627 112.410206601364 + 457848.603633563 5439085.88462346 112.460723670531 + 457848.587865614 5439085.9481425 112.408475336992 + + + + + + + + + 457848.587865614 5439085.9481425 112.408475336992 + 457848.603633563 5439085.88462346 112.460723670531 + 457848.607117068 5439085.88433676 112.458989574333 + 457848.587865614 5439085.9481425 112.408475336992 + + + + + + + + + 457848.584417082 5439085.94877627 112.410206601364 + 457848.580563397 5439085.94846458 112.410814540565 + 457848.599842113 5439085.88393194 112.461332604138 + 457848.584417082 5439085.94877627 112.410206601364 + + + + + + + + + 457848.584417082 5439085.94877627 112.410206601364 + 457848.599842113 5439085.88393194 112.461332604138 + 457848.603633563 5439085.88462346 112.460723670531 + 457848.584417082 5439085.94877627 112.410206601364 + + + + + + + + + 457848.580563397 5439085.94846458 112.410814540565 + 457848.576891246 5439085.94725489 112.410206601364 + 457848.596319932 5439085.88236748 112.460723670531 + 457848.580563397 5439085.94846458 112.410814540565 + + + + + + + + + 457848.580563397 5439085.94846458 112.410814540565 + 457848.596319932 5439085.88236748 112.460723670531 + 457848.599842113 5439085.88393194 112.461332604138 + 457848.580563397 5439085.94846458 112.410814540565 + + + + + + + + + 457848.596319932 5439085.88236748 112.460723670531 + 457848.593603241 5439085.88016825 112.458989574333 + 457848.623164373 5439085.78294001 112.534704484127 + 457848.596319932 5439085.88236748 112.460723670531 + + + + + + + + + 457848.596319932 5439085.88236748 112.460723670531 + 457848.623164373 5439085.78294001 112.534704484127 + 457848.625656364 5439085.78540698 112.536435180479 + 457848.596319932 5439085.88236748 112.460723670531 + + + + + + + + + 457848.593603241 5439085.88016825 112.458989574333 + 457848.592105631 5439085.87766907 112.456394315969 + 457848.621919303 5439085.78029522 112.532114313993 + 457848.593603241 5439085.88016825 112.458989574333 + + + + + + + + + 457848.593603241 5439085.88016825 112.458989574333 + 457848.621919303 5439085.78029522 112.532114313993 + 457848.623164373 5439085.78294001 112.534704484127 + 457848.593603241 5439085.88016825 112.458989574333 + + + + + + + + + 457848.592105631 5439085.87766907 112.456394315969 + 457848.592055099 5439085.87525042 112.453333 + 457848.622110705 5439085.77787526 112.529059 + 457848.592105631 5439085.87766907 112.456394315969 + + + + + + + + + 457848.592105631 5439085.87766907 112.456394315969 + 457848.622110705 5439085.77787526 112.529059 + 457848.621919303 5439085.78029522 112.532114313993 + 457848.592105631 5439085.87766907 112.456394315969 + + + + + + + + + 457848.592055099 5439085.87525042 112.453333 + 457848.593459339 5439085.87328051 112.450271684031 + 457848.623709438 5439085.77604854 112.526003686007 + 457848.592055099 5439085.87525042 112.453333 + + + + + + + + + 457848.592055099 5439085.87525042 112.453333 + 457848.623709438 5439085.77604854 112.526003686007 + 457848.622110705 5439085.77787526 112.529059 + 457848.592055099 5439085.87525042 112.453333 + + + + + + + + + 457848.593459339 5439085.87328051 112.450271684031 + 457848.596104567 5439085.87205924 112.447676425667 + 457848.626472112 5439085.77509317 112.523413515873 + 457848.593459339 5439085.87328051 112.450271684031 + + + + + + + + + 457848.593459339 5439085.87328051 112.450271684031 + 457848.626472112 5439085.77509317 112.523413515873 + 457848.623709438 5439085.77604854 112.526003686007 + 457848.593459339 5439085.87328051 112.450271684031 + + + + + + + + + 457848.596104567 5439085.87205924 112.447676425667 + 457848.599588073 5439085.87177254 112.445942329469 + 457848.629978133 5439085.77515459 112.521682819521 + 457848.596104567 5439085.87205924 112.447676425667 + + + + + + + + + 457848.596104567 5439085.87205924 112.447676425667 + 457848.629978133 5439085.77515459 112.521682819521 + 457848.626472112 5439085.77509317 112.523413515873 + 457848.596104567 5439085.87205924 112.447676425667 + + + + + + + + + 457848.599588073 5439085.87177254 112.445942329469 + 457848.603379523 5439085.87246406 112.445333395862 + 457848.633693742 5439085.77622345 112.521075079782 + 457848.599588073 5439085.87177254 112.445942329469 + + + + + + + + + 457848.599588073 5439085.87177254 112.445942329469 + 457848.633693742 5439085.77622345 112.521075079782 + 457848.629978133 5439085.77515459 112.521682819521 + 457848.599588073 5439085.87177254 112.445942329469 + + + + + + + + + 457848.603379523 5439085.87246406 112.445333395862 + 457848.606901703 5439085.87402852 112.445942329469 + 457848.637053271 5439085.77813702 112.521682819521 + 457848.603379523 5439085.87246406 112.445333395862 + + + + + + + + + 457848.603379523 5439085.87246406 112.445333395862 + 457848.637053271 5439085.77813702 112.521682819521 + 457848.633693742 5439085.77622345 112.521075079782 + 457848.603379523 5439085.87246406 112.445333395862 + + + + + + + + + 457848.606901703 5439085.87402852 112.445942329469 + 457848.609618394 5439085.87622775 112.447676425667 + 457848.639545262 5439085.78060399 112.523413515873 + 457848.606901703 5439085.87402852 112.445942329469 + + + + + + + + + 457848.606901703 5439085.87402852 112.445942329469 + 457848.639545262 5439085.78060399 112.523413515873 + 457848.637053271 5439085.77813702 112.521682819521 + 457848.606901703 5439085.87402852 112.445942329469 + + + + + + + + + 457848.609618394 5439085.87622775 112.447676425667 + 457848.611116005 5439085.87872693 112.450271684031 + 457848.640790332 5439085.78324878 112.526003686007 + 457848.609618394 5439085.87622775 112.447676425667 + + + + + + + + + 457848.609618394 5439085.87622775 112.447676425667 + 457848.640790332 5439085.78324878 112.526003686007 + 457848.639545262 5439085.78060399 112.523413515873 + 457848.609618394 5439085.87622775 112.447676425667 + + + + + + + + + 457848.611116005 5439085.87872693 112.450271684031 + 457848.611166536 5439085.88114558 112.453333 + 457848.640598931 5439085.78566874 112.529059 + 457848.611116005 5439085.87872693 112.450271684031 + + + + + + + + + 457848.611116005 5439085.87872693 112.450271684031 + 457848.640598931 5439085.78566874 112.529059 + 457848.640790332 5439085.78324878 112.526003686007 + 457848.611116005 5439085.87872693 112.450271684031 + + + + + + + + + 457848.611166536 5439085.88114558 112.453333 + 457848.609762296 5439085.88311549 112.456394315969 + 457848.639000197 5439085.78749546 112.532114313993 + 457848.611166536 5439085.88114558 112.453333 + + + + + + + + + 457848.611166536 5439085.88114558 112.453333 + 457848.639000197 5439085.78749546 112.532114313993 + 457848.640598931 5439085.78566874 112.529059 + 457848.611166536 5439085.88114558 112.453333 + + + + + + + + + 457848.609762296 5439085.88311549 112.456394315969 + 457848.607117068 5439085.88433676 112.458989574333 + 457848.636237523 5439085.78845083 112.534704484127 + 457848.609762296 5439085.88311549 112.456394315969 + + + + + + + + + 457848.609762296 5439085.88311549 112.456394315969 + 457848.636237523 5439085.78845083 112.534704484127 + 457848.639000197 5439085.78749546 112.532114313993 + 457848.609762296 5439085.88311549 112.456394315969 + + + + + + + + + 457848.607117068 5439085.88433676 112.458989574333 + 457848.603633563 5439085.88462346 112.460723670531 + 457848.632731502 5439085.78838941 112.536435180479 + 457848.607117068 5439085.88433676 112.458989574333 + + + + + + + + + 457848.607117068 5439085.88433676 112.458989574333 + 457848.632731502 5439085.78838941 112.536435180479 + 457848.636237523 5439085.78845083 112.534704484127 + 457848.607117068 5439085.88433676 112.458989574333 + + + + + + + + + 457848.603633563 5439085.88462346 112.460723670531 + 457848.599842113 5439085.88393194 112.461332604138 + 457848.629015893 5439085.78732055 112.537042920218 + 457848.603633563 5439085.88462346 112.460723670531 + + + + + + + + + 457848.603633563 5439085.88462346 112.460723670531 + 457848.629015893 5439085.78732055 112.537042920218 + 457848.632731502 5439085.78838941 112.536435180479 + 457848.603633563 5439085.88462346 112.460723670531 + + + + + + + + + 457848.599842113 5439085.88393194 112.461332604138 + 457848.596319932 5439085.88236748 112.460723670531 + 457848.625656364 5439085.78540698 112.536435180479 + 457848.599842113 5439085.88393194 112.461332604138 + + + + + + + + + 457848.599842113 5439085.88393194 112.461332604138 + 457848.625656364 5439085.78540698 112.536435180479 + 457848.629015893 5439085.78732055 112.537042920218 + 457848.599842113 5439085.88393194 112.461332604138 + + + + + + + + + 457848.625656364 5439085.78540698 112.536435180479 + 457848.623164373 5439085.78294001 112.534704484127 + 457848.687445048 5439085.66398781 112.63565725076 + 457848.625656364 5439085.78540698 112.536435180479 + + + + + + + + + 457848.625656364 5439085.78540698 112.536435180479 + 457848.687445048 5439085.66398781 112.63565725076 + 457848.689672266 5439085.66668146 112.637391554326 + 457848.625656364 5439085.78540698 112.536435180479 + + + + + + + + + 457848.623164373 5439085.78294001 112.534704484127 + 457848.621919303 5439085.78029522 112.532114313993 + 457848.686472109 5439085.66124181 112.633061682049 + 457848.623164373 5439085.78294001 112.534704484127 + + + + + + + + + 457848.623164373 5439085.78294001 112.534704484127 + 457848.686472109 5439085.66124181 112.633061682049 + 457848.687445048 5439085.66398781 112.63565725076 + 457848.623164373 5439085.78294001 112.534704484127 + + + + + + + + + 457848.621919303 5439085.78029522 112.532114313993 + 457848.622110705 5439085.77787526 112.529059 + 457848.686901568 5439085.65886152 112.63 + 457848.621919303 5439085.78029522 112.532114313993 + + + + + + + + + 457848.621919303 5439085.78029522 112.532114313993 + 457848.686901568 5439085.65886152 112.63 + 457848.686472109 5439085.66124181 112.633061682049 + 457848.621919303 5439085.78029522 112.532114313993 + + + + + + + + + 457848.622110705 5439085.77787526 112.529059 + 457848.623709438 5439085.77604854 112.526003686007 + 457848.688668045 5439085.65720933 112.626938317951 + 457848.622110705 5439085.77787526 112.529059 + + + + + + + + + 457848.622110705 5439085.77787526 112.529059 + 457848.688668045 5439085.65720933 112.626938317951 + 457848.686901568 5439085.65886152 112.63 + 457848.622110705 5439085.77787526 112.529059 + + + + + + + + + 457848.623709438 5439085.77604854 112.526003686007 + 457848.626472112 5439085.77509317 112.523413515873 + 457848.69150261 5439085.65653675 112.62434274924 + 457848.623709438 5439085.77604854 112.526003686007 + + + + + + + + + 457848.623709438 5439085.77604854 112.526003686007 + 457848.69150261 5439085.65653675 112.62434274924 + 457848.688668045 5439085.65720933 112.626938317951 + 457848.623709438 5439085.77604854 112.526003686007 + + + + + + + + + 457848.626472112 5439085.77509317 112.523413515873 + 457848.629978133 5439085.77515459 112.521682819521 + 457848.694973726 5439085.65694619 112.622608445674 + 457848.626472112 5439085.77509317 112.523413515873 + + + + + + + + + 457848.626472112 5439085.77509317 112.523413515873 + 457848.694973726 5439085.65694619 112.622608445674 + 457848.69150261 5439085.65653675 112.62434274924 + 457848.626472112 5439085.77509317 112.523413515873 + + + + + + + + + 457848.629978133 5439085.77515459 112.521682819521 + 457848.633693742 5439085.77622345 112.521075079782 + 457848.698552947 5439085.65837531 112.621999439249 + 457848.629978133 5439085.77515459 112.521682819521 + + + + + + + + + 457848.629978133 5439085.77515459 112.521682819521 + 457848.698552947 5439085.65837531 112.621999439249 + 457848.694973726 5439085.65694619 112.622608445674 + 457848.629978133 5439085.77515459 112.521682819521 + + + + + + + + + 457848.633693742 5439085.77622345 112.521075079782 + 457848.637053271 5439085.77813702 112.521682819521 + 457848.701695369 5439085.66060654 112.622608445674 + 457848.633693742 5439085.77622345 112.521075079782 + + + + + + + + + 457848.633693742 5439085.77622345 112.521075079782 + 457848.701695369 5439085.66060654 112.622608445674 + 457848.698552947 5439085.65837531 112.621999439249 + 457848.633693742 5439085.77622345 112.521075079782 + + + + + + + + + 457848.637053271 5439085.77813702 112.521682819521 + 457848.639545262 5439085.78060399 112.523413515873 + 457848.703922587 5439085.66330019 112.62434274924 + 457848.637053271 5439085.77813702 112.521682819521 + + + + + + + + + 457848.637053271 5439085.77813702 112.521682819521 + 457848.703922587 5439085.66330019 112.62434274924 + 457848.701695369 5439085.66060654 112.622608445674 + 457848.637053271 5439085.77813702 112.521682819521 + + + + + + + + + 457848.639545262 5439085.78060399 112.523413515873 + 457848.640790332 5439085.78324878 112.526003686007 + 457848.704895527 5439085.66604619 112.626938317951 + 457848.639545262 5439085.78060399 112.523413515873 + + + + + + + + + 457848.639545262 5439085.78060399 112.523413515873 + 457848.704895527 5439085.66604619 112.626938317951 + 457848.703922587 5439085.66330019 112.62434274924 + 457848.639545262 5439085.78060399 112.523413515873 + + + + + + + + + 457848.640790332 5439085.78324878 112.526003686007 + 457848.640598931 5439085.78566874 112.529059 + 457848.704466068 5439085.66842648 112.63 + 457848.640790332 5439085.78324878 112.526003686007 + + + + + + + + + 457848.640790332 5439085.78324878 112.526003686007 + 457848.704466068 5439085.66842648 112.63 + 457848.704895527 5439085.66604619 112.626938317951 + 457848.640790332 5439085.78324878 112.526003686007 + + + + + + + + + 457848.640598931 5439085.78566874 112.529059 + 457848.639000197 5439085.78749546 112.532114313993 + 457848.70269959 5439085.67007867 112.633061682049 + 457848.640598931 5439085.78566874 112.529059 + + + + + + + + + 457848.640598931 5439085.78566874 112.529059 + 457848.70269959 5439085.67007867 112.633061682049 + 457848.704466068 5439085.66842648 112.63 + 457848.640598931 5439085.78566874 112.529059 + + + + + + + + + 457848.639000197 5439085.78749546 112.532114313993 + 457848.636237523 5439085.78845083 112.534704484127 + 457848.699865025 5439085.67075125 112.63565725076 + 457848.639000197 5439085.78749546 112.532114313993 + + + + + + + + + 457848.639000197 5439085.78749546 112.532114313993 + 457848.699865025 5439085.67075125 112.63565725076 + 457848.70269959 5439085.67007867 112.633061682049 + 457848.639000197 5439085.78749546 112.532114313993 + + + + + + + + + 457848.636237523 5439085.78845083 112.534704484127 + 457848.632731502 5439085.78838941 112.536435180479 + 457848.69639391 5439085.67034181 112.637391554326 + 457848.636237523 5439085.78845083 112.534704484127 + + + + + + + + + 457848.636237523 5439085.78845083 112.534704484127 + 457848.69639391 5439085.67034181 112.637391554326 + 457848.699865025 5439085.67075125 112.63565725076 + 457848.636237523 5439085.78845083 112.534704484127 + + + + + + + + + 457848.632731502 5439085.78838941 112.536435180479 + 457848.629015893 5439085.78732055 112.537042920218 + 457848.692814688 5439085.66891269 112.638000560751 + 457848.632731502 5439085.78838941 112.536435180479 + + + + + + + + + 457848.632731502 5439085.78838941 112.536435180479 + 457848.692814688 5439085.66891269 112.638000560751 + 457848.69639391 5439085.67034181 112.637391554326 + 457848.632731502 5439085.78838941 112.536435180479 + + + + + + + + + 457848.629015893 5439085.78732055 112.537042920218 + 457848.625656364 5439085.78540698 112.536435180479 + 457848.689672266 5439085.66668146 112.637391554326 + 457848.629015893 5439085.78732055 112.537042920218 + + + + + + + + + 457848.629015893 5439085.78732055 112.537042920218 + 457848.689672266 5439085.66668146 112.637391554326 + 457848.692814688 5439085.66891269 112.638000560751 + 457848.629015893 5439085.78732055 112.537042920218 + + + + + + + + + 457848.689672266 5439085.66668146 112.637391554326 + 457848.687445048 5439085.66398781 112.63565725076 + 457848.703572725 5439085.63351244 112.660944721792 + 457848.689672266 5439085.66668146 112.637391554326 + + + + + + + + + 457848.689672266 5439085.66668146 112.637391554326 + 457848.703572725 5439085.63351244 112.660944721792 + 457848.70552726 5439085.63642318 112.662676410692 + 457848.689672266 5439085.66668146 112.637391554326 + + + + + + + + + 457848.687445048 5439085.66398781 112.63565725076 + 457848.686472109 5439085.66124181 112.633061682049 + 457848.702875256 5439085.63067501 112.658353066205 + 457848.687445048 5439085.66398781 112.63565725076 + + + + + + + + + 457848.687445048 5439085.66398781 112.63565725076 + 457848.702875256 5439085.63067501 112.658353066205 + 457848.703572725 5439085.63351244 112.660944721792 + 457848.687445048 5439085.66398781 112.63565725076 + + + + + + + + + 457848.686472109 5439085.66124181 112.633061682049 + 457848.686901568 5439085.65886152 112.63 + 457848.703541039 5439085.62834287 112.655296 + 457848.686472109 5439085.66124181 112.633061682049 + + + + + + + + + 457848.686472109 5439085.66124181 112.633061682049 + 457848.703541039 5439085.62834287 112.655296 + 457848.702875256 5439085.63067501 112.658353066205 + 457848.686472109 5439085.66124181 112.633061682049 + + + + + + + + + 457848.686901568 5439085.65886152 112.63 + 457848.688668045 5439085.65720933 112.626938317951 + 457848.705468712 5439085.62687107 112.652238933795 + 457848.686901568 5439085.65886152 112.63 + + + + + + + + + 457848.686901568 5439085.65886152 112.63 + 457848.705468712 5439085.62687107 112.652238933795 + 457848.703541039 5439085.62834287 112.655296 + 457848.686901568 5439085.65886152 112.63 + + + + + + + + + 457848.688668045 5439085.65720933 112.626938317951 + 457848.69150261 5439085.65653675 112.62434274924 + 457848.708364807 5439085.62648366 112.649647278208 + 457848.688668045 5439085.65720933 112.626938317951 + + + + + + + + + 457848.688668045 5439085.65720933 112.626938317951 + 457848.708364807 5439085.62648366 112.649647278208 + 457848.705468712 5439085.62687107 112.652238933795 + 457848.688668045 5439085.65720933 112.626938317951 + + + + + + + + + 457848.69150261 5439085.65653675 112.62434274924 + 457848.694973726 5439085.65694619 112.622608445674 + 457848.711788418 5439085.62723964 112.647915589308 + 457848.69150261 5439085.65653675 112.62434274924 + + + + + + + + + 457848.69150261 5439085.65653675 112.62434274924 + 457848.711788418 5439085.62723964 112.647915589308 + 457848.708364807 5439085.62648366 112.649647278208 + 457848.69150261 5439085.65653675 112.62434274924 + + + + + + + + + 457848.694973726 5439085.65694619 112.622608445674 + 457848.698552947 5439085.65837531 112.621999439249 + 457848.715218332 5439085.6290239 112.647307501032 + 457848.694973726 5439085.65694619 112.622608445674 + + + + + + + + + 457848.694973726 5439085.65694619 112.622608445674 + 457848.715218332 5439085.6290239 112.647307501032 + 457848.711788418 5439085.62723964 112.647915589308 + 457848.694973726 5439085.65694619 112.622608445674 + + + + + + + + + 457848.698552947 5439085.65837531 112.621999439249 + 457848.701695369 5439085.66060654 112.622608445674 + 457848.718132375 5439085.63156482 112.647915589308 + 457848.698552947 5439085.65837531 112.621999439249 + + + + + + + + + 457848.698552947 5439085.65837531 112.621999439249 + 457848.718132375 5439085.63156482 112.647915589308 + 457848.715218332 5439085.6290239 112.647307501032 + 457848.698552947 5439085.65837531 112.621999439249 + + + + + + + + + 457848.701695369 5439085.66060654 112.622608445674 + 457848.703922587 5439085.66330019 112.62434274924 + 457848.720086911 5439085.63447556 112.649647278208 + 457848.701695369 5439085.66060654 112.622608445674 + + + + + + + + + 457848.701695369 5439085.66060654 112.622608445674 + 457848.720086911 5439085.63447556 112.649647278208 + 457848.718132375 5439085.63156482 112.647915589308 + 457848.701695369 5439085.66060654 112.622608445674 + + + + + + + + + 457848.703922587 5439085.66330019 112.62434274924 + 457848.704895527 5439085.66604619 112.626938317951 + 457848.720784379 5439085.63731299 112.652238933795 + 457848.703922587 5439085.66330019 112.62434274924 + + + + + + + + + 457848.703922587 5439085.66330019 112.62434274924 + 457848.720784379 5439085.63731299 112.652238933795 + 457848.720086911 5439085.63447556 112.649647278208 + 457848.703922587 5439085.66330019 112.62434274924 + + + + + + + + + 457848.704895527 5439085.66604619 112.626938317951 + 457848.704466068 5439085.66842648 112.63 + 457848.720118597 5439085.63964513 112.655296 + 457848.704895527 5439085.66604619 112.626938317951 + + + + + + + + + 457848.704895527 5439085.66604619 112.626938317951 + 457848.720118597 5439085.63964513 112.655296 + 457848.720784379 5439085.63731299 112.652238933795 + 457848.704895527 5439085.66604619 112.626938317951 + + + + + + + + + 457848.704466068 5439085.66842648 112.63 + 457848.70269959 5439085.67007867 112.633061682049 + 457848.718190923 5439085.64111693 112.658353066205 + 457848.704466068 5439085.66842648 112.63 + + + + + + + + + 457848.704466068 5439085.66842648 112.63 + 457848.718190923 5439085.64111693 112.658353066205 + 457848.720118597 5439085.63964513 112.655296 + 457848.704466068 5439085.66842648 112.63 + + + + + + + + + 457848.70269959 5439085.67007867 112.633061682049 + 457848.699865025 5439085.67075125 112.63565725076 + 457848.715294828 5439085.64150434 112.660944721792 + 457848.70269959 5439085.67007867 112.633061682049 + + + + + + + + + 457848.70269959 5439085.67007867 112.633061682049 + 457848.715294828 5439085.64150434 112.660944721792 + 457848.718190923 5439085.64111693 112.658353066205 + 457848.70269959 5439085.67007867 112.633061682049 + + + + + + + + + 457848.699865025 5439085.67075125 112.63565725076 + 457848.69639391 5439085.67034181 112.637391554326 + 457848.711871217 5439085.64074836 112.662676410692 + 457848.699865025 5439085.67075125 112.63565725076 + + + + + + + + + 457848.699865025 5439085.67075125 112.63565725076 + 457848.711871217 5439085.64074836 112.662676410692 + 457848.715294828 5439085.64150434 112.660944721792 + 457848.699865025 5439085.67075125 112.63565725076 + + + + + + + + + 457848.69639391 5439085.67034181 112.637391554326 + 457848.692814688 5439085.66891269 112.638000560751 + 457848.708441304 5439085.6389641 112.663284498968 + 457848.69639391 5439085.67034181 112.637391554326 + + + + + + + + + 457848.69639391 5439085.67034181 112.637391554326 + 457848.708441304 5439085.6389641 112.663284498968 + 457848.711871217 5439085.64074836 112.662676410692 + 457848.69639391 5439085.67034181 112.637391554326 + + + + + + + + + 457848.692814688 5439085.66891269 112.638000560751 + 457848.689672266 5439085.66668146 112.637391554326 + 457848.70552726 5439085.63642318 112.662676410692 + 457848.692814688 5439085.66891269 112.638000560751 + + + + + + + + + 457848.692814688 5439085.66891269 112.638000560751 + 457848.70552726 5439085.63642318 112.662676410692 + 457848.708441304 5439085.6389641 112.663284498968 + 457848.692814688 5439085.66891269 112.638000560751 + + + + + + + + + 457848.70552726 5439085.63642318 112.662676410692 + 457848.703572725 5439085.63351244 112.660944721792 + 457848.811993896 5439085.50298373 112.787019717972 + 457848.70552726 5439085.63642318 112.662676410692 + + + + + + + + + 457848.70552726 5439085.63642318 112.662676410692 + 457848.811993896 5439085.50298373 112.787019717972 + 457848.813332866 5439085.50622407 112.788751405701 + 457848.70552726 5439085.63642318 112.662676410692 + + + + + + + + + 457848.703572725 5439085.63351244 112.660944721792 + 457848.702875256 5439085.63067501 112.658353066205 + 457848.811872537 5439085.50006436 112.784428064137 + 457848.703572725 5439085.63351244 112.660944721792 + + + + + + + + + 457848.703572725 5439085.63351244 112.660944721792 + 457848.811872537 5439085.50006436 112.784428064137 + 457848.811993896 5439085.50298373 112.787019717972 + 457848.703572725 5439085.63351244 112.660944721792 + + + + + + + + + 457848.702875256 5439085.63067501 112.658353066205 + 457848.703541039 5439085.62834287 112.655296 + 457848.812987266 5439085.4979104 112.781371 + 457848.702875256 5439085.63067501 112.658353066205 + + + + + + + + + 457848.702875256 5439085.63067501 112.658353066205 + 457848.812987266 5439085.4979104 112.781371 + 457848.811872537 5439085.50006436 112.784428064137 + 457848.702875256 5439085.63067501 112.658353066205 + + + + + + + + + 457848.703541039 5439085.62834287 112.655296 + 457848.705468712 5439085.62687107 112.652238933795 + 457848.815168373 5439085.49684977 112.778313935863 + 457848.703541039 5439085.62834287 112.655296 + + + + + + + + + 457848.703541039 5439085.62834287 112.655296 + 457848.815168373 5439085.49684977 112.778313935863 + 457848.812987266 5439085.4979104 112.781371 + 457848.703541039 5439085.62834287 112.655296 + + + + + + + + + 457848.705468712 5439085.62687107 112.652238933795 + 457848.708364807 5439085.62648366 112.649647278208 + 457848.818083807 5439085.49704395 112.775722282028 + 457848.705468712 5439085.62687107 112.652238933795 + + + + + + + + + 457848.705468712 5439085.62687107 112.652238933795 + 457848.818083807 5439085.49704395 112.775722282028 + 457848.815168373 5439085.49684977 112.778313935863 + 457848.705468712 5439085.62687107 112.652238933795 + + + + + + + + + 457848.708364807 5439085.62648366 112.649647278208 + 457848.711788418 5439085.62723964 112.647915589308 + 457848.821289718 5439085.49846338 112.773990594299 + 457848.708364807 5439085.62648366 112.649647278208 + + + + + + + + + 457848.708364807 5439085.62648366 112.649647278208 + 457848.821289718 5439085.49846338 112.773990594299 + 457848.818083807 5439085.49704395 112.775722282028 + 457848.708364807 5439085.62648366 112.649647278208 + + + + + + + + + 457848.711788418 5439085.62723964 112.647915589308 + 457848.715218332 5439085.6290239 112.647307501032 + 457848.824298035 5439085.50089194 112.773382506434 + 457848.711788418 5439085.62723964 112.647915589308 + + + + + + + + + 457848.711788418 5439085.62723964 112.647915589308 + 457848.824298035 5439085.50089194 112.773382506434 + 457848.821289718 5439085.49846338 112.773990594299 + 457848.711788418 5439085.62723964 112.647915589308 + + + + + + + + + 457848.715218332 5439085.6290239 112.647307501032 + 457848.718132375 5439085.63156482 112.647915589308 + 457848.82665077 5439085.50395994 112.773990594299 + 457848.715218332 5439085.6290239 112.647307501032 + + + + + + + + + 457848.715218332 5439085.6290239 112.647307501032 + 457848.82665077 5439085.50395994 112.773990594299 + 457848.824298035 5439085.50089194 112.773382506434 + 457848.715218332 5439085.6290239 112.647307501032 + + + + + + + + + 457848.718132375 5439085.63156482 112.647915589308 + 457848.720086911 5439085.63447556 112.649647278208 + 457848.827989739 5439085.50720027 112.775722282028 + 457848.718132375 5439085.63156482 112.647915589308 + + + + + + + + + 457848.718132375 5439085.63156482 112.647915589308 + 457848.827989739 5439085.50720027 112.775722282028 + 457848.82665077 5439085.50395994 112.773990594299 + 457848.718132375 5439085.63156482 112.647915589308 + + + + + + + + + 457848.720086911 5439085.63447556 112.649647278208 + 457848.720784379 5439085.63731299 112.652238933795 + 457848.828111098 5439085.51011964 112.778313935863 + 457848.720086911 5439085.63447556 112.649647278208 + + + + + + + + + 457848.720086911 5439085.63447556 112.649647278208 + 457848.828111098 5439085.51011964 112.778313935863 + 457848.827989739 5439085.50720027 112.775722282028 + 457848.720086911 5439085.63447556 112.649647278208 + + + + + + + + + 457848.720784379 5439085.63731299 112.652238933795 + 457848.720118597 5439085.63964513 112.655296 + 457848.82699637 5439085.5122736 112.781371 + 457848.720784379 5439085.63731299 112.652238933795 + + + + + + + + + 457848.720784379 5439085.63731299 112.652238933795 + 457848.82699637 5439085.5122736 112.781371 + 457848.828111098 5439085.51011964 112.778313935863 + 457848.720784379 5439085.63731299 112.652238933795 + + + + + + + + + 457848.720118597 5439085.63964513 112.655296 + 457848.718190923 5439085.64111693 112.658353066205 + 457848.824815262 5439085.51333423 112.784428064137 + 457848.720118597 5439085.63964513 112.655296 + + + + + + + + + 457848.720118597 5439085.63964513 112.655296 + 457848.824815262 5439085.51333423 112.784428064137 + 457848.82699637 5439085.5122736 112.781371 + 457848.720118597 5439085.63964513 112.655296 + + + + + + + + + 457848.718190923 5439085.64111693 112.658353066205 + 457848.715294828 5439085.64150434 112.660944721792 + 457848.821899829 5439085.51314005 112.787019717972 + 457848.718190923 5439085.64111693 112.658353066205 + + + + + + + + + 457848.718190923 5439085.64111693 112.658353066205 + 457848.821899829 5439085.51314005 112.787019717972 + 457848.824815262 5439085.51333423 112.784428064137 + 457848.718190923 5439085.64111693 112.658353066205 + + + + + + + + + 457848.715294828 5439085.64150434 112.660944721792 + 457848.711871217 5439085.64074836 112.662676410692 + 457848.818693918 5439085.51172062 112.788751405701 + 457848.715294828 5439085.64150434 112.660944721792 + + + + + + + + + 457848.715294828 5439085.64150434 112.660944721792 + 457848.818693918 5439085.51172062 112.788751405701 + 457848.821899829 5439085.51314005 112.787019717972 + 457848.715294828 5439085.64150434 112.660944721792 + + + + + + + + + 457848.711871217 5439085.64074836 112.662676410692 + 457848.708441304 5439085.6389641 112.663284498968 + 457848.8156856 5439085.50929205 112.789359493566 + 457848.711871217 5439085.64074836 112.662676410692 + + + + + + + + + 457848.711871217 5439085.64074836 112.662676410692 + 457848.8156856 5439085.50929205 112.789359493566 + 457848.818693918 5439085.51172062 112.788751405701 + 457848.711871217 5439085.64074836 112.662676410692 + + + + + + + + + 457848.708441304 5439085.6389641 112.663284498968 + 457848.70552726 5439085.63642318 112.662676410692 + 457848.813332866 5439085.50622407 112.788751405701 + 457848.708441304 5439085.6389641 112.663284498968 + + + + + + + + + 457848.708441304 5439085.6389641 112.663284498968 + 457848.813332866 5439085.50622407 112.788751405701 + 457848.8156856 5439085.50929205 112.789359493566 + 457848.708441304 5439085.6389641 112.663284498968 + + + + + + + + + 457848.813332866 5439085.50622407 112.788751405701 + 457848.811993896 5439085.50298373 112.787019717972 + 457848.838662497 5439085.48115944 112.812324252036 + 457848.813332866 5439085.50622407 112.788751405701 + + + + + + + + + 457848.813332866 5439085.50622407 112.788751405701 + 457848.838662497 5439085.48115944 112.812324252036 + 457848.839668452 5439085.48450673 112.814058555993 + 457848.813332866 5439085.50622407 112.788751405701 + + + + + + + + + 457848.811993896 5439085.50298373 112.787019717972 + 457848.811872537 5439085.50006436 112.784428064137 + 457848.838832652 5439085.47825115 112.809728682739 + 457848.811993896 5439085.50298373 112.787019717972 + + + + + + + + + 457848.811993896 5439085.50298373 112.787019717972 + 457848.838832652 5439085.47825115 112.809728682739 + 457848.838662497 5439085.48115944 112.812324252036 + 457848.811993896 5439085.50298373 112.787019717972 + + + + + + + + + 457848.811872537 5439085.50006436 112.784428064137 + 457848.812987266 5439085.4979104 112.781371 + 457848.840153013 5439085.47622461 112.806667 + 457848.811872537 5439085.50006436 112.784428064137 + + + + + + + + + 457848.811872537 5439085.50006436 112.784428064137 + 457848.840153013 5439085.47622461 112.806667 + 457848.838832652 5439085.47825115 112.809728682739 + 457848.811872537 5439085.50006436 112.784428064137 + + + + + + + + + 457848.812987266 5439085.4979104 112.781371 + 457848.815168373 5439085.49684977 112.778313935863 + 457848.842422566 5439085.47538835 112.803605317261 + 457848.812987266 5439085.4979104 112.781371 + + + + + + + + + 457848.812987266 5439085.4979104 112.781371 + 457848.842422566 5439085.47538835 112.803605317261 + 457848.840153013 5439085.47622461 112.806667 + 457848.812987266 5439085.4979104 112.781371 + + + + + + + + + 457848.815168373 5439085.49684977 112.778313935863 + 457848.818083807 5439085.49704395 112.775722282028 + 457848.845295793 5439085.47586969 112.801009747964 + 457848.815168373 5439085.49684977 112.778313935863 + + + + + + + + + 457848.815168373 5439085.49684977 112.778313935863 + 457848.845295793 5439085.47586969 112.801009747964 + 457848.842422566 5439085.47538835 112.803605317261 + 457848.815168373 5439085.49684977 112.778313935863 + + + + + + + + + 457848.818083807 5439085.49704395 112.775722282028 + 457848.821289718 5439085.49846338 112.773990594299 + 457848.84833527 5439085.47759534 112.799275444007 + 457848.818083807 5439085.49704395 112.775722282028 + + + + + + + + + 457848.818083807 5439085.49704395 112.775722282028 + 457848.84833527 5439085.47759534 112.799275444007 + 457848.845295793 5439085.47586969 112.801009747964 + 457848.818083807 5439085.49704395 112.775722282028 + + + + + + + + + 457848.821289718 5439085.49846338 112.773990594299 + 457848.824298035 5439085.50089194 112.773382506434 + 457848.851078266 5439085.48030258 112.798666437445 + 457848.821289718 5439085.49846338 112.773990594299 + + + + + + + + + 457848.821289718 5439085.49846338 112.773990594299 + 457848.851078266 5439085.48030258 112.798666437445 + 457848.84833527 5439085.47759534 112.799275444007 + 457848.821289718 5439085.49846338 112.773990594299 + + + + + + + + + 457848.824298035 5439085.50089194 112.773382506434 + 457848.82665077 5439085.50395994 112.773990594299 + 457848.853107183 5439085.48357927 112.799275444007 + 457848.824298035 5439085.50089194 112.773382506434 + + + + + + + + + 457848.824298035 5439085.50089194 112.773382506434 + 457848.853107183 5439085.48357927 112.799275444007 + 457848.851078266 5439085.48030258 112.798666437445 + 457848.824298035 5439085.50089194 112.773382506434 + + + + + + + + + 457848.82665077 5439085.50395994 112.773990594299 + 457848.827989739 5439085.50720027 112.775722282028 + 457848.854113138 5439085.48692656 112.801009747964 + 457848.82665077 5439085.50395994 112.773990594299 + + + + + + + + + 457848.82665077 5439085.50395994 112.773990594299 + 457848.854113138 5439085.48692656 112.801009747964 + 457848.853107183 5439085.48357927 112.799275444007 + 457848.82665077 5439085.50395994 112.773990594299 + + + + + + + + + 457848.827989739 5439085.50720027 112.775722282028 + 457848.828111098 5439085.51011964 112.778313935863 + 457848.853942983 5439085.48983485 112.803605317261 + 457848.827989739 5439085.50720027 112.775722282028 + + + + + + + + + 457848.827989739 5439085.50720027 112.775722282028 + 457848.853942983 5439085.48983485 112.803605317261 + 457848.854113138 5439085.48692656 112.801009747964 + 457848.827989739 5439085.50720027 112.775722282028 + + + + + + + + + 457848.828111098 5439085.51011964 112.778313935863 + 457848.82699637 5439085.5122736 112.781371 + 457848.852622622 5439085.49186139 112.806667 + 457848.828111098 5439085.51011964 112.778313935863 + + + + + + + + + 457848.828111098 5439085.51011964 112.778313935863 + 457848.852622622 5439085.49186139 112.806667 + 457848.853942983 5439085.48983485 112.803605317261 + 457848.828111098 5439085.51011964 112.778313935863 + + + + + + + + + 457848.82699637 5439085.5122736 112.781371 + 457848.824815262 5439085.51333423 112.784428064137 + 457848.850353069 5439085.49269765 112.809728682739 + 457848.82699637 5439085.5122736 112.781371 + + + + + + + + + 457848.82699637 5439085.5122736 112.781371 + 457848.850353069 5439085.49269765 112.809728682739 + 457848.852622622 5439085.49186139 112.806667 + 457848.82699637 5439085.5122736 112.781371 + + + + + + + + + 457848.824815262 5439085.51333423 112.784428064137 + 457848.821899829 5439085.51314005 112.787019717972 + 457848.847479843 5439085.49221631 112.812324252036 + 457848.824815262 5439085.51333423 112.784428064137 + + + + + + + + + 457848.824815262 5439085.51333423 112.784428064137 + 457848.847479843 5439085.49221631 112.812324252036 + 457848.850353069 5439085.49269765 112.809728682739 + 457848.824815262 5439085.51333423 112.784428064137 + + + + + + + + + 457848.821899829 5439085.51314005 112.787019717972 + 457848.818693918 5439085.51172062 112.788751405701 + 457848.844440365 5439085.49049066 112.814058555993 + 457848.821899829 5439085.51314005 112.787019717972 + + + + + + + + + 457848.821899829 5439085.51314005 112.787019717972 + 457848.844440365 5439085.49049066 112.814058555993 + 457848.847479843 5439085.49221631 112.812324252036 + 457848.821899829 5439085.51314005 112.787019717972 + + + + + + + + + 457848.818693918 5439085.51172062 112.788751405701 + 457848.8156856 5439085.50929205 112.789359493566 + 457848.84169737 5439085.48778342 112.814667562555 + 457848.818693918 5439085.51172062 112.788751405701 + + + + + + + + + 457848.818693918 5439085.51172062 112.788751405701 + 457848.84169737 5439085.48778342 112.814667562555 + 457848.844440365 5439085.49049066 112.814058555993 + 457848.818693918 5439085.51172062 112.788751405701 + + + + + + + + + 457848.8156856 5439085.50929205 112.789359493566 + 457848.813332866 5439085.50622407 112.788751405701 + 457848.839668452 5439085.48450673 112.814058555993 + 457848.8156856 5439085.50929205 112.789359493566 + + + + + + + + + 457848.8156856 5439085.50929205 112.789359493566 + 457848.839668452 5439085.48450673 112.814058555993 + 457848.84169737 5439085.48778342 112.814667562555 + 457848.8156856 5439085.50929205 112.789359493566 + + + + + + + + + 457848.839668452 5439085.48450673 112.814058555993 + 457848.838662497 5439085.48115944 112.812324252036 + 457848.944125586 5439085.39652922 112.913253485092 + 457848.839668452 5439085.48450673 112.814058555993 + + + + + + + + + 457848.839668452 5439085.48450673 112.814058555993 + 457848.944125586 5439085.39652922 112.913253485092 + 457848.94479488 5439085.39997132 112.914984181741 + 457848.839668452 5439085.48450673 112.814058555993 + + + + + + + + + 457848.838662497 5439085.48115944 112.812324252036 + 457848.838832652 5439085.47825115 112.809728682739 + 457848.944586717 5439085.39364262 112.910663314515 + 457848.838662497 5439085.48115944 112.812324252036 + + + + + + + + + 457848.838662497 5439085.48115944 112.812324252036 + 457848.944586717 5439085.39364262 112.910663314515 + 457848.944125586 5439085.39652922 112.913253485092 + 457848.838662497 5439085.48115944 112.812324252036 + + + + + + + + + 457848.838832652 5439085.47825115 112.809728682739 + 457848.840153013 5439085.47622461 112.806667 + 457848.946108069 5439085.39175097 112.907608 + 457848.838832652 5439085.47825115 112.809728682739 + + + + + + + + + 457848.838832652 5439085.47825115 112.809728682739 + 457848.946108069 5439085.39175097 112.907608 + 457848.944586717 5439085.39364262 112.910663314515 + 457848.838832652 5439085.47825115 112.809728682739 + + + + + + + + + 457848.840153013 5439085.47622461 112.806667 + 457848.842422566 5439085.47538835 112.803605317261 + 457848.94845803 5439085.39114226 112.904552685485 + 457848.840153013 5439085.47622461 112.806667 + + + + + + + + + 457848.840153013 5439085.47622461 112.806667 + 457848.94845803 5439085.39114226 112.904552685485 + 457848.946108069 5439085.39175097 112.907608 + 457848.840153013 5439085.47622461 112.806667 + + + + + + + + + 457848.842422566 5439085.47538835 112.803605317261 + 457848.845295793 5439085.47586969 112.801009747964 + 457848.95127884 5439085.39190916 112.901962514908 + 457848.842422566 5439085.47538835 112.803605317261 + + + + + + + + + 457848.842422566 5439085.47538835 112.803605317261 + 457848.95127884 5439085.39190916 112.901962514908 + 457848.94845803 5439085.39114226 112.904552685485 + 457848.842422566 5439085.47538835 112.803605317261 + + + + + + + + + 457848.845295793 5439085.47586969 112.801009747964 + 457848.84833527 5439085.47759534 112.799275444007 + 457848.954141056 5439085.39393492 112.900231818259 + 457848.845295793 5439085.47586969 112.801009747964 + + + + + + + + + 457848.845295793 5439085.47586969 112.801009747964 + 457848.954141056 5439085.39393492 112.900231818259 + 457848.95127884 5439085.39190916 112.901962514908 + 457848.845295793 5439085.47586969 112.801009747964 + + + + + + + + + 457848.84833527 5439085.47759534 112.799275444007 + 457848.851078266 5439085.48030258 112.798666437445 + 457848.956608932 5439085.39691112 112.899624078416 + 457848.84833527 5439085.47759534 112.799275444007 + + + + + + + + + 457848.84833527 5439085.47759534 112.799275444007 + 457848.956608932 5439085.39691112 112.899624078416 + 457848.954141056 5439085.39393492 112.900231818259 + 457848.84833527 5439085.47759534 112.799275444007 + + + + + + + + + 457848.851078266 5439085.48030258 112.798666437445 + 457848.853107183 5439085.48357927 112.799275444007 + 457848.958306756 5439085.40038468 112.900231818259 + 457848.851078266 5439085.48030258 112.798666437445 + + + + + + + + + 457848.851078266 5439085.48030258 112.798666437445 + 457848.958306756 5439085.40038468 112.900231818259 + 457848.956608932 5439085.39691112 112.899624078416 + 457848.851078266 5439085.48030258 112.798666437445 + + + + + + + + + 457848.853107183 5439085.48357927 112.799275444007 + 457848.854113138 5439085.48692656 112.801009747964 + 457848.958976049 5439085.40382678 112.901962514908 + 457848.853107183 5439085.48357927 112.799275444007 + + + + + + + + + 457848.853107183 5439085.48357927 112.799275444007 + 457848.958976049 5439085.40382678 112.901962514908 + 457848.958306756 5439085.40038468 112.900231818259 + 457848.853107183 5439085.48357927 112.799275444007 + + + + + + + + + 457848.854113138 5439085.48692656 112.801009747964 + 457848.853942983 5439085.48983485 112.803605317261 + 457848.958514919 5439085.40671338 112.904552685485 + 457848.854113138 5439085.48692656 112.801009747964 + + + + + + + + + 457848.854113138 5439085.48692656 112.801009747964 + 457848.958514919 5439085.40671338 112.904552685485 + 457848.958976049 5439085.40382678 112.901962514908 + 457848.854113138 5439085.48692656 112.801009747964 + + + + + + + + + 457848.853942983 5439085.48983485 112.803605317261 + 457848.852622622 5439085.49186139 112.806667 + 457848.956993567 5439085.40860503 112.907608 + 457848.853942983 5439085.48983485 112.803605317261 + + + + + + + + + 457848.853942983 5439085.48983485 112.803605317261 + 457848.956993567 5439085.40860503 112.907608 + 457848.958514919 5439085.40671338 112.904552685485 + 457848.853942983 5439085.48983485 112.803605317261 + + + + + + + + + 457848.852622622 5439085.49186139 112.806667 + 457848.850353069 5439085.49269765 112.809728682739 + 457848.954643605 5439085.40921374 112.910663314515 + 457848.852622622 5439085.49186139 112.806667 + + + + + + + + + 457848.852622622 5439085.49186139 112.806667 + 457848.954643605 5439085.40921374 112.910663314515 + 457848.956993567 5439085.40860503 112.907608 + 457848.852622622 5439085.49186139 112.806667 + + + + + + + + + 457848.850353069 5439085.49269765 112.809728682739 + 457848.847479843 5439085.49221631 112.812324252036 + 457848.951822795 5439085.40844684 112.913253485092 + 457848.850353069 5439085.49269765 112.809728682739 + + + + + + + + + 457848.850353069 5439085.49269765 112.809728682739 + 457848.951822795 5439085.40844684 112.913253485092 + 457848.954643605 5439085.40921374 112.910663314515 + 457848.850353069 5439085.49269765 112.809728682739 + + + + + + + + + 457848.847479843 5439085.49221631 112.812324252036 + 457848.844440365 5439085.49049066 112.814058555993 + 457848.948960579 5439085.40642108 112.914984181741 + 457848.847479843 5439085.49221631 112.812324252036 + + + + + + + + + 457848.847479843 5439085.49221631 112.812324252036 + 457848.948960579 5439085.40642108 112.914984181741 + 457848.951822795 5439085.40844684 112.913253485092 + 457848.847479843 5439085.49221631 112.812324252036 + + + + + + + + + 457848.844440365 5439085.49049066 112.814058555993 + 457848.84169737 5439085.48778342 112.814667562555 + 457848.946492703 5439085.40344488 112.915591921584 + 457848.844440365 5439085.49049066 112.814058555993 + + + + + + + + + 457848.844440365 5439085.49049066 112.814058555993 + 457848.946492703 5439085.40344488 112.915591921584 + 457848.948960579 5439085.40642108 112.914984181741 + 457848.844440365 5439085.49049066 112.814058555993 + + + + + + + + + 457848.84169737 5439085.48778342 112.814667562555 + 457848.839668452 5439085.48450673 112.814058555993 + 457848.94479488 5439085.39997132 112.914984181741 + 457848.84169737 5439085.48778342 112.814667562555 + + + + + + + + + 457848.84169737 5439085.48778342 112.814667562555 + 457848.94479488 5439085.39997132 112.914984181741 + 457848.946492703 5439085.40344488 112.915591921584 + 457848.84169737 5439085.48778342 112.814667562555 + + + + + + + + + 457848.94479488 5439085.39997132 112.914984181741 + 457848.944125586 5439085.39652922 112.913253485092 + 457849.034344196 5439085.34978635 112.988989582896 + 457848.94479488 5439085.39997132 112.914984181741 + + + + + + + + + 457848.94479488 5439085.39997132 112.914984181741 + 457849.034344196 5439085.34978635 112.988989582896 + 457849.034666749 5439085.35326672 112.99072368172 + 457848.94479488 5439085.39997132 112.914984181741 + + + + + + + + + 457848.944125586 5439085.39652922 112.913253485092 + 457848.944586717 5439085.39364262 112.910663314515 + 457849.035087577 5439085.34696925 112.986394320604 + 457848.944125586 5439085.39652922 112.913253485092 + + + + + + + + + 457848.944125586 5439085.39652922 112.913253485092 + 457849.035087577 5439085.34696925 112.986394320604 + 457849.034344196 5439085.34978635 112.988989582896 + 457848.944125586 5439085.39652922 112.913253485092 + + + + + + + + + 457848.944586717 5439085.39364262 112.910663314515 + 457848.946108069 5439085.39175097 112.907608 + 457849.036783718 5439085.34524428 112.983333 + 457848.944586717 5439085.39364262 112.910663314515 + + + + + + + + + 457848.944586717 5439085.39364262 112.910663314515 + 457849.036783718 5439085.34524428 112.983333 + 457849.035087577 5439085.34696925 112.986394320604 + 457848.944586717 5439085.39364262 112.910663314515 + + + + + + + + + 457848.946108069 5439085.39175097 112.907608 + 457848.94845803 5439085.39114226 112.904552685485 + 457849.039174398 5439085.34487406 112.980271679396 + 457848.946108069 5439085.39175097 112.907608 + + + + + + + + + 457848.946108069 5439085.39175097 112.907608 + 457849.039174398 5439085.34487406 112.980271679396 + 457849.036783718 5439085.34524428 112.983333 + 457848.946108069 5439085.39175097 112.907608 + + + + + + + + + 457848.94845803 5439085.39114226 112.904552685485 + 457848.95127884 5439085.39190916 112.901962514908 + 457849.041895656 5439085.34591495 112.977676417104 + 457848.94845803 5439085.39114226 112.904552685485 + + + + + + + + + 457848.94845803 5439085.39114226 112.904552685485 + 457849.041895656 5439085.34591495 112.977676417104 + 457849.039174398 5439085.34487406 112.980271679396 + 457848.94845803 5439085.39114226 112.904552685485 + + + + + + + + + 457848.95127884 5439085.39190916 112.901962514908 + 457848.954141056 5439085.39393492 112.900231818259 + 457849.044533207 5439085.34820849 112.97594231828 + 457848.95127884 5439085.39190916 112.901962514908 + + + + + + + + + 457848.95127884 5439085.39190916 112.901962514908 + 457849.044533207 5439085.34820849 112.97594231828 + 457849.041895656 5439085.34591495 112.977676417104 + 457848.95127884 5439085.39190916 112.901962514908 + + + + + + + + + 457848.954141056 5439085.39393492 112.900231818259 + 457848.956608932 5439085.39691112 112.899624078416 + 457849.046685506 5439085.35140551 112.975333383751 + 457848.954141056 5439085.39393492 112.900231818259 + + + + + + + + + 457848.954141056 5439085.39393492 112.900231818259 + 457849.046685506 5439085.35140551 112.975333383751 + 457849.044533207 5439085.34820849 112.97594231828 + 457848.954141056 5439085.39393492 112.900231818259 + + + + + + + + + 457848.956608932 5439085.39691112 112.899624078416 + 457848.958306756 5439085.40038468 112.900231818259 + 457849.048024887 5439085.35501928 112.97594231828 + 457848.956608932 5439085.39691112 112.899624078416 + + + + + + + + + 457848.956608932 5439085.39691112 112.899624078416 + 457849.048024887 5439085.35501928 112.97594231828 + 457849.046685506 5439085.35140551 112.975333383751 + 457848.956608932 5439085.39691112 112.899624078416 + + + + + + + + + 457848.958306756 5439085.40038468 112.900231818259 + 457848.958976049 5439085.40382678 112.901962514908 + 457849.048347439 5439085.35849965 112.977676417104 + 457848.958306756 5439085.40038468 112.900231818259 + + + + + + + + + 457848.958306756 5439085.40038468 112.900231818259 + 457849.048347439 5439085.35849965 112.977676417104 + 457849.048024887 5439085.35501928 112.97594231828 + 457848.958306756 5439085.40038468 112.900231818259 + + + + + + + + + 457848.958976049 5439085.40382678 112.901962514908 + 457848.958514919 5439085.40671338 112.904552685485 + 457849.047604058 5439085.36131675 112.980271679396 + 457848.958976049 5439085.40382678 112.901962514908 + + + + + + + + + 457848.958976049 5439085.40382678 112.901962514908 + 457849.047604058 5439085.36131675 112.980271679396 + 457849.048347439 5439085.35849965 112.977676417104 + 457848.958976049 5439085.40382678 112.901962514908 + + + + + + + + + 457848.958514919 5439085.40671338 112.904552685485 + 457848.956993567 5439085.40860503 112.907608 + 457849.045907917 5439085.36304172 112.983333 + 457848.958514919 5439085.40671338 112.904552685485 + + + + + + + + + 457848.958514919 5439085.40671338 112.904552685485 + 457849.045907917 5439085.36304172 112.983333 + 457849.047604058 5439085.36131675 112.980271679396 + 457848.958514919 5439085.40671338 112.904552685485 + + + + + + + + + 457848.956993567 5439085.40860503 112.907608 + 457848.954643605 5439085.40921374 112.910663314515 + 457849.043517237 5439085.36341194 112.986394320604 + 457848.956993567 5439085.40860503 112.907608 + + + + + + + + + 457848.956993567 5439085.40860503 112.907608 + 457849.043517237 5439085.36341194 112.986394320604 + 457849.045907917 5439085.36304172 112.983333 + 457848.956993567 5439085.40860503 112.907608 + + + + + + + + + 457848.954643605 5439085.40921374 112.910663314515 + 457848.951822795 5439085.40844684 112.913253485092 + 457849.040795979 5439085.36237105 112.988989582896 + 457848.954643605 5439085.40921374 112.910663314515 + + + + + + + + + 457848.954643605 5439085.40921374 112.910663314515 + 457849.040795979 5439085.36237105 112.988989582896 + 457849.043517237 5439085.36341194 112.986394320604 + 457848.954643605 5439085.40921374 112.910663314515 + + + + + + + + + 457848.951822795 5439085.40844684 112.913253485092 + 457848.948960579 5439085.40642108 112.914984181741 + 457849.038158428 5439085.36007751 112.99072368172 + 457848.951822795 5439085.40844684 112.913253485092 + + + + + + + + + 457848.951822795 5439085.40844684 112.913253485092 + 457849.038158428 5439085.36007751 112.99072368172 + 457849.040795979 5439085.36237105 112.988989582896 + 457848.951822795 5439085.40844684 112.913253485092 + + + + + + + + + 457848.948960579 5439085.40642108 112.914984181741 + 457848.946492703 5439085.40344488 112.915591921584 + 457849.036006129 5439085.35688049 112.991332616249 + 457848.948960579 5439085.40642108 112.914984181741 + + + + + + + + + 457848.948960579 5439085.40642108 112.914984181741 + 457849.036006129 5439085.35688049 112.991332616249 + 457849.038158428 5439085.36007751 112.99072368172 + 457848.948960579 5439085.40642108 112.914984181741 + + + + + + + + + 457848.946492703 5439085.40344488 112.915591921584 + 457848.94479488 5439085.39997132 112.914984181741 + 457849.034666749 5439085.35326672 112.99072368172 + 457848.946492703 5439085.40344488 112.915591921584 + + + + + + + + + 457848.946492703 5439085.40344488 112.915591921584 + 457849.034666749 5439085.35326672 112.99072368172 + 457849.036006129 5439085.35688049 112.991332616249 + 457848.946492703 5439085.40344488 112.915591921584 + + + + + + + + + 457849.034666749 5439085.35326672 112.99072368172 + 457849.034344196 5439085.34978635 112.988989582896 + 457849.09473608 5439085.31836339 113.039485342018 + 457849.034666749 5439085.35326672 112.99072368172 + + + + + + + + + 457849.034666749 5439085.35326672 112.99072368172 + 457849.09473608 5439085.31836339 113.039485342018 + 457849.094710777 5439085.32186958 113.04121660793 + 457849.034666749 5439085.35326672 112.99072368172 + + + + + + + + + 457849.034344196 5439085.34978635 112.988989582896 + 457849.035087577 5439085.34696925 112.986394320604 + 457849.095758977 5439085.3156258 113.036894319476 + 457849.034344196 5439085.34978635 112.988989582896 + + + + + + + + + 457849.034344196 5439085.34978635 112.988989582896 + 457849.095758977 5439085.3156258 113.036894319476 + 457849.09473608 5439085.31836339 113.039485342018 + 457849.034344196 5439085.34978635 112.988989582896 + + + + + + + + + 457849.035087577 5439085.34696925 112.986394320604 + 457849.036783718 5439085.34524428 112.983333 + 457849.097623743 5439085.31407359 113.033838 + 457849.035087577 5439085.34696925 112.986394320604 + + + + + + + + + 457849.035087577 5439085.34696925 112.986394320604 + 457849.097623743 5439085.31407359 113.033838 + 457849.095758977 5439085.3156258 113.036894319476 + 457849.035087577 5439085.34696925 112.986394320604 + + + + + + + + + 457849.036783718 5439085.34524428 112.983333 + 457849.039174398 5439085.34487406 112.980271679396 + 457849.100046483 5439085.31394307 113.030781680524 + 457849.036783718 5439085.34524428 112.983333 + + + + + + + + + 457849.036783718 5439085.34524428 112.983333 + 457849.100046483 5439085.31394307 113.030781680524 + 457849.097623743 5439085.31407359 113.033838 + 457849.036783718 5439085.34524428 112.983333 + + + + + + + + + 457849.039174398 5439085.34487406 112.980271679396 + 457849.041895656 5439085.34591495 112.977676417104 + 457849.102658357 5439085.31525411 113.028190657982 + 457849.039174398 5439085.34487406 112.980271679396 + + + + + + + + + 457849.039174398 5439085.34487406 112.980271679396 + 457849.102658357 5439085.31525411 113.028190657982 + 457849.100046483 5439085.31394307 113.030781680524 + 457849.039174398 5439085.34487406 112.980271679396 + + + + + + + + + 457849.041895656 5439085.34591495 112.977676417104 + 457849.044533207 5439085.34820849 112.97594231828 + 457849.105061732 5439085.31780711 113.02645939207 + 457849.041895656 5439085.34591495 112.977676417104 + + + + + + + + + 457849.041895656 5439085.34591495 112.977676417104 + 457849.105061732 5439085.31780711 113.02645939207 + 457849.102658357 5439085.31525411 113.028190657982 + 457849.041895656 5439085.34591495 112.977676417104 + + + + + + + + + 457849.044533207 5439085.34820849 112.97594231828 + 457849.046685506 5439085.35140551 112.975333383751 + 457849.106890714 5439085.32121341 113.025851452327 + 457849.044533207 5439085.34820849 112.97594231828 + + + + + + + + + 457849.044533207 5439085.34820849 112.97594231828 + 457849.106890714 5439085.32121341 113.025851452327 + 457849.105061732 5439085.31780711 113.02645939207 + 457849.044533207 5439085.34820849 112.97594231828 + + + + + + + + + 457849.046685506 5439085.35140551 112.975333383751 + 457849.048024887 5439085.35501928 112.97594231828 + 457849.107866858 5439085.32495442 113.02645939207 + 457849.046685506 5439085.35140551 112.975333383751 + + + + + + + + + 457849.046685506 5439085.35140551 112.975333383751 + 457849.107866858 5439085.32495442 113.02645939207 + 457849.106890714 5439085.32121341 113.025851452327 + 457849.046685506 5439085.35140551 112.975333383751 + + + + + + + + + 457849.048024887 5439085.35501928 112.97594231828 + 457849.048347439 5439085.35849965 112.977676417104 + 457849.107841556 5439085.32846061 113.028190657982 + 457849.048024887 5439085.35501928 112.97594231828 + + + + + + + + + 457849.048024887 5439085.35501928 112.97594231828 + 457849.107841556 5439085.32846061 113.028190657982 + 457849.107866858 5439085.32495442 113.02645939207 + 457849.048024887 5439085.35501928 112.97594231828 + + + + + + + + + 457849.048347439 5439085.35849965 112.977676417104 + 457849.047604058 5439085.36131675 112.980271679396 + 457849.106818658 5439085.3311982 113.030781680524 + 457849.048347439 5439085.35849965 112.977676417104 + + + + + + + + + 457849.048347439 5439085.35849965 112.977676417104 + 457849.106818658 5439085.3311982 113.030781680524 + 457849.107841556 5439085.32846061 113.028190657982 + 457849.048347439 5439085.35849965 112.977676417104 + + + + + + + + + 457849.047604058 5439085.36131675 112.980271679396 + 457849.045907917 5439085.36304172 112.983333 + 457849.104953892 5439085.33275041 113.033838 + 457849.047604058 5439085.36131675 112.980271679396 + + + + + + + + + 457849.047604058 5439085.36131675 112.980271679396 + 457849.104953892 5439085.33275041 113.033838 + 457849.106818658 5439085.3311982 113.030781680524 + 457849.047604058 5439085.36131675 112.980271679396 + + + + + + + + + 457849.045907917 5439085.36304172 112.983333 + 457849.043517237 5439085.36341194 112.986394320604 + 457849.102531152 5439085.33288093 113.036894319476 + 457849.045907917 5439085.36304172 112.983333 + + + + + + + + + 457849.045907917 5439085.36304172 112.983333 + 457849.102531152 5439085.33288093 113.036894319476 + 457849.104953892 5439085.33275041 113.033838 + 457849.045907917 5439085.36304172 112.983333 + + + + + + + + + 457849.043517237 5439085.36341194 112.986394320604 + 457849.040795979 5439085.36237105 112.988989582896 + 457849.099919278 5439085.33156989 113.039485342018 + 457849.043517237 5439085.36341194 112.986394320604 + + + + + + + + + 457849.043517237 5439085.36341194 112.986394320604 + 457849.099919278 5439085.33156989 113.039485342018 + 457849.102531152 5439085.33288093 113.036894319476 + 457849.043517237 5439085.36341194 112.986394320604 + + + + + + + + + 457849.040795979 5439085.36237105 112.988989582896 + 457849.038158428 5439085.36007751 112.99072368172 + 457849.097515904 5439085.32901689 113.04121660793 + 457849.040795979 5439085.36237105 112.988989582896 + + + + + + + + + 457849.040795979 5439085.36237105 112.988989582896 + 457849.097515904 5439085.32901689 113.04121660793 + 457849.099919278 5439085.33156989 113.039485342018 + 457849.040795979 5439085.36237105 112.988989582896 + + + + + + + + + 457849.038158428 5439085.36007751 112.99072368172 + 457849.036006129 5439085.35688049 112.991332616249 + 457849.095686921 5439085.32561059 113.041824547673 + 457849.038158428 5439085.36007751 112.99072368172 + + + + + + + + + 457849.038158428 5439085.36007751 112.99072368172 + 457849.095686921 5439085.32561059 113.041824547673 + 457849.097515904 5439085.32901689 113.04121660793 + 457849.038158428 5439085.36007751 112.99072368172 + + + + + + + + + 457849.036006129 5439085.35688049 112.991332616249 + 457849.034666749 5439085.35326672 112.99072368172 + 457849.094710777 5439085.32186958 113.04121660793 + 457849.036006129 5439085.35688049 112.991332616249 + + + + + + + + + 457849.036006129 5439085.35688049 112.991332616249 + 457849.094710777 5439085.32186958 113.04121660793 + 457849.095686921 5439085.32561059 113.041824547673 + 457849.036006129 5439085.35688049 112.991332616249 + + + + + + + + + 457849.094710777 5439085.32186958 113.04121660793 + 457849.09473608 5439085.31836339 113.039485342018 + 457849.257847379 5439085.27159008 113.1656473409 + 457849.094710777 5439085.32186958 113.04121660793 + + + + + + + + + 457849.094710777 5439085.32186958 113.04121660793 + 457849.257847379 5439085.27159008 113.1656473409 + 457849.257127832 5439085.27502174 113.16737860647 + 457849.094710777 5439085.32186958 113.04121660793 + + + + + + + + + 457849.09473608 5439085.31836339 113.039485342018 + 457849.095758977 5439085.3156258 113.036894319476 + 457849.259392444 5439085.26910945 113.163056318871 + 457849.09473608 5439085.31836339 113.039485342018 + + + + + + + + + 457849.09473608 5439085.31836339 113.039485342018 + 457849.259392444 5439085.26910945 113.163056318871 + 457849.257847379 5439085.27159008 113.1656473409 + 457849.09473608 5439085.31836339 113.039485342018 + + + + + + + + + 457849.095758977 5439085.3156258 113.036894319476 + 457849.097623743 5439085.31407359 113.033838 + 457849.261527804 5439085.26795752 113.16 + 457849.095758977 5439085.3156258 113.036894319476 + + + + + + + + + 457849.095758977 5439085.3156258 113.036894319476 + 457849.261527804 5439085.26795752 113.16 + 457849.259392444 5439085.26910945 113.163056318871 + 457849.095758977 5439085.3156258 113.036894319476 + + + + + + + + + 457849.097623743 5439085.31407359 113.033838 + 457849.100046483 5439085.31394307 113.030781680524 + 457849.26392837 5439085.26830965 113.156943681129 + 457849.097623743 5439085.31407359 113.033838 + + + + + + + + + 457849.097623743 5439085.31407359 113.033838 + 457849.26392837 5439085.26830965 113.156943681129 + 457849.261527804 5439085.26795752 113.16 + 457849.097623743 5439085.31407359 113.033838 + + + + + + + + + 457849.100046483 5439085.31394307 113.030781680524 + 457849.102658357 5439085.31525411 113.028190657982 + 457849.266228676 5439085.27011223 113.1543526591 + 457849.100046483 5439085.31394307 113.030781680524 + + + + + + + + + 457849.100046483 5439085.31394307 113.030781680524 + 457849.266228676 5439085.27011223 113.1543526591 + 457849.26392837 5439085.26830965 113.156943681129 + 457849.100046483 5439085.31394307 113.030781680524 + + + + + + + + + 457849.102658357 5439085.31525411 113.028190657982 + 457849.105061732 5439085.31780711 113.02645939207 + 457849.268078524 5439085.27309084 113.15262139353 + 457849.102658357 5439085.31525411 113.028190657982 + + + + + + + + + 457849.102658357 5439085.31525411 113.028190657982 + 457849.268078524 5439085.27309084 113.15262139353 + 457849.266228676 5439085.27011223 113.1543526591 + 457849.102658357 5439085.31525411 113.028190657982 + + + + + + + + + 457849.105061732 5439085.31780711 113.02645939207 + 457849.106890714 5439085.32121341 113.025851452327 + 457849.26919629 5439085.27679201 113.152013453908 + 457849.105061732 5439085.31780711 113.02645939207 + + + + + + + + + 457849.105061732 5439085.31780711 113.02645939207 + 457849.26919629 5439085.27679201 113.152013453908 + 457849.268078524 5439085.27309084 113.15262139353 + 457849.105061732 5439085.31780711 113.02645939207 + + + + + + + + + 457849.106890714 5439085.32121341 113.025851452327 + 457849.107866858 5439085.32495442 113.02645939207 + 457849.269411804 5439085.28065227 113.15262139353 + 457849.106890714 5439085.32121341 113.025851452327 + + + + + + + + + 457849.106890714 5439085.32121341 113.025851452327 + 457849.269411804 5439085.28065227 113.15262139353 + 457849.26919629 5439085.27679201 113.152013453908 + 457849.106890714 5439085.32121341 113.025851452327 + + + + + + + + + 457849.107866858 5439085.32495442 113.02645939207 + 457849.107841556 5439085.32846061 113.028190657982 + 457849.268692256 5439085.28408393 113.1543526591 + 457849.107866858 5439085.32495442 113.02645939207 + + + + + + + + + 457849.107866858 5439085.32495442 113.02645939207 + 457849.268692256 5439085.28408393 113.1543526591 + 457849.269411804 5439085.28065227 113.15262139353 + 457849.107866858 5439085.32495442 113.02645939207 + + + + + + + + + 457849.107841556 5439085.32846061 113.028190657982 + 457849.106818658 5439085.3311982 113.030781680524 + 457849.267147191 5439085.28656455 113.156943681129 + 457849.107841556 5439085.32846061 113.028190657982 + + + + + + + + + 457849.107841556 5439085.32846061 113.028190657982 + 457849.267147191 5439085.28656455 113.156943681129 + 457849.268692256 5439085.28408393 113.1543526591 + 457849.107841556 5439085.32846061 113.028190657982 + + + + + + + + + 457849.106818658 5439085.3311982 113.030781680524 + 457849.104953892 5439085.33275041 113.033838 + 457849.265011831 5439085.28771648 113.16 + 457849.106818658 5439085.3311982 113.030781680524 + + + + + + + + + 457849.106818658 5439085.3311982 113.030781680524 + 457849.265011831 5439085.28771648 113.16 + 457849.267147191 5439085.28656455 113.156943681129 + 457849.106818658 5439085.3311982 113.030781680524 + + + + + + + + + 457849.104953892 5439085.33275041 113.033838 + 457849.102531152 5439085.33288093 113.036894319476 + 457849.262611266 5439085.28736435 113.163056318871 + 457849.104953892 5439085.33275041 113.033838 + + + + + + + + + 457849.104953892 5439085.33275041 113.033838 + 457849.262611266 5439085.28736435 113.163056318871 + 457849.265011831 5439085.28771648 113.16 + 457849.104953892 5439085.33275041 113.033838 + + + + + + + + + 457849.102531152 5439085.33288093 113.036894319476 + 457849.099919278 5439085.33156989 113.039485342018 + 457849.260310959 5439085.28556177 113.1656473409 + 457849.102531152 5439085.33288093 113.036894319476 + + + + + + + + + 457849.102531152 5439085.33288093 113.036894319476 + 457849.260310959 5439085.28556177 113.1656473409 + 457849.262611266 5439085.28736435 113.163056318871 + 457849.102531152 5439085.33288093 113.036894319476 + + + + + + + + + 457849.099919278 5439085.33156989 113.039485342018 + 457849.097515904 5439085.32901689 113.04121660793 + 457849.258461111 5439085.28258316 113.16737860647 + 457849.099919278 5439085.33156989 113.039485342018 + + + + + + + + + 457849.099919278 5439085.33156989 113.039485342018 + 457849.258461111 5439085.28258316 113.16737860647 + 457849.260310959 5439085.28556177 113.1656473409 + 457849.099919278 5439085.33156989 113.039485342018 + + + + + + + + + 457849.097515904 5439085.32901689 113.04121660793 + 457849.095686921 5439085.32561059 113.041824547673 + 457849.257343346 5439085.27888199 113.167986546092 + 457849.097515904 5439085.32901689 113.04121660793 + + + + + + + + + 457849.097515904 5439085.32901689 113.04121660793 + 457849.257343346 5439085.27888199 113.167986546092 + 457849.258461111 5439085.28258316 113.16737860647 + 457849.097515904 5439085.32901689 113.04121660793 + + + + + + + + + 457849.095686921 5439085.32561059 113.041824547673 + 457849.094710777 5439085.32186958 113.04121660793 + 457849.257127832 5439085.27502174 113.16737860647 + 457849.095686921 5439085.32561059 113.041824547673 + + + + + + + + + 457849.095686921 5439085.32561059 113.041824547673 + 457849.257127832 5439085.27502174 113.16737860647 + 457849.257343346 5439085.27888199 113.167986546092 + 457849.095686921 5439085.32561059 113.041824547673 + + + + + + + + + 457849.257127832 5439085.27502174 113.16737860647 + 457849.257847379 5439085.27159008 113.1656473409 + 457849.426991712 5439085.2580655 113.291809342319 + 457849.257127832 5439085.27502174 113.16737860647 + + + + + + + + + 457849.257127832 5439085.27502174 113.16737860647 + 457849.426991712 5439085.2580655 113.291809342319 + 457849.425606456 5439085.26128654 113.293540608324 + 457849.257127832 5439085.27502174 113.16737860647 + + + + + + + + + 457849.257847379 5439085.27159008 113.1656473409 + 457849.259392444 5439085.26910945 113.163056318871 + 457849.428997671 5439085.25594021 113.289218319639 + 457849.257847379 5439085.27159008 113.1656473409 + + + + + + + + + 457849.257847379 5439085.27159008 113.1656473409 + 457849.428997671 5439085.25594021 113.289218319639 + 457849.426991712 5439085.2580655 113.291809342319 + 457849.257847379 5439085.27159008 113.1656473409 + + + + + + + + + 457849.259392444 5439085.26910945 113.163056318871 + 457849.261527804 5439085.26795752 113.16 + 457849.431318943 5439085.25523424 113.286162 + 457849.259392444 5439085.26910945 113.163056318871 + + + + + + + + + 457849.259392444 5439085.26910945 113.163056318871 + 457849.431318943 5439085.25523424 113.286162 + 457849.428997671 5439085.25594021 113.289218319639 + 457849.259392444 5439085.26910945 113.163056318871 + + + + + + + + + 457849.261527804 5439085.26795752 113.16 + 457849.26392837 5439085.26830965 113.156943681129 + 457849.433602136 5439085.25605505 113.283105680361 + 457849.261527804 5439085.26795752 113.16 + + + + + + + + + 457849.261527804 5439085.26795752 113.16 + 457849.433602136 5439085.25605505 113.283105680361 + 457849.431318943 5439085.25523424 113.286162 + 457849.261527804 5439085.26795752 113.16 + + + + + + + + + 457849.26392837 5439085.26830965 113.156943681129 + 457849.266228676 5439085.27011223 113.1543526591 + 457849.435499654 5439085.25827769 113.280514657681 + 457849.26392837 5439085.26830965 113.156943681129 + + + + + + + + + 457849.26392837 5439085.26830965 113.156943681129 + 457849.435499654 5439085.25827769 113.280514657681 + 457849.433602136 5439085.25605505 113.283105680361 + 457849.26392837 5439085.26830965 113.156943681129 + + + + + + + + + 457849.266228676 5439085.27011223 113.1543526591 + 457849.268078524 5439085.27309084 113.15262139353 + 457849.436722617 5439085.26156378 113.278783391676 + 457849.266228676 5439085.27011223 113.1543526591 + + + + + + + + + 457849.266228676 5439085.27011223 113.1543526591 + 457849.436722617 5439085.26156378 113.278783391676 + 457849.435499654 5439085.25827769 113.280514657681 + 457849.266228676 5439085.27011223 113.1543526591 + + + + + + + + + 457849.268078524 5439085.27309084 113.15262139353 + 457849.26919629 5439085.27679201 113.152013453908 + 457849.437084841 5439085.26541304 113.278175451901 + 457849.268078524 5439085.27309084 113.15262139353 + + + + + + + + + 457849.268078524 5439085.27309084 113.15262139353 + 457849.437084841 5439085.26541304 113.278175451901 + 457849.436722617 5439085.26156378 113.278783391676 + 457849.268078524 5439085.27309084 113.15262139353 + + + + + + + + + 457849.26919629 5439085.27679201 113.152013453908 + 457849.269411804 5439085.28065227 113.15262139353 + 457849.43653118 5439085.26923946 113.278783391676 + 457849.26919629 5439085.27679201 113.152013453908 + + + + + + + + + 457849.26919629 5439085.27679201 113.152013453908 + 457849.43653118 5439085.26923946 113.278783391676 + 457849.437084841 5439085.26541304 113.278175451901 + 457849.26919629 5439085.27679201 113.152013453908 + + + + + + + + + 457849.269411804 5439085.28065227 113.15262139353 + 457849.268692256 5439085.28408393 113.1543526591 + 457849.435145923 5439085.2724605 113.280514657681 + 457849.269411804 5439085.28065227 113.15262139353 + + + + + + + + + 457849.269411804 5439085.28065227 113.15262139353 + 457849.435145923 5439085.2724605 113.280514657681 + 457849.43653118 5439085.26923946 113.278783391676 + 457849.269411804 5439085.28065227 113.15262139353 + + + + + + + + + 457849.268692256 5439085.28408393 113.1543526591 + 457849.267147191 5439085.28656455 113.156943681129 + 457849.433139964 5439085.27458579 113.283105680361 + 457849.268692256 5439085.28408393 113.1543526591 + + + + + + + + + 457849.268692256 5439085.28408393 113.1543526591 + 457849.433139964 5439085.27458579 113.283105680361 + 457849.435145923 5439085.2724605 113.280514657681 + 457849.268692256 5439085.28408393 113.1543526591 + + + + + + + + + 457849.267147191 5439085.28656455 113.156943681129 + 457849.265011831 5439085.28771648 113.16 + 457849.430818692 5439085.27529176 113.286162 + 457849.267147191 5439085.28656455 113.156943681129 + + + + + + + + + 457849.267147191 5439085.28656455 113.156943681129 + 457849.430818692 5439085.27529176 113.286162 + 457849.433139964 5439085.27458579 113.283105680361 + 457849.267147191 5439085.28656455 113.156943681129 + + + + + + + + + 457849.265011831 5439085.28771648 113.16 + 457849.262611266 5439085.28736435 113.163056318871 + 457849.428535499 5439085.27447095 113.289218319639 + 457849.265011831 5439085.28771648 113.16 + + + + + + + + + 457849.265011831 5439085.28771648 113.16 + 457849.428535499 5439085.27447095 113.289218319639 + 457849.430818692 5439085.27529176 113.286162 + 457849.265011831 5439085.28771648 113.16 + + + + + + + + + 457849.262611266 5439085.28736435 113.163056318871 + 457849.260310959 5439085.28556177 113.1656473409 + 457849.426637981 5439085.27224831 113.291809342319 + 457849.262611266 5439085.28736435 113.163056318871 + + + + + + + + + 457849.262611266 5439085.28736435 113.163056318871 + 457849.426637981 5439085.27224831 113.291809342319 + 457849.428535499 5439085.27447095 113.289218319639 + 457849.262611266 5439085.28736435 113.163056318871 + + + + + + + + + 457849.260310959 5439085.28556177 113.1656473409 + 457849.258461111 5439085.28258316 113.16737860647 + 457849.425415018 5439085.26896222 113.293540608324 + 457849.260310959 5439085.28556177 113.1656473409 + + + + + + + + + 457849.260310959 5439085.28556177 113.1656473409 + 457849.425415018 5439085.26896222 113.293540608324 + 457849.426637981 5439085.27224831 113.291809342319 + 457849.260310959 5439085.28556177 113.1656473409 + + + + + + + + + 457849.258461111 5439085.28258316 113.16737860647 + 457849.257343346 5439085.27888199 113.167986546092 + 457849.425052794 5439085.26511296 113.294148548099 + 457849.258461111 5439085.28258316 113.16737860647 + + + + + + + + + 457849.258461111 5439085.28258316 113.16737860647 + 457849.425052794 5439085.26511296 113.294148548099 + 457849.425415018 5439085.26896222 113.293540608324 + 457849.258461111 5439085.28258316 113.16737860647 + + + + + + + + + 457849.257343346 5439085.27888199 113.167986546092 + 457849.257127832 5439085.27502174 113.16737860647 + 457849.425606456 5439085.26128654 113.293540608324 + 457849.257343346 5439085.27888199 113.167986546092 + + + + + + + + + 457849.257343346 5439085.27888199 113.167986546092 + 457849.425606456 5439085.26128654 113.293540608324 + 457849.425052794 5439085.26511296 113.294148548099 + 457849.257343346 5439085.27888199 113.167986546092 + + + + + + + + + 457849.425606456 5439085.26128654 113.293540608324 + 457849.426991712 5439085.2580655 113.291809342319 + 457849.494576988 5439085.26609523 113.342323592676 + 457849.425606456 5439085.26128654 113.293540608324 + + + + + + + + + 457849.425606456 5439085.26128654 113.293540608324 + 457849.494576988 5439085.26609523 113.342323592676 + 457849.492882944 5439085.26915254 113.344057694498 + 457849.425606456 5439085.26128654 113.293540608324 + + + + + + + + + 457849.426991712 5439085.2580655 113.291809342319 + 457849.428997671 5439085.25594021 113.289218319639 + 457849.496778121 5439085.26418638 113.339728325897 + 457849.426991712 5439085.2580655 113.291809342319 + + + + + + + + + 457849.426991712 5439085.2580655 113.291809342319 + 457849.496778121 5439085.26418638 113.339728325897 + 457849.494576988 5439085.26609523 113.342323592676 + 457849.426991712 5439085.2580655 113.291809342319 + + + + + + + + + 457849.428997671 5439085.25594021 113.289218319639 + 457849.431318943 5439085.25523424 113.286162 + 457849.49915124 5439085.26371661 113.336667 + 457849.428997671 5439085.25594021 113.289218319639 + + + + + + + + + 457849.428997671 5439085.25594021 113.289218319639 + 457849.49915124 5439085.26371661 113.336667 + 457849.496778121 5439085.26418638 113.339728325897 + 457849.428997671 5439085.25594021 113.289218319639 + + + + + + + + + 457849.431318943 5439085.25523424 113.286162 + 457849.433602136 5439085.25605505 113.283105680361 + 457849.501335059 5439085.26475743 113.333605674104 + 457849.431318943 5439085.25523424 113.286162 + + + + + + + + + 457849.431318943 5439085.25523424 113.286162 + 457849.501335059 5439085.26475743 113.333605674104 + 457849.49915124 5439085.26371661 113.336667 + 457849.431318943 5439085.25523424 113.286162 + + + + + + + + + 457849.433602136 5439085.25605505 113.283105680361 + 457849.435499654 5439085.25827769 113.280514657681 + 457849.502997111 5439085.26715039 113.331010407324 + 457849.433602136 5439085.25605505 113.283105680361 + + + + + + + + + 457849.433602136 5439085.25605505 113.283105680361 + 457849.502997111 5439085.26715039 113.331010407324 + 457849.501335059 5439085.26475743 113.333605674104 + 457849.433602136 5439085.25605505 113.283105680361 + + + + + + + + + 457849.435499654 5439085.25827769 113.280514657681 + 457849.436722617 5439085.26156378 113.278783391676 + 457849.503884365 5439085.27053118 113.329276305502 + 457849.435499654 5439085.25827769 113.280514657681 + + + + + + + + + 457849.435499654 5439085.25827769 113.280514657681 + 457849.503884365 5439085.27053118 113.329276305502 + 457849.502997111 5439085.26715039 113.331010407324 + 457849.435499654 5439085.25827769 113.280514657681 + + + + + + + + + 457849.436722617 5439085.26156378 113.278783391676 + 457849.437084841 5439085.26541304 113.278175451901 + 457849.503861744 5439085.27438511 113.32866736992 + 457849.436722617 5439085.26156378 113.278783391676 + + + + + + + + + 457849.436722617 5439085.26156378 113.278783391676 + 457849.503861744 5439085.27438511 113.32866736992 + 457849.503884365 5439085.27053118 113.329276305502 + 457849.436722617 5439085.26156378 113.278783391676 + + + + + + + + + 457849.437084841 5439085.26541304 113.278175451901 + 457849.43653118 5439085.26923946 113.278783391676 + 457849.502932691 5439085.27812546 113.329276305502 + 457849.437084841 5439085.26541304 113.278175451901 + + + + + + + + + 457849.437084841 5439085.26541304 113.278175451901 + 457849.502932691 5439085.27812546 113.329276305502 + 457849.503861744 5439085.27438511 113.32866736992 + 457849.437084841 5439085.26541304 113.278175451901 + + + + + + + + + 457849.43653118 5439085.26923946 113.278783391676 + 457849.435145923 5439085.2724605 113.280514657681 + 457849.501238647 5439085.28118277 113.331010407324 + 457849.43653118 5439085.26923946 113.278783391676 + + + + + + + + + 457849.43653118 5439085.26923946 113.278783391676 + 457849.501238647 5439085.28118277 113.331010407324 + 457849.502932691 5439085.27812546 113.329276305502 + 457849.43653118 5439085.26923946 113.278783391676 + + + + + + + + + 457849.435145923 5439085.2724605 113.280514657681 + 457849.433139964 5439085.27458579 113.283105680361 + 457849.499037515 5439085.28309162 113.333605674104 + 457849.435145923 5439085.2724605 113.280514657681 + + + + + + + + + 457849.435145923 5439085.2724605 113.280514657681 + 457849.499037515 5439085.28309162 113.333605674104 + 457849.501238647 5439085.28118277 113.331010407324 + 457849.435145923 5439085.2724605 113.280514657681 + + + + + + + + + 457849.433139964 5439085.27458579 113.283105680361 + 457849.430818692 5439085.27529176 113.286162 + 457849.496664396 5439085.28356139 113.336667 + 457849.433139964 5439085.27458579 113.283105680361 + + + + + + + + + 457849.433139964 5439085.27458579 113.283105680361 + 457849.496664396 5439085.28356139 113.336667 + 457849.499037515 5439085.28309162 113.333605674104 + 457849.433139964 5439085.27458579 113.283105680361 + + + + + + + + + 457849.430818692 5439085.27529176 113.286162 + 457849.428535499 5439085.27447095 113.289218319639 + 457849.494480577 5439085.28252057 113.339728325897 + 457849.430818692 5439085.27529176 113.286162 + + + + + + + + + 457849.430818692 5439085.27529176 113.286162 + 457849.494480577 5439085.28252057 113.339728325897 + 457849.496664396 5439085.28356139 113.336667 + 457849.430818692 5439085.27529176 113.286162 + + + + + + + + + 457849.428535499 5439085.27447095 113.289218319639 + 457849.426637981 5439085.27224831 113.291809342319 + 457849.492818524 5439085.28012761 113.342323592676 + 457849.428535499 5439085.27447095 113.289218319639 + + + + + + + + + 457849.428535499 5439085.27447095 113.289218319639 + 457849.492818524 5439085.28012761 113.342323592676 + 457849.494480577 5439085.28252057 113.339728325897 + 457849.428535499 5439085.27447095 113.289218319639 + + + + + + + + + 457849.426637981 5439085.27224831 113.291809342319 + 457849.425415018 5439085.26896222 113.293540608324 + 457849.49193127 5439085.27674682 113.344057694498 + 457849.426637981 5439085.27224831 113.291809342319 + + + + + + + + + 457849.426637981 5439085.27224831 113.291809342319 + 457849.49193127 5439085.27674682 113.344057694498 + 457849.492818524 5439085.28012761 113.342323592676 + 457849.426637981 5439085.27224831 113.291809342319 + + + + + + + + + 457849.425415018 5439085.26896222 113.293540608324 + 457849.425052794 5439085.26511296 113.294148548099 + 457849.491953892 5439085.27289289 113.34466663008 + 457849.425415018 5439085.26896222 113.293540608324 + + + + + + + + + 457849.425415018 5439085.26896222 113.293540608324 + 457849.491953892 5439085.27289289 113.34466663008 + 457849.49193127 5439085.27674682 113.344057694498 + 457849.425415018 5439085.26896222 113.293540608324 + + + + + + + + + 457849.425052794 5439085.26511296 113.294148548099 + 457849.425606456 5439085.26128654 113.293540608324 + 457849.492882944 5439085.26915254 113.344057694498 + 457849.425052794 5439085.26511296 113.294148548099 + + + + + + + + + 457849.425052794 5439085.26511296 113.294148548099 + 457849.492882944 5439085.26915254 113.344057694498 + 457849.491953892 5439085.27289289 113.34466663008 + 457849.425052794 5439085.26511296 113.294148548099 + + + + + + + + + 457849.492882944 5439085.26915254 113.344057694498 + 457849.494576988 5439085.26609523 113.342323592676 + 457849.59546027 5439085.27832282 113.418037485122 + 457849.492882944 5439085.26915254 113.344057694498 + + + + + + + + + 457849.492882944 5439085.26915254 113.344057694498 + 457849.59546027 5439085.27832282 113.418037485122 + 457849.593463521 5439085.28120534 113.419768181779 + 457849.492882944 5439085.26915254 113.344057694498 + + + + + + + + + 457849.494576988 5439085.26609523 113.342323592676 + 457849.496778121 5439085.26418638 113.339728325897 + 457849.597848667 5439085.27663739 113.415447314532 + 457849.494576988 5439085.26609523 113.342323592676 + + + + + + + + + 457849.494576988 5439085.26609523 113.342323592676 + 457849.597848667 5439085.27663739 113.415447314532 + 457849.59546027 5439085.27832282 113.418037485122 + 457849.494576988 5439085.26609523 113.342323592676 + + + + + + + + + 457849.496778121 5439085.26418638 113.339728325897 + 457849.49915124 5439085.26371661 113.336667 + 457849.600265099 5439085.27640565 113.412392 + 457849.496778121 5439085.26418638 113.339728325897 + + + + + + + + + 457849.496778121 5439085.26418638 113.339728325897 + 457849.600265099 5439085.27640565 113.412392 + 457849.597848667 5439085.27663739 113.415447314532 + 457849.496778121 5439085.26418638 113.339728325897 + + + + + + + + + 457849.49915124 5439085.26371661 113.336667 + 457849.501335059 5439085.26475743 113.333605674104 + 457849.602341686 5439085.27766288 113.409336685468 + 457849.49915124 5439085.26371661 113.336667 + + + + + + + + + 457849.49915124 5439085.26371661 113.336667 + 457849.602341686 5439085.27766288 113.409336685468 + 457849.600265099 5439085.27640565 113.412392 + 457849.49915124 5439085.26371661 113.336667 + + + + + + + + + 457849.501335059 5439085.26475743 113.333605674104 + 457849.502997111 5439085.26715039 113.331010407324 + 457849.603762287 5439085.28021768 113.406746514878 + 457849.501335059 5439085.26475743 113.333605674104 + + + + + + + + + 457849.501335059 5439085.26475743 113.333605674104 + 457849.603762287 5439085.28021768 113.406746514878 + 457849.602341686 5439085.27766288 113.409336685468 + 457849.501335059 5439085.26475743 113.333605674104 + + + + + + + + + 457849.502997111 5439085.26715039 113.331010407324 + 457849.503884365 5439085.27053118 113.329276305502 + 457849.604310628 5439085.2836811 113.405015818221 + 457849.502997111 5439085.26715039 113.331010407324 + + + + + + + + + 457849.502997111 5439085.26715039 113.331010407324 + 457849.604310628 5439085.2836811 113.405015818221 + 457849.603762287 5439085.28021768 113.406746514878 + 457849.502997111 5439085.26715039 113.331010407324 + + + + + + + + + 457849.503884365 5439085.27053118 113.329276305502 + 457849.503861744 5439085.27438511 113.32866736992 + 457849.60390323 5439085.28752587 113.404408078374 + 457849.503884365 5439085.27053118 113.329276305502 + + + + + + + + + 457849.503884365 5439085.27053118 113.329276305502 + 457849.60390323 5439085.28752587 113.404408078374 + 457849.604310628 5439085.2836811 113.405015818221 + 457849.503884365 5439085.27053118 113.329276305502 + + + + + + + + + 457849.503861744 5439085.27438511 113.32866736992 + 457849.502932691 5439085.27812546 113.329276305502 + 457849.602602114 5439085.29116666 113.405015818221 + 457849.503861744 5439085.27438511 113.32866736992 + + + + + + + + + 457849.503861744 5439085.27438511 113.32866736992 + 457849.602602114 5439085.29116666 113.405015818221 + 457849.60390323 5439085.28752587 113.404408078374 + 457849.503861744 5439085.27438511 113.32866736992 + + + + + + + + + 457849.502932691 5439085.27812546 113.329276305502 + 457849.501238647 5439085.28118277 113.331010407324 + 457849.600605365 5439085.29404918 113.406746514878 + 457849.502932691 5439085.27812546 113.329276305502 + + + + + + + + + 457849.502932691 5439085.27812546 113.329276305502 + 457849.600605365 5439085.29404918 113.406746514878 + 457849.602602114 5439085.29116666 113.405015818221 + 457849.502932691 5439085.27812546 113.329276305502 + + + + + + + + + 457849.501238647 5439085.28118277 113.331010407324 + 457849.499037515 5439085.28309162 113.333605674104 + 457849.598216968 5439085.29573461 113.409336685468 + 457849.501238647 5439085.28118277 113.331010407324 + + + + + + + + + 457849.501238647 5439085.28118277 113.331010407324 + 457849.598216968 5439085.29573461 113.409336685468 + 457849.600605365 5439085.29404918 113.406746514878 + 457849.501238647 5439085.28118277 113.331010407324 + + + + + + + + + 457849.499037515 5439085.28309162 113.333605674104 + 457849.496664396 5439085.28356139 113.336667 + 457849.595800537 5439085.29596635 113.412392 + 457849.499037515 5439085.28309162 113.333605674104 + + + + + + + + + 457849.499037515 5439085.28309162 113.333605674104 + 457849.595800537 5439085.29596635 113.412392 + 457849.598216968 5439085.29573461 113.409336685468 + 457849.499037515 5439085.28309162 113.333605674104 + + + + + + + + + 457849.496664396 5439085.28356139 113.336667 + 457849.494480577 5439085.28252057 113.339728325897 + 457849.593723949 5439085.29470912 113.415447314532 + 457849.496664396 5439085.28356139 113.336667 + + + + + + + + + 457849.496664396 5439085.28356139 113.336667 + 457849.593723949 5439085.29470912 113.415447314532 + 457849.595800537 5439085.29596635 113.412392 + 457849.496664396 5439085.28356139 113.336667 + + + + + + + + + 457849.494480577 5439085.28252057 113.339728325897 + 457849.492818524 5439085.28012761 113.342323592676 + 457849.592303348 5439085.29215432 113.418037485122 + 457849.494480577 5439085.28252057 113.339728325897 + + + + + + + + + 457849.494480577 5439085.28252057 113.339728325897 + 457849.592303348 5439085.29215432 113.418037485122 + 457849.593723949 5439085.29470912 113.415447314532 + 457849.494480577 5439085.28252057 113.339728325897 + + + + + + + + + 457849.492818524 5439085.28012761 113.342323592676 + 457849.49193127 5439085.27674682 113.344057694498 + 457849.591755007 5439085.2886909 113.419768181779 + 457849.492818524 5439085.28012761 113.342323592676 + + + + + + + + + 457849.492818524 5439085.28012761 113.342323592676 + 457849.591755007 5439085.2886909 113.419768181779 + 457849.592303348 5439085.29215432 113.418037485122 + 457849.492818524 5439085.28012761 113.342323592676 + + + + + + + + + 457849.49193127 5439085.27674682 113.344057694498 + 457849.491953892 5439085.27289289 113.34466663008 + 457849.592162405 5439085.28484613 113.420375921626 + 457849.49193127 5439085.27674682 113.344057694498 + + + + + + + + + 457849.49193127 5439085.27674682 113.344057694498 + 457849.592162405 5439085.28484613 113.420375921626 + 457849.591755007 5439085.2886909 113.419768181779 + 457849.49193127 5439085.27674682 113.344057694498 + + + + + + + + + 457849.491953892 5439085.27289289 113.34466663008 + 457849.492882944 5439085.26915254 113.344057694498 + 457849.593463521 5439085.28120534 113.419768181779 + 457849.491953892 5439085.27289289 113.34466663008 + + + + + + + + + 457849.491953892 5439085.27289289 113.34466663008 + 457849.593463521 5439085.28120534 113.419768181779 + 457849.592162405 5439085.28484613 113.420375921626 + 457849.491953892 5439085.27289289 113.34466663008 + + + + + + + + + 457849.593463521 5439085.28120534 113.419768181779 + 457849.59546027 5439085.27832282 113.418037485122 + 457849.723767708 5439085.32097107 113.51899025234 + 457849.593463521 5439085.28120534 113.419768181779 + + + + + + + + + 457849.593463521 5439085.28120534 113.419768181779 + 457849.723767708 5439085.32097107 113.51899025234 + 457849.721501687 5439085.32363217 113.52072455639 + 457849.593463521 5439085.28120534 113.419768181779 + + + + + + + + + 457849.59546027 5439085.27832282 113.418037485122 + 457849.597848667 5439085.27663739 113.415447314532 + 457849.726303059 5439085.31953611 113.516394682904 + 457849.59546027 5439085.27832282 113.418037485122 + + + + + + + + + 457849.59546027 5439085.27832282 113.418037485122 + 457849.726303059 5439085.31953611 113.516394682904 + 457849.723767708 5439085.32097107 113.51899025234 + 457849.59546027 5439085.27832282 113.418037485122 + + + + + + + + + 457849.597848667 5439085.27663739 113.415447314532 + 457849.600265099 5439085.27640565 113.412392 + 457849.728721757 5439085.31954575 113.513333 + 457849.597848667 5439085.27663739 113.415447314532 + + + + + + + + + 457849.597848667 5439085.27663739 113.415447314532 + 457849.728721757 5439085.31954575 113.513333 + 457849.726303059 5439085.31953611 113.516394682904 + 457849.597848667 5439085.27663739 113.415447314532 + + + + + + + + + 457849.600265099 5439085.27640565 113.412392 + 457849.602341686 5439085.27766288 113.409336685468 + 457849.730655577 5439085.32099852 113.510271317096 + 457849.600265099 5439085.27640565 113.412392 + + + + + + + + + 457849.600265099 5439085.27640565 113.412392 + 457849.730655577 5439085.32099852 113.510271317096 + 457849.728721757 5439085.31954575 113.513333 + 457849.600265099 5439085.27640565 113.412392 + + + + + + + + + 457849.602341686 5439085.27766288 113.409336685468 + 457849.603762287 5439085.28021768 113.406746514878 + 457849.731810112 5439085.32367325 113.50767574766 + 457849.602341686 5439085.27766288 113.409336685468 + + + + + + + + + 457849.602341686 5439085.27766288 113.409336685468 + 457849.731810112 5439085.32367325 113.50767574766 + 457849.730655577 5439085.32099852 113.510271317096 + 457849.602341686 5439085.27766288 113.409336685468 + + + + + + + + + 457849.603762287 5439085.28021768 113.406746514878 + 457849.604310628 5439085.2836811 113.405015818221 + 457849.732009595 5439085.32716273 113.50594144361 + 457849.603762287 5439085.28021768 113.406746514878 + + + + + + + + + 457849.603762287 5439085.28021768 113.406746514878 + 457849.732009595 5439085.32716273 113.50594144361 + 457849.731810112 5439085.32367325 113.50767574766 + 457849.603762287 5439085.28021768 113.406746514878 + + + + + + + + + 457849.604310628 5439085.2836811 113.405015818221 + 457849.60390323 5439085.28752587 113.404408078374 + 457849.731223657 5439085.33093573 113.505332437015 + 457849.604310628 5439085.2836811 113.405015818221 + + + + + + + + + 457849.604310628 5439085.2836811 113.405015818221 + 457849.731223657 5439085.33093573 113.505332437015 + 457849.732009595 5439085.32716273 113.50594144361 + 457849.604310628 5439085.2836811 113.405015818221 + + + + + + + + + 457849.60390323 5439085.28752587 113.404408078374 + 457849.602602114 5439085.29116666 113.405015818221 + 457849.729571948 5439085.33441783 113.50594144361 + 457849.60390323 5439085.28752587 113.404408078374 + + + + + + + + + 457849.60390323 5439085.28752587 113.404408078374 + 457849.729571948 5439085.33441783 113.50594144361 + 457849.731223657 5439085.33093573 113.505332437015 + 457849.60390323 5439085.28752587 113.404408078374 + + + + + + + + + 457849.602602114 5439085.29116666 113.405015818221 + 457849.600605365 5439085.29404918 113.406746514878 + 457849.727305928 5439085.33707893 113.50767574766 + 457849.602602114 5439085.29116666 113.405015818221 + + + + + + + + + 457849.602602114 5439085.29116666 113.405015818221 + 457849.727305928 5439085.33707893 113.50767574766 + 457849.729571948 5439085.33441783 113.50594144361 + 457849.602602114 5439085.29116666 113.405015818221 + + + + + + + + + 457849.600605365 5439085.29404918 113.406746514878 + 457849.598216968 5439085.29573461 113.409336685468 + 457849.724770576 5439085.33851389 113.510271317096 + 457849.600605365 5439085.29404918 113.406746514878 + + + + + + + + + 457849.600605365 5439085.29404918 113.406746514878 + 457849.724770576 5439085.33851389 113.510271317096 + 457849.727305928 5439085.33707893 113.50767574766 + 457849.600605365 5439085.29404918 113.406746514878 + + + + + + + + + 457849.598216968 5439085.29573461 113.409336685468 + 457849.595800537 5439085.29596635 113.412392 + 457849.722351878 5439085.33850425 113.513333 + 457849.598216968 5439085.29573461 113.409336685468 + + + + + + + + + 457849.598216968 5439085.29573461 113.409336685468 + 457849.722351878 5439085.33850425 113.513333 + 457849.724770576 5439085.33851389 113.510271317096 + 457849.598216968 5439085.29573461 113.409336685468 + + + + + + + + + 457849.595800537 5439085.29596635 113.412392 + 457849.593723949 5439085.29470912 113.415447314532 + 457849.720418058 5439085.33705148 113.516394682904 + 457849.595800537 5439085.29596635 113.412392 + + + + + + + + + 457849.595800537 5439085.29596635 113.412392 + 457849.720418058 5439085.33705148 113.516394682904 + 457849.722351878 5439085.33850425 113.513333 + 457849.595800537 5439085.29596635 113.412392 + + + + + + + + + 457849.593723949 5439085.29470912 113.415447314532 + 457849.592303348 5439085.29215432 113.418037485122 + 457849.719263523 5439085.33437675 113.51899025234 + 457849.593723949 5439085.29470912 113.415447314532 + + + + + + + + + 457849.593723949 5439085.29470912 113.415447314532 + 457849.719263523 5439085.33437675 113.51899025234 + 457849.720418058 5439085.33705148 113.516394682904 + 457849.593723949 5439085.29470912 113.415447314532 + + + + + + + + + 457849.592303348 5439085.29215432 113.418037485122 + 457849.591755007 5439085.2886909 113.419768181779 + 457849.71906404 5439085.33088727 113.52072455639 + 457849.592303348 5439085.29215432 113.418037485122 + + + + + + + + + 457849.592303348 5439085.29215432 113.418037485122 + 457849.71906404 5439085.33088727 113.52072455639 + 457849.719263523 5439085.33437675 113.51899025234 + 457849.592303348 5439085.29215432 113.418037485122 + + + + + + + + + 457849.591755007 5439085.2886909 113.419768181779 + 457849.592162405 5439085.28484613 113.420375921626 + 457849.719849979 5439085.32711427 113.521333562985 + 457849.591755007 5439085.2886909 113.419768181779 + + + + + + + + + 457849.591755007 5439085.2886909 113.419768181779 + 457849.719849979 5439085.32711427 113.521333562985 + 457849.71906404 5439085.33088727 113.52072455639 + 457849.591755007 5439085.2886909 113.419768181779 + + + + + + + + + 457849.592162405 5439085.28484613 113.420375921626 + 457849.593463521 5439085.28120534 113.419768181779 + 457849.721501687 5439085.32363217 113.52072455639 + 457849.592162405 5439085.28484613 113.420375921626 + + + + + + + + + 457849.592162405 5439085.28484613 113.420375921626 + 457849.721501687 5439085.32363217 113.52072455639 + 457849.719849979 5439085.32711427 113.521333562985 + 457849.592162405 5439085.28484613 113.420375921626 + + + + + + + + + 457849.721501687 5439085.32363217 113.52072455639 + 457849.723767708 5439085.32097107 113.51899025234 + 457849.756580352 5439085.33156272 113.54427772679 + 457849.721501687 5439085.32363217 113.52072455639 + + + + + + + + + 457849.721501687 5439085.32363217 113.52072455639 + 457849.756580352 5439085.33156272 113.54427772679 + 457849.754053205 5439085.33399297 113.546009417222 + 457849.721501687 5439085.32363217 113.52072455639 + + + + + + + + + 457849.723767708 5439085.32097107 113.51899025234 + 457849.726303059 5439085.31953611 113.516394682904 + 457849.75925357 5439085.33038318 113.541686068909 + 457849.723767708 5439085.32097107 113.51899025234 + + + + + + + + + 457849.723767708 5439085.32097107 113.51899025234 + 457849.75925357 5439085.33038318 113.541686068909 + 457849.756580352 5439085.33156272 113.54427772679 + 457849.723767708 5439085.32097107 113.51899025234 + + + + + + + + + 457849.726303059 5439085.31953611 113.516394682904 + 457849.728721757 5439085.31954575 113.513333 + 457849.761665884 5439085.33063391 113.538629 + 457849.726303059 5439085.31953611 113.516394682904 + + + + + + + + + 457849.726303059 5439085.31953611 113.516394682904 + 457849.761665884 5439085.33063391 113.538629 + 457849.75925357 5439085.33038318 113.541686068909 + 457849.726303059 5439085.31953611 113.516394682904 + + + + + + + + + 457849.728721757 5439085.31954575 113.513333 + 457849.730655577 5439085.32099852 113.510271317096 + 457849.763450042 5439085.33227674 113.535571931091 + 457849.728721757 5439085.31954575 113.513333 + + + + + + + + + 457849.728721757 5439085.31954575 113.513333 + 457849.763450042 5439085.33227674 113.535571931091 + 457849.761665884 5439085.33063391 113.538629 + 457849.728721757 5439085.31954575 113.513333 + + + + + + + + + 457849.730655577 5439085.32099852 113.510271317096 + 457849.731810112 5439085.32367325 113.50767574766 + 457849.764334422 5439085.33506157 113.53298027321 + 457849.730655577 5439085.32099852 113.510271317096 + + + + + + + + + 457849.730655577 5439085.32099852 113.510271317096 + 457849.764334422 5439085.33506157 113.53298027321 + 457849.763450042 5439085.33227674 113.535571931091 + 457849.730655577 5439085.32099852 113.510271317096 + + + + + + + + + 457849.731810112 5439085.32367325 113.50767574766 + 457849.732009595 5439085.32716273 113.50594144361 + 457849.764184385 5439085.33856444 113.531248582778 + 457849.731810112 5439085.32367325 113.50767574766 + + + + + + + + + 457849.731810112 5439085.32367325 113.50767574766 + 457849.764184385 5439085.33856444 113.531248582778 + 457849.764334422 5439085.33506157 113.53298027321 + 457849.731810112 5439085.32367325 113.50767574766 + + + + + + + + + 457849.732009595 5439085.32716273 113.50594144361 + 457849.731223657 5439085.33093573 113.505332437015 + 457849.763022773 5439085.34225206 113.530640493964 + 457849.732009595 5439085.32716273 113.50594144361 + + + + + + + + + 457849.732009595 5439085.32716273 113.50594144361 + 457849.763022773 5439085.34225206 113.530640493964 + 457849.764184385 5439085.33856444 113.531248582778 + 457849.732009595 5439085.32716273 113.50594144361 + + + + + + + + + 457849.731223657 5439085.33093573 113.505332437015 + 457849.729571948 5439085.33441783 113.50594144361 + 457849.761026431 5439085.34556303 113.531248582778 + 457849.731223657 5439085.33093573 113.505332437015 + + + + + + + + + 457849.731223657 5439085.33093573 113.505332437015 + 457849.761026431 5439085.34556303 113.531248582778 + 457849.763022773 5439085.34225206 113.530640493964 + 457849.731223657 5439085.33093573 113.505332437015 + + + + + + + + + 457849.729571948 5439085.33441783 113.50594144361 + 457849.727305928 5439085.33707893 113.50767574766 + 457849.758499283 5439085.34799328 113.53298027321 + 457849.729571948 5439085.33441783 113.50594144361 + + + + + + + + + 457849.729571948 5439085.33441783 113.50594144361 + 457849.758499283 5439085.34799328 113.53298027321 + 457849.761026431 5439085.34556303 113.531248582778 + 457849.729571948 5439085.33441783 113.50594144361 + + + + + + + + + 457849.727305928 5439085.33707893 113.50767574766 + 457849.724770576 5439085.33851389 113.510271317096 + 457849.755826065 5439085.34917282 113.535571931091 + 457849.727305928 5439085.33707893 113.50767574766 + + + + + + + + + 457849.727305928 5439085.33707893 113.50767574766 + 457849.755826065 5439085.34917282 113.535571931091 + 457849.758499283 5439085.34799328 113.53298027321 + 457849.727305928 5439085.33707893 113.50767574766 + + + + + + + + + 457849.724770576 5439085.33851389 113.510271317096 + 457849.722351878 5439085.33850425 113.513333 + 457849.753413751 5439085.34892209 113.538629 + 457849.724770576 5439085.33851389 113.510271317096 + + + + + + + + + 457849.724770576 5439085.33851389 113.510271317096 + 457849.753413751 5439085.34892209 113.538629 + 457849.755826065 5439085.34917282 113.535571931091 + 457849.724770576 5439085.33851389 113.510271317096 + + + + + + + + + 457849.722351878 5439085.33850425 113.513333 + 457849.720418058 5439085.33705148 113.516394682904 + 457849.751629593 5439085.34727926 113.541686068909 + 457849.722351878 5439085.33850425 113.513333 + + + + + + + + + 457849.722351878 5439085.33850425 113.513333 + 457849.751629593 5439085.34727926 113.541686068909 + 457849.753413751 5439085.34892209 113.538629 + 457849.722351878 5439085.33850425 113.513333 + + + + + + + + + 457849.720418058 5439085.33705148 113.516394682904 + 457849.719263523 5439085.33437675 113.51899025234 + 457849.750745213 5439085.34449443 113.54427772679 + 457849.720418058 5439085.33705148 113.516394682904 + + + + + + + + + 457849.720418058 5439085.33705148 113.516394682904 + 457849.750745213 5439085.34449443 113.54427772679 + 457849.751629593 5439085.34727926 113.541686068909 + 457849.720418058 5439085.33705148 113.516394682904 + + + + + + + + + 457849.719263523 5439085.33437675 113.51899025234 + 457849.71906404 5439085.33088727 113.52072455639 + 457849.75089525 5439085.34099156 113.546009417222 + 457849.719263523 5439085.33437675 113.51899025234 + + + + + + + + + 457849.719263523 5439085.33437675 113.51899025234 + 457849.75089525 5439085.34099156 113.546009417222 + 457849.750745213 5439085.34449443 113.54427772679 + 457849.719263523 5439085.33437675 113.51899025234 + + + + + + + + + 457849.71906404 5439085.33088727 113.52072455639 + 457849.719849979 5439085.32711427 113.521333562985 + 457849.752056862 5439085.33730394 113.546617506036 + 457849.71906404 5439085.33088727 113.52072455639 + + + + + + + + + 457849.71906404 5439085.33088727 113.52072455639 + 457849.752056862 5439085.33730394 113.546617506036 + 457849.75089525 5439085.34099156 113.546009417222 + 457849.71906404 5439085.33088727 113.52072455639 + + + + + + + + + 457849.719849979 5439085.32711427 113.521333562985 + 457849.721501687 5439085.32363217 113.52072455639 + 457849.754053205 5439085.33399297 113.546009417222 + 457849.719849979 5439085.32711427 113.521333562985 + + + + + + + + + 457849.719849979 5439085.32711427 113.521333562985 + 457849.754053205 5439085.33399297 113.546009417222 + 457849.752056862 5439085.33730394 113.546617506036 + 457849.719849979 5439085.32711427 113.521333562985 + + + + + + + + + 457849.754053205 5439085.33399297 113.546009417222 + 457849.756580352 5439085.33156272 113.54427772679 + 457849.903953067 5439085.41567049 113.67035273161 + 457849.754053205 5439085.33399297 113.546009417222 + + + + + + + + + 457849.754053205 5439085.33399297 113.546009417222 + 457849.903953067 5439085.41567049 113.67035273161 + 457849.900994515 5439085.41755186 113.67208442352 + 457849.754053205 5439085.33399297 113.546009417222 + + + + + + + + + 457849.756580352 5439085.33156272 113.54427772679 + 457849.75925357 5439085.33038318 113.541686068909 + 457849.906806991 5439085.41504397 113.667761071518 + 457849.756580352 5439085.33156272 113.54427772679 + + + + + + + + + 457849.756580352 5439085.33156272 113.54427772679 + 457849.906806991 5439085.41504397 113.667761071518 + 457849.903953067 5439085.41567049 113.67035273161 + 457849.756580352 5439085.33156272 113.54427772679 + + + + + + + + + 457849.75925357 5439085.33038318 113.541686068909 + 457849.761665884 5439085.33063391 113.538629 + 457849.909121803 5439085.41576768 113.664704 + 457849.75925357 5439085.33038318 113.541686068909 + + + + + + + + + 457849.75925357 5439085.33038318 113.541686068909 + 457849.909121803 5439085.41576768 113.664704 + 457849.906806991 5439085.41504397 113.667761071518 + 457849.75925357 5439085.33038318 113.541686068909 + + + + + + + + + 457849.761665884 5439085.33063391 113.538629 + 457849.763450042 5439085.33227674 113.535571931091 + 457849.910545095 5439085.41773143 113.661646928482 + 457849.761665884 5439085.33063391 113.538629 + + + + + + + + + 457849.761665884 5439085.33063391 113.538629 + 457849.910545095 5439085.41773143 113.661646928482 + 457849.909121803 5439085.41576768 113.664704 + 457849.761665884 5439085.33063391 113.538629 + + + + + + + + + 457849.763450042 5439085.33227674 113.535571931091 + 457849.764334422 5439085.33506157 113.53298027321 + 457849.910860183 5439085.42063628 113.65905526839 + 457849.763450042 5439085.33227674 113.535571931091 + + + + + + + + + 457849.763450042 5439085.33227674 113.535571931091 + 457849.910860183 5439085.42063628 113.65905526839 + 457849.910545095 5439085.41773143 113.661646928482 + 457849.763450042 5439085.33227674 113.535571931091 + + + + + + + + + 457849.764334422 5439085.33506157 113.53298027321 + 457849.764184385 5439085.33856444 113.531248582778 + 457849.910019097 5439085.42403998 113.65732357648 + 457849.764334422 5439085.33506157 113.53298027321 + + + + + + + + + 457849.764334422 5439085.33506157 113.53298027321 + 457849.910019097 5439085.42403998 113.65732357648 + 457849.910860183 5439085.42063628 113.65905526839 + 457849.764334422 5439085.33506157 113.53298027321 + + + + + + + + + 457849.764184385 5439085.33856444 113.531248582778 + 457849.763022773 5439085.34225206 113.530640493964 + 457849.908149886 5439085.42742434 113.656715487147 + 457849.764184385 5439085.33856444 113.531248582778 + + + + + + + + + 457849.764184385 5439085.33856444 113.531248582778 + 457849.908149886 5439085.42742434 113.656715487147 + 457849.910019097 5439085.42403998 113.65732357648 + 457849.764184385 5439085.33856444 113.531248582778 + + + + + + + + + 457849.763022773 5439085.34225206 113.530640493964 + 457849.761026431 5439085.34556303 113.531248582778 + 457849.90553712 5439085.43027414 113.65732357648 + 457849.763022773 5439085.34225206 113.530640493964 + + + + + + + + + 457849.763022773 5439085.34225206 113.530640493964 + 457849.90553712 5439085.43027414 113.65732357648 + 457849.908149886 5439085.42742434 113.656715487147 + 457849.763022773 5439085.34225206 113.530640493964 + + + + + + + + + 457849.761026431 5439085.34556303 113.531248582778 + 457849.758499283 5439085.34799328 113.53298027321 + 457849.902578569 5439085.43215551 113.65905526839 + 457849.761026431 5439085.34556303 113.531248582778 + + + + + + + + + 457849.761026431 5439085.34556303 113.531248582778 + 457849.902578569 5439085.43215551 113.65905526839 + 457849.90553712 5439085.43027414 113.65732357648 + 457849.761026431 5439085.34556303 113.531248582778 + + + + + + + + + 457849.758499283 5439085.34799328 113.53298027321 + 457849.755826065 5439085.34917282 113.535571931091 + 457849.899724645 5439085.43278203 113.661646928482 + 457849.758499283 5439085.34799328 113.53298027321 + + + + + + + + + 457849.758499283 5439085.34799328 113.53298027321 + 457849.899724645 5439085.43278203 113.661646928482 + 457849.902578569 5439085.43215551 113.65905526839 + 457849.758499283 5439085.34799328 113.53298027321 + + + + + + + + + 457849.755826065 5439085.34917282 113.535571931091 + 457849.753413751 5439085.34892209 113.538629 + 457849.897409832 5439085.43205833 113.664704 + 457849.755826065 5439085.34917282 113.535571931091 + + + + + + + + + 457849.755826065 5439085.34917282 113.535571931091 + 457849.897409832 5439085.43205833 113.664704 + 457849.899724645 5439085.43278203 113.661646928482 + 457849.755826065 5439085.34917282 113.535571931091 + + + + + + + + + 457849.753413751 5439085.34892209 113.538629 + 457849.751629593 5439085.34727926 113.541686068909 + 457849.89598654 5439085.43009457 113.667761071518 + 457849.753413751 5439085.34892209 113.538629 + + + + + + + + + 457849.753413751 5439085.34892209 113.538629 + 457849.89598654 5439085.43009457 113.667761071518 + 457849.897409832 5439085.43205833 113.664704 + 457849.753413751 5439085.34892209 113.538629 + + + + + + + + + 457849.751629593 5439085.34727926 113.541686068909 + 457849.750745213 5439085.34449443 113.54427772679 + 457849.895671452 5439085.42718972 113.67035273161 + 457849.751629593 5439085.34727926 113.541686068909 + + + + + + + + + 457849.751629593 5439085.34727926 113.541686068909 + 457849.895671452 5439085.42718972 113.67035273161 + 457849.89598654 5439085.43009457 113.667761071518 + 457849.751629593 5439085.34727926 113.541686068909 + + + + + + + + + 457849.750745213 5439085.34449443 113.54427772679 + 457849.75089525 5439085.34099156 113.546009417222 + 457849.896512538 5439085.42378602 113.67208442352 + 457849.750745213 5439085.34449443 113.54427772679 + + + + + + + + + 457849.750745213 5439085.34449443 113.54427772679 + 457849.896512538 5439085.42378602 113.67208442352 + 457849.895671452 5439085.42718972 113.67035273161 + 457849.750745213 5439085.34449443 113.54427772679 + + + + + + + + + 457849.75089525 5439085.34099156 113.546009417222 + 457849.752056862 5439085.33730394 113.546617506036 + 457849.898381749 5439085.42040166 113.672692512853 + 457849.75089525 5439085.34099156 113.546009417222 + + + + + + + + + 457849.75089525 5439085.34099156 113.546009417222 + 457849.898381749 5439085.42040166 113.672692512853 + 457849.896512538 5439085.42378602 113.67208442352 + 457849.75089525 5439085.34099156 113.546009417222 + + + + + + + + + 457849.752056862 5439085.33730394 113.546617506036 + 457849.754053205 5439085.33399297 113.546009417222 + 457849.900994515 5439085.41755186 113.67208442352 + 457849.752056862 5439085.33730394 113.546617506036 + + + + + + + + + 457849.752056862 5439085.33730394 113.546617506036 + 457849.900994515 5439085.41755186 113.67208442352 + 457849.898381749 5439085.42040166 113.672692512853 + 457849.752056862 5439085.33730394 113.546617506036 + + + + + + + + + 457849.900994515 5439085.41755186 113.67208442352 + 457849.903953067 5439085.41567049 113.67035273161 + 457849.93007796 5439085.4381433 113.695657257262 + 457849.900994515 5439085.41755186 113.67208442352 + + + + + + + + + 457849.900994515 5439085.41755186 113.67208442352 + 457849.93007796 5439085.4381433 113.695657257262 + 457849.926956233 5439085.43971527 113.697391562822 + 457849.900994515 5439085.41755186 113.67208442352 + + + + + + + + + 457849.903953067 5439085.41567049 113.67035273161 + 457849.906806991 5439085.41504397 113.667761071518 + 457849.932971608 5439085.4378058 113.693061685568 + 457849.903953067 5439085.41567049 113.67035273161 + + + + + + + + + 457849.903953067 5439085.41567049 113.67035273161 + 457849.932971608 5439085.4378058 113.693061685568 + 457849.93007796 5439085.4381433 113.695657257262 + 457849.903953067 5439085.41567049 113.67035273161 + + + + + + + + + 457849.906806991 5439085.41504397 113.667761071518 + 457849.909121803 5439085.41576768 113.664704 + 457849.935196645 5439085.43875416 113.69 + 457849.906806991 5439085.41504397 113.667761071518 + + + + + + + + + 457849.906806991 5439085.41504397 113.667761071518 + 457849.935196645 5439085.43875416 113.69 + 457849.932971608 5439085.4378058 113.693061685568 + 457849.906806991 5439085.41504397 113.667761071518 + + + + + + + + + 457849.909121803 5439085.41576768 113.664704 + 457849.910545095 5439085.41773143 113.661646928482 + 457849.936414331 5439085.440844 113.686938314432 + 457849.909121803 5439085.41576768 113.664704 + + + + + + + + + 457849.909121803 5439085.41576768 113.664704 + 457849.936414331 5439085.440844 113.686938314432 + 457849.935196645 5439085.43875416 113.69 + 457849.909121803 5439085.41576768 113.664704 + + + + + + + + + 457849.910545095 5439085.41773143 113.661646928482 + 457849.910860183 5439085.42063628 113.65905526839 + 457849.936439283 5439085.44375715 113.684342742738 + 457849.910545095 5439085.41773143 113.661646928482 + + + + + + + + + 457849.910545095 5439085.41773143 113.661646928482 + 457849.936439283 5439085.44375715 113.684342742738 + 457849.936414331 5439085.440844 113.686938314432 + 457849.910545095 5439085.41773143 113.661646928482 + + + + + + + + + 457849.910860183 5439085.42063628 113.65905526839 + 457849.910019097 5439085.42403998 113.65732357648 + 457849.935267702 5439085.44705013 113.682608437178 + 457849.910860183 5439085.42063628 113.65905526839 + + + + + + + + + 457849.910860183 5439085.42063628 113.65905526839 + 457849.935267702 5439085.44705013 113.682608437178 + 457849.936439283 5439085.44375715 113.684342742738 + 457849.910860183 5439085.42063628 113.65905526839 + + + + + + + + + 457849.910019097 5439085.42403998 113.65732357648 + 457849.908149886 5439085.42742434 113.656715487147 + 457849.933077952 5439085.45022159 113.681999430054 + 457849.910019097 5439085.42403998 113.65732357648 + + + + + + + + + 457849.910019097 5439085.42403998 113.65732357648 + 457849.933077952 5439085.45022159 113.681999430054 + 457849.935267702 5439085.44705013 113.682608437178 + 457849.910019097 5439085.42403998 113.65732357648 + + + + + + + + + 457849.908149886 5439085.42742434 113.656715487147 + 457849.90553712 5439085.43027414 113.65732357648 + 457849.930203402 5439085.45278873 113.682608437178 + 457849.908149886 5439085.42742434 113.656715487147 + + + + + + + + + 457849.908149886 5439085.42742434 113.656715487147 + 457849.930203402 5439085.45278873 113.682608437178 + 457849.933077952 5439085.45022159 113.681999430054 + 457849.908149886 5439085.42742434 113.656715487147 + + + + + + + + + 457849.90553712 5439085.43027414 113.65732357648 + 457849.902578569 5439085.43215551 113.65905526839 + 457849.927081676 5439085.4543607 113.684342742738 + 457849.90553712 5439085.43027414 113.65732357648 + + + + + + + + + 457849.90553712 5439085.43027414 113.65732357648 + 457849.927081676 5439085.4543607 113.684342742738 + 457849.930203402 5439085.45278873 113.682608437178 + 457849.90553712 5439085.43027414 113.65732357648 + + + + + + + + + 457849.902578569 5439085.43215551 113.65905526839 + 457849.899724645 5439085.43278203 113.661646928482 + 457849.924188028 5439085.4546982 113.686938314432 + 457849.902578569 5439085.43215551 113.65905526839 + + + + + + + + + 457849.902578569 5439085.43215551 113.65905526839 + 457849.924188028 5439085.4546982 113.686938314432 + 457849.927081676 5439085.4543607 113.684342742738 + 457849.902578569 5439085.43215551 113.65905526839 + + + + + + + + + 457849.899724645 5439085.43278203 113.661646928482 + 457849.897409832 5439085.43205833 113.664704 + 457849.92196299 5439085.45374984 113.69 + 457849.899724645 5439085.43278203 113.661646928482 + + + + + + + + + 457849.899724645 5439085.43278203 113.661646928482 + 457849.92196299 5439085.45374984 113.69 + 457849.924188028 5439085.4546982 113.686938314432 + 457849.899724645 5439085.43278203 113.661646928482 + + + + + + + + + 457849.897409832 5439085.43205833 113.664704 + 457849.89598654 5439085.43009457 113.667761071518 + 457849.920745304 5439085.45166 113.693061685568 + 457849.897409832 5439085.43205833 113.664704 + + + + + + + + + 457849.897409832 5439085.43205833 113.664704 + 457849.920745304 5439085.45166 113.693061685568 + 457849.92196299 5439085.45374984 113.69 + 457849.897409832 5439085.43205833 113.664704 + + + + + + + + + 457849.89598654 5439085.43009457 113.667761071518 + 457849.895671452 5439085.42718972 113.67035273161 + 457849.920720353 5439085.44874685 113.695657257262 + 457849.89598654 5439085.43009457 113.667761071518 + + + + + + + + + 457849.89598654 5439085.43009457 113.667761071518 + 457849.920720353 5439085.44874685 113.695657257262 + 457849.920745304 5439085.45166 113.693061685568 + 457849.89598654 5439085.43009457 113.667761071518 + + + + + + + + + 457849.895671452 5439085.42718972 113.67035273161 + 457849.896512538 5439085.42378602 113.67208442352 + 457849.921891933 5439085.44545387 113.697391562822 + 457849.895671452 5439085.42718972 113.67035273161 + + + + + + + + + 457849.895671452 5439085.42718972 113.67035273161 + 457849.921891933 5439085.44545387 113.697391562822 + 457849.920720353 5439085.44874685 113.695657257262 + 457849.895671452 5439085.42718972 113.67035273161 + + + + + + + + + 457849.896512538 5439085.42378602 113.67208442352 + 457849.898381749 5439085.42040166 113.672692512853 + 457849.924081683 5439085.44228241 113.698000569946 + 457849.896512538 5439085.42378602 113.67208442352 + + + + + + + + + 457849.896512538 5439085.42378602 113.67208442352 + 457849.924081683 5439085.44228241 113.698000569946 + 457849.921891933 5439085.44545387 113.697391562822 + 457849.896512538 5439085.42378602 113.67208442352 + + + + + + + + + 457849.898381749 5439085.42040166 113.672692512853 + 457849.900994515 5439085.41755186 113.67208442352 + 457849.926956233 5439085.43971527 113.697391562822 + 457849.898381749 5439085.42040166 113.672692512853 + + + + + + + + + 457849.898381749 5439085.42040166 113.672692512853 + 457849.926956233 5439085.43971527 113.697391562822 + 457849.924081683 5439085.44228241 113.698000569946 + 457849.898381749 5439085.42040166 113.672692512853 + + + + + + + + + 457849.926956233 5439085.43971527 113.697391562822 + 457849.93007796 5439085.4381433 113.695657257262 + 457850.031734792 5439085.52730897 113.796586473759 + 457849.926956233 5439085.43971527 113.697391562822 + + + + + + + + + 457849.926956233 5439085.43971527 113.697391562822 + 457850.031734792 5439085.52730897 113.796586473759 + 457850.028461208 5439085.52856579 113.798317166932 + 457849.926956233 5439085.43971527 113.697391562822 + + + + + + + + + 457849.93007796 5439085.4381433 113.695657257262 + 457849.932971608 5439085.4378058 113.693061685568 + 457850.034657617 5439085.52726185 113.793996308382 + 457849.93007796 5439085.4381433 113.695657257262 + + + + + + + + + 457849.93007796 5439085.4381433 113.695657257262 + 457850.034657617 5439085.52726185 113.793996308382 + 457850.031734792 5439085.52730897 113.796586473759 + 457849.93007796 5439085.4381433 113.695657257262 + + + + + + + + + 457849.932971608 5439085.4378058 113.693061685568 + 457849.935196645 5439085.43875416 113.69 + 457850.036784709 5439085.52843162 113.790941 + 457849.932971608 5439085.4378058 113.693061685568 + + + + + + + + + 457849.932971608 5439085.4378058 113.693061685568 + 457850.036784709 5439085.52843162 113.790941 + 457850.034657617 5439085.52726185 113.793996308382 + 457849.932971608 5439085.4378058 113.693061685568 + + + + + + + + + 457849.935196645 5439085.43875416 113.69 + 457849.936414331 5439085.440844 113.686938314432 + 457850.037792238 5439085.53064019 113.787885691618 + 457849.935196645 5439085.43875416 113.69 + + + + + + + + + 457849.935196645 5439085.43875416 113.69 + 457850.037792238 5439085.53064019 113.787885691618 + 457850.036784709 5439085.52843162 113.790941 + 457849.935196645 5439085.43875416 113.69 + + + + + + + + + 457849.936414331 5439085.440844 113.686938314432 + 457849.936439283 5439085.44375715 113.684342742738 + 457850.037526816 5439085.53355132 113.785295526241 + 457849.936414331 5439085.440844 113.686938314432 + + + + + + + + + 457849.936414331 5439085.440844 113.686938314432 + 457850.037526816 5439085.53355132 113.785295526241 + 457850.037792238 5439085.53064019 113.787885691618 + 457849.936414331 5439085.440844 113.686938314432 + + + + + + + + + 457849.936439283 5439085.44375715 113.684342742738 + 457849.935267702 5439085.44705013 113.682608437178 + 457850.036028852 5439085.53672182 113.783564833068 + 457849.936439283 5439085.44375715 113.684342742738 + + + + + + + + + 457849.936439283 5439085.44375715 113.684342742738 + 457850.036028852 5439085.53672182 113.783564833068 + 457850.037526816 5439085.53355132 113.785295526241 + 457849.936439283 5439085.44375715 113.684342742738 + + + + + + + + + 457849.935267702 5439085.44705013 113.682608437178 + 457849.933077952 5439085.45022159 113.681999430054 + 457850.033526397 5439085.53966901 113.782957094444 + 457849.935267702 5439085.44705013 113.682608437178 + + + + + + + + + 457849.935267702 5439085.44705013 113.682608437178 + 457850.033526397 5439085.53966901 113.782957094444 + 457850.036028852 5439085.53672182 113.783564833068 + 457849.935267702 5439085.44705013 113.682608437178 + + + + + + + + + 457849.933077952 5439085.45022159 113.681999430054 + 457849.930203402 5439085.45278873 113.682608437178 + 457850.030400428 5439085.54194421 113.783564833068 + 457849.933077952 5439085.45022159 113.681999430054 + + + + + + + + + 457849.933077952 5439085.45022159 113.681999430054 + 457850.030400428 5439085.54194421 113.783564833068 + 457850.033526397 5439085.53966901 113.782957094444 + 457849.933077952 5439085.45022159 113.681999430054 + + + + + + + + + 457849.930203402 5439085.45278873 113.682608437178 + 457849.927081676 5439085.4543607 113.684342742738 + 457850.027126843 5439085.54320103 113.785295526241 + 457849.930203402 5439085.45278873 113.682608437178 + + + + + + + + + 457849.930203402 5439085.45278873 113.682608437178 + 457850.027126843 5439085.54320103 113.785295526241 + 457850.030400428 5439085.54194421 113.783564833068 + 457849.930203402 5439085.45278873 113.682608437178 + + + + + + + + + 457849.927081676 5439085.4543607 113.684342742738 + 457849.924188028 5439085.4546982 113.686938314432 + 457850.024204018 5439085.54324815 113.787885691618 + 457849.927081676 5439085.4543607 113.684342742738 + + + + + + + + + 457849.927081676 5439085.4543607 113.684342742738 + 457850.024204018 5439085.54324815 113.787885691618 + 457850.027126843 5439085.54320103 113.785295526241 + 457849.927081676 5439085.4543607 113.684342742738 + + + + + + + + + 457849.924188028 5439085.4546982 113.686938314432 + 457849.92196299 5439085.45374984 113.69 + 457850.022076926 5439085.54207838 113.790941 + 457849.924188028 5439085.4546982 113.686938314432 + + + + + + + + + 457849.924188028 5439085.4546982 113.686938314432 + 457850.022076926 5439085.54207838 113.790941 + 457850.024204018 5439085.54324815 113.787885691618 + 457849.924188028 5439085.4546982 113.686938314432 + + + + + + + + + 457849.92196299 5439085.45374984 113.69 + 457849.920745304 5439085.45166 113.693061685568 + 457850.021069397 5439085.53986981 113.793996308382 + 457849.92196299 5439085.45374984 113.69 + + + + + + + + + 457849.92196299 5439085.45374984 113.69 + 457850.021069397 5439085.53986981 113.793996308382 + 457850.022076926 5439085.54207838 113.790941 + 457849.92196299 5439085.45374984 113.69 + + + + + + + + + 457849.920745304 5439085.45166 113.693061685568 + 457849.920720353 5439085.44874685 113.695657257262 + 457850.021334819 5439085.53695868 113.796586473759 + 457849.920745304 5439085.45166 113.693061685568 + + + + + + + + + 457849.920745304 5439085.45166 113.693061685568 + 457850.021334819 5439085.53695868 113.796586473759 + 457850.021069397 5439085.53986981 113.793996308382 + 457849.920745304 5439085.45166 113.693061685568 + + + + + + + + + 457849.920720353 5439085.44874685 113.695657257262 + 457849.921891933 5439085.44545387 113.697391562822 + 457850.022832783 5439085.53378818 113.798317166932 + 457849.920720353 5439085.44874685 113.695657257262 + + + + + + + + + 457849.920720353 5439085.44874685 113.695657257262 + 457850.022832783 5439085.53378818 113.798317166932 + 457850.021334819 5439085.53695868 113.796586473759 + 457849.920720353 5439085.44874685 113.695657257262 + + + + + + + + + 457849.921891933 5439085.44545387 113.697391562822 + 457849.924081683 5439085.44228241 113.698000569946 + 457850.025335238 5439085.53084099 113.798924905556 + 457849.921891933 5439085.44545387 113.697391562822 + + + + + + + + + 457849.921891933 5439085.44545387 113.697391562822 + 457850.025335238 5439085.53084099 113.798924905556 + 457850.022832783 5439085.53378818 113.798317166932 + 457849.921891933 5439085.44545387 113.697391562822 + + + + + + + + + 457849.924081683 5439085.44228241 113.698000569946 + 457849.926956233 5439085.43971527 113.697391562822 + 457850.028461208 5439085.52856579 113.798317166932 + 457849.924081683 5439085.44228241 113.698000569946 + + + + + + + + + 457849.924081683 5439085.44228241 113.698000569946 + 457850.028461208 5439085.52856579 113.798317166932 + 457850.025335238 5439085.53084099 113.798924905556 + 457849.924081683 5439085.44228241 113.698000569946 + + + + + + + + + 457850.028461208 5439085.52856579 113.798317166932 + 457850.031734792 5439085.52730897 113.796586473759 + 457850.09343444 5439085.60804021 113.87232357351 + 457850.028461208 5439085.52856579 113.798317166932 + + + + + + + + + 457850.028461208 5439085.52856579 113.798317166932 + 457850.09343444 5439085.60804021 113.87232357351 + 457850.090062957 5439085.60896222 113.874057669456 + 457850.028461208 5439085.52856579 113.798317166932 + + + + + + + + + 457850.031734792 5439085.52730897 113.796586473759 + 457850.034657617 5439085.52726185 113.793996308382 + 457850.09633784 5439085.60828311 113.869728315524 + 457850.031734792 5439085.52730897 113.796586473759 + + + + + + + + + 457850.031734792 5439085.52730897 113.796586473759 + 457850.09633784 5439085.60828311 113.869728315524 + 457850.09343444 5439085.60804021 113.87232357351 + 457850.031734792 5439085.52730897 113.796586473759 + + + + + + + + + 457850.034657617 5439085.52726185 113.793996308382 + 457850.036784709 5439085.52843162 113.790941 + 457850.09833114 5439085.60965395 113.866667 + 457850.034657617 5439085.52726185 113.793996308382 + + + + + + + + + 457850.034657617 5439085.52726185 113.793996308382 + 457850.09833114 5439085.60965395 113.866667 + 457850.09633784 5439085.60828311 113.869728315524 + 457850.034657617 5439085.52726185 113.793996308382 + + + + + + + + + 457850.036784709 5439085.52843162 113.790941 + 457850.037792238 5439085.53064019 113.787885691618 + 457850.099110878 5439085.61194403 113.863605684476 + 457850.036784709 5439085.52843162 113.790941 + + + + + + + + + 457850.036784709 5439085.52843162 113.790941 + 457850.099110878 5439085.61194403 113.863605684476 + 457850.09833114 5439085.60965395 113.866667 + 457850.036784709 5439085.52843162 113.790941 + + + + + + + + + 457850.037792238 5439085.53064019 113.787885691618 + 457850.037526816 5439085.53355132 113.785295526241 + 457850.098558347 5439085.6148047 113.86101042649 + 457850.037792238 5439085.53064019 113.787885691618 + + + + + + + + + 457850.037792238 5439085.53064019 113.787885691618 + 457850.098558347 5439085.6148047 113.86101042649 + 457850.099110878 5439085.61194403 113.863605684476 + 457850.037792238 5439085.53064019 113.787885691618 + + + + + + + + + 457850.037526816 5439085.53355132 113.785295526241 + 457850.036028852 5439085.53672182 113.783564833068 + 457850.096757664 5439085.61780045 113.859276330544 + 457850.037526816 5439085.53355132 113.785295526241 + + + + + + + + + 457850.037526816 5439085.53355132 113.785295526241 + 457850.096757664 5439085.61780045 113.859276330544 + 457850.098558347 5439085.6148047 113.86101042649 + 457850.037526816 5439085.53355132 113.785295526241 + + + + + + + + + 457850.036028852 5439085.53672182 113.783564833068 + 457850.033526397 5439085.53966901 113.782957094444 + 457850.093982966 5439085.62047522 113.858667397026 + 457850.036028852 5439085.53672182 113.783564833068 + + + + + + + + + 457850.036028852 5439085.53672182 113.783564833068 + 457850.093982966 5439085.62047522 113.858667397026 + 457850.096757664 5439085.61780045 113.859276330544 + 457850.036028852 5439085.53672182 113.783564833068 + + + + + + + + + 457850.033526397 5439085.53966901 113.782957094444 + 457850.030400428 5439085.54194421 113.783564833068 + 457850.090656678 5439085.62242178 113.859276330544 + 457850.033526397 5439085.53966901 113.782957094444 + + + + + + + + + 457850.033526397 5439085.53966901 113.782957094444 + 457850.090656678 5439085.62242178 113.859276330544 + 457850.093982966 5439085.62047522 113.858667397026 + 457850.033526397 5439085.53966901 113.782957094444 + + + + + + + + + 457850.030400428 5439085.54194421 113.783564833068 + 457850.027126843 5439085.54320103 113.785295526241 + 457850.087285195 5439085.62334379 113.86101042649 + 457850.030400428 5439085.54194421 113.783564833068 + + + + + + + + + 457850.030400428 5439085.54194421 113.783564833068 + 457850.087285195 5439085.62334379 113.86101042649 + 457850.090656678 5439085.62242178 113.859276330544 + 457850.030400428 5439085.54194421 113.783564833068 + + + + + + + + + 457850.027126843 5439085.54320103 113.785295526241 + 457850.024204018 5439085.54324815 113.787885691618 + 457850.084381795 5439085.62310089 113.863605684476 + 457850.027126843 5439085.54320103 113.785295526241 + + + + + + + + + 457850.027126843 5439085.54320103 113.785295526241 + 457850.084381795 5439085.62310089 113.863605684476 + 457850.087285195 5439085.62334379 113.86101042649 + 457850.027126843 5439085.54320103 113.785295526241 + + + + + + + + + 457850.024204018 5439085.54324815 113.787885691618 + 457850.022076926 5439085.54207838 113.790941 + 457850.082388496 5439085.62173005 113.866667 + 457850.024204018 5439085.54324815 113.787885691618 + + + + + + + + + 457850.024204018 5439085.54324815 113.787885691618 + 457850.082388496 5439085.62173005 113.866667 + 457850.084381795 5439085.62310089 113.863605684476 + 457850.024204018 5439085.54324815 113.787885691618 + + + + + + + + + 457850.022076926 5439085.54207838 113.790941 + 457850.021069397 5439085.53986981 113.793996308382 + 457850.081608757 5439085.61943997 113.869728315524 + 457850.022076926 5439085.54207838 113.790941 + + + + + + + + + 457850.022076926 5439085.54207838 113.790941 + 457850.081608757 5439085.61943997 113.869728315524 + 457850.082388496 5439085.62173005 113.866667 + 457850.022076926 5439085.54207838 113.790941 + + + + + + + + + 457850.021069397 5439085.53986981 113.793996308382 + 457850.021334819 5439085.53695868 113.796586473759 + 457850.082161289 5439085.6165793 113.87232357351 + 457850.021069397 5439085.53986981 113.793996308382 + + + + + + + + + 457850.021069397 5439085.53986981 113.793996308382 + 457850.082161289 5439085.6165793 113.87232357351 + 457850.081608757 5439085.61943997 113.869728315524 + 457850.021069397 5439085.53986981 113.793996308382 + + + + + + + + + 457850.021334819 5439085.53695868 113.796586473759 + 457850.022832783 5439085.53378818 113.798317166932 + 457850.083961972 5439085.61358355 113.874057669456 + 457850.021334819 5439085.53695868 113.796586473759 + + + + + + + + + 457850.021334819 5439085.53695868 113.796586473759 + 457850.083961972 5439085.61358355 113.874057669456 + 457850.082161289 5439085.6165793 113.87232357351 + 457850.021334819 5439085.53695868 113.796586473759 + + + + + + + + + 457850.022832783 5439085.53378818 113.798317166932 + 457850.025335238 5439085.53084099 113.798924905556 + 457850.086736669 5439085.61090878 113.874666602974 + 457850.022832783 5439085.53378818 113.798317166932 + + + + + + + + + 457850.022832783 5439085.53378818 113.798317166932 + 457850.086736669 5439085.61090878 113.874666602974 + 457850.083961972 5439085.61358355 113.874057669456 + 457850.022832783 5439085.53378818 113.798317166932 + + + + + + + + + 457850.025335238 5439085.53084099 113.798924905556 + 457850.028461208 5439085.52856579 113.798317166932 + 457850.090062957 5439085.60896222 113.874057669456 + 457850.025335238 5439085.53084099 113.798924905556 + + + + + + + + + 457850.025335238 5439085.53084099 113.798924905556 + 457850.090062957 5439085.60896222 113.874057669456 + 457850.086736669 5439085.61090878 113.874666602974 + 457850.025335238 5439085.53084099 113.798924905556 + + + + + + + + + 457850.090062957 5439085.60896222 113.874057669456 + 457850.09343444 5439085.60804021 113.87232357351 + 457850.134866876 5439085.66205814 113.922819348147 + 457850.090062957 5439085.60896222 113.874057669456 + + + + + + + + + 457850.090062957 5439085.60896222 113.874057669456 + 457850.134866876 5439085.66205814 113.922819348147 + 457850.131409556 5439085.66264207 113.924550615939 + 457850.090062957 5439085.60896222 113.874057669456 + + + + + + + + + 457850.09343444 5439085.60804021 113.87232357351 + 457850.09633784 5439085.60828311 113.869728315524 + 457850.137740495 5439085.66259013 113.920228322793 + 457850.09343444 5439085.60804021 113.87232357351 + + + + + + + + + 457850.09343444 5439085.60804021 113.87232357351 + 457850.137740495 5439085.66259013 113.920228322793 + 457850.134866876 5439085.66205814 113.922819348147 + 457850.09343444 5439085.60804021 113.87232357351 + + + + + + + + + 457850.09633784 5439085.60828311 113.869728315524 + 457850.09833114 5439085.60965395 113.866667 + 457850.139592931 5439085.66415702 113.917172 + 457850.09633784 5439085.60828311 113.869728315524 + + + + + + + + + 457850.09633784 5439085.60828311 113.869728315524 + 457850.139592931 5439085.66415702 113.917172 + 457850.137740495 5439085.66259013 113.920228322793 + 457850.09633784 5439085.60828311 113.869728315524 + + + + + + + + + 457850.09833114 5439085.60965395 113.866667 + 457850.099110878 5439085.61194403 113.863605684476 + 457850.140142167 5439085.66652029 113.914115677207 + 457850.09833114 5439085.60965395 113.866667 + + + + + + + + + 457850.09833114 5439085.60965395 113.866667 + 457850.140142167 5439085.66652029 113.914115677207 + 457850.139592931 5439085.66415702 113.917172 + 457850.09833114 5439085.60965395 113.866667 + + + + + + + + + 457850.099110878 5439085.61194403 113.863605684476 + 457850.098558347 5439085.6148047 113.86101042649 + 457850.139304588 5439085.66932014 113.911524651853 + 457850.099110878 5439085.61194403 113.863605684476 + + + + + + + + + 457850.099110878 5439085.61194403 113.863605684476 + 457850.139304588 5439085.66932014 113.911524651853 + 457850.140142167 5439085.66652029 113.914115677207 + 457850.099110878 5439085.61194403 113.863605684476 + + + + + + + + + 457850.098558347 5439085.6148047 113.86101042649 + 457850.096757664 5439085.61780045 113.859276330544 + 457850.137207706 5439085.67213032 113.909793384061 + 457850.098558347 5439085.6148047 113.86101042649 + + + + + + + + + 457850.098558347 5439085.6148047 113.86101042649 + 457850.137207706 5439085.67213032 113.909793384061 + 457850.139304588 5439085.66932014 113.911524651853 + 457850.098558347 5439085.6148047 113.86101042649 + + + + + + + + + 457850.096757664 5439085.61780045 113.859276330544 + 457850.093982966 5439085.62047522 113.858667397026 + 457850.134170754 5439085.674523 113.909185443659 + 457850.096757664 5439085.61780045 113.859276330544 + + + + + + + + + 457850.096757664 5439085.61780045 113.859276330544 + 457850.134170754 5439085.674523 113.909185443659 + 457850.137207706 5439085.67213032 113.909793384061 + 457850.096757664 5439085.61780045 113.859276330544 + + + + + + + + + 457850.093982966 5439085.62047522 113.858667397026 + 457850.090656678 5439085.62242178 113.859276330544 + 457850.130656079 5439085.67613393 113.909793384061 + 457850.093982966 5439085.62047522 113.858667397026 + + + + + + + + + 457850.093982966 5439085.62047522 113.858667397026 + 457850.130656079 5439085.67613393 113.909793384061 + 457850.134170754 5439085.674523 113.909185443659 + 457850.093982966 5439085.62047522 113.858667397026 + + + + + + + + + 457850.090656678 5439085.62242178 113.859276330544 + 457850.087285195 5439085.62334379 113.86101042649 + 457850.127198759 5439085.67671786 113.911524651853 + 457850.090656678 5439085.62242178 113.859276330544 + + + + + + + + + 457850.090656678 5439085.62242178 113.859276330544 + 457850.127198759 5439085.67671786 113.911524651853 + 457850.130656079 5439085.67613393 113.909793384061 + 457850.090656678 5439085.62242178 113.859276330544 + + + + + + + + + 457850.087285195 5439085.62334379 113.86101042649 + 457850.084381795 5439085.62310089 113.863605684476 + 457850.12432514 5439085.67618587 113.914115677207 + 457850.087285195 5439085.62334379 113.86101042649 + + + + + + + + + 457850.087285195 5439085.62334379 113.86101042649 + 457850.12432514 5439085.67618587 113.914115677207 + 457850.127198759 5439085.67671786 113.911524651853 + 457850.087285195 5439085.62334379 113.86101042649 + + + + + + + + + 457850.084381795 5439085.62310089 113.863605684476 + 457850.082388496 5439085.62173005 113.866667 + 457850.122472704 5439085.67461898 113.917172 + 457850.084381795 5439085.62310089 113.863605684476 + + + + + + + + + 457850.084381795 5439085.62310089 113.863605684476 + 457850.122472704 5439085.67461898 113.917172 + 457850.12432514 5439085.67618587 113.914115677207 + 457850.084381795 5439085.62310089 113.863605684476 + + + + + + + + + 457850.082388496 5439085.62173005 113.866667 + 457850.081608757 5439085.61943997 113.869728315524 + 457850.121923468 5439085.67225571 113.920228322793 + 457850.082388496 5439085.62173005 113.866667 + + + + + + + + + 457850.082388496 5439085.62173005 113.866667 + 457850.121923468 5439085.67225571 113.920228322793 + 457850.122472704 5439085.67461898 113.917172 + 457850.082388496 5439085.62173005 113.866667 + + + + + + + + + 457850.081608757 5439085.61943997 113.869728315524 + 457850.082161289 5439085.6165793 113.87232357351 + 457850.122761047 5439085.66945586 113.922819348147 + 457850.081608757 5439085.61943997 113.869728315524 + + + + + + + + + 457850.081608757 5439085.61943997 113.869728315524 + 457850.122761047 5439085.66945586 113.922819348147 + 457850.121923468 5439085.67225571 113.920228322793 + 457850.081608757 5439085.61943997 113.869728315524 + + + + + + + + + 457850.082161289 5439085.6165793 113.87232357351 + 457850.083961972 5439085.61358355 113.874057669456 + 457850.124857929 5439085.66664568 113.924550615939 + 457850.082161289 5439085.6165793 113.87232357351 + + + + + + + + + 457850.082161289 5439085.6165793 113.87232357351 + 457850.124857929 5439085.66664568 113.924550615939 + 457850.122761047 5439085.66945586 113.922819348147 + 457850.082161289 5439085.6165793 113.87232357351 + + + + + + + + + 457850.083961972 5439085.61358355 113.874057669456 + 457850.086736669 5439085.61090878 113.874666602974 + 457850.127894881 5439085.664253 113.925158556341 + 457850.083961972 5439085.61358355 113.874057669456 + + + + + + + + + 457850.083961972 5439085.61358355 113.874057669456 + 457850.127894881 5439085.664253 113.925158556341 + 457850.124857929 5439085.66664568 113.924550615939 + 457850.083961972 5439085.61358355 113.874057669456 + + + + + + + + + 457850.086736669 5439085.61090878 113.874666602974 + 457850.090062957 5439085.60896222 113.874057669456 + 457850.131409556 5439085.66264207 113.924550615939 + 457850.086736669 5439085.61090878 113.874666602974 + + + + + + + + + 457850.086736669 5439085.61090878 113.874666602974 + 457850.131409556 5439085.66264207 113.924550615939 + 457850.127894881 5439085.664253 113.925158556341 + 457850.086736669 5439085.61090878 113.874666602974 + + + + + + + + + 457850.131409556 5439085.66264207 113.924550615939 + 457850.134866876 5439085.66205814 113.922819348147 + 457850.209253245 5439085.81456918 114.048980345931 + 457850.131409556 5439085.66264207 113.924550615939 + + + + + + + + + 457850.131409556 5439085.66264207 113.924550615939 + 457850.209253245 5439085.81456918 114.048980345931 + 457850.205748772 5439085.81445647 114.050711613044 + 457850.131409556 5439085.66264207 113.924550615939 + + + + + + + + + 457850.134866876 5439085.66205814 113.922819348147 + 457850.137740495 5439085.66259013 113.920228322793 + 457850.211964477 5439085.81566001 114.046389321594 + 457850.134866876 5439085.66205814 113.922819348147 + + + + + + + + + 457850.134866876 5439085.66205814 113.922819348147 + 457850.211964477 5439085.81566001 114.046389321594 + 457850.209253245 5439085.81456918 114.048980345931 + 457850.134866876 5439085.66205814 113.922819348147 + + + + + + + + + 457850.137740495 5439085.66259013 113.920228322793 + 457850.139592931 5439085.66415702 113.917172 + 457850.213469709 5439085.8175629 114.043333 + 457850.137740495 5439085.66259013 113.920228322793 + + + + + + + + + 457850.137740495 5439085.66259013 113.920228322793 + 457850.213469709 5439085.8175629 114.043333 + 457850.211964477 5439085.81566001 114.046389321594 + 457850.137740495 5439085.66259013 113.920228322793 + + + + + + + + + 457850.139592931 5439085.66415702 113.917172 + 457850.140142167 5439085.66652029 113.914115677207 + 457850.213539782 5439085.81998814 114.040276678406 + 457850.139592931 5439085.66415702 113.917172 + + + + + + + + + 457850.139592931 5439085.66415702 113.917172 + 457850.213539782 5439085.81998814 114.040276678406 + 457850.213469709 5439085.8175629 114.043333 + 457850.139592931 5439085.66415702 113.917172 + + + + + + + + + 457850.140142167 5439085.66652029 113.914115677207 + 457850.139304588 5439085.66932014 113.911524651853 + 457850.212164028 5439085.82256651 114.037685654069 + 457850.140142167 5439085.66652029 113.914115677207 + + + + + + + + + 457850.140142167 5439085.66652029 113.914115677207 + 457850.212164028 5439085.82256651 114.037685654069 + 457850.213539782 5439085.81998814 114.040276678406 + 457850.140142167 5439085.66652029 113.914115677207 + + + + + + + + + 457850.139304588 5439085.66932014 113.911524651853 + 457850.137207706 5439085.67213032 113.909793384061 + 457850.209551893 5439085.82490548 114.035954386956 + 457850.139304588 5439085.66932014 113.911524651853 + + + + + + + + + 457850.139304588 5439085.66932014 113.911524651853 + 457850.209551893 5439085.82490548 114.035954386956 + 457850.212164028 5439085.82256651 114.037685654069 + 457850.139304588 5439085.66932014 113.911524651853 + + + + + + + + + 457850.137207706 5439085.67213032 113.909793384061 + 457850.134170754 5439085.674523 113.909185443659 + 457850.206101052 5439085.82664897 114.035346446792 + 457850.137207706 5439085.67213032 113.909793384061 + + + + + + + + + 457850.137207706 5439085.67213032 113.909793384061 + 457850.206101052 5439085.82664897 114.035346446792 + 457850.209551893 5439085.82490548 114.035954386956 + 457850.137207706 5439085.67213032 113.909793384061 + + + + + + + + + 457850.134170754 5439085.674523 113.909185443659 + 457850.130656079 5439085.67613393 113.909793384061 + 457850.202336864 5439085.82753153 114.035954386956 + 457850.134170754 5439085.674523 113.909185443659 + + + + + + + + + 457850.134170754 5439085.674523 113.909185443659 + 457850.202336864 5439085.82753153 114.035954386956 + 457850.206101052 5439085.82664897 114.035346446792 + 457850.134170754 5439085.674523 113.909185443659 + + + + + + + + + 457850.130656079 5439085.67613393 113.909793384061 + 457850.127198759 5439085.67671786 113.911524651853 + 457850.198832391 5439085.82741882 114.037685654069 + 457850.130656079 5439085.67613393 113.909793384061 + + + + + + + + + 457850.130656079 5439085.67613393 113.909793384061 + 457850.198832391 5439085.82741882 114.037685654069 + 457850.202336864 5439085.82753153 114.035954386956 + 457850.130656079 5439085.67613393 113.909793384061 + + + + + + + + + 457850.127198759 5439085.67671786 113.911524651853 + 457850.12432514 5439085.67618587 113.914115677207 + 457850.196121158 5439085.82632799 114.040276678406 + 457850.127198759 5439085.67671786 113.911524651853 + + + + + + + + + 457850.127198759 5439085.67671786 113.911524651853 + 457850.196121158 5439085.82632799 114.040276678406 + 457850.198832391 5439085.82741882 114.037685654069 + 457850.127198759 5439085.67671786 113.911524651853 + + + + + + + + + 457850.12432514 5439085.67618587 113.914115677207 + 457850.122472704 5439085.67461898 113.917172 + 457850.194615927 5439085.8244251 114.043333 + 457850.12432514 5439085.67618587 113.914115677207 + + + + + + + + + 457850.12432514 5439085.67618587 113.914115677207 + 457850.194615927 5439085.8244251 114.043333 + 457850.196121158 5439085.82632799 114.040276678406 + 457850.12432514 5439085.67618587 113.914115677207 + + + + + + + + + 457850.122472704 5439085.67461898 113.917172 + 457850.121923468 5439085.67225571 113.920228322793 + 457850.194545854 5439085.82199986 114.046389321594 + 457850.122472704 5439085.67461898 113.917172 + + + + + + + + + 457850.122472704 5439085.67461898 113.917172 + 457850.194545854 5439085.82199986 114.046389321594 + 457850.194615927 5439085.8244251 114.043333 + 457850.122472704 5439085.67461898 113.917172 + + + + + + + + + 457850.121923468 5439085.67225571 113.920228322793 + 457850.122761047 5439085.66945586 113.922819348147 + 457850.195921607 5439085.81942149 114.048980345931 + 457850.121923468 5439085.67225571 113.920228322793 + + + + + + + + + 457850.121923468 5439085.67225571 113.920228322793 + 457850.195921607 5439085.81942149 114.048980345931 + 457850.194545854 5439085.82199986 114.046389321594 + 457850.121923468 5439085.67225571 113.920228322793 + + + + + + + + + 457850.122761047 5439085.66945586 113.922819348147 + 457850.124857929 5439085.66664568 113.924550615939 + 457850.198533742 5439085.81708252 114.050711613044 + 457850.122761047 5439085.66945586 113.922819348147 + + + + + + + + + 457850.122761047 5439085.66945586 113.922819348147 + 457850.198533742 5439085.81708252 114.050711613044 + 457850.195921607 5439085.81942149 114.048980345931 + 457850.122761047 5439085.66945586 113.922819348147 + + + + + + + + + 457850.124857929 5439085.66664568 113.924550615939 + 457850.127894881 5439085.664253 113.925158556341 + 457850.201984583 5439085.81533903 114.051319553208 + 457850.124857929 5439085.66664568 113.924550615939 + + + + + + + + + 457850.124857929 5439085.66664568 113.924550615939 + 457850.201984583 5439085.81533903 114.051319553208 + 457850.198533742 5439085.81708252 114.050711613044 + 457850.124857929 5439085.66664568 113.924550615939 + + + + + + + + + 457850.127894881 5439085.664253 113.925158556341 + 457850.131409556 5439085.66264207 113.924550615939 + 457850.205748772 5439085.81445647 114.050711613044 + 457850.127894881 5439085.664253 113.925158556341 + + + + + + + + + 457850.127894881 5439085.664253 113.925158556341 + 457850.205748772 5439085.81445647 114.050711613044 + 457850.201984583 5439085.81533903 114.051319553208 + 457850.127894881 5439085.664253 113.925158556341 + + + + + + + + + 457850.205748772 5439085.81445647 114.050711613044 + 457850.209253245 5439085.81456918 114.048980345931 + 457850.251943979 5439085.97879498 114.17514234051 + 457850.205748772 5439085.81445647 114.050711613044 + + + + + + + + + 457850.205748772 5439085.81445647 114.050711613044 + 457850.251943979 5439085.97879498 114.17514234051 + 457850.248531326 5439085.97799011 114.17687360596 + 457850.205748772 5439085.81445647 114.050711613044 + + + + + + + + + 457850.209253245 5439085.81456918 114.048980345931 + 457850.211964477 5439085.81566001 114.046389321594 + 457850.254385311 5439085.98040141 114.17255131866 + 457850.209253245 5439085.81456918 114.048980345931 + + + + + + + + + 457850.209253245 5439085.81456918 114.048980345931 + 457850.254385311 5439085.98040141 114.17255131866 + 457850.251943979 5439085.97879498 114.17514234051 + 457850.209253245 5439085.81456918 114.048980345931 + + + + + + + + + 457850.211964477 5439085.81566001 114.046389321594 + 457850.213469709 5439085.8175629 114.043333 + 457850.25548365 5439085.98256483 114.169495 + 457850.211964477 5439085.81566001 114.046389321594 + + + + + + + + + 457850.211964477 5439085.81566001 114.046389321594 + 457850.25548365 5439085.98256483 114.169495 + 457850.254385311 5439085.98040141 114.17255131866 + 457850.211964477 5439085.81566001 114.046389321594 + + + + + + + + + 457850.213469709 5439085.8175629 114.043333 + 457850.213539782 5439085.81998814 114.040276678406 + 457850.255071785 5439085.98495587 114.16643868134 + 457850.213469709 5439085.8175629 114.043333 + + + + + + + + + 457850.213469709 5439085.8175629 114.043333 + 457850.255071785 5439085.98495587 114.16643868134 + 457850.25548365 5439085.98256483 114.169495 + 457850.213469709 5439085.8175629 114.043333 + + + + + + + + + 457850.213539782 5439085.81998814 114.040276678406 + 457850.212164028 5439085.82256651 114.037685654069 + 457850.253212418 5439085.98721052 114.16384765949 + 457850.213539782 5439085.81998814 114.040276678406 + + + + + + + + + 457850.213539782 5439085.81998814 114.040276678406 + 457850.253212418 5439085.98721052 114.16384765949 + 457850.255071785 5439085.98495587 114.16643868134 + 457850.213539782 5439085.81998814 114.040276678406 + + + + + + + + + 457850.212164028 5439085.82256651 114.037685654069 + 457850.209551893 5439085.82490548 114.035954386956 + 457850.25018862 5439085.98898554 114.16211639404 + 457850.212164028 5439085.82256651 114.037685654069 + + + + + + + + + 457850.212164028 5439085.82256651 114.037685654069 + 457850.25018862 5439085.98898554 114.16211639404 + 457850.253212418 5439085.98721052 114.16384765949 + 457850.212164028 5439085.82256651 114.037685654069 + + + + + + + + + 457850.209551893 5439085.82490548 114.035954386956 + 457850.206101052 5439085.82664897 114.035346446792 + 457850.246460739 5439085.99001068 114.16150845446 + 457850.209551893 5439085.82490548 114.035954386956 + + + + + + + + + 457850.209551893 5439085.82490548 114.035954386956 + 457850.246460739 5439085.99001068 114.16150845446 + 457850.25018862 5439085.98898554 114.16211639404 + 457850.209551893 5439085.82490548 114.035954386956 + + + + + + + + + 457850.206101052 5439085.82664897 114.035346446792 + 457850.202336864 5439085.82753153 114.035954386956 + 457850.242596309 5439085.99012989 114.16211639404 + 457850.206101052 5439085.82664897 114.035346446792 + + + + + + + + + 457850.206101052 5439085.82664897 114.035346446792 + 457850.242596309 5439085.99012989 114.16211639404 + 457850.246460739 5439085.99001068 114.16150845446 + 457850.206101052 5439085.82664897 114.035346446792 + + + + + + + + + 457850.202336864 5439085.82753153 114.035954386956 + 457850.198832391 5439085.82741882 114.037685654069 + 457850.239183656 5439085.98932502 114.16384765949 + 457850.202336864 5439085.82753153 114.035954386956 + + + + + + + + + 457850.202336864 5439085.82753153 114.035954386956 + 457850.239183656 5439085.98932502 114.16384765949 + 457850.242596309 5439085.99012989 114.16211639404 + 457850.202336864 5439085.82753153 114.035954386956 + + + + + + + + + 457850.198832391 5439085.82741882 114.037685654069 + 457850.196121158 5439085.82632799 114.040276678406 + 457850.236742324 5439085.98771859 114.16643868134 + 457850.198832391 5439085.82741882 114.037685654069 + + + + + + + + + 457850.198832391 5439085.82741882 114.037685654069 + 457850.236742324 5439085.98771859 114.16643868134 + 457850.239183656 5439085.98932502 114.16384765949 + 457850.198832391 5439085.82741882 114.037685654069 + + + + + + + + + 457850.196121158 5439085.82632799 114.040276678406 + 457850.194615927 5439085.8244251 114.043333 + 457850.235643985 5439085.98555517 114.169495 + 457850.196121158 5439085.82632799 114.040276678406 + + + + + + + + + 457850.196121158 5439085.82632799 114.040276678406 + 457850.235643985 5439085.98555517 114.169495 + 457850.236742324 5439085.98771859 114.16643868134 + 457850.196121158 5439085.82632799 114.040276678406 + + + + + + + + + 457850.194615927 5439085.8244251 114.043333 + 457850.194545854 5439085.82199986 114.046389321594 + 457850.23605585 5439085.98316413 114.17255131866 + 457850.194615927 5439085.8244251 114.043333 + + + + + + + + + 457850.194615927 5439085.8244251 114.043333 + 457850.23605585 5439085.98316413 114.17255131866 + 457850.235643985 5439085.98555517 114.169495 + 457850.194615927 5439085.8244251 114.043333 + + + + + + + + + 457850.194545854 5439085.82199986 114.046389321594 + 457850.195921607 5439085.81942149 114.048980345931 + 457850.237915218 5439085.98090948 114.17514234051 + 457850.194545854 5439085.82199986 114.046389321594 + + + + + + + + + 457850.194545854 5439085.82199986 114.046389321594 + 457850.237915218 5439085.98090948 114.17514234051 + 457850.23605585 5439085.98316413 114.17255131866 + 457850.194545854 5439085.82199986 114.046389321594 + + + + + + + + + 457850.195921607 5439085.81942149 114.048980345931 + 457850.198533742 5439085.81708252 114.050711613044 + 457850.240939015 5439085.97913446 114.17687360596 + 457850.195921607 5439085.81942149 114.048980345931 + + + + + + + + + 457850.195921607 5439085.81942149 114.048980345931 + 457850.240939015 5439085.97913446 114.17687360596 + 457850.237915218 5439085.98090948 114.17514234051 + 457850.195921607 5439085.81942149 114.048980345931 + + + + + + + + + 457850.198533742 5439085.81708252 114.050711613044 + 457850.201984583 5439085.81533903 114.051319553208 + 457850.244666896 5439085.97810932 114.17748154554 + 457850.198533742 5439085.81708252 114.050711613044 + + + + + + + + + 457850.198533742 5439085.81708252 114.050711613044 + 457850.244666896 5439085.97810932 114.17748154554 + 457850.240939015 5439085.97913446 114.17687360596 + 457850.198533742 5439085.81708252 114.050711613044 + + + + + + + + + 457850.201984583 5439085.81533903 114.051319553208 + 457850.205748772 5439085.81445647 114.050711613044 + 457850.248531326 5439085.97799011 114.17687360596 + 457850.201984583 5439085.81533903 114.051319553208 + + + + + + + + + 457850.201984583 5439085.81533903 114.051319553208 + 457850.248531326 5439085.97799011 114.17687360596 + 457850.244666896 5439085.97810932 114.17748154554 + 457850.201984583 5439085.81533903 114.051319553208 + + + + + + + + + 457850.248531326 5439085.97799011 114.17687360596 + 457850.251943979 5439085.97879498 114.17514234051 + 457850.255772586 5439086.04674779 114.225656582356 + 457850.248531326 5439085.97799011 114.17687360596 + + + + + + + + + 457850.248531326 5439085.97799011 114.17687360596 + 457850.255772586 5439086.04674779 114.225656582356 + 457850.252467546 5439086.04561038 114.227390681014 + 457850.248531326 5439085.97799011 114.17687360596 + + + + + + + + + 457850.251943979 5439085.97879498 114.17514234051 + 457850.254385311 5439085.98040141 114.17255131866 + 457850.25803466 5439086.04858402 114.223061320311 + 457850.251943979 5439085.97879498 114.17514234051 + + + + + + + + + 457850.251943979 5439085.97879498 114.17514234051 + 457850.25803466 5439086.04858402 114.223061320311 + 457850.255772586 5439086.04674779 114.225656582356 + 457850.251943979 5439085.97879498 114.17514234051 + + + + + + + + + 457850.254385311 5439085.98040141 114.17255131866 + 457850.25548365 5439085.98256483 114.169495 + 457850.258909385 5439086.05083951 114.22 + 457850.254385311 5439085.98040141 114.17255131866 + + + + + + + + + 457850.254385311 5439085.98040141 114.17255131866 + 457850.258909385 5439086.05083951 114.22 + 457850.25803466 5439086.04858402 114.223061320311 + 457850.254385311 5439085.98040141 114.17255131866 + + + + + + + + + 457850.25548365 5439085.98256483 114.169495 + 457850.255071785 5439085.98495587 114.16643868134 + 457850.258263595 5439086.0531709 114.216938679689 + 457850.25548365 5439085.98256483 114.169495 + + + + + + + + + 457850.25548365 5439085.98256483 114.169495 + 457850.258263595 5439086.0531709 114.216938679689 + 457850.258909385 5439086.05083951 114.22 + 457850.25548365 5439085.98256483 114.169495 + + + + + + + + + 457850.255071785 5439085.98495587 114.16643868134 + 457850.253212418 5439085.98721052 114.16384765949 + 457850.256195603 5439086.05522325 114.214343417644 + 457850.255071785 5439085.98495587 114.16643868134 + + + + + + + + + 457850.255071785 5439085.98495587 114.16643868134 + 457850.256195603 5439086.05522325 114.214343417644 + 457850.258263595 5439086.0531709 114.216938679689 + 457850.255071785 5439085.98495587 114.16643868134 + + + + + + + + + 457850.253212418 5439085.98721052 114.16384765949 + 457850.25018862 5439085.98898554 114.16211639404 + 457850.253020243 5439086.0566841 114.212609318986 + 457850.253212418 5439085.98721052 114.16384765949 + + + + + + + + + 457850.253212418 5439085.98721052 114.16384765949 + 457850.253020243 5439086.0566841 114.212609318986 + 457850.256195603 5439086.05522325 114.214343417644 + 457850.253212418 5439085.98721052 114.16384765949 + + + + + + + + + 457850.25018862 5439085.98898554 114.16211639404 + 457850.246460739 5439085.99001068 114.16150845446 + 457850.249220935 5439086.05733105 114.212000384515 + 457850.25018862 5439085.98898554 114.16211639404 + + + + + + + + + 457850.25018862 5439085.98898554 114.16211639404 + 457850.249220935 5439086.05733105 114.212000384515 + 457850.253020243 5439086.0566841 114.212609318986 + 457850.25018862 5439085.98898554 114.16211639404 + + + + + + + + + 457850.246460739 5439085.99001068 114.16150845446 + 457850.242596309 5439085.99012989 114.16211639404 + 457850.24537609 5439086.05706562 114.212609318986 + 457850.246460739 5439085.99001068 114.16150845446 + + + + + + + + + 457850.246460739 5439085.99001068 114.16150845446 + 457850.24537609 5439086.05706562 114.212609318986 + 457850.249220935 5439086.05733105 114.212000384515 + 457850.246460739 5439085.99001068 114.16150845446 + + + + + + + + + 457850.242596309 5439085.99012989 114.16211639404 + 457850.239183656 5439085.98932502 114.16384765949 + 457850.242071049 5439086.05592821 114.214343417644 + 457850.242596309 5439085.99012989 114.16211639404 + + + + + + + + + 457850.242596309 5439085.99012989 114.16211639404 + 457850.242071049 5439086.05592821 114.214343417644 + 457850.24537609 5439086.05706562 114.212609318986 + 457850.242596309 5439085.99012989 114.16211639404 + + + + + + + + + 457850.239183656 5439085.98932502 114.16384765949 + 457850.236742324 5439085.98771859 114.16643868134 + 457850.239808976 5439086.05409198 114.216938679689 + 457850.239183656 5439085.98932502 114.16384765949 + + + + + + + + + 457850.239183656 5439085.98932502 114.16384765949 + 457850.239808976 5439086.05409198 114.216938679689 + 457850.242071049 5439086.05592821 114.214343417644 + 457850.239183656 5439085.98932502 114.16384765949 + + + + + + + + + 457850.236742324 5439085.98771859 114.16643868134 + 457850.235643985 5439085.98555517 114.169495 + 457850.23893425 5439086.05183649 114.22 + 457850.236742324 5439085.98771859 114.16643868134 + + + + + + + + + 457850.236742324 5439085.98771859 114.16643868134 + 457850.23893425 5439086.05183649 114.22 + 457850.239808976 5439086.05409198 114.216938679689 + 457850.236742324 5439085.98771859 114.16643868134 + + + + + + + + + 457850.235643985 5439085.98555517 114.169495 + 457850.23605585 5439085.98316413 114.17255131866 + 457850.239580041 5439086.0495051 114.223061320311 + 457850.235643985 5439085.98555517 114.169495 + + + + + + + + + 457850.235643985 5439085.98555517 114.169495 + 457850.239580041 5439086.0495051 114.223061320311 + 457850.23893425 5439086.05183649 114.22 + 457850.235643985 5439085.98555517 114.169495 + + + + + + + + + 457850.23605585 5439085.98316413 114.17255131866 + 457850.237915218 5439085.98090948 114.17514234051 + 457850.241648033 5439086.04745276 114.225656582356 + 457850.23605585 5439085.98316413 114.17255131866 + + + + + + + + + 457850.23605585 5439085.98316413 114.17255131866 + 457850.241648033 5439086.04745276 114.225656582356 + 457850.239580041 5439086.0495051 114.223061320311 + 457850.23605585 5439085.98316413 114.17255131866 + + + + + + + + + 457850.237915218 5439085.98090948 114.17514234051 + 457850.240939015 5439085.97913446 114.17687360596 + 457850.244823392 5439086.0459919 114.227390681014 + 457850.237915218 5439085.98090948 114.17514234051 + + + + + + + + + 457850.237915218 5439085.98090948 114.17514234051 + 457850.244823392 5439086.0459919 114.227390681014 + 457850.241648033 5439086.04745276 114.225656582356 + 457850.237915218 5439085.98090948 114.17514234051 + + + + + + + + + 457850.240939015 5439085.97913446 114.17687360596 + 457850.244666896 5439085.97810932 114.17748154554 + 457850.2486227 5439086.04534495 114.227999615485 + 457850.240939015 5439085.97913446 114.17687360596 + + + + + + + + + 457850.240939015 5439085.97913446 114.17687360596 + 457850.2486227 5439086.04534495 114.227999615485 + 457850.244823392 5439086.0459919 114.227390681014 + 457850.240939015 5439085.97913446 114.17687360596 + + + + + + + + + 457850.244666896 5439085.97810932 114.17748154554 + 457850.248531326 5439085.97799011 114.17687360596 + 457850.252467546 5439086.04561038 114.227390681014 + 457850.244666896 5439085.97810932 114.17748154554 + + + + + + + + + 457850.244666896 5439085.97810932 114.17748154554 + 457850.252467546 5439086.04561038 114.227390681014 + 457850.2486227 5439086.04534495 114.227999615485 + 457850.244666896 5439085.97810932 114.17748154554 + + + + + + + + + 457850.252467546 5439086.04561038 114.227390681014 + 457850.255772586 5439086.04674779 114.225656582356 + 457850.261248837 5439086.14822212 114.301371476801 + 457850.252467546 5439086.04561038 114.227390681014 + + + + + + + + + 457850.252467546 5439086.04561038 114.227390681014 + 457850.261248837 5439086.14822212 114.301371476801 + 457850.258063376 5439086.14675624 114.303102170908 + 457850.252467546 5439086.04561038 114.227390681014 + + + + + + + + + 457850.255772586 5439086.04674779 114.225656582356 + 457850.25803466 5439086.04858402 114.223061320311 + 457850.263323392 5439086.15028157 114.298781310028 + 457850.255772586 5439086.04674779 114.225656582356 + + + + + + + + + 457850.255772586 5439086.04674779 114.225656582356 + 457850.263323392 5439086.15028157 114.298781310028 + 457850.261248837 5439086.14822212 114.301371476801 + 457850.255772586 5439086.04674779 114.225656582356 + + + + + + + + + 457850.25803466 5439086.04858402 114.223061320311 + 457850.258909385 5439086.05083951 114.22 + 457850.26397121 5439086.15262106 114.295726 + 457850.25803466 5439086.04858402 114.223061320311 + + + + + + + + + 457850.25803466 5439086.04858402 114.223061320311 + 457850.26397121 5439086.15262106 114.295726 + 457850.263323392 5439086.15028157 114.298781310028 + 457850.25803466 5439086.04858402 114.223061320311 + + + + + + + + + 457850.258909385 5439086.05083951 114.22 + 457850.258263595 5439086.0531709 114.216938679689 + 457850.263093667 5439086.15488442 114.292670689972 + 457850.258909385 5439086.05083951 114.22 + + + + + + + + + 457850.258909385 5439086.05083951 114.22 + 457850.263093667 5439086.15488442 114.292670689972 + 457850.26397121 5439086.15262106 114.295726 + 457850.258909385 5439086.05083951 114.22 + + + + + + + + + 457850.258263595 5439086.0531709 114.216938679689 + 457850.256195603 5439086.05522325 114.214343417644 + 457850.26082436 5439086.15672707 114.290080523199 + 457850.258263595 5439086.0531709 114.216938679689 + + + + + + + + + 457850.258263595 5439086.0531709 114.216938679689 + 457850.26082436 5439086.15672707 114.290080523199 + 457850.263093667 5439086.15488442 114.292670689972 + 457850.258263595 5439086.0531709 114.216938679689 + + + + + + + + + 457850.256195603 5439086.05522325 114.214343417644 + 457850.253020243 5439086.0566841 114.212609318986 + 457850.257508771 5439086.15786849 114.288349829093 + 457850.256195603 5439086.05522325 114.214343417644 + + + + + + + + + 457850.256195603 5439086.05522325 114.214343417644 + 457850.257508771 5439086.15786849 114.288349829093 + 457850.26082436 5439086.15672707 114.290080523199 + 457850.256195603 5439086.05522325 114.214343417644 + + + + + + + + + 457850.253020243 5439086.0566841 114.212609318986 + 457850.249220935 5439086.05733105 114.212000384515 + 457850.253651667 5439086.15813491 114.287742090142 + 457850.253020243 5439086.0566841 114.212609318986 + + + + + + + + + 457850.253020243 5439086.0566841 114.212609318986 + 457850.253651667 5439086.15813491 114.287742090142 + 457850.257508771 5439086.15786849 114.288349829093 + 457850.253020243 5439086.0566841 114.212609318986 + + + + + + + + + 457850.249220935 5439086.05733105 114.212000384515 + 457850.24537609 5439086.05706562 114.212609318986 + 457850.249840259 5439086.15748576 114.288349829093 + 457850.249220935 5439086.05733105 114.212000384515 + + + + + + + + + 457850.249220935 5439086.05733105 114.212000384515 + 457850.249840259 5439086.15748576 114.288349829093 + 457850.253651667 5439086.15813491 114.287742090142 + 457850.249220935 5439086.05733105 114.212000384515 + + + + + + + + + 457850.24537609 5439086.05706562 114.212609318986 + 457850.242071049 5439086.05592821 114.214343417644 + 457850.246654799 5439086.15601988 114.290080523199 + 457850.24537609 5439086.05706562 114.212609318986 + + + + + + + + + 457850.24537609 5439086.05706562 114.212609318986 + 457850.246654799 5439086.15601988 114.290080523199 + 457850.249840259 5439086.15748576 114.288349829093 + 457850.24537609 5439086.05706562 114.212609318986 + + + + + + + + + 457850.242071049 5439086.05592821 114.214343417644 + 457850.239808976 5439086.05409198 114.216938679689 + 457850.244580243 5439086.15396043 114.292670689972 + 457850.242071049 5439086.05592821 114.214343417644 + + + + + + + + + 457850.242071049 5439086.05592821 114.214343417644 + 457850.244580243 5439086.15396043 114.292670689972 + 457850.246654799 5439086.15601988 114.290080523199 + 457850.242071049 5439086.05592821 114.214343417644 + + + + + + + + + 457850.239808976 5439086.05409198 114.216938679689 + 457850.23893425 5439086.05183649 114.22 + 457850.243932425 5439086.15162094 114.295726 + 457850.239808976 5439086.05409198 114.216938679689 + + + + + + + + + 457850.239808976 5439086.05409198 114.216938679689 + 457850.243932425 5439086.15162094 114.295726 + 457850.244580243 5439086.15396043 114.292670689972 + 457850.239808976 5439086.05409198 114.216938679689 + + + + + + + + + 457850.23893425 5439086.05183649 114.22 + 457850.239580041 5439086.0495051 114.223061320311 + 457850.244809968 5439086.14935758 114.298781310028 + 457850.23893425 5439086.05183649 114.22 + + + + + + + + + 457850.23893425 5439086.05183649 114.22 + 457850.244809968 5439086.14935758 114.298781310028 + 457850.243932425 5439086.15162094 114.295726 + 457850.23893425 5439086.05183649 114.22 + + + + + + + + + 457850.239580041 5439086.0495051 114.223061320311 + 457850.241648033 5439086.04745276 114.225656582356 + 457850.247079275 5439086.14751493 114.301371476801 + 457850.239580041 5439086.0495051 114.223061320311 + + + + + + + + + 457850.239580041 5439086.0495051 114.223061320311 + 457850.247079275 5439086.14751493 114.301371476801 + 457850.244809968 5439086.14935758 114.298781310028 + 457850.239580041 5439086.0495051 114.223061320311 + + + + + + + + + 457850.241648033 5439086.04745276 114.225656582356 + 457850.244823392 5439086.0459919 114.227390681014 + 457850.250394865 5439086.14637351 114.303102170908 + 457850.241648033 5439086.04745276 114.225656582356 + + + + + + + + + 457850.241648033 5439086.04745276 114.225656582356 + 457850.250394865 5439086.14637351 114.303102170908 + 457850.247079275 5439086.14751493 114.301371476801 + 457850.241648033 5439086.04745276 114.225656582356 + + + + + + + + + 457850.244823392 5439086.0459919 114.227390681014 + 457850.2486227 5439086.04534495 114.227999615485 + 457850.254251968 5439086.14610709 114.303709909858 + 457850.244823392 5439086.0459919 114.227390681014 + + + + + + + + + 457850.244823392 5439086.0459919 114.227390681014 + 457850.254251968 5439086.14610709 114.303709909858 + 457850.250394865 5439086.14637351 114.303102170908 + 457850.244823392 5439086.0459919 114.227390681014 + + + + + + + + + 457850.2486227 5439086.04534495 114.227999615485 + 457850.252467546 5439086.04561038 114.227390681014 + 457850.258063376 5439086.14675624 114.303102170908 + 457850.2486227 5439086.04534495 114.227999615485 + + + + + + + + + 457850.2486227 5439086.04534495 114.227999615485 + 457850.258063376 5439086.14675624 114.303102170908 + 457850.254251968 5439086.14610709 114.303709909858 + 457850.2486227 5439086.04534495 114.227999615485 + + + + + + + + + 457850.258063376 5439086.14675624 114.303102170908 + 457850.261248837 5439086.14822212 114.301371476801 + 457850.241528168 5439086.28198625 114.402324291601 + 457850.258063376 5439086.14675624 114.303102170908 + + + + + + + + + 457850.258063376 5439086.14675624 114.303102170908 + 457850.241528168 5439086.28198625 114.402324291601 + 457850.238514001 5439086.28021677 114.404058607687 + 457850.258063376 5439086.14675624 114.303102170908 + + + + + + + + + 457850.261248837 5439086.14822212 114.301371476801 + 457850.263323392 5439086.15028157 114.298781310028 + 457850.243381596 5439086.28423387 114.399728704152 + 457850.261248837 5439086.14822212 114.301371476801 + + + + + + + + + 457850.261248837 5439086.14822212 114.301371476801 + 457850.243381596 5439086.28423387 114.399728704152 + 457850.241528168 5439086.28198625 114.402324291601 + 457850.261248837 5439086.14822212 114.301371476801 + + + + + + + + + 457850.263323392 5439086.15028157 114.298781310028 + 457850.26397121 5439086.15262106 114.295726 + 457850.243792119 5439086.28661747 114.396667 + 457850.263323392 5439086.15028157 114.298781310028 + + + + + + + + + 457850.263323392 5439086.15028157 114.298781310028 + 457850.243792119 5439086.28661747 114.396667 + 457850.243381596 5439086.28423387 114.399728704152 + 457850.263323392 5439086.15028157 114.298781310028 + + + + + + + + + 457850.26397121 5439086.15262106 114.295726 + 457850.263093667 5439086.15488442 114.292670689972 + 457850.242697237 5439086.28877416 114.393605295848 + 457850.26397121 5439086.15262106 114.295726 + + + + + + + + + 457850.26397121 5439086.15262106 114.295726 + 457850.242697237 5439086.28877416 114.393605295848 + 457850.243792119 5439086.28661747 114.396667 + 457850.26397121 5439086.15262106 114.295726 + + + + + + + + + 457850.263093667 5439086.15488442 114.292670689972 + 457850.26082436 5439086.15672707 114.290080523199 + 457850.240263637 5439086.2903756 114.391009708399 + 457850.263093667 5439086.15488442 114.292670689972 + + + + + + + + + 457850.263093667 5439086.15488442 114.292670689972 + 457850.240263637 5439086.2903756 114.391009708399 + 457850.242697237 5439086.28877416 114.393605295848 + 457850.263093667 5439086.15488442 114.292670689972 + + + + + + + + + 457850.26082436 5439086.15672707 114.290080523199 + 457850.257508771 5439086.15786849 114.288349829093 + 457850.236861812 5439086.29117798 114.389275392313 + 457850.26082436 5439086.15672707 114.290080523199 + + + + + + + + + 457850.26082436 5439086.15672707 114.290080523199 + 457850.236861812 5439086.29117798 114.389275392313 + 457850.240263637 5439086.2903756 114.391009708399 + 457850.26082436 5439086.15672707 114.290080523199 + + + + + + + + + 457850.257508771 5439086.15786849 114.288349829093 + 457850.253651667 5439086.15813491 114.287742090142 + 457850.233009659 5439086.29105917 114.388666381492 + 457850.257508771 5439086.15786849 114.288349829093 + + + + + + + + + 457850.257508771 5439086.15786849 114.288349829093 + 457850.233009659 5439086.29105917 114.388666381492 + 457850.236861812 5439086.29117798 114.389275392313 + 457850.257508771 5439086.15786849 114.288349829093 + + + + + + + + + 457850.253651667 5439086.15813491 114.287742090142 + 457850.249840259 5439086.15748576 114.288349829093 + 457850.229293634 5439086.29003723 114.389275392313 + 457850.253651667 5439086.15813491 114.287742090142 + + + + + + + + + 457850.253651667 5439086.15813491 114.287742090142 + 457850.229293634 5439086.29003723 114.389275392313 + 457850.233009659 5439086.29105917 114.388666381492 + 457850.253651667 5439086.15813491 114.287742090142 + + + + + + + + + 457850.249840259 5439086.15748576 114.288349829093 + 457850.246654799 5439086.15601988 114.290080523199 + 457850.226279467 5439086.28826775 114.391009708399 + 457850.249840259 5439086.15748576 114.288349829093 + + + + + + + + + 457850.249840259 5439086.15748576 114.288349829093 + 457850.226279467 5439086.28826775 114.391009708399 + 457850.229293634 5439086.29003723 114.389275392313 + 457850.249840259 5439086.15748576 114.288349829093 + + + + + + + + + 457850.246654799 5439086.15601988 114.290080523199 + 457850.244580243 5439086.15396043 114.292670689972 + 457850.224426039 5439086.28602013 114.393605295848 + 457850.246654799 5439086.15601988 114.290080523199 + + + + + + + + + 457850.246654799 5439086.15601988 114.290080523199 + 457850.224426039 5439086.28602013 114.393605295848 + 457850.226279467 5439086.28826775 114.391009708399 + 457850.246654799 5439086.15601988 114.290080523199 + + + + + + + + + 457850.244580243 5439086.15396043 114.292670689972 + 457850.243932425 5439086.15162094 114.295726 + 457850.224015516 5439086.28363653 114.396667 + 457850.244580243 5439086.15396043 114.292670689972 + + + + + + + + + 457850.244580243 5439086.15396043 114.292670689972 + 457850.224015516 5439086.28363653 114.396667 + 457850.224426039 5439086.28602013 114.393605295848 + 457850.244580243 5439086.15396043 114.292670689972 + + + + + + + + + 457850.243932425 5439086.15162094 114.295726 + 457850.244809968 5439086.14935758 114.298781310028 + 457850.225110398 5439086.28147984 114.399728704152 + 457850.243932425 5439086.15162094 114.295726 + + + + + + + + + 457850.243932425 5439086.15162094 114.295726 + 457850.225110398 5439086.28147984 114.399728704152 + 457850.224015516 5439086.28363653 114.396667 + 457850.243932425 5439086.15162094 114.295726 + + + + + + + + + 457850.244809968 5439086.14935758 114.298781310028 + 457850.247079275 5439086.14751493 114.301371476801 + 457850.227543998 5439086.2798784 114.402324291601 + 457850.244809968 5439086.14935758 114.298781310028 + + + + + + + + + 457850.244809968 5439086.14935758 114.298781310028 + 457850.227543998 5439086.2798784 114.402324291601 + 457850.225110398 5439086.28147984 114.399728704152 + 457850.244809968 5439086.14935758 114.298781310028 + + + + + + + + + 457850.247079275 5439086.14751493 114.301371476801 + 457850.250394865 5439086.14637351 114.303102170908 + 457850.230945823 5439086.27907602 114.404058607687 + 457850.247079275 5439086.14751493 114.301371476801 + + + + + + + + + 457850.247079275 5439086.14751493 114.301371476801 + 457850.230945823 5439086.27907602 114.404058607687 + 457850.227543998 5439086.2798784 114.402324291601 + 457850.247079275 5439086.14751493 114.301371476801 + + + + + + + + + 457850.250394865 5439086.14637351 114.303102170908 + 457850.254251968 5439086.14610709 114.303709909858 + 457850.234797976 5439086.27919483 114.404667618508 + 457850.250394865 5439086.14637351 114.303102170908 + + + + + + + + + 457850.250394865 5439086.14637351 114.303102170908 + 457850.234797976 5439086.27919483 114.404667618508 + 457850.230945823 5439086.27907602 114.404058607687 + 457850.250394865 5439086.14637351 114.303102170908 + + + + + + + + + 457850.254251968 5439086.14610709 114.303709909858 + 457850.258063376 5439086.14675624 114.303102170908 + 457850.238514001 5439086.28021677 114.404058607687 + 457850.254251968 5439086.14610709 114.303709909858 + + + + + + + + + 457850.254251968 5439086.14610709 114.303709909858 + 457850.238514001 5439086.28021677 114.404058607687 + 457850.234797976 5439086.27919483 114.404667618508 + 457850.254251968 5439086.14610709 114.303709909858 + + + + + + + + + 457850.238514001 5439086.28021677 114.404058607687 + 457850.241528168 5439086.28198625 114.402324291601 + 457850.236795656 5439086.31613954 114.427610755526 + 457850.238514001 5439086.28021677 114.404058607687 + + + + + + + + + 457850.238514001 5439086.28021677 114.404058607687 + 457850.236795656 5439086.31613954 114.427610755526 + 457850.233963478 5439086.31407282 114.429342454767 + 457850.238514001 5439086.28021677 114.404058607687 + + + + + + + + + 457850.241528168 5439086.28198625 114.402324291601 + 457850.243381596 5439086.28423387 114.399728704152 + 457850.238421502 5439086.31856729 114.425019084461 + 457850.241528168 5439086.28198625 114.402324291601 + + + + + + + + + 457850.241528168 5439086.28198625 114.402324291601 + 457850.238421502 5439086.31856729 114.425019084461 + 457850.236795656 5439086.31613954 114.427610755526 + 457850.241528168 5439086.28198625 114.402324291601 + + + + + + + + + 457850.243381596 5439086.28423387 114.399728704152 + 457850.243792119 5439086.28661747 114.396667 + 457850.238593495 5439086.32098647 114.421962 + 457850.243381596 5439086.28423387 114.399728704152 + + + + + + + + + 457850.243381596 5439086.28423387 114.399728704152 + 457850.238593495 5439086.32098647 114.421962 + 457850.238421502 5439086.31856729 114.425019084461 + 457850.243381596 5439086.28423387 114.399728704152 + + + + + + + + + 457850.243792119 5439086.28661747 114.396667 + 457850.242697237 5439086.28877416 114.393605295848 + 457850.23728545 5439086.32302879 114.418904915539 + 457850.243792119 5439086.28661747 114.396667 + + + + + + + + + 457850.243792119 5439086.28661747 114.396667 + 457850.23728545 5439086.32302879 114.418904915539 + 457850.238593495 5439086.32098647 114.421962 + 457850.243792119 5439086.28661747 114.396667 + + + + + + + + + 457850.242697237 5439086.28877416 114.393605295848 + 457850.240263637 5439086.2903756 114.391009708399 + 457850.234696507 5439086.32438331 114.416313244474 + 457850.242697237 5439086.28877416 114.393605295848 + + + + + + + + + 457850.242697237 5439086.28877416 114.393605295848 + 457850.234696507 5439086.32438331 114.416313244474 + 457850.23728545 5439086.32302879 114.418904915539 + 457850.242697237 5439086.28877416 114.393605295848 + + + + + + + + + 457850.240263637 5439086.2903756 114.391009708399 + 457850.236861812 5439086.29117798 114.389275392313 + 457850.231220807 5439086.32484383 114.414581545233 + 457850.240263637 5439086.2903756 114.391009708399 + + + + + + + + + 457850.240263637 5439086.2903756 114.391009708399 + 457850.231220807 5439086.32484383 114.414581545233 + 457850.234696507 5439086.32438331 114.416313244474 + 457850.240263637 5439086.2903756 114.391009708399 + + + + + + + + + 457850.236861812 5439086.29117798 114.389275392313 + 457850.233009659 5439086.29105917 114.388666381492 + 457850.227387495 5439086.32434023 114.413973453325 + 457850.236861812 5439086.29117798 114.389275392313 + + + + + + + + + 457850.236861812 5439086.29117798 114.389275392313 + 457850.227387495 5439086.32434023 114.413973453325 + 457850.231220807 5439086.32484383 114.414581545233 + 457850.236861812 5439086.29117798 114.389275392313 + + + + + + + + + 457850.233009659 5439086.29105917 114.388666381492 + 457850.229293634 5439086.29003723 114.389275392313 + 457850.223780157 5439086.32294918 114.414581545233 + 457850.233009659 5439086.29105917 114.388666381492 + + + + + + + + + 457850.233009659 5439086.29105917 114.388666381492 + 457850.223780157 5439086.32294918 114.414581545233 + 457850.227387495 5439086.32434023 114.413973453325 + 457850.233009659 5439086.29105917 114.388666381492 + + + + + + + + + 457850.229293634 5439086.29003723 114.389275392313 + 457850.226279467 5439086.28826775 114.391009708399 + 457850.220947979 5439086.32088246 114.416313244474 + 457850.229293634 5439086.29003723 114.389275392313 + + + + + + + + + 457850.229293634 5439086.29003723 114.389275392313 + 457850.220947979 5439086.32088246 114.416313244474 + 457850.223780157 5439086.32294918 114.414581545233 + 457850.229293634 5439086.29003723 114.389275392313 + + + + + + + + + 457850.226279467 5439086.28826775 114.391009708399 + 457850.224426039 5439086.28602013 114.393605295848 + 457850.219322133 5439086.31845471 114.418904915539 + 457850.226279467 5439086.28826775 114.391009708399 + + + + + + + + + 457850.226279467 5439086.28826775 114.391009708399 + 457850.219322133 5439086.31845471 114.418904915539 + 457850.220947979 5439086.32088246 114.416313244474 + 457850.226279467 5439086.28826775 114.391009708399 + + + + + + + + + 457850.224426039 5439086.28602013 114.393605295848 + 457850.224015516 5439086.28363653 114.396667 + 457850.219150141 5439086.31603553 114.421962 + 457850.224426039 5439086.28602013 114.393605295848 + + + + + + + + + 457850.224426039 5439086.28602013 114.393605295848 + 457850.219150141 5439086.31603553 114.421962 + 457850.219322133 5439086.31845471 114.418904915539 + 457850.224426039 5439086.28602013 114.393605295848 + + + + + + + + + 457850.224015516 5439086.28363653 114.396667 + 457850.225110398 5439086.28147984 114.399728704152 + 457850.220458185 5439086.31399321 114.425019084461 + 457850.224015516 5439086.28363653 114.396667 + + + + + + + + + 457850.224015516 5439086.28363653 114.396667 + 457850.220458185 5439086.31399321 114.425019084461 + 457850.219150141 5439086.31603553 114.421962 + 457850.224015516 5439086.28363653 114.396667 + + + + + + + + + 457850.225110398 5439086.28147984 114.399728704152 + 457850.227543998 5439086.2798784 114.402324291601 + 457850.223047129 5439086.31263869 114.427610755526 + 457850.225110398 5439086.28147984 114.399728704152 + + + + + + + + + 457850.225110398 5439086.28147984 114.399728704152 + 457850.223047129 5439086.31263869 114.427610755526 + 457850.220458185 5439086.31399321 114.425019084461 + 457850.225110398 5439086.28147984 114.399728704152 + + + + + + + + + 457850.227543998 5439086.2798784 114.402324291601 + 457850.230945823 5439086.27907602 114.404058607687 + 457850.226522828 5439086.31217817 114.429342454767 + 457850.227543998 5439086.2798784 114.402324291601 + + + + + + + + + 457850.227543998 5439086.2798784 114.402324291601 + 457850.226522828 5439086.31217817 114.429342454767 + 457850.223047129 5439086.31263869 114.427610755526 + 457850.227543998 5439086.2798784 114.402324291601 + + + + + + + + + 457850.230945823 5439086.27907602 114.404058607687 + 457850.234797976 5439086.27919483 114.404667618508 + 457850.23035614 5439086.31268177 114.429950546675 + 457850.230945823 5439086.27907602 114.404058607687 + + + + + + + + + 457850.230945823 5439086.27907602 114.404058607687 + 457850.23035614 5439086.31268177 114.429950546675 + 457850.226522828 5439086.31217817 114.429342454767 + 457850.230945823 5439086.27907602 114.404058607687 + + + + + + + + + 457850.234797976 5439086.27919483 114.404667618508 + 457850.238514001 5439086.28021677 114.404058607687 + 457850.233963478 5439086.31407282 114.429342454767 + 457850.234797976 5439086.27919483 114.404667618508 + + + + + + + + + 457850.234797976 5439086.27919483 114.404667618508 + 457850.233963478 5439086.31407282 114.429342454767 + 457850.23035614 5439086.31268177 114.429950546675 + 457850.234797976 5439086.27919483 114.404667618508 + + + + + + + + + 457850.233963478 5439086.31407282 114.429342454767 + 457850.236795656 5439086.31613954 114.427610755526 + 457850.179556441 5439086.47587859 114.553686751034 + 457850.233963478 5439086.31407282 114.429342454767 + + + + + + + + + 457850.233963478 5439086.31407282 114.429342454767 + 457850.179556441 5439086.47587859 114.553686751034 + 457850.177189919 5439086.47329168 114.555418448899 + 457850.233963478 5439086.31407282 114.429342454767 + + + + + + + + + 457850.236795656 5439086.31613954 114.427610755526 + 457850.238421502 5439086.31856729 114.425019084461 + 457850.180669011 5439086.47858036 114.55109508203 + 457850.236795656 5439086.31613954 114.427610755526 + + + + + + + + + 457850.236795656 5439086.31613954 114.427610755526 + 457850.180669011 5439086.47858036 114.55109508203 + 457850.179556441 5439086.47587859 114.553686751034 + 457850.236795656 5439086.31613954 114.427610755526 + + + + + + + + + 457850.238421502 5439086.31856729 114.425019084461 + 457850.238593495 5439086.32098647 114.421962 + 457850.180358251 5439086.48098566 114.548038 + 457850.238421502 5439086.31856729 114.425019084461 + + + + + + + + + 457850.238421502 5439086.31856729 114.425019084461 + 457850.180358251 5439086.48098566 114.548038 + 457850.180669011 5439086.47858036 114.55109508203 + 457850.238421502 5439086.31856729 114.425019084461 + + + + + + + + + 457850.238593495 5439086.32098647 114.421962 + 457850.23728545 5439086.32302879 114.418904915539 + 457850.178671472 5439086.48272831 114.54498091797 + 457850.238593495 5439086.32098647 114.421962 + + + + + + + + + 457850.238593495 5439086.32098647 114.421962 + 457850.178671472 5439086.48272831 114.54498091797 + 457850.180358251 5439086.48098566 114.548038 + 457850.238593495 5439086.32098647 114.421962 + + + + + + + + + 457850.23728545 5439086.32302879 114.418904915539 + 457850.234696507 5439086.32438331 114.416313244474 + 457850.17586547 5439086.483543 114.542389248966 + 457850.23728545 5439086.32302879 114.418904915539 + + + + + + + + + 457850.23728545 5439086.32302879 114.418904915539 + 457850.17586547 5439086.483543 114.542389248966 + 457850.178671472 5439086.48272831 114.54498091797 + 457850.23728545 5439086.32302879 114.418904915539 + + + + + + + + + 457850.234696507 5439086.32438331 114.416313244474 + 457850.231220807 5439086.32484383 114.414581545233 + 457850.172367433 5439086.48330571 114.540657551101 + 457850.234696507 5439086.32438331 114.416313244474 + + + + + + + + + 457850.234696507 5439086.32438331 114.416313244474 + 457850.172367433 5439086.48330571 114.540657551101 + 457850.17586547 5439086.483543 114.542389248966 + 457850.234696507 5439086.32438331 114.416313244474 + + + + + + + + + 457850.231220807 5439086.32484383 114.414581545233 + 457850.227387495 5439086.32434023 114.413973453325 + 457850.168709907 5439086.48205256 114.540049459677 + 457850.231220807 5439086.32484383 114.414581545233 + + + + + + + + + 457850.231220807 5439086.32484383 114.414581545233 + 457850.168709907 5439086.48205256 114.540049459677 + 457850.172367433 5439086.48330571 114.540657551101 + 457850.231220807 5439086.32484383 114.414581545233 + + + + + + + + + 457850.227387495 5439086.32434023 114.413973453325 + 457850.223780157 5439086.32294918 114.414581545233 + 457850.165449716 5439086.47997432 114.540657551101 + 457850.227387495 5439086.32434023 114.413973453325 + + + + + + + + + 457850.227387495 5439086.32434023 114.413973453325 + 457850.165449716 5439086.47997432 114.540657551101 + 457850.168709907 5439086.48205256 114.540049459677 + 457850.227387495 5439086.32434023 114.413973453325 + + + + + + + + + 457850.223780157 5439086.32294918 114.414581545233 + 457850.220947979 5439086.32088246 114.416313244474 + 457850.163083195 5439086.47738741 114.542389248966 + 457850.223780157 5439086.32294918 114.414581545233 + + + + + + + + + 457850.223780157 5439086.32294918 114.414581545233 + 457850.163083195 5439086.47738741 114.542389248966 + 457850.165449716 5439086.47997432 114.540657551101 + 457850.223780157 5439086.32294918 114.414581545233 + + + + + + + + + 457850.220947979 5439086.32088246 114.416313244474 + 457850.219322133 5439086.31845471 114.418904915539 + 457850.161970625 5439086.47468564 114.54498091797 + 457850.220947979 5439086.32088246 114.416313244474 + + + + + + + + + 457850.220947979 5439086.32088246 114.416313244474 + 457850.161970625 5439086.47468564 114.54498091797 + 457850.163083195 5439086.47738741 114.542389248966 + 457850.220947979 5439086.32088246 114.416313244474 + + + + + + + + + 457850.219322133 5439086.31845471 114.418904915539 + 457850.219150141 5439086.31603553 114.421962 + 457850.162281384 5439086.47228034 114.548038 + 457850.219322133 5439086.31845471 114.418904915539 + + + + + + + + + 457850.219322133 5439086.31845471 114.418904915539 + 457850.162281384 5439086.47228034 114.548038 + 457850.161970625 5439086.47468564 114.54498091797 + 457850.219322133 5439086.31845471 114.418904915539 + + + + + + + + + 457850.219150141 5439086.31603553 114.421962 + 457850.220458185 5439086.31399321 114.425019084461 + 457850.163968164 5439086.47053769 114.55109508203 + 457850.219150141 5439086.31603553 114.421962 + + + + + + + + + 457850.219150141 5439086.31603553 114.421962 + 457850.163968164 5439086.47053769 114.55109508203 + 457850.162281384 5439086.47228034 114.548038 + 457850.219150141 5439086.31603553 114.421962 + + + + + + + + + 457850.220458185 5439086.31399321 114.425019084461 + 457850.223047129 5439086.31263869 114.427610755526 + 457850.166774166 5439086.469723 114.553686751034 + 457850.220458185 5439086.31399321 114.425019084461 + + + + + + + + + 457850.220458185 5439086.31399321 114.425019084461 + 457850.166774166 5439086.469723 114.553686751034 + 457850.163968164 5439086.47053769 114.55109508203 + 457850.220458185 5439086.31399321 114.425019084461 + + + + + + + + + 457850.223047129 5439086.31263869 114.427610755526 + 457850.226522828 5439086.31217817 114.429342454767 + 457850.170272202 5439086.46996029 114.555418448899 + 457850.223047129 5439086.31263869 114.427610755526 + + + + + + + + + 457850.223047129 5439086.31263869 114.427610755526 + 457850.170272202 5439086.46996029 114.555418448899 + 457850.166774166 5439086.469723 114.553686751034 + 457850.223047129 5439086.31263869 114.427610755526 + + + + + + + + + 457850.226522828 5439086.31217817 114.429342454767 + 457850.23035614 5439086.31268177 114.429950546675 + 457850.173929728 5439086.47121344 114.556026540323 + 457850.226522828 5439086.31217817 114.429342454767 + + + + + + + + + 457850.226522828 5439086.31217817 114.429342454767 + 457850.173929728 5439086.47121344 114.556026540323 + 457850.170272202 5439086.46996029 114.555418448899 + 457850.226522828 5439086.31217817 114.429342454767 + + + + + + + + + 457850.23035614 5439086.31268177 114.429950546675 + 457850.233963478 5439086.31407282 114.429342454767 + 457850.177189919 5439086.47329168 114.555418448899 + 457850.23035614 5439086.31268177 114.429950546675 + + + + + + + + + 457850.23035614 5439086.31268177 114.429950546675 + 457850.177189919 5439086.47329168 114.555418448899 + 457850.173929728 5439086.47121344 114.556026540323 + 457850.23035614 5439086.31268177 114.429950546675 + + + + + + + + + 457850.177189919 5439086.47329168 114.555418448899 + 457850.179556441 5439086.47587859 114.553686751034 + 457850.161961455 5439086.50550838 114.578990290189 + 457850.177189919 5439086.47329168 114.555418448899 + + + + + + + + + 457850.177189919 5439086.47329168 114.555418448899 + 457850.161961455 5439086.50550838 114.578990290189 + 457850.159871282 5439086.50270706 114.580724605842 + 457850.177189919 5439086.47329168 114.555418448899 + + + + + + + + + 457850.179556441 5439086.47587859 114.553686751034 + 457850.180669011 5439086.47858036 114.55109508203 + 457850.162796305 5439086.50829945 114.576394703388 + 457850.179556441 5439086.47587859 114.553686751034 + + + + + + + + + 457850.179556441 5439086.47587859 114.553686751034 + 457850.162796305 5439086.50829945 114.576394703388 + 457850.161961455 5439086.50550838 114.578990290189 + 457850.179556441 5439086.47587859 114.553686751034 + + + + + + + + + 457850.180669011 5439086.47858036 114.55109508203 + 457850.180358251 5439086.48098566 114.548038 + 457850.162248732 5439086.51065534 114.573333 + 457850.180669011 5439086.47858036 114.55109508203 + + + + + + + + + 457850.180669011 5439086.47858036 114.55109508203 + 457850.162248732 5439086.51065534 114.573333 + 457850.162796305 5439086.50829945 114.576394703388 + 457850.180669011 5439086.47858036 114.55109508203 + + + + + + + + + 457850.180358251 5439086.48098566 114.548038 + 457850.178671472 5439086.48272831 114.54498091797 + 457850.160402101 5439086.5122174 114.570271296612 + 457850.180358251 5439086.48098566 114.548038 + + + + + + + + + 457850.180358251 5439086.48098566 114.548038 + 457850.160402101 5439086.5122174 114.570271296612 + 457850.162248732 5439086.51065534 114.573333 + 457850.180358251 5439086.48098566 114.548038 + + + + + + + + + 457850.178671472 5439086.48272831 114.54498091797 + 457850.17586547 5439086.483543 114.542389248966 + 457850.157537544 5439086.51274781 114.567675709811 + 457850.178671472 5439086.48272831 114.54498091797 + + + + + + + + + 457850.178671472 5439086.48272831 114.54498091797 + 457850.157537544 5439086.51274781 114.567675709811 + 457850.160402101 5439086.5122174 114.570271296612 + 457850.178671472 5439086.48272831 114.54498091797 + + + + + + + + + 457850.17586547 5439086.483543 114.542389248966 + 457850.172367433 5439086.48330571 114.540657551101 + 457850.154091163 5439086.51216583 114.565941394158 + 457850.17586547 5439086.483543 114.542389248966 + + + + + + + + + 457850.17586547 5439086.483543 114.542389248966 + 457850.154091163 5439086.51216583 114.565941394158 + 457850.157537544 5439086.51274781 114.567675709811 + 457850.17586547 5439086.483543 114.542389248966 + + + + + + + + + 457850.172367433 5439086.48330571 114.540657551101 + 457850.168709907 5439086.48205256 114.540049459677 + 457850.15058764 5439086.51056005 114.565332383489 + 457850.172367433 5439086.48330571 114.540657551101 + + + + + + + + + 457850.172367433 5439086.48330571 114.540657551101 + 457850.15058764 5439086.51056005 114.565332383489 + 457850.154091163 5439086.51216583 114.565941394158 + 457850.172367433 5439086.48330571 114.540657551101 + + + + + + + + + 457850.168709907 5439086.48205256 114.540049459677 + 457850.165449716 5439086.47997432 114.540657551101 + 457850.147560353 5439086.50817494 114.565941394158 + 457850.168709907 5439086.48205256 114.540049459677 + + + + + + + + + 457850.168709907 5439086.48205256 114.540049459677 + 457850.147560353 5439086.50817494 114.565941394158 + 457850.15058764 5439086.51056005 114.565332383489 + 457850.168709907 5439086.48205256 114.540049459677 + + + + + + + + + 457850.165449716 5439086.47997432 114.540657551101 + 457850.163083195 5439086.47738741 114.542389248966 + 457850.14547018 5439086.50537362 114.567675709811 + 457850.165449716 5439086.47997432 114.540657551101 + + + + + + + + + 457850.165449716 5439086.47997432 114.540657551101 + 457850.14547018 5439086.50537362 114.567675709811 + 457850.147560353 5439086.50817494 114.565941394158 + 457850.165449716 5439086.47997432 114.540657551101 + + + + + + + + + 457850.163083195 5439086.47738741 114.542389248966 + 457850.161970625 5439086.47468564 114.54498091797 + 457850.144635331 5439086.50258255 114.570271296612 + 457850.163083195 5439086.47738741 114.542389248966 + + + + + + + + + 457850.163083195 5439086.47738741 114.542389248966 + 457850.144635331 5439086.50258255 114.570271296612 + 457850.14547018 5439086.50537362 114.567675709811 + 457850.163083195 5439086.47738741 114.542389248966 + + + + + + + + + 457850.161970625 5439086.47468564 114.54498091797 + 457850.162281384 5439086.47228034 114.548038 + 457850.145182903 5439086.50022666 114.573333 + 457850.161970625 5439086.47468564 114.54498091797 + + + + + + + + + 457850.161970625 5439086.47468564 114.54498091797 + 457850.145182903 5439086.50022666 114.573333 + 457850.144635331 5439086.50258255 114.570271296612 + 457850.161970625 5439086.47468564 114.54498091797 + + + + + + + + + 457850.162281384 5439086.47228034 114.548038 + 457850.163968164 5439086.47053769 114.55109508203 + 457850.147029534 5439086.4986646 114.576394703388 + 457850.162281384 5439086.47228034 114.548038 + + + + + + + + + 457850.162281384 5439086.47228034 114.548038 + 457850.147029534 5439086.4986646 114.576394703388 + 457850.145182903 5439086.50022666 114.573333 + 457850.162281384 5439086.47228034 114.548038 + + + + + + + + + 457850.163968164 5439086.47053769 114.55109508203 + 457850.166774166 5439086.469723 114.553686751034 + 457850.149894091 5439086.49813419 114.578990290189 + 457850.163968164 5439086.47053769 114.55109508203 + + + + + + + + + 457850.163968164 5439086.47053769 114.55109508203 + 457850.149894091 5439086.49813419 114.578990290189 + 457850.147029534 5439086.4986646 114.576394703388 + 457850.163968164 5439086.47053769 114.55109508203 + + + + + + + + + 457850.166774166 5439086.469723 114.553686751034 + 457850.170272202 5439086.46996029 114.555418448899 + 457850.153340472 5439086.49871617 114.580724605842 + 457850.166774166 5439086.469723 114.553686751034 + + + + + + + + + 457850.166774166 5439086.469723 114.553686751034 + 457850.153340472 5439086.49871617 114.580724605842 + 457850.149894091 5439086.49813419 114.578990290189 + 457850.166774166 5439086.469723 114.553686751034 + + + + + + + + + 457850.170272202 5439086.46996029 114.555418448899 + 457850.173929728 5439086.47121344 114.556026540323 + 457850.156843995 5439086.50032195 114.581333616511 + 457850.170272202 5439086.46996029 114.555418448899 + + + + + + + + + 457850.170272202 5439086.46996029 114.555418448899 + 457850.156843995 5439086.50032195 114.581333616511 + 457850.153340472 5439086.49871617 114.580724605842 + 457850.170272202 5439086.46996029 114.555418448899 + + + + + + + + + 457850.173929728 5439086.47121344 114.556026540323 + 457850.177189919 5439086.47329168 114.555418448899 + 457850.159871282 5439086.50270706 114.580724605842 + 457850.173929728 5439086.47121344 114.556026540323 + + + + + + + + + 457850.173929728 5439086.47121344 114.556026540323 + 457850.159871282 5439086.50270706 114.580724605842 + 457850.156843995 5439086.50032195 114.581333616511 + 457850.173929728 5439086.47121344 114.556026540323 + + + + + + + + + 457850.159871282 5439086.50270706 114.580724605842 + 457850.161961455 5439086.50550838 114.578990290189 + 457850.091803211 5439086.62110515 114.679919479028 + 457850.159871282 5439086.50270706 114.580724605842 + + + + + + + + + 457850.159871282 5439086.50270706 114.580724605842 + 457850.091803211 5439086.62110515 114.679919479028 + 457850.089997021 5439086.61809955 114.681650173816 + 457850.159871282 5439086.50270706 114.580724605842 + + + + + + + + + 457850.161961455 5439086.50550838 114.578990290189 + 457850.162796305 5439086.50829945 114.576394703388 + 457850.09235716 5439086.62397539 114.677329311233 + 457850.161961455 5439086.50550838 114.578990290189 + + + + + + + + + 457850.161961455 5439086.50550838 114.578990290189 + 457850.09235716 5439086.62397539 114.677329311233 + 457850.091803211 5439086.62110515 114.679919479028 + 457850.161961455 5439086.50550838 114.578990290189 + + + + + + + + + 457850.162796305 5439086.50829945 114.576394703388 + 457850.162248732 5439086.51065534 114.573333 + 457850.091574533 5439086.62627329 114.674274 + 457850.162796305 5439086.50829945 114.576394703388 + + + + + + + + + 457850.162796305 5439086.50829945 114.576394703388 + 457850.091574533 5439086.62627329 114.674274 + 457850.09235716 5439086.62397539 114.677329311233 + 457850.162796305 5439086.50829945 114.576394703388 + + + + + + + + + 457850.162248732 5439086.51065534 114.573333 + 457850.160402101 5439086.5122174 114.570271296612 + 457850.089574479 5439086.62764903 114.671218688767 + 457850.162248732 5439086.51065534 114.573333 + + + + + + + + + 457850.162248732 5439086.51065534 114.573333 + 457850.089574479 5439086.62764903 114.671218688767 + 457850.091574533 5439086.62627329 114.674274 + 457850.162248732 5439086.51065534 114.573333 + + + + + + + + + 457850.160402101 5439086.5122174 114.570271296612 + 457850.157537544 5439086.51274781 114.567675709811 + 457850.086661488 5439086.62789315 114.668628520972 + 457850.160402101 5439086.5122174 114.570271296612 + + + + + + + + + 457850.160402101 5439086.5122174 114.570271296612 + 457850.086661488 5439086.62789315 114.668628520972 + 457850.089574479 5439086.62764903 114.671218688767 + 457850.160402101 5439086.5122174 114.570271296612 + + + + + + + + + 457850.157537544 5439086.51274781 114.567675709811 + 457850.154091163 5439086.51216583 114.565941394158 + 457850.083279036 5439086.6269685 114.666897826184 + 457850.157537544 5439086.51274781 114.567675709811 + + + + + + + + + 457850.157537544 5439086.51274781 114.567675709811 + 457850.083279036 5439086.6269685 114.666897826184 + 457850.086661488 5439086.62789315 114.668628520972 + 457850.157537544 5439086.51274781 114.567675709811 + + + + + + + + + 457850.154091163 5439086.51216583 114.565941394158 + 457850.15058764 5439086.51056005 114.565332383489 + 457850.07994207 5439086.62501584 114.666290086993 + 457850.154091163 5439086.51216583 114.565941394158 + + + + + + + + + 457850.154091163 5439086.51216583 114.565941394158 + 457850.07994207 5439086.62501584 114.666290086993 + 457850.083279036 5439086.6269685 114.666897826184 + 457850.154091163 5439086.51216583 114.565941394158 + + + + + + + + + 457850.15058764 5439086.51056005 114.565332383489 + 457850.147560353 5439086.50817494 114.565941394158 + 457850.077158615 5439086.62233245 114.666897826184 + 457850.15058764 5439086.51056005 114.565332383489 + + + + + + + + + 457850.15058764 5439086.51056005 114.565332383489 + 457850.077158615 5439086.62233245 114.666897826184 + 457850.07994207 5439086.62501584 114.666290086993 + 457850.15058764 5439086.51056005 114.565332383489 + + + + + + + + + 457850.147560353 5439086.50817494 114.565941394158 + 457850.14547018 5439086.50537362 114.567675709811 + 457850.075352424 5439086.61932685 114.668628520972 + 457850.147560353 5439086.50817494 114.565941394158 + + + + + + + + + 457850.147560353 5439086.50817494 114.565941394158 + 457850.075352424 5439086.61932685 114.668628520972 + 457850.077158615 5439086.62233245 114.666897826184 + 457850.147560353 5439086.50817494 114.565941394158 + + + + + + + + + 457850.14547018 5439086.50537362 114.567675709811 + 457850.144635331 5439086.50258255 114.570271296612 + 457850.074798476 5439086.61645661 114.671218688767 + 457850.14547018 5439086.50537362 114.567675709811 + + + + + + + + + 457850.14547018 5439086.50537362 114.567675709811 + 457850.074798476 5439086.61645661 114.671218688767 + 457850.075352424 5439086.61932685 114.668628520972 + 457850.14547018 5439086.50537362 114.567675709811 + + + + + + + + + 457850.144635331 5439086.50258255 114.570271296612 + 457850.145182903 5439086.50022666 114.573333 + 457850.075581102 5439086.61415871 114.674274 + 457850.144635331 5439086.50258255 114.570271296612 + + + + + + + + + 457850.144635331 5439086.50258255 114.570271296612 + 457850.075581102 5439086.61415871 114.674274 + 457850.074798476 5439086.61645661 114.671218688767 + 457850.144635331 5439086.50258255 114.570271296612 + + + + + + + + + 457850.145182903 5439086.50022666 114.573333 + 457850.147029534 5439086.4986646 114.576394703388 + 457850.077581156 5439086.61278297 114.677329311233 + 457850.145182903 5439086.50022666 114.573333 + + + + + + + + + 457850.145182903 5439086.50022666 114.573333 + 457850.077581156 5439086.61278297 114.677329311233 + 457850.075581102 5439086.61415871 114.674274 + 457850.145182903 5439086.50022666 114.573333 + + + + + + + + + 457850.147029534 5439086.4986646 114.576394703388 + 457850.149894091 5439086.49813419 114.578990290189 + 457850.080494147 5439086.61253885 114.679919479028 + 457850.147029534 5439086.4986646 114.576394703388 + + + + + + + + + 457850.147029534 5439086.4986646 114.576394703388 + 457850.080494147 5439086.61253885 114.679919479028 + 457850.077581156 5439086.61278297 114.677329311233 + 457850.147029534 5439086.4986646 114.576394703388 + + + + + + + + + 457850.149894091 5439086.49813419 114.578990290189 + 457850.153340472 5439086.49871617 114.580724605842 + 457850.0838766 5439086.6134635 114.681650173816 + 457850.149894091 5439086.49813419 114.578990290189 + + + + + + + + + 457850.149894091 5439086.49813419 114.578990290189 + 457850.0838766 5439086.6134635 114.681650173816 + 457850.080494147 5439086.61253885 114.679919479028 + 457850.149894091 5439086.49813419 114.578990290189 + + + + + + + + + 457850.153340472 5439086.49871617 114.580724605842 + 457850.156843995 5439086.50032195 114.581333616511 + 457850.087213565 5439086.61541616 114.682257913007 + 457850.153340472 5439086.49871617 114.580724605842 + + + + + + + + + 457850.153340472 5439086.49871617 114.580724605842 + 457850.087213565 5439086.61541616 114.682257913007 + 457850.0838766 5439086.6134635 114.681650173816 + 457850.153340472 5439086.49871617 114.580724605842 + + + + + + + + + 457850.156843995 5439086.50032195 114.581333616511 + 457850.159871282 5439086.50270706 114.580724605842 + 457850.089997021 5439086.61809955 114.681650173816 + 457850.156843995 5439086.50032195 114.581333616511 + + + + + + + + + 457850.156843995 5439086.50032195 114.581333616511 + 457850.089997021 5439086.61809955 114.681650173816 + 457850.087213565 5439086.61541616 114.682257913007 + 457850.156843995 5439086.50032195 114.581333616511 + + + + + + + + + 457850.089997021 5439086.61809955 114.681650173816 + 457850.091803211 5439086.62110515 114.679919479028 + 457850.021730201 5439086.69726795 114.757071067812 + 457850.089997021 5439086.61809955 114.681650173816 + + + + + + + + + 457850.089997021 5439086.61809955 114.681650173816 + 457850.021730201 5439086.69726795 114.757071067812 + 457850.019843735 5439086.69453136 114.759238795325 + 457850.089997021 5439086.61809955 114.681650173816 + + + + + + + + + 457850.091803211 5439086.62110515 114.679919479028 + 457850.09235716 5439086.62397539 114.677329311233 + 457850.02258335 5439086.69953549 114.753826834324 + 457850.091803211 5439086.62110515 114.679919479028 + + + + + + + + + 457850.091803211 5439086.62110515 114.679919479028 + 457850.02258335 5439086.69953549 114.753826834324 + 457850.021730201 5439086.69726795 114.757071067812 + 457850.091803211 5439086.62110515 114.679919479028 + + + + + + + + + 457850.09235716 5439086.62397539 114.677329311233 + 457850.091574533 5439086.62627329 114.674274 + 457850.022273297 5439086.70098877 114.75 + 457850.09235716 5439086.62397539 114.677329311233 + + + + + + + + + 457850.09235716 5439086.62397539 114.677329311233 + 457850.022273297 5439086.70098877 114.75 + 457850.02258335 5439086.69953549 114.753826834324 + 457850.09235716 5439086.62397539 114.677329311233 + + + + + + + + + 457850.091574533 5439086.62627329 114.674274 + 457850.089574479 5439086.62764903 114.671218688767 + 457850.020847245 5439086.70140654 114.746173165676 + 457850.091574533 5439086.62627329 114.674274 + + + + + + + + + 457850.091574533 5439086.62627329 114.674274 + 457850.020847245 5439086.70140654 114.746173165676 + 457850.022273297 5439086.70098877 114.75 + 457850.091574533 5439086.62627329 114.674274 + + + + + + + + + 457850.089574479 5439086.62764903 114.671218688767 + 457850.086661488 5439086.62789315 114.668628520972 + 457850.018522298 5439086.70072521 114.742928932188 + 457850.089574479 5439086.62764903 114.671218688767 + + + + + + + + + 457850.089574479 5439086.62764903 114.671218688767 + 457850.018522298 5439086.70072521 114.742928932188 + 457850.020847245 5439086.70140654 114.746173165676 + 457850.089574479 5439086.62764903 114.671218688767 + + + + + + + + + 457850.086661488 5439086.62789315 114.668628520972 + 457850.083279036 5439086.6269685 114.666897826184 + 457850.015652407 5439086.69904849 114.740761204675 + 457850.086661488 5439086.62789315 114.668628520972 + + + + + + + + + 457850.086661488 5439086.62789315 114.668628520972 + 457850.015652407 5439086.69904849 114.740761204675 + 457850.018522298 5439086.70072521 114.742928932188 + 457850.086661488 5439086.62789315 114.668628520972 + + + + + + + + + 457850.083279036 5439086.6269685 114.666897826184 + 457850.07994207 5439086.62501584 114.666290086993 + 457850.012674487 5439086.69663165 114.74 + 457850.083279036 5439086.6269685 114.666897826184 + + + + + + + + + 457850.083279036 5439086.6269685 114.666897826184 + 457850.012674487 5439086.69663165 114.74 + 457850.015652407 5439086.69904849 114.740761204675 + 457850.083279036 5439086.6269685 114.666897826184 + + + + + + + + + 457850.07994207 5439086.62501584 114.666290086993 + 457850.077158615 5439086.62233245 114.666897826184 + 457850.0100419 5439086.69384264 114.740761204675 + 457850.07994207 5439086.62501584 114.666290086993 + + + + + + + + + 457850.07994207 5439086.62501584 114.666290086993 + 457850.0100419 5439086.69384264 114.740761204675 + 457850.012674487 5439086.69663165 114.74 + 457850.07994207 5439086.62501584 114.666290086993 + + + + + + + + + 457850.077158615 5439086.62233245 114.666897826184 + 457850.075352424 5439086.61932685 114.668628520972 + 457850.008155434 5439086.69110605 114.742928932188 + 457850.077158615 5439086.62233245 114.666897826184 + + + + + + + + + 457850.077158615 5439086.62233245 114.666897826184 + 457850.008155434 5439086.69110605 114.742928932188 + 457850.0100419 5439086.69384264 114.740761204675 + 457850.077158615 5439086.62233245 114.666897826184 + + + + + + + + + 457850.075352424 5439086.61932685 114.668628520972 + 457850.074798476 5439086.61645661 114.671218688767 + 457850.007302285 5439086.68883851 114.746173165676 + 457850.075352424 5439086.61932685 114.668628520972 + + + + + + + + + 457850.075352424 5439086.61932685 114.668628520972 + 457850.007302285 5439086.68883851 114.746173165676 + 457850.008155434 5439086.69110605 114.742928932188 + 457850.075352424 5439086.61932685 114.668628520972 + + + + + + + + + 457850.074798476 5439086.61645661 114.671218688767 + 457850.075581102 5439086.61415871 114.674274 + 457850.007612338 5439086.68738523 114.75 + 457850.074798476 5439086.61645661 114.671218688767 + + + + + + + + + 457850.074798476 5439086.61645661 114.671218688767 + 457850.007612338 5439086.68738523 114.75 + 457850.007302285 5439086.68883851 114.746173165676 + 457850.074798476 5439086.61645661 114.671218688767 + + + + + + + + + 457850.075581102 5439086.61415871 114.674274 + 457850.077581156 5439086.61278297 114.677329311233 + 457850.00903839 5439086.68696746 114.753826834324 + 457850.075581102 5439086.61415871 114.674274 + + + + + + + + + 457850.075581102 5439086.61415871 114.674274 + 457850.00903839 5439086.68696746 114.753826834324 + 457850.007612338 5439086.68738523 114.75 + 457850.075581102 5439086.61415871 114.674274 + + + + + + + + + 457850.077581156 5439086.61278297 114.677329311233 + 457850.080494147 5439086.61253885 114.679919479028 + 457850.011363338 5439086.68764879 114.757071067812 + 457850.077581156 5439086.61278297 114.677329311233 + + + + + + + + + 457850.077581156 5439086.61278297 114.677329311233 + 457850.011363338 5439086.68764879 114.757071067812 + 457850.00903839 5439086.68696746 114.753826834324 + 457850.077581156 5439086.61278297 114.677329311233 + + + + + + + + + 457850.080494147 5439086.61253885 114.679919479028 + 457850.0838766 5439086.6134635 114.681650173816 + 457850.014233229 5439086.68932551 114.759238795325 + 457850.080494147 5439086.61253885 114.679919479028 + + + + + + + + + 457850.080494147 5439086.61253885 114.679919479028 + 457850.014233229 5439086.68932551 114.759238795325 + 457850.011363338 5439086.68764879 114.757071067812 + 457850.080494147 5439086.61253885 114.679919479028 + + + + + + + + + 457850.0838766 5439086.6134635 114.681650173816 + 457850.087213565 5439086.61541616 114.682257913007 + 457850.017211148 5439086.69174235 114.76 + 457850.0838766 5439086.6134635 114.681650173816 + + + + + + + + + 457850.0838766 5439086.6134635 114.681650173816 + 457850.017211148 5439086.69174235 114.76 + 457850.014233229 5439086.68932551 114.759238795325 + 457850.0838766 5439086.6134635 114.681650173816 + + + + + + + + + 457850.087213565 5439086.61541616 114.682257913007 + 457850.089997021 5439086.61809955 114.681650173816 + 457850.019843735 5439086.69453136 114.759238795325 + 457850.087213565 5439086.61541616 114.682257913007 + + + + + + + + + 457850.087213565 5439086.61541616 114.682257913007 + 457850.019843735 5439086.69453136 114.759238795325 + 457850.017211148 5439086.69174235 114.76 + 457850.087213565 5439086.61541616 114.682257913007 + + + + + + + + + 457850.019843735 5439086.69453136 114.759238795325 + 457850.021730201 5439086.69726795 114.757071067812 + 457849.973826979 5439086.74889425 114.757071067812 + 457849.971669609 5439086.74644963 114.759238795325 + 457850.019843735 5439086.69453136 114.759238795325 + + + + + + + + + 457850.021730201 5439086.69726795 114.757071067812 + 457850.02258335 5439086.69953549 114.753826834324 + 457849.975268487 5439086.7505277 114.753826834324 + 457849.973826979 5439086.74889425 114.757071067812 + 457850.021730201 5439086.69726795 114.757071067812 + + + + + + + + + 457850.02258335 5439086.69953549 114.753826834324 + 457850.022273297 5439086.70098877 114.75 + 457849.975774678 5439086.75110129 114.75 + 457849.975268487 5439086.7505277 114.753826834324 + 457850.02258335 5439086.69953549 114.753826834324 + + + + + + + + + 457850.022273297 5439086.70098877 114.75 + 457850.020847245 5439086.70140654 114.746173165676 + 457849.975268487 5439086.7505277 114.746173165676 + 457849.975774678 5439086.75110129 114.75 + 457850.022273297 5439086.70098877 114.75 + + + + + + + + + 457850.020847245 5439086.70140654 114.746173165676 + 457850.018522298 5439086.70072521 114.742928932188 + 457849.973826979 5439086.74889425 114.742928932188 + 457849.975268487 5439086.7505277 114.746173165676 + 457850.020847245 5439086.70140654 114.746173165676 + + + + + + + + + 457850.018522298 5439086.70072521 114.742928932188 + 457850.015652407 5439086.69904849 114.740761204675 + 457849.971669609 5439086.74644963 114.740761204675 + 457849.973826979 5439086.74889425 114.742928932188 + 457850.018522298 5439086.70072521 114.742928932188 + + + + + + + + + 457850.015652407 5439086.69904849 114.740761204675 + 457850.012674487 5439086.69663165 114.74 + 457849.969124818 5439086.743566 114.74 + 457849.971669609 5439086.74644963 114.740761204675 + 457850.015652407 5439086.69904849 114.740761204675 + + + + + + + + + 457850.012674487 5439086.69663165 114.74 + 457850.0100419 5439086.69384264 114.740761204675 + 457849.966580026 5439086.74068237 114.740761204675 + 457849.969124818 5439086.743566 114.74 + 457850.012674487 5439086.69663165 114.74 + + + + + + + + + 457850.0100419 5439086.69384264 114.740761204675 + 457850.008155434 5439086.69110605 114.742928932188 + 457849.964422657 5439086.73823775 114.742928932188 + 457849.966580026 5439086.74068237 114.740761204675 + 457850.0100419 5439086.69384264 114.740761204675 + + + + + + + + + 457850.008155434 5439086.69110605 114.742928932188 + 457850.007302285 5439086.68883851 114.746173165676 + 457849.962981148 5439086.7366043 114.746173165676 + 457849.964422657 5439086.73823775 114.742928932188 + 457850.008155434 5439086.69110605 114.742928932188 + + + + + + + + + 457850.007302285 5439086.68883851 114.746173165676 + 457850.007612338 5439086.68738523 114.75 + 457849.962474958 5439086.73603071 114.75 + 457849.962981148 5439086.7366043 114.746173165676 + 457850.007302285 5439086.68883851 114.746173165676 + + + + + + + + + 457850.007612338 5439086.68738523 114.75 + 457850.00903839 5439086.68696746 114.753826834324 + 457849.962981148 5439086.7366043 114.753826834324 + 457849.962474958 5439086.73603071 114.75 + 457850.007612338 5439086.68738523 114.75 + + + + + + + + + 457850.00903839 5439086.68696746 114.753826834324 + 457850.011363338 5439086.68764879 114.757071067812 + 457849.964422657 5439086.73823775 114.757071067812 + 457849.962981148 5439086.7366043 114.753826834324 + 457850.00903839 5439086.68696746 114.753826834324 + + + + + + + + + 457850.011363338 5439086.68764879 114.757071067812 + 457850.014233229 5439086.68932551 114.759238795325 + 457849.966580026 5439086.74068237 114.759238795325 + 457849.964422657 5439086.73823775 114.757071067812 + 457850.011363338 5439086.68764879 114.757071067812 + + + + + + + + + 457850.014233229 5439086.68932551 114.759238795325 + 457850.017211148 5439086.69174235 114.76 + 457849.969124818 5439086.743566 114.76 + 457849.966580026 5439086.74068237 114.759238795325 + 457850.014233229 5439086.68932551 114.759238795325 + + + + + + + + + 457850.017211148 5439086.69174235 114.76 + 457850.019843735 5439086.69453136 114.759238795325 + 457849.971669609 5439086.74644963 114.759238795325 + 457849.969124818 5439086.743566 114.76 + 457850.017211148 5439086.69174235 114.76 + + + + + + + + + 457849.971669609 5439086.74644963 114.759238795325 + 457849.973826979 5439086.74889425 114.757071067812 + 457849.842369778 5439086.84340558 114.757071067812 + 457849.842236037 5439086.83950606 114.759238795325 + 457849.971669609 5439086.74644963 114.759238795325 + + + + + + + + + 457849.973826979 5439086.74889425 114.757071067812 + 457849.975268487 5439086.7505277 114.753826834324 + 457849.841001059 5439086.84705944 114.753826834324 + 457849.842369778 5439086.84340558 114.757071067812 + 457849.973826979 5439086.74889425 114.757071067812 + + + + + + + + + 457849.975268487 5439086.7505277 114.753826834324 + 457849.975774678 5439086.75110129 114.75 + 457849.838338256 5439086.84991138 114.75 + 457849.841001059 5439086.84705944 114.753826834324 + 457849.975268487 5439086.7505277 114.753826834324 + + + + + + + + + 457849.975774678 5439086.75110129 114.75 + 457849.975268487 5439086.7505277 114.746173165676 + 457849.834786755 5439086.85152722 114.746173165676 + 457849.838338256 5439086.84991138 114.75 + 457849.975774678 5439086.75110129 114.75 + + + + + + + + + 457849.975268487 5439086.7505277 114.746173165676 + 457849.973826979 5439086.74889425 114.742928932188 + 457849.830887242 5439086.85166096 114.742928932188 + 457849.834786755 5439086.85152722 114.746173165676 + 457849.975268487 5439086.7505277 114.746173165676 + + + + + + + + + 457849.973826979 5439086.74889425 114.742928932188 + 457849.971669609 5439086.74644963 114.740761204675 + 457849.82723338 5439086.85029224 114.740761204675 + 457849.830887242 5439086.85166096 114.742928932188 + 457849.973826979 5439086.74889425 114.742928932188 + + + + + + + + + 457849.971669609 5439086.74644963 114.740761204675 + 457849.969124818 5439086.743566 114.74 + 457849.824381439 5439086.84762944 114.74 + 457849.82723338 5439086.85029224 114.740761204675 + 457849.971669609 5439086.74644963 114.740761204675 + + + + + + + + + 457849.969124818 5439086.743566 114.74 + 457849.966580026 5439086.74068237 114.740761204675 + 457849.822765599 5439086.84407794 114.740761204675 + 457849.824381439 5439086.84762944 114.74 + 457849.969124818 5439086.743566 114.74 + + + + + + + + + 457849.966580026 5439086.74068237 114.740761204675 + 457849.964422657 5439086.73823775 114.742928932188 + 457849.822631858 5439086.84017842 114.742928932188 + 457849.822765599 5439086.84407794 114.740761204675 + 457849.966580026 5439086.74068237 114.740761204675 + + + + + + + + + 457849.964422657 5439086.73823775 114.742928932188 + 457849.962981148 5439086.7366043 114.746173165676 + 457849.824000576 5439086.83652456 114.746173165676 + 457849.822631858 5439086.84017842 114.742928932188 + 457849.964422657 5439086.73823775 114.742928932188 + + + + + + + + + 457849.962981148 5439086.7366043 114.746173165676 + 457849.962474958 5439086.73603071 114.75 + 457849.82666338 5439086.83367262 114.75 + 457849.824000576 5439086.83652456 114.746173165676 + 457849.962981148 5439086.7366043 114.746173165676 + + + + + + + + + 457849.962474958 5439086.73603071 114.75 + 457849.962981148 5439086.7366043 114.753826834324 + 457849.83021488 5439086.83205678 114.753826834324 + 457849.82666338 5439086.83367262 114.75 + 457849.962474958 5439086.73603071 114.75 + + + + + + + + + 457849.962981148 5439086.7366043 114.753826834324 + 457849.964422657 5439086.73823775 114.757071067812 + 457849.834114394 5439086.83192304 114.757071067812 + 457849.83021488 5439086.83205678 114.753826834324 + 457849.962981148 5439086.7366043 114.753826834324 + + + + + + + + + 457849.964422657 5439086.73823775 114.757071067812 + 457849.966580026 5439086.74068237 114.759238795325 + 457849.837768255 5439086.83329176 114.759238795325 + 457849.834114394 5439086.83192304 114.757071067812 + 457849.964422657 5439086.73823775 114.757071067812 + + + + + + + + + 457849.966580026 5439086.74068237 114.759238795325 + 457849.969124818 5439086.743566 114.76 + 457849.840620197 5439086.83595456 114.76 + 457849.837768255 5439086.83329176 114.759238795325 + 457849.966580026 5439086.74068237 114.759238795325 + + + + + + + + + 457849.969124818 5439086.743566 114.76 + 457849.971669609 5439086.74644963 114.759238795325 + 457849.842236037 5439086.83950606 114.759238795325 + 457849.840620197 5439086.83595456 114.76 + 457849.969124818 5439086.743566 114.76 + + + + + + + + + 457849.842236037 5439086.83950606 114.759238795325 + 457849.842369778 5439086.84340558 114.757071067812 + 457849.842369778 5439086.84340558 115.542928932188 + 457849.842236037 5439086.83950606 115.540761204675 + 457849.842236037 5439086.83950606 114.759238795325 + + + + + + + + + 457849.842369778 5439086.84340558 114.757071067812 + 457849.841001059 5439086.84705944 114.753826834324 + 457849.841001059 5439086.84705944 115.546173165676 + 457849.842369778 5439086.84340558 115.542928932188 + 457849.842369778 5439086.84340558 114.757071067812 + + + + + + + + + 457849.841001059 5439086.84705944 114.753826834324 + 457849.838338256 5439086.84991138 114.75 + 457849.838338256 5439086.84991138 115.55 + 457849.841001059 5439086.84705944 115.546173165676 + 457849.841001059 5439086.84705944 114.753826834324 + + + + + + + + + 457849.838338256 5439086.84991138 114.75 + 457849.834786755 5439086.85152722 114.746173165676 + 457849.834786755 5439086.85152722 115.553826834324 + 457849.838338256 5439086.84991138 115.55 + 457849.838338256 5439086.84991138 114.75 + + + + + + + + + 457849.834786755 5439086.85152722 114.746173165676 + 457849.830887242 5439086.85166096 114.742928932188 + 457849.830887242 5439086.85166096 115.557071067812 + 457849.834786755 5439086.85152722 115.553826834324 + 457849.834786755 5439086.85152722 114.746173165676 + + + + + + + + + 457849.830887242 5439086.85166096 114.742928932188 + 457849.82723338 5439086.85029224 114.740761204675 + 457849.82723338 5439086.85029224 115.559238795325 + 457849.830887242 5439086.85166096 115.557071067812 + 457849.830887242 5439086.85166096 114.742928932188 + + + + + + + + + 457849.82723338 5439086.85029224 114.740761204675 + 457849.824381439 5439086.84762944 114.74 + 457849.824381439 5439086.84762944 115.56 + 457849.82723338 5439086.85029224 115.559238795325 + 457849.82723338 5439086.85029224 114.740761204675 + + + + + + + + + 457849.824381439 5439086.84762944 114.74 + 457849.822765599 5439086.84407794 114.740761204675 + 457849.822765599 5439086.84407794 115.559238795325 + 457849.824381439 5439086.84762944 115.56 + 457849.824381439 5439086.84762944 114.74 + + + + + + + + + 457849.822765599 5439086.84407794 114.740761204675 + 457849.822631858 5439086.84017842 114.742928932188 + 457849.822631858 5439086.84017842 115.557071067812 + 457849.822765599 5439086.84407794 115.559238795325 + 457849.822765599 5439086.84407794 114.740761204675 + + + + + + + + + 457849.822631858 5439086.84017842 114.742928932188 + 457849.824000576 5439086.83652456 114.746173165676 + 457849.824000576 5439086.83652456 115.553826834324 + 457849.822631858 5439086.84017842 115.557071067812 + 457849.822631858 5439086.84017842 114.742928932188 + + + + + + + + + 457849.824000576 5439086.83652456 114.746173165676 + 457849.82666338 5439086.83367262 114.75 + 457849.82666338 5439086.83367262 115.55 + 457849.824000576 5439086.83652456 115.553826834324 + 457849.824000576 5439086.83652456 114.746173165676 + + + + + + + + + 457849.82666338 5439086.83367262 114.75 + 457849.83021488 5439086.83205678 114.753826834324 + 457849.83021488 5439086.83205678 115.546173165676 + 457849.82666338 5439086.83367262 115.55 + 457849.82666338 5439086.83367262 114.75 + + + + + + + + + 457849.83021488 5439086.83205678 114.753826834324 + 457849.834114394 5439086.83192304 114.757071067812 + 457849.834114394 5439086.83192304 115.542928932188 + 457849.83021488 5439086.83205678 115.546173165676 + 457849.83021488 5439086.83205678 114.753826834324 + + + + + + + + + 457849.834114394 5439086.83192304 114.757071067812 + 457849.837768255 5439086.83329176 114.759238795325 + 457849.837768255 5439086.83329176 115.540761204675 + 457849.834114394 5439086.83192304 115.542928932188 + 457849.834114394 5439086.83192304 114.757071067812 + + + + + + + + + 457849.837768255 5439086.83329176 114.759238795325 + 457849.840620197 5439086.83595456 114.76 + 457849.840620197 5439086.83595456 115.54 + 457849.837768255 5439086.83329176 115.540761204675 + 457849.837768255 5439086.83329176 114.759238795325 + + + + + + + + + 457849.840620197 5439086.83595456 114.76 + 457849.842236037 5439086.83950606 114.759238795325 + 457849.842236037 5439086.83950606 115.540761204675 + 457849.840620197 5439086.83595456 115.54 + 457849.840620197 5439086.83595456 114.76 + + + + + + + + + 457849.842236037 5439086.83950606 115.540761204675 + 457849.842369778 5439086.84340558 115.542928932188 + 457849.973826979 5439086.74889425 115.542928932188 + 457849.971669609 5439086.74644963 115.540761204675 + 457849.842236037 5439086.83950606 115.540761204675 + + + + + + + + + 457849.842369778 5439086.84340558 115.542928932188 + 457849.841001059 5439086.84705944 115.546173165676 + 457849.975268487 5439086.7505277 115.546173165676 + 457849.973826979 5439086.74889425 115.542928932188 + 457849.842369778 5439086.84340558 115.542928932188 + + + + + + + + + 457849.841001059 5439086.84705944 115.546173165676 + 457849.838338256 5439086.84991138 115.55 + 457849.975774678 5439086.75110129 115.55 + 457849.975268487 5439086.7505277 115.546173165676 + 457849.841001059 5439086.84705944 115.546173165676 + + + + + + + + + 457849.838338256 5439086.84991138 115.55 + 457849.834786755 5439086.85152722 115.553826834324 + 457849.975268487 5439086.7505277 115.553826834324 + 457849.975774678 5439086.75110129 115.55 + 457849.838338256 5439086.84991138 115.55 + + + + + + + + + 457849.834786755 5439086.85152722 115.553826834324 + 457849.830887242 5439086.85166096 115.557071067812 + 457849.973826979 5439086.74889425 115.557071067812 + 457849.975268487 5439086.7505277 115.553826834324 + 457849.834786755 5439086.85152722 115.553826834324 + + + + + + + + + 457849.830887242 5439086.85166096 115.557071067812 + 457849.82723338 5439086.85029224 115.559238795325 + 457849.971669609 5439086.74644963 115.559238795325 + 457849.973826979 5439086.74889425 115.557071067812 + 457849.830887242 5439086.85166096 115.557071067812 + + + + + + + + + 457849.82723338 5439086.85029224 115.559238795325 + 457849.824381439 5439086.84762944 115.56 + 457849.969124818 5439086.743566 115.56 + 457849.971669609 5439086.74644963 115.559238795325 + 457849.82723338 5439086.85029224 115.559238795325 + + + + + + + + + 457849.824381439 5439086.84762944 115.56 + 457849.822765599 5439086.84407794 115.559238795325 + 457849.966580026 5439086.74068237 115.559238795325 + 457849.969124818 5439086.743566 115.56 + 457849.824381439 5439086.84762944 115.56 + + + + + + + + + 457849.822765599 5439086.84407794 115.559238795325 + 457849.822631858 5439086.84017842 115.557071067812 + 457849.964422657 5439086.73823775 115.557071067812 + 457849.966580026 5439086.74068237 115.559238795325 + 457849.822765599 5439086.84407794 115.559238795325 + + + + + + + + + 457849.822631858 5439086.84017842 115.557071067812 + 457849.824000576 5439086.83652456 115.553826834324 + 457849.962981148 5439086.7366043 115.553826834324 + 457849.964422657 5439086.73823775 115.557071067812 + 457849.822631858 5439086.84017842 115.557071067812 + + + + + + + + + 457849.824000576 5439086.83652456 115.553826834324 + 457849.82666338 5439086.83367262 115.55 + 457849.962474958 5439086.73603071 115.55 + 457849.962981148 5439086.7366043 115.553826834324 + 457849.824000576 5439086.83652456 115.553826834324 + + + + + + + + + 457849.82666338 5439086.83367262 115.55 + 457849.83021488 5439086.83205678 115.546173165676 + 457849.962981148 5439086.7366043 115.546173165676 + 457849.962474958 5439086.73603071 115.55 + 457849.82666338 5439086.83367262 115.55 + + + + + + + + + 457849.83021488 5439086.83205678 115.546173165676 + 457849.834114394 5439086.83192304 115.542928932188 + 457849.964422657 5439086.73823775 115.542928932188 + 457849.962981148 5439086.7366043 115.546173165676 + 457849.83021488 5439086.83205678 115.546173165676 + + + + + + + + + 457849.834114394 5439086.83192304 115.542928932188 + 457849.837768255 5439086.83329176 115.540761204675 + 457849.966580026 5439086.74068237 115.540761204675 + 457849.964422657 5439086.73823775 115.542928932188 + 457849.834114394 5439086.83192304 115.542928932188 + + + + + + + + + 457849.837768255 5439086.83329176 115.540761204675 + 457849.840620197 5439086.83595456 115.54 + 457849.969124818 5439086.743566 115.54 + 457849.966580026 5439086.74068237 115.540761204675 + 457849.837768255 5439086.83329176 115.540761204675 + + + + + + + + + 457849.840620197 5439086.83595456 115.54 + 457849.842236037 5439086.83950606 115.540761204675 + 457849.971669609 5439086.74644963 115.540761204675 + 457849.969124818 5439086.743566 115.54 + 457849.840620197 5439086.83595456 115.54 + + + + + + + + + 457849.971669609 5439086.74644963 115.540761204675 + 457849.973826979 5439086.74889425 115.542928932188 + 457850.018522298 5439086.70072521 115.542928932188 + 457850.015652407 5439086.69904849 115.540761204675 + 457849.971669609 5439086.74644963 115.540761204675 + + + + + + + + + 457849.973826979 5439086.74889425 115.542928932188 + 457849.975268487 5439086.7505277 115.546173165676 + 457850.020847245 5439086.70140654 115.546173165676 + 457850.018522298 5439086.70072521 115.542928932188 + 457849.973826979 5439086.74889425 115.542928932188 + + + + + + + + + 457849.975268487 5439086.7505277 115.546173165676 + 457849.975774678 5439086.75110129 115.55 + 457850.022273297 5439086.70098877 115.55 + 457850.020847245 5439086.70140654 115.546173165676 + 457849.975268487 5439086.7505277 115.546173165676 + + + + + + + + + 457849.975774678 5439086.75110129 115.55 + 457849.975268487 5439086.7505277 115.553826834324 + 457850.02258335 5439086.69953549 115.553826834324 + 457850.022273297 5439086.70098877 115.55 + 457849.975774678 5439086.75110129 115.55 + + + + + + + + + 457849.975268487 5439086.7505277 115.553826834324 + 457849.973826979 5439086.74889425 115.557071067812 + 457850.021730201 5439086.69726795 115.557071067812 + 457850.02258335 5439086.69953549 115.553826834324 + 457849.975268487 5439086.7505277 115.553826834324 + + + + + + + + + 457849.973826979 5439086.74889425 115.557071067812 + 457849.971669609 5439086.74644963 115.559238795325 + 457850.019843735 5439086.69453136 115.559238795325 + 457850.021730201 5439086.69726795 115.557071067812 + 457849.973826979 5439086.74889425 115.557071067812 + + + + + + + + + 457849.971669609 5439086.74644963 115.559238795325 + 457849.969124818 5439086.743566 115.56 + 457850.017211148 5439086.69174235 115.56 + 457850.019843735 5439086.69453136 115.559238795325 + 457849.971669609 5439086.74644963 115.559238795325 + + + + + + + + + 457849.969124818 5439086.743566 115.56 + 457849.966580026 5439086.74068237 115.559238795325 + 457850.014233229 5439086.68932551 115.559238795325 + 457850.017211148 5439086.69174235 115.56 + 457849.969124818 5439086.743566 115.56 + + + + + + + + + 457849.966580026 5439086.74068237 115.559238795325 + 457849.964422657 5439086.73823775 115.557071067812 + 457850.011363338 5439086.68764879 115.557071067812 + 457850.014233229 5439086.68932551 115.559238795325 + 457849.966580026 5439086.74068237 115.559238795325 + + + + + + + + + 457849.964422657 5439086.73823775 115.557071067812 + 457849.962981148 5439086.7366043 115.553826834324 + 457850.00903839 5439086.68696746 115.553826834324 + 457850.011363338 5439086.68764879 115.557071067812 + 457849.964422657 5439086.73823775 115.557071067812 + + + + + + + + + 457849.962981148 5439086.7366043 115.553826834324 + 457849.962474958 5439086.73603071 115.55 + 457850.007612338 5439086.68738523 115.55 + 457850.00903839 5439086.68696746 115.553826834324 + 457849.962981148 5439086.7366043 115.553826834324 + + + + + + + + + 457849.962474958 5439086.73603071 115.55 + 457849.962981148 5439086.7366043 115.546173165676 + 457850.007302285 5439086.68883851 115.546173165676 + 457850.007612338 5439086.68738523 115.55 + 457849.962474958 5439086.73603071 115.55 + + + + + + + + + 457849.962981148 5439086.7366043 115.546173165676 + 457849.964422657 5439086.73823775 115.542928932188 + 457850.008155434 5439086.69110605 115.542928932188 + 457850.007302285 5439086.68883851 115.546173165676 + 457849.962981148 5439086.7366043 115.546173165676 + + + + + + + + + 457849.964422657 5439086.73823775 115.542928932188 + 457849.966580026 5439086.74068237 115.540761204675 + 457850.0100419 5439086.69384264 115.540761204675 + 457850.008155434 5439086.69110605 115.542928932188 + 457849.964422657 5439086.73823775 115.542928932188 + + + + + + + + + 457849.966580026 5439086.74068237 115.540761204675 + 457849.969124818 5439086.743566 115.54 + 457850.012674487 5439086.69663165 115.54 + 457850.0100419 5439086.69384264 115.540761204675 + 457849.966580026 5439086.74068237 115.540761204675 + + + + + + + + + 457849.969124818 5439086.743566 115.54 + 457849.971669609 5439086.74644963 115.540761204675 + 457850.015652407 5439086.69904849 115.540761204675 + 457850.012674487 5439086.69663165 115.54 + 457849.969124818 5439086.743566 115.54 + + + + + + + + + 457850.015652407 5439086.69904849 115.540761204675 + 457850.018522298 5439086.70072521 115.542928932188 + 457850.086661488 5439086.62789315 115.468628520972 + 457850.015652407 5439086.69904849 115.540761204675 + + + + + + + + + 457850.015652407 5439086.69904849 115.540761204675 + 457850.086661488 5439086.62789315 115.468628520972 + 457850.083279036 5439086.6269685 115.466897826184 + 457850.015652407 5439086.69904849 115.540761204675 + + + + + + + + + 457850.018522298 5439086.70072521 115.542928932188 + 457850.020847245 5439086.70140654 115.546173165676 + 457850.089574479 5439086.62764903 115.471218688767 + 457850.018522298 5439086.70072521 115.542928932188 + + + + + + + + + 457850.018522298 5439086.70072521 115.542928932188 + 457850.089574479 5439086.62764903 115.471218688767 + 457850.086661488 5439086.62789315 115.468628520972 + 457850.018522298 5439086.70072521 115.542928932188 + + + + + + + + + 457850.020847245 5439086.70140654 115.546173165676 + 457850.022273297 5439086.70098877 115.55 + 457850.091574533 5439086.62627329 115.474274 + 457850.020847245 5439086.70140654 115.546173165676 + + + + + + + + + 457850.020847245 5439086.70140654 115.546173165676 + 457850.091574533 5439086.62627329 115.474274 + 457850.089574479 5439086.62764903 115.471218688767 + 457850.020847245 5439086.70140654 115.546173165676 + + + + + + + + + 457850.022273297 5439086.70098877 115.55 + 457850.02258335 5439086.69953549 115.553826834324 + 457850.09235716 5439086.62397539 115.477329311233 + 457850.022273297 5439086.70098877 115.55 + + + + + + + + + 457850.022273297 5439086.70098877 115.55 + 457850.09235716 5439086.62397539 115.477329311233 + 457850.091574533 5439086.62627329 115.474274 + 457850.022273297 5439086.70098877 115.55 + + + + + + + + + 457850.02258335 5439086.69953549 115.553826834324 + 457850.021730201 5439086.69726795 115.557071067812 + 457850.091803211 5439086.62110515 115.479919479028 + 457850.02258335 5439086.69953549 115.553826834324 + + + + + + + + + 457850.02258335 5439086.69953549 115.553826834324 + 457850.091803211 5439086.62110515 115.479919479028 + 457850.09235716 5439086.62397539 115.477329311233 + 457850.02258335 5439086.69953549 115.553826834324 + + + + + + + + + 457850.021730201 5439086.69726795 115.557071067812 + 457850.019843735 5439086.69453136 115.559238795325 + 457850.089997021 5439086.61809955 115.481650173816 + 457850.021730201 5439086.69726795 115.557071067812 + + + + + + + + + 457850.021730201 5439086.69726795 115.557071067812 + 457850.089997021 5439086.61809955 115.481650173816 + 457850.091803211 5439086.62110515 115.479919479028 + 457850.021730201 5439086.69726795 115.557071067812 + + + + + + + + + 457850.019843735 5439086.69453136 115.559238795325 + 457850.017211148 5439086.69174235 115.56 + 457850.087213565 5439086.61541616 115.482257913007 + 457850.019843735 5439086.69453136 115.559238795325 + + + + + + + + + 457850.019843735 5439086.69453136 115.559238795325 + 457850.087213565 5439086.61541616 115.482257913007 + 457850.089997021 5439086.61809955 115.481650173816 + 457850.019843735 5439086.69453136 115.559238795325 + + + + + + + + + 457850.017211148 5439086.69174235 115.56 + 457850.014233229 5439086.68932551 115.559238795325 + 457850.0838766 5439086.6134635 115.481650173816 + 457850.017211148 5439086.69174235 115.56 + + + + + + + + + 457850.017211148 5439086.69174235 115.56 + 457850.0838766 5439086.6134635 115.481650173816 + 457850.087213565 5439086.61541616 115.482257913007 + 457850.017211148 5439086.69174235 115.56 + + + + + + + + + 457850.014233229 5439086.68932551 115.559238795325 + 457850.011363338 5439086.68764879 115.557071067812 + 457850.080494147 5439086.61253885 115.479919479028 + 457850.014233229 5439086.68932551 115.559238795325 + + + + + + + + + 457850.014233229 5439086.68932551 115.559238795325 + 457850.080494147 5439086.61253885 115.479919479028 + 457850.0838766 5439086.6134635 115.481650173816 + 457850.014233229 5439086.68932551 115.559238795325 + + + + + + + + + 457850.011363338 5439086.68764879 115.557071067812 + 457850.00903839 5439086.68696746 115.553826834324 + 457850.077581156 5439086.61278297 115.477329311233 + 457850.011363338 5439086.68764879 115.557071067812 + + + + + + + + + 457850.011363338 5439086.68764879 115.557071067812 + 457850.077581156 5439086.61278297 115.477329311233 + 457850.080494147 5439086.61253885 115.479919479028 + 457850.011363338 5439086.68764879 115.557071067812 + + + + + + + + + 457850.00903839 5439086.68696746 115.553826834324 + 457850.007612338 5439086.68738523 115.55 + 457850.075581102 5439086.61415871 115.474274 + 457850.00903839 5439086.68696746 115.553826834324 + + + + + + + + + 457850.00903839 5439086.68696746 115.553826834324 + 457850.075581102 5439086.61415871 115.474274 + 457850.077581156 5439086.61278297 115.477329311233 + 457850.00903839 5439086.68696746 115.553826834324 + + + + + + + + + 457850.007612338 5439086.68738523 115.55 + 457850.007302285 5439086.68883851 115.546173165676 + 457850.074798476 5439086.61645661 115.471218688767 + 457850.007612338 5439086.68738523 115.55 + + + + + + + + + 457850.007612338 5439086.68738523 115.55 + 457850.074798476 5439086.61645661 115.471218688767 + 457850.075581102 5439086.61415871 115.474274 + 457850.007612338 5439086.68738523 115.55 + + + + + + + + + 457850.007302285 5439086.68883851 115.546173165676 + 457850.008155434 5439086.69110605 115.542928932188 + 457850.075352424 5439086.61932685 115.468628520972 + 457850.007302285 5439086.68883851 115.546173165676 + + + + + + + + + 457850.007302285 5439086.68883851 115.546173165676 + 457850.075352424 5439086.61932685 115.468628520972 + 457850.074798476 5439086.61645661 115.471218688767 + 457850.007302285 5439086.68883851 115.546173165676 + + + + + + + + + 457850.008155434 5439086.69110605 115.542928932188 + 457850.0100419 5439086.69384264 115.540761204675 + 457850.077158615 5439086.62233245 115.466897826184 + 457850.008155434 5439086.69110605 115.542928932188 + + + + + + + + + 457850.008155434 5439086.69110605 115.542928932188 + 457850.077158615 5439086.62233245 115.466897826184 + 457850.075352424 5439086.61932685 115.468628520972 + 457850.008155434 5439086.69110605 115.542928932188 + + + + + + + + + 457850.0100419 5439086.69384264 115.540761204675 + 457850.012674487 5439086.69663165 115.54 + 457850.07994207 5439086.62501584 115.466290086993 + 457850.0100419 5439086.69384264 115.540761204675 + + + + + + + + + 457850.0100419 5439086.69384264 115.540761204675 + 457850.07994207 5439086.62501584 115.466290086993 + 457850.077158615 5439086.62233245 115.466897826184 + 457850.0100419 5439086.69384264 115.540761204675 + + + + + + + + + 457850.012674487 5439086.69663165 115.54 + 457850.015652407 5439086.69904849 115.540761204675 + 457850.083279036 5439086.6269685 115.466897826184 + 457850.012674487 5439086.69663165 115.54 + + + + + + + + + 457850.012674487 5439086.69663165 115.54 + 457850.083279036 5439086.6269685 115.466897826184 + 457850.07994207 5439086.62501584 115.466290086993 + 457850.012674487 5439086.69663165 115.54 + + + + + + + + + 457850.083279036 5439086.6269685 115.466897826184 + 457850.086661488 5439086.62789315 115.468628520972 + 457850.157537544 5439086.51274781 115.367675709811 + 457850.083279036 5439086.6269685 115.466897826184 + + + + + + + + + 457850.083279036 5439086.6269685 115.466897826184 + 457850.157537544 5439086.51274781 115.367675709811 + 457850.154091163 5439086.51216583 115.365941394158 + 457850.083279036 5439086.6269685 115.466897826184 + + + + + + + + + 457850.086661488 5439086.62789315 115.468628520972 + 457850.089574479 5439086.62764903 115.471218688767 + 457850.160402101 5439086.5122174 115.370271296612 + 457850.086661488 5439086.62789315 115.468628520972 + + + + + + + + + 457850.086661488 5439086.62789315 115.468628520972 + 457850.160402101 5439086.5122174 115.370271296612 + 457850.157537544 5439086.51274781 115.367675709811 + 457850.086661488 5439086.62789315 115.468628520972 + + + + + + + + + 457850.089574479 5439086.62764903 115.471218688767 + 457850.091574533 5439086.62627329 115.474274 + 457850.162248732 5439086.51065534 115.373333 + 457850.089574479 5439086.62764903 115.471218688767 + + + + + + + + + 457850.089574479 5439086.62764903 115.471218688767 + 457850.162248732 5439086.51065534 115.373333 + 457850.160402101 5439086.5122174 115.370271296612 + 457850.089574479 5439086.62764903 115.471218688767 + + + + + + + + + 457850.091574533 5439086.62627329 115.474274 + 457850.09235716 5439086.62397539 115.477329311233 + 457850.162796305 5439086.50829945 115.376394703388 + 457850.091574533 5439086.62627329 115.474274 + + + + + + + + + 457850.091574533 5439086.62627329 115.474274 + 457850.162796305 5439086.50829945 115.376394703388 + 457850.162248732 5439086.51065534 115.373333 + 457850.091574533 5439086.62627329 115.474274 + + + + + + + + + 457850.09235716 5439086.62397539 115.477329311233 + 457850.091803211 5439086.62110515 115.479919479028 + 457850.161961455 5439086.50550838 115.378990290189 + 457850.09235716 5439086.62397539 115.477329311233 + + + + + + + + + 457850.09235716 5439086.62397539 115.477329311233 + 457850.161961455 5439086.50550838 115.378990290189 + 457850.162796305 5439086.50829945 115.376394703388 + 457850.09235716 5439086.62397539 115.477329311233 + + + + + + + + + 457850.091803211 5439086.62110515 115.479919479028 + 457850.089997021 5439086.61809955 115.481650173816 + 457850.159871282 5439086.50270706 115.380724605842 + 457850.091803211 5439086.62110515 115.479919479028 + + + + + + + + + 457850.091803211 5439086.62110515 115.479919479028 + 457850.159871282 5439086.50270706 115.380724605842 + 457850.161961455 5439086.50550838 115.378990290189 + 457850.091803211 5439086.62110515 115.479919479028 + + + + + + + + + 457850.089997021 5439086.61809955 115.481650173816 + 457850.087213565 5439086.61541616 115.482257913007 + 457850.156843995 5439086.50032195 115.381333616511 + 457850.089997021 5439086.61809955 115.481650173816 + + + + + + + + + 457850.089997021 5439086.61809955 115.481650173816 + 457850.156843995 5439086.50032195 115.381333616511 + 457850.159871282 5439086.50270706 115.380724605842 + 457850.089997021 5439086.61809955 115.481650173816 + + + + + + + + + 457850.087213565 5439086.61541616 115.482257913007 + 457850.0838766 5439086.6134635 115.481650173816 + 457850.153340472 5439086.49871617 115.380724605842 + 457850.087213565 5439086.61541616 115.482257913007 + + + + + + + + + 457850.087213565 5439086.61541616 115.482257913007 + 457850.153340472 5439086.49871617 115.380724605842 + 457850.156843995 5439086.50032195 115.381333616511 + 457850.087213565 5439086.61541616 115.482257913007 + + + + + + + + + 457850.0838766 5439086.6134635 115.481650173816 + 457850.080494147 5439086.61253885 115.479919479028 + 457850.149894091 5439086.49813419 115.378990290189 + 457850.0838766 5439086.6134635 115.481650173816 + + + + + + + + + 457850.0838766 5439086.6134635 115.481650173816 + 457850.149894091 5439086.49813419 115.378990290189 + 457850.153340472 5439086.49871617 115.380724605842 + 457850.0838766 5439086.6134635 115.481650173816 + + + + + + + + + 457850.080494147 5439086.61253885 115.479919479028 + 457850.077581156 5439086.61278297 115.477329311233 + 457850.147029534 5439086.4986646 115.376394703388 + 457850.080494147 5439086.61253885 115.479919479028 + + + + + + + + + 457850.080494147 5439086.61253885 115.479919479028 + 457850.147029534 5439086.4986646 115.376394703388 + 457850.149894091 5439086.49813419 115.378990290189 + 457850.080494147 5439086.61253885 115.479919479028 + + + + + + + + + 457850.077581156 5439086.61278297 115.477329311233 + 457850.075581102 5439086.61415871 115.474274 + 457850.145182903 5439086.50022666 115.373333 + 457850.077581156 5439086.61278297 115.477329311233 + + + + + + + + + 457850.077581156 5439086.61278297 115.477329311233 + 457850.145182903 5439086.50022666 115.373333 + 457850.147029534 5439086.4986646 115.376394703388 + 457850.077581156 5439086.61278297 115.477329311233 + + + + + + + + + 457850.075581102 5439086.61415871 115.474274 + 457850.074798476 5439086.61645661 115.471218688767 + 457850.144635331 5439086.50258255 115.370271296612 + 457850.075581102 5439086.61415871 115.474274 + + + + + + + + + 457850.075581102 5439086.61415871 115.474274 + 457850.144635331 5439086.50258255 115.370271296612 + 457850.145182903 5439086.50022666 115.373333 + 457850.075581102 5439086.61415871 115.474274 + + + + + + + + + 457850.074798476 5439086.61645661 115.471218688767 + 457850.075352424 5439086.61932685 115.468628520972 + 457850.14547018 5439086.50537362 115.367675709811 + 457850.074798476 5439086.61645661 115.471218688767 + + + + + + + + + 457850.074798476 5439086.61645661 115.471218688767 + 457850.14547018 5439086.50537362 115.367675709811 + 457850.144635331 5439086.50258255 115.370271296612 + 457850.074798476 5439086.61645661 115.471218688767 + + + + + + + + + 457850.075352424 5439086.61932685 115.468628520972 + 457850.077158615 5439086.62233245 115.466897826184 + 457850.147560353 5439086.50817494 115.365941394158 + 457850.075352424 5439086.61932685 115.468628520972 + + + + + + + + + 457850.075352424 5439086.61932685 115.468628520972 + 457850.147560353 5439086.50817494 115.365941394158 + 457850.14547018 5439086.50537362 115.367675709811 + 457850.075352424 5439086.61932685 115.468628520972 + + + + + + + + + 457850.077158615 5439086.62233245 115.466897826184 + 457850.07994207 5439086.62501584 115.466290086993 + 457850.15058764 5439086.51056005 115.365332383489 + 457850.077158615 5439086.62233245 115.466897826184 + + + + + + + + + 457850.077158615 5439086.62233245 115.466897826184 + 457850.15058764 5439086.51056005 115.365332383489 + 457850.147560353 5439086.50817494 115.365941394158 + 457850.077158615 5439086.62233245 115.466897826184 + + + + + + + + + 457850.07994207 5439086.62501584 115.466290086993 + 457850.083279036 5439086.6269685 115.466897826184 + 457850.154091163 5439086.51216583 115.365941394158 + 457850.07994207 5439086.62501584 115.466290086993 + + + + + + + + + 457850.07994207 5439086.62501584 115.466290086993 + 457850.154091163 5439086.51216583 115.365941394158 + 457850.15058764 5439086.51056005 115.365332383489 + 457850.07994207 5439086.62501584 115.466290086993 + + + + + + + + + 457850.154091163 5439086.51216583 115.365941394158 + 457850.157537544 5439086.51274781 115.367675709811 + 457850.17586547 5439086.483543 115.342389248966 + 457850.154091163 5439086.51216583 115.365941394158 + + + + + + + + + 457850.154091163 5439086.51216583 115.365941394158 + 457850.17586547 5439086.483543 115.342389248966 + 457850.172367433 5439086.48330571 115.340657551101 + 457850.154091163 5439086.51216583 115.365941394158 + + + + + + + + + 457850.157537544 5439086.51274781 115.367675709811 + 457850.160402101 5439086.5122174 115.370271296612 + 457850.178671472 5439086.48272831 115.34498091797 + 457850.157537544 5439086.51274781 115.367675709811 + + + + + + + + + 457850.157537544 5439086.51274781 115.367675709811 + 457850.178671472 5439086.48272831 115.34498091797 + 457850.17586547 5439086.483543 115.342389248966 + 457850.157537544 5439086.51274781 115.367675709811 + + + + + + + + + 457850.160402101 5439086.5122174 115.370271296612 + 457850.162248732 5439086.51065534 115.373333 + 457850.180358251 5439086.48098566 115.348038 + 457850.160402101 5439086.5122174 115.370271296612 + + + + + + + + + 457850.160402101 5439086.5122174 115.370271296612 + 457850.180358251 5439086.48098566 115.348038 + 457850.178671472 5439086.48272831 115.34498091797 + 457850.160402101 5439086.5122174 115.370271296612 + + + + + + + + + 457850.162248732 5439086.51065534 115.373333 + 457850.162796305 5439086.50829945 115.376394703388 + 457850.180669011 5439086.47858036 115.35109508203 + 457850.162248732 5439086.51065534 115.373333 + + + + + + + + + 457850.162248732 5439086.51065534 115.373333 + 457850.180669011 5439086.47858036 115.35109508203 + 457850.180358251 5439086.48098566 115.348038 + 457850.162248732 5439086.51065534 115.373333 + + + + + + + + + 457850.162796305 5439086.50829945 115.376394703388 + 457850.161961455 5439086.50550838 115.378990290189 + 457850.179556441 5439086.47587859 115.353686751034 + 457850.162796305 5439086.50829945 115.376394703388 + + + + + + + + + 457850.162796305 5439086.50829945 115.376394703388 + 457850.179556441 5439086.47587859 115.353686751034 + 457850.180669011 5439086.47858036 115.35109508203 + 457850.162796305 5439086.50829945 115.376394703388 + + + + + + + + + 457850.161961455 5439086.50550838 115.378990290189 + 457850.159871282 5439086.50270706 115.380724605842 + 457850.177189919 5439086.47329168 115.355418448899 + 457850.161961455 5439086.50550838 115.378990290189 + + + + + + + + + 457850.161961455 5439086.50550838 115.378990290189 + 457850.177189919 5439086.47329168 115.355418448899 + 457850.179556441 5439086.47587859 115.353686751034 + 457850.161961455 5439086.50550838 115.378990290189 + + + + + + + + + 457850.159871282 5439086.50270706 115.380724605842 + 457850.156843995 5439086.50032195 115.381333616511 + 457850.173929728 5439086.47121344 115.356026540323 + 457850.159871282 5439086.50270706 115.380724605842 + + + + + + + + + 457850.159871282 5439086.50270706 115.380724605842 + 457850.173929728 5439086.47121344 115.356026540323 + 457850.177189919 5439086.47329168 115.355418448899 + 457850.159871282 5439086.50270706 115.380724605842 + + + + + + + + + 457850.156843995 5439086.50032195 115.381333616511 + 457850.153340472 5439086.49871617 115.380724605842 + 457850.170272202 5439086.46996029 115.355418448899 + 457850.156843995 5439086.50032195 115.381333616511 + + + + + + + + + 457850.156843995 5439086.50032195 115.381333616511 + 457850.170272202 5439086.46996029 115.355418448899 + 457850.173929728 5439086.47121344 115.356026540323 + 457850.156843995 5439086.50032195 115.381333616511 + + + + + + + + + 457850.153340472 5439086.49871617 115.380724605842 + 457850.149894091 5439086.49813419 115.378990290189 + 457850.166774166 5439086.469723 115.353686751034 + 457850.153340472 5439086.49871617 115.380724605842 + + + + + + + + + 457850.153340472 5439086.49871617 115.380724605842 + 457850.166774166 5439086.469723 115.353686751034 + 457850.170272202 5439086.46996029 115.355418448899 + 457850.153340472 5439086.49871617 115.380724605842 + + + + + + + + + 457850.149894091 5439086.49813419 115.378990290189 + 457850.147029534 5439086.4986646 115.376394703388 + 457850.163968164 5439086.47053769 115.35109508203 + 457850.149894091 5439086.49813419 115.378990290189 + + + + + + + + + 457850.149894091 5439086.49813419 115.378990290189 + 457850.163968164 5439086.47053769 115.35109508203 + 457850.166774166 5439086.469723 115.353686751034 + 457850.149894091 5439086.49813419 115.378990290189 + + + + + + + + + 457850.147029534 5439086.4986646 115.376394703388 + 457850.145182903 5439086.50022666 115.373333 + 457850.162281384 5439086.47228034 115.348038 + 457850.147029534 5439086.4986646 115.376394703388 + + + + + + + + + 457850.147029534 5439086.4986646 115.376394703388 + 457850.162281384 5439086.47228034 115.348038 + 457850.163968164 5439086.47053769 115.35109508203 + 457850.147029534 5439086.4986646 115.376394703388 + + + + + + + + + 457850.145182903 5439086.50022666 115.373333 + 457850.144635331 5439086.50258255 115.370271296612 + 457850.161970625 5439086.47468564 115.34498091797 + 457850.145182903 5439086.50022666 115.373333 + + + + + + + + + 457850.145182903 5439086.50022666 115.373333 + 457850.161970625 5439086.47468564 115.34498091797 + 457850.162281384 5439086.47228034 115.348038 + 457850.145182903 5439086.50022666 115.373333 + + + + + + + + + 457850.144635331 5439086.50258255 115.370271296612 + 457850.14547018 5439086.50537362 115.367675709811 + 457850.163083195 5439086.47738741 115.342389248966 + 457850.144635331 5439086.50258255 115.370271296612 + + + + + + + + + 457850.144635331 5439086.50258255 115.370271296612 + 457850.163083195 5439086.47738741 115.342389248966 + 457850.161970625 5439086.47468564 115.34498091797 + 457850.144635331 5439086.50258255 115.370271296612 + + + + + + + + + 457850.14547018 5439086.50537362 115.367675709811 + 457850.147560353 5439086.50817494 115.365941394158 + 457850.165449716 5439086.47997432 115.340657551101 + 457850.14547018 5439086.50537362 115.367675709811 + + + + + + + + + 457850.14547018 5439086.50537362 115.367675709811 + 457850.165449716 5439086.47997432 115.340657551101 + 457850.163083195 5439086.47738741 115.342389248966 + 457850.14547018 5439086.50537362 115.367675709811 + + + + + + + + + 457850.147560353 5439086.50817494 115.365941394158 + 457850.15058764 5439086.51056005 115.365332383489 + 457850.168709907 5439086.48205256 115.340049459677 + 457850.147560353 5439086.50817494 115.365941394158 + + + + + + + + + 457850.147560353 5439086.50817494 115.365941394158 + 457850.168709907 5439086.48205256 115.340049459677 + 457850.165449716 5439086.47997432 115.340657551101 + 457850.147560353 5439086.50817494 115.365941394158 + + + + + + + + + 457850.15058764 5439086.51056005 115.365332383489 + 457850.154091163 5439086.51216583 115.365941394158 + 457850.172367433 5439086.48330571 115.340657551101 + 457850.15058764 5439086.51056005 115.365332383489 + + + + + + + + + 457850.15058764 5439086.51056005 115.365332383489 + 457850.172367433 5439086.48330571 115.340657551101 + 457850.168709907 5439086.48205256 115.340049459677 + 457850.15058764 5439086.51056005 115.365332383489 + + + + + + + + + 457850.172367433 5439086.48330571 115.340657551101 + 457850.17586547 5439086.483543 115.342389248966 + 457850.234696507 5439086.32438331 115.216313244474 + 457850.172367433 5439086.48330571 115.340657551101 + + + + + + + + + 457850.172367433 5439086.48330571 115.340657551101 + 457850.234696507 5439086.32438331 115.216313244474 + 457850.231220807 5439086.32484383 115.214581545233 + 457850.172367433 5439086.48330571 115.340657551101 + + + + + + + + + 457850.17586547 5439086.483543 115.342389248966 + 457850.178671472 5439086.48272831 115.34498091797 + 457850.23728545 5439086.32302879 115.218904915539 + 457850.17586547 5439086.483543 115.342389248966 + + + + + + + + + 457850.17586547 5439086.483543 115.342389248966 + 457850.23728545 5439086.32302879 115.218904915539 + 457850.234696507 5439086.32438331 115.216313244474 + 457850.17586547 5439086.483543 115.342389248966 + + + + + + + + + 457850.178671472 5439086.48272831 115.34498091797 + 457850.180358251 5439086.48098566 115.348038 + 457850.238593495 5439086.32098647 115.221962 + 457850.178671472 5439086.48272831 115.34498091797 + + + + + + + + + 457850.178671472 5439086.48272831 115.34498091797 + 457850.238593495 5439086.32098647 115.221962 + 457850.23728545 5439086.32302879 115.218904915539 + 457850.178671472 5439086.48272831 115.34498091797 + + + + + + + + + 457850.180358251 5439086.48098566 115.348038 + 457850.180669011 5439086.47858036 115.35109508203 + 457850.238421502 5439086.31856729 115.225019084461 + 457850.180358251 5439086.48098566 115.348038 + + + + + + + + + 457850.180358251 5439086.48098566 115.348038 + 457850.238421502 5439086.31856729 115.225019084461 + 457850.238593495 5439086.32098647 115.221962 + 457850.180358251 5439086.48098566 115.348038 + + + + + + + + + 457850.180669011 5439086.47858036 115.35109508203 + 457850.179556441 5439086.47587859 115.353686751034 + 457850.236795656 5439086.31613954 115.227610755526 + 457850.180669011 5439086.47858036 115.35109508203 + + + + + + + + + 457850.180669011 5439086.47858036 115.35109508203 + 457850.236795656 5439086.31613954 115.227610755526 + 457850.238421502 5439086.31856729 115.225019084461 + 457850.180669011 5439086.47858036 115.35109508203 + + + + + + + + + 457850.179556441 5439086.47587859 115.353686751034 + 457850.177189919 5439086.47329168 115.355418448899 + 457850.233963478 5439086.31407282 115.229342454767 + 457850.179556441 5439086.47587859 115.353686751034 + + + + + + + + + 457850.179556441 5439086.47587859 115.353686751034 + 457850.233963478 5439086.31407282 115.229342454767 + 457850.236795656 5439086.31613954 115.227610755526 + 457850.179556441 5439086.47587859 115.353686751034 + + + + + + + + + 457850.177189919 5439086.47329168 115.355418448899 + 457850.173929728 5439086.47121344 115.356026540323 + 457850.23035614 5439086.31268177 115.229950546675 + 457850.177189919 5439086.47329168 115.355418448899 + + + + + + + + + 457850.177189919 5439086.47329168 115.355418448899 + 457850.23035614 5439086.31268177 115.229950546675 + 457850.233963478 5439086.31407282 115.229342454767 + 457850.177189919 5439086.47329168 115.355418448899 + + + + + + + + + 457850.173929728 5439086.47121344 115.356026540323 + 457850.170272202 5439086.46996029 115.355418448899 + 457850.226522828 5439086.31217817 115.229342454767 + 457850.173929728 5439086.47121344 115.356026540323 + + + + + + + + + 457850.173929728 5439086.47121344 115.356026540323 + 457850.226522828 5439086.31217817 115.229342454767 + 457850.23035614 5439086.31268177 115.229950546675 + 457850.173929728 5439086.47121344 115.356026540323 + + + + + + + + + 457850.170272202 5439086.46996029 115.355418448899 + 457850.166774166 5439086.469723 115.353686751034 + 457850.223047129 5439086.31263869 115.227610755526 + 457850.170272202 5439086.46996029 115.355418448899 + + + + + + + + + 457850.170272202 5439086.46996029 115.355418448899 + 457850.223047129 5439086.31263869 115.227610755526 + 457850.226522828 5439086.31217817 115.229342454767 + 457850.170272202 5439086.46996029 115.355418448899 + + + + + + + + + 457850.166774166 5439086.469723 115.353686751034 + 457850.163968164 5439086.47053769 115.35109508203 + 457850.220458185 5439086.31399321 115.225019084461 + 457850.166774166 5439086.469723 115.353686751034 + + + + + + + + + 457850.166774166 5439086.469723 115.353686751034 + 457850.220458185 5439086.31399321 115.225019084461 + 457850.223047129 5439086.31263869 115.227610755526 + 457850.166774166 5439086.469723 115.353686751034 + + + + + + + + + 457850.163968164 5439086.47053769 115.35109508203 + 457850.162281384 5439086.47228034 115.348038 + 457850.219150141 5439086.31603553 115.221962 + 457850.163968164 5439086.47053769 115.35109508203 + + + + + + + + + 457850.163968164 5439086.47053769 115.35109508203 + 457850.219150141 5439086.31603553 115.221962 + 457850.220458185 5439086.31399321 115.225019084461 + 457850.163968164 5439086.47053769 115.35109508203 + + + + + + + + + 457850.162281384 5439086.47228034 115.348038 + 457850.161970625 5439086.47468564 115.34498091797 + 457850.219322133 5439086.31845471 115.218904915539 + 457850.162281384 5439086.47228034 115.348038 + + + + + + + + + 457850.162281384 5439086.47228034 115.348038 + 457850.219322133 5439086.31845471 115.218904915539 + 457850.219150141 5439086.31603553 115.221962 + 457850.162281384 5439086.47228034 115.348038 + + + + + + + + + 457850.161970625 5439086.47468564 115.34498091797 + 457850.163083195 5439086.47738741 115.342389248966 + 457850.220947979 5439086.32088246 115.216313244474 + 457850.161970625 5439086.47468564 115.34498091797 + + + + + + + + + 457850.161970625 5439086.47468564 115.34498091797 + 457850.220947979 5439086.32088246 115.216313244474 + 457850.219322133 5439086.31845471 115.218904915539 + 457850.161970625 5439086.47468564 115.34498091797 + + + + + + + + + 457850.163083195 5439086.47738741 115.342389248966 + 457850.165449716 5439086.47997432 115.340657551101 + 457850.223780157 5439086.32294918 115.214581545233 + 457850.163083195 5439086.47738741 115.342389248966 + + + + + + + + + 457850.163083195 5439086.47738741 115.342389248966 + 457850.223780157 5439086.32294918 115.214581545233 + 457850.220947979 5439086.32088246 115.216313244474 + 457850.163083195 5439086.47738741 115.342389248966 + + + + + + + + + 457850.165449716 5439086.47997432 115.340657551101 + 457850.168709907 5439086.48205256 115.340049459677 + 457850.227387495 5439086.32434023 115.213973453325 + 457850.165449716 5439086.47997432 115.340657551101 + + + + + + + + + 457850.165449716 5439086.47997432 115.340657551101 + 457850.227387495 5439086.32434023 115.213973453325 + 457850.223780157 5439086.32294918 115.214581545233 + 457850.165449716 5439086.47997432 115.340657551101 + + + + + + + + + 457850.168709907 5439086.48205256 115.340049459677 + 457850.172367433 5439086.48330571 115.340657551101 + 457850.231220807 5439086.32484383 115.214581545233 + 457850.168709907 5439086.48205256 115.340049459677 + + + + + + + + + 457850.168709907 5439086.48205256 115.340049459677 + 457850.231220807 5439086.32484383 115.214581545233 + 457850.227387495 5439086.32434023 115.213973453325 + 457850.168709907 5439086.48205256 115.340049459677 + + + + + + + + + 457850.231220807 5439086.32484383 115.214581545233 + 457850.234696507 5439086.32438331 115.216313244474 + 457850.240263637 5439086.2903756 115.191009708399 + 457850.231220807 5439086.32484383 115.214581545233 + + + + + + + + + 457850.231220807 5439086.32484383 115.214581545233 + 457850.240263637 5439086.2903756 115.191009708399 + 457850.236861812 5439086.29117798 115.189275392313 + 457850.231220807 5439086.32484383 115.214581545233 + + + + + + + + + 457850.234696507 5439086.32438331 115.216313244474 + 457850.23728545 5439086.32302879 115.218904915539 + 457850.242697237 5439086.28877416 115.193605295848 + 457850.234696507 5439086.32438331 115.216313244474 + + + + + + + + + 457850.234696507 5439086.32438331 115.216313244474 + 457850.242697237 5439086.28877416 115.193605295848 + 457850.240263637 5439086.2903756 115.191009708399 + 457850.234696507 5439086.32438331 115.216313244474 + + + + + + + + + 457850.23728545 5439086.32302879 115.218904915539 + 457850.238593495 5439086.32098647 115.221962 + 457850.243792119 5439086.28661747 115.196667 + 457850.23728545 5439086.32302879 115.218904915539 + + + + + + + + + 457850.23728545 5439086.32302879 115.218904915539 + 457850.243792119 5439086.28661747 115.196667 + 457850.242697237 5439086.28877416 115.193605295848 + 457850.23728545 5439086.32302879 115.218904915539 + + + + + + + + + 457850.238593495 5439086.32098647 115.221962 + 457850.238421502 5439086.31856729 115.225019084461 + 457850.243381596 5439086.28423387 115.199728704152 + 457850.238593495 5439086.32098647 115.221962 + + + + + + + + + 457850.238593495 5439086.32098647 115.221962 + 457850.243381596 5439086.28423387 115.199728704152 + 457850.243792119 5439086.28661747 115.196667 + 457850.238593495 5439086.32098647 115.221962 + + + + + + + + + 457850.238421502 5439086.31856729 115.225019084461 + 457850.236795656 5439086.31613954 115.227610755526 + 457850.241528168 5439086.28198625 115.202324291601 + 457850.238421502 5439086.31856729 115.225019084461 + + + + + + + + + 457850.238421502 5439086.31856729 115.225019084461 + 457850.241528168 5439086.28198625 115.202324291601 + 457850.243381596 5439086.28423387 115.199728704152 + 457850.238421502 5439086.31856729 115.225019084461 + + + + + + + + + 457850.236795656 5439086.31613954 115.227610755526 + 457850.233963478 5439086.31407282 115.229342454767 + 457850.238514001 5439086.28021677 115.204058607687 + 457850.236795656 5439086.31613954 115.227610755526 + + + + + + + + + 457850.236795656 5439086.31613954 115.227610755526 + 457850.238514001 5439086.28021677 115.204058607687 + 457850.241528168 5439086.28198625 115.202324291601 + 457850.236795656 5439086.31613954 115.227610755526 + + + + + + + + + 457850.233963478 5439086.31407282 115.229342454767 + 457850.23035614 5439086.31268177 115.229950546675 + 457850.234797976 5439086.27919483 115.204667618508 + 457850.233963478 5439086.31407282 115.229342454767 + + + + + + + + + 457850.233963478 5439086.31407282 115.229342454767 + 457850.234797976 5439086.27919483 115.204667618508 + 457850.238514001 5439086.28021677 115.204058607687 + 457850.233963478 5439086.31407282 115.229342454767 + + + + + + + + + 457850.23035614 5439086.31268177 115.229950546675 + 457850.226522828 5439086.31217817 115.229342454767 + 457850.230945823 5439086.27907602 115.204058607687 + 457850.23035614 5439086.31268177 115.229950546675 + + + + + + + + + 457850.23035614 5439086.31268177 115.229950546675 + 457850.230945823 5439086.27907602 115.204058607687 + 457850.234797976 5439086.27919483 115.204667618508 + 457850.23035614 5439086.31268177 115.229950546675 + + + + + + + + + 457850.226522828 5439086.31217817 115.229342454767 + 457850.223047129 5439086.31263869 115.227610755526 + 457850.227543998 5439086.2798784 115.202324291601 + 457850.226522828 5439086.31217817 115.229342454767 + + + + + + + + + 457850.226522828 5439086.31217817 115.229342454767 + 457850.227543998 5439086.2798784 115.202324291601 + 457850.230945823 5439086.27907602 115.204058607687 + 457850.226522828 5439086.31217817 115.229342454767 + + + + + + + + + 457850.223047129 5439086.31263869 115.227610755526 + 457850.220458185 5439086.31399321 115.225019084461 + 457850.225110398 5439086.28147984 115.199728704152 + 457850.223047129 5439086.31263869 115.227610755526 + + + + + + + + + 457850.223047129 5439086.31263869 115.227610755526 + 457850.225110398 5439086.28147984 115.199728704152 + 457850.227543998 5439086.2798784 115.202324291601 + 457850.223047129 5439086.31263869 115.227610755526 + + + + + + + + + 457850.220458185 5439086.31399321 115.225019084461 + 457850.219150141 5439086.31603553 115.221962 + 457850.224015516 5439086.28363653 115.196667 + 457850.220458185 5439086.31399321 115.225019084461 + + + + + + + + + 457850.220458185 5439086.31399321 115.225019084461 + 457850.224015516 5439086.28363653 115.196667 + 457850.225110398 5439086.28147984 115.199728704152 + 457850.220458185 5439086.31399321 115.225019084461 + + + + + + + + + 457850.219150141 5439086.31603553 115.221962 + 457850.219322133 5439086.31845471 115.218904915539 + 457850.224426039 5439086.28602013 115.193605295848 + 457850.219150141 5439086.31603553 115.221962 + + + + + + + + + 457850.219150141 5439086.31603553 115.221962 + 457850.224426039 5439086.28602013 115.193605295848 + 457850.224015516 5439086.28363653 115.196667 + 457850.219150141 5439086.31603553 115.221962 + + + + + + + + + 457850.219322133 5439086.31845471 115.218904915539 + 457850.220947979 5439086.32088246 115.216313244474 + 457850.226279467 5439086.28826775 115.191009708399 + 457850.219322133 5439086.31845471 115.218904915539 + + + + + + + + + 457850.219322133 5439086.31845471 115.218904915539 + 457850.226279467 5439086.28826775 115.191009708399 + 457850.224426039 5439086.28602013 115.193605295848 + 457850.219322133 5439086.31845471 115.218904915539 + + + + + + + + + 457850.220947979 5439086.32088246 115.216313244474 + 457850.223780157 5439086.32294918 115.214581545233 + 457850.229293634 5439086.29003723 115.189275392313 + 457850.220947979 5439086.32088246 115.216313244474 + + + + + + + + + 457850.220947979 5439086.32088246 115.216313244474 + 457850.229293634 5439086.29003723 115.189275392313 + 457850.226279467 5439086.28826775 115.191009708399 + 457850.220947979 5439086.32088246 115.216313244474 + + + + + + + + + 457850.223780157 5439086.32294918 115.214581545233 + 457850.227387495 5439086.32434023 115.213973453325 + 457850.233009659 5439086.29105917 115.188666381492 + 457850.223780157 5439086.32294918 115.214581545233 + + + + + + + + + 457850.223780157 5439086.32294918 115.214581545233 + 457850.233009659 5439086.29105917 115.188666381492 + 457850.229293634 5439086.29003723 115.189275392313 + 457850.223780157 5439086.32294918 115.214581545233 + + + + + + + + + 457850.227387495 5439086.32434023 115.213973453325 + 457850.231220807 5439086.32484383 115.214581545233 + 457850.236861812 5439086.29117798 115.189275392313 + 457850.227387495 5439086.32434023 115.213973453325 + + + + + + + + + 457850.227387495 5439086.32434023 115.213973453325 + 457850.236861812 5439086.29117798 115.189275392313 + 457850.233009659 5439086.29105917 115.188666381492 + 457850.227387495 5439086.32434023 115.213973453325 + + + + + + + + + 457850.236861812 5439086.29117798 115.189275392313 + 457850.240263637 5439086.2903756 115.191009708399 + 457850.26082436 5439086.15672707 115.090080523199 + 457850.236861812 5439086.29117798 115.189275392313 + + + + + + + + + 457850.236861812 5439086.29117798 115.189275392313 + 457850.26082436 5439086.15672707 115.090080523199 + 457850.257508771 5439086.15786849 115.088349829092 + 457850.236861812 5439086.29117798 115.189275392313 + + + + + + + + + 457850.240263637 5439086.2903756 115.191009708399 + 457850.242697237 5439086.28877416 115.193605295848 + 457850.263093667 5439086.15488442 115.092670689972 + 457850.240263637 5439086.2903756 115.191009708399 + + + + + + + + + 457850.240263637 5439086.2903756 115.191009708399 + 457850.263093667 5439086.15488442 115.092670689972 + 457850.26082436 5439086.15672707 115.090080523199 + 457850.240263637 5439086.2903756 115.191009708399 + + + + + + + + + 457850.242697237 5439086.28877416 115.193605295848 + 457850.243792119 5439086.28661747 115.196667 + 457850.26397121 5439086.15262106 115.095726 + 457850.242697237 5439086.28877416 115.193605295848 + + + + + + + + + 457850.242697237 5439086.28877416 115.193605295848 + 457850.26397121 5439086.15262106 115.095726 + 457850.263093667 5439086.15488442 115.092670689972 + 457850.242697237 5439086.28877416 115.193605295848 + + + + + + + + + 457850.243792119 5439086.28661747 115.196667 + 457850.243381596 5439086.28423387 115.199728704152 + 457850.263323392 5439086.15028157 115.098781310028 + 457850.243792119 5439086.28661747 115.196667 + + + + + + + + + 457850.243792119 5439086.28661747 115.196667 + 457850.263323392 5439086.15028157 115.098781310028 + 457850.26397121 5439086.15262106 115.095726 + 457850.243792119 5439086.28661747 115.196667 + + + + + + + + + 457850.243381596 5439086.28423387 115.199728704152 + 457850.241528168 5439086.28198625 115.202324291601 + 457850.261248837 5439086.14822212 115.101371476801 + 457850.243381596 5439086.28423387 115.199728704152 + + + + + + + + + 457850.243381596 5439086.28423387 115.199728704152 + 457850.261248837 5439086.14822212 115.101371476801 + 457850.263323392 5439086.15028157 115.098781310028 + 457850.243381596 5439086.28423387 115.199728704152 + + + + + + + + + 457850.241528168 5439086.28198625 115.202324291601 + 457850.238514001 5439086.28021677 115.204058607687 + 457850.258063376 5439086.14675624 115.103102170908 + 457850.241528168 5439086.28198625 115.202324291601 + + + + + + + + + 457850.241528168 5439086.28198625 115.202324291601 + 457850.258063376 5439086.14675624 115.103102170908 + 457850.261248837 5439086.14822212 115.101371476801 + 457850.241528168 5439086.28198625 115.202324291601 + + + + + + + + + 457850.238514001 5439086.28021677 115.204058607687 + 457850.234797976 5439086.27919483 115.204667618508 + 457850.254251968 5439086.14610709 115.103709909858 + 457850.238514001 5439086.28021677 115.204058607687 + + + + + + + + + 457850.238514001 5439086.28021677 115.204058607687 + 457850.254251968 5439086.14610709 115.103709909858 + 457850.258063376 5439086.14675624 115.103102170908 + 457850.238514001 5439086.28021677 115.204058607687 + + + + + + + + + 457850.234797976 5439086.27919483 115.204667618508 + 457850.230945823 5439086.27907602 115.204058607687 + 457850.250394865 5439086.14637351 115.103102170908 + 457850.234797976 5439086.27919483 115.204667618508 + + + + + + + + + 457850.234797976 5439086.27919483 115.204667618508 + 457850.250394865 5439086.14637351 115.103102170908 + 457850.254251968 5439086.14610709 115.103709909858 + 457850.234797976 5439086.27919483 115.204667618508 + + + + + + + + + 457850.230945823 5439086.27907602 115.204058607687 + 457850.227543998 5439086.2798784 115.202324291601 + 457850.247079275 5439086.14751493 115.101371476801 + 457850.230945823 5439086.27907602 115.204058607687 + + + + + + + + + 457850.230945823 5439086.27907602 115.204058607687 + 457850.247079275 5439086.14751493 115.101371476801 + 457850.250394865 5439086.14637351 115.103102170908 + 457850.230945823 5439086.27907602 115.204058607687 + + + + + + + + + 457850.227543998 5439086.2798784 115.202324291601 + 457850.225110398 5439086.28147984 115.199728704152 + 457850.244809968 5439086.14935758 115.098781310028 + 457850.227543998 5439086.2798784 115.202324291601 + + + + + + + + + 457850.227543998 5439086.2798784 115.202324291601 + 457850.244809968 5439086.14935758 115.098781310028 + 457850.247079275 5439086.14751493 115.101371476801 + 457850.227543998 5439086.2798784 115.202324291601 + + + + + + + + + 457850.225110398 5439086.28147984 115.199728704152 + 457850.224015516 5439086.28363653 115.196667 + 457850.243932425 5439086.15162094 115.095726 + 457850.225110398 5439086.28147984 115.199728704152 + + + + + + + + + 457850.225110398 5439086.28147984 115.199728704152 + 457850.243932425 5439086.15162094 115.095726 + 457850.244809968 5439086.14935758 115.098781310028 + 457850.225110398 5439086.28147984 115.199728704152 + + + + + + + + + 457850.224015516 5439086.28363653 115.196667 + 457850.224426039 5439086.28602013 115.193605295848 + 457850.244580243 5439086.15396043 115.092670689972 + 457850.224015516 5439086.28363653 115.196667 + + + + + + + + + 457850.224015516 5439086.28363653 115.196667 + 457850.244580243 5439086.15396043 115.092670689972 + 457850.243932425 5439086.15162094 115.095726 + 457850.224015516 5439086.28363653 115.196667 + + + + + + + + + 457850.224426039 5439086.28602013 115.193605295848 + 457850.226279467 5439086.28826775 115.191009708399 + 457850.246654799 5439086.15601988 115.090080523199 + 457850.224426039 5439086.28602013 115.193605295848 + + + + + + + + + 457850.224426039 5439086.28602013 115.193605295848 + 457850.246654799 5439086.15601988 115.090080523199 + 457850.244580243 5439086.15396043 115.092670689972 + 457850.224426039 5439086.28602013 115.193605295848 + + + + + + + + + 457850.226279467 5439086.28826775 115.191009708399 + 457850.229293634 5439086.29003723 115.189275392313 + 457850.249840259 5439086.15748576 115.088349829092 + 457850.226279467 5439086.28826775 115.191009708399 + + + + + + + + + 457850.226279467 5439086.28826775 115.191009708399 + 457850.249840259 5439086.15748576 115.088349829092 + 457850.246654799 5439086.15601988 115.090080523199 + 457850.226279467 5439086.28826775 115.191009708399 + + + + + + + + + 457850.229293634 5439086.29003723 115.189275392313 + 457850.233009659 5439086.29105917 115.188666381492 + 457850.253651667 5439086.15813491 115.087742090142 + 457850.229293634 5439086.29003723 115.189275392313 + + + + + + + + + 457850.229293634 5439086.29003723 115.189275392313 + 457850.253651667 5439086.15813491 115.087742090142 + 457850.249840259 5439086.15748576 115.088349829092 + 457850.229293634 5439086.29003723 115.189275392313 + + + + + + + + + 457850.233009659 5439086.29105917 115.188666381492 + 457850.236861812 5439086.29117798 115.189275392313 + 457850.257508771 5439086.15786849 115.088349829092 + 457850.233009659 5439086.29105917 115.188666381492 + + + + + + + + + 457850.233009659 5439086.29105917 115.188666381492 + 457850.257508771 5439086.15786849 115.088349829092 + 457850.253651667 5439086.15813491 115.087742090142 + 457850.233009659 5439086.29105917 115.188666381492 + + + + + + + + + 457850.257508771 5439086.15786849 115.088349829092 + 457850.26082436 5439086.15672707 115.090080523199 + 457850.256195603 5439086.05522325 115.014343417644 + 457850.257508771 5439086.15786849 115.088349829092 + + + + + + + + + 457850.257508771 5439086.15786849 115.088349829092 + 457850.256195603 5439086.05522325 115.014343417644 + 457850.253020243 5439086.0566841 115.012609318986 + 457850.257508771 5439086.15786849 115.088349829092 + + + + + + + + + 457850.26082436 5439086.15672707 115.090080523199 + 457850.263093667 5439086.15488442 115.092670689972 + 457850.258263595 5439086.0531709 115.016938679689 + 457850.26082436 5439086.15672707 115.090080523199 + + + + + + + + + 457850.26082436 5439086.15672707 115.090080523199 + 457850.258263595 5439086.0531709 115.016938679689 + 457850.256195603 5439086.05522325 115.014343417644 + 457850.26082436 5439086.15672707 115.090080523199 + + + + + + + + + 457850.263093667 5439086.15488442 115.092670689972 + 457850.26397121 5439086.15262106 115.095726 + 457850.258909385 5439086.05083951 115.02 + 457850.263093667 5439086.15488442 115.092670689972 + + + + + + + + + 457850.263093667 5439086.15488442 115.092670689972 + 457850.258909385 5439086.05083951 115.02 + 457850.258263595 5439086.0531709 115.016938679689 + 457850.263093667 5439086.15488442 115.092670689972 + + + + + + + + + 457850.26397121 5439086.15262106 115.095726 + 457850.263323392 5439086.15028157 115.098781310028 + 457850.25803466 5439086.04858402 115.023061320311 + 457850.26397121 5439086.15262106 115.095726 + + + + + + + + + 457850.26397121 5439086.15262106 115.095726 + 457850.25803466 5439086.04858402 115.023061320311 + 457850.258909385 5439086.05083951 115.02 + 457850.26397121 5439086.15262106 115.095726 + + + + + + + + + 457850.263323392 5439086.15028157 115.098781310028 + 457850.261248837 5439086.14822212 115.101371476801 + 457850.255772586 5439086.04674779 115.025656582356 + 457850.263323392 5439086.15028157 115.098781310028 + + + + + + + + + 457850.263323392 5439086.15028157 115.098781310028 + 457850.255772586 5439086.04674779 115.025656582356 + 457850.25803466 5439086.04858402 115.023061320311 + 457850.263323392 5439086.15028157 115.098781310028 + + + + + + + + + 457850.261248837 5439086.14822212 115.101371476801 + 457850.258063376 5439086.14675624 115.103102170908 + 457850.252467546 5439086.04561038 115.027390681014 + 457850.261248837 5439086.14822212 115.101371476801 + + + + + + + + + 457850.261248837 5439086.14822212 115.101371476801 + 457850.252467546 5439086.04561038 115.027390681014 + 457850.255772586 5439086.04674779 115.025656582356 + 457850.261248837 5439086.14822212 115.101371476801 + + + + + + + + + 457850.258063376 5439086.14675624 115.103102170908 + 457850.254251968 5439086.14610709 115.103709909858 + 457850.2486227 5439086.04534495 115.027999615485 + 457850.258063376 5439086.14675624 115.103102170908 + + + + + + + + + 457850.258063376 5439086.14675624 115.103102170908 + 457850.2486227 5439086.04534495 115.027999615485 + 457850.252467546 5439086.04561038 115.027390681014 + 457850.258063376 5439086.14675624 115.103102170908 + + + + + + + + + 457850.254251968 5439086.14610709 115.103709909858 + 457850.250394865 5439086.14637351 115.103102170908 + 457850.244823392 5439086.0459919 115.027390681014 + 457850.254251968 5439086.14610709 115.103709909858 + + + + + + + + + 457850.254251968 5439086.14610709 115.103709909858 + 457850.244823392 5439086.0459919 115.027390681014 + 457850.2486227 5439086.04534495 115.027999615485 + 457850.254251968 5439086.14610709 115.103709909858 + + + + + + + + + 457850.250394865 5439086.14637351 115.103102170908 + 457850.247079275 5439086.14751493 115.101371476801 + 457850.241648033 5439086.04745276 115.025656582356 + 457850.250394865 5439086.14637351 115.103102170908 + + + + + + + + + 457850.250394865 5439086.14637351 115.103102170908 + 457850.241648033 5439086.04745276 115.025656582356 + 457850.244823392 5439086.0459919 115.027390681014 + 457850.250394865 5439086.14637351 115.103102170908 + + + + + + + + + 457850.247079275 5439086.14751493 115.101371476801 + 457850.244809968 5439086.14935758 115.098781310028 + 457850.239580041 5439086.0495051 115.023061320311 + 457850.247079275 5439086.14751493 115.101371476801 + + + + + + + + + 457850.247079275 5439086.14751493 115.101371476801 + 457850.239580041 5439086.0495051 115.023061320311 + 457850.241648033 5439086.04745276 115.025656582356 + 457850.247079275 5439086.14751493 115.101371476801 + + + + + + + + + 457850.244809968 5439086.14935758 115.098781310028 + 457850.243932425 5439086.15162094 115.095726 + 457850.23893425 5439086.05183649 115.02 + 457850.244809968 5439086.14935758 115.098781310028 + + + + + + + + + 457850.244809968 5439086.14935758 115.098781310028 + 457850.23893425 5439086.05183649 115.02 + 457850.239580041 5439086.0495051 115.023061320311 + 457850.244809968 5439086.14935758 115.098781310028 + + + + + + + + + 457850.243932425 5439086.15162094 115.095726 + 457850.244580243 5439086.15396043 115.092670689972 + 457850.239808976 5439086.05409198 115.016938679689 + 457850.243932425 5439086.15162094 115.095726 + + + + + + + + + 457850.243932425 5439086.15162094 115.095726 + 457850.239808976 5439086.05409198 115.016938679689 + 457850.23893425 5439086.05183649 115.02 + 457850.243932425 5439086.15162094 115.095726 + + + + + + + + + 457850.244580243 5439086.15396043 115.092670689972 + 457850.246654799 5439086.15601988 115.090080523199 + 457850.242071049 5439086.05592821 115.014343417644 + 457850.244580243 5439086.15396043 115.092670689972 + + + + + + + + + 457850.244580243 5439086.15396043 115.092670689972 + 457850.242071049 5439086.05592821 115.014343417644 + 457850.239808976 5439086.05409198 115.016938679689 + 457850.244580243 5439086.15396043 115.092670689972 + + + + + + + + + 457850.246654799 5439086.15601988 115.090080523199 + 457850.249840259 5439086.15748576 115.088349829092 + 457850.24537609 5439086.05706562 115.012609318986 + 457850.246654799 5439086.15601988 115.090080523199 + + + + + + + + + 457850.246654799 5439086.15601988 115.090080523199 + 457850.24537609 5439086.05706562 115.012609318986 + 457850.242071049 5439086.05592821 115.014343417644 + 457850.246654799 5439086.15601988 115.090080523199 + + + + + + + + + 457850.249840259 5439086.15748576 115.088349829092 + 457850.253651667 5439086.15813491 115.087742090142 + 457850.249220935 5439086.05733105 115.012000384515 + 457850.249840259 5439086.15748576 115.088349829092 + + + + + + + + + 457850.249840259 5439086.15748576 115.088349829092 + 457850.249220935 5439086.05733105 115.012000384515 + 457850.24537609 5439086.05706562 115.012609318986 + 457850.249840259 5439086.15748576 115.088349829092 + + + + + + + + + 457850.253651667 5439086.15813491 115.087742090142 + 457850.257508771 5439086.15786849 115.088349829092 + 457850.253020243 5439086.0566841 115.012609318986 + 457850.253651667 5439086.15813491 115.087742090142 + + + + + + + + + 457850.253651667 5439086.15813491 115.087742090142 + 457850.253020243 5439086.0566841 115.012609318986 + 457850.249220935 5439086.05733105 115.012000384515 + 457850.253651667 5439086.15813491 115.087742090142 + + + + + + + + + 457850.253020243 5439086.0566841 115.012609318986 + 457850.256195603 5439086.05522325 115.014343417644 + 457850.253212418 5439085.98721052 114.96384765949 + 457850.253020243 5439086.0566841 115.012609318986 + + + + + + + + + 457850.253020243 5439086.0566841 115.012609318986 + 457850.253212418 5439085.98721052 114.96384765949 + 457850.25018862 5439085.98898554 114.96211639404 + 457850.253020243 5439086.0566841 115.012609318986 + + + + + + + + + 457850.256195603 5439086.05522325 115.014343417644 + 457850.258263595 5439086.0531709 115.016938679689 + 457850.255071785 5439085.98495587 114.96643868134 + 457850.256195603 5439086.05522325 115.014343417644 + + + + + + + + + 457850.256195603 5439086.05522325 115.014343417644 + 457850.255071785 5439085.98495587 114.96643868134 + 457850.253212418 5439085.98721052 114.96384765949 + 457850.256195603 5439086.05522325 115.014343417644 + + + + + + + + + 457850.258263595 5439086.0531709 115.016938679689 + 457850.258909385 5439086.05083951 115.02 + 457850.25548365 5439085.98256483 114.969495 + 457850.258263595 5439086.0531709 115.016938679689 + + + + + + + + + 457850.258263595 5439086.0531709 115.016938679689 + 457850.25548365 5439085.98256483 114.969495 + 457850.255071785 5439085.98495587 114.96643868134 + 457850.258263595 5439086.0531709 115.016938679689 + + + + + + + + + 457850.258909385 5439086.05083951 115.02 + 457850.25803466 5439086.04858402 115.023061320311 + 457850.254385311 5439085.98040141 114.97255131866 + 457850.258909385 5439086.05083951 115.02 + + + + + + + + + 457850.258909385 5439086.05083951 115.02 + 457850.254385311 5439085.98040141 114.97255131866 + 457850.25548365 5439085.98256483 114.969495 + 457850.258909385 5439086.05083951 115.02 + + + + + + + + + 457850.25803466 5439086.04858402 115.023061320311 + 457850.255772586 5439086.04674779 115.025656582356 + 457850.251943979 5439085.97879498 114.97514234051 + 457850.25803466 5439086.04858402 115.023061320311 + + + + + + + + + 457850.25803466 5439086.04858402 115.023061320311 + 457850.251943979 5439085.97879498 114.97514234051 + 457850.254385311 5439085.98040141 114.97255131866 + 457850.25803466 5439086.04858402 115.023061320311 + + + + + + + + + 457850.255772586 5439086.04674779 115.025656582356 + 457850.252467546 5439086.04561038 115.027390681014 + 457850.248531326 5439085.97799011 114.97687360596 + 457850.255772586 5439086.04674779 115.025656582356 + + + + + + + + + 457850.255772586 5439086.04674779 115.025656582356 + 457850.248531326 5439085.97799011 114.97687360596 + 457850.251943979 5439085.97879498 114.97514234051 + 457850.255772586 5439086.04674779 115.025656582356 + + + + + + + + + 457850.252467546 5439086.04561038 115.027390681014 + 457850.2486227 5439086.04534495 115.027999615485 + 457850.244666896 5439085.97810932 114.97748154554 + 457850.252467546 5439086.04561038 115.027390681014 + + + + + + + + + 457850.252467546 5439086.04561038 115.027390681014 + 457850.244666896 5439085.97810932 114.97748154554 + 457850.248531326 5439085.97799011 114.97687360596 + 457850.252467546 5439086.04561038 115.027390681014 + + + + + + + + + 457850.2486227 5439086.04534495 115.027999615485 + 457850.244823392 5439086.0459919 115.027390681014 + 457850.240939015 5439085.97913446 114.97687360596 + 457850.2486227 5439086.04534495 115.027999615485 + + + + + + + + + 457850.2486227 5439086.04534495 115.027999615485 + 457850.240939015 5439085.97913446 114.97687360596 + 457850.244666896 5439085.97810932 114.97748154554 + 457850.2486227 5439086.04534495 115.027999615485 + + + + + + + + + 457850.244823392 5439086.0459919 115.027390681014 + 457850.241648033 5439086.04745276 115.025656582356 + 457850.237915218 5439085.98090948 114.97514234051 + 457850.244823392 5439086.0459919 115.027390681014 + + + + + + + + + 457850.244823392 5439086.0459919 115.027390681014 + 457850.237915218 5439085.98090948 114.97514234051 + 457850.240939015 5439085.97913446 114.97687360596 + 457850.244823392 5439086.0459919 115.027390681014 + + + + + + + + + 457850.241648033 5439086.04745276 115.025656582356 + 457850.239580041 5439086.0495051 115.023061320311 + 457850.23605585 5439085.98316413 114.97255131866 + 457850.241648033 5439086.04745276 115.025656582356 + + + + + + + + + 457850.241648033 5439086.04745276 115.025656582356 + 457850.23605585 5439085.98316413 114.97255131866 + 457850.237915218 5439085.98090948 114.97514234051 + 457850.241648033 5439086.04745276 115.025656582356 + + + + + + + + + 457850.239580041 5439086.0495051 115.023061320311 + 457850.23893425 5439086.05183649 115.02 + 457850.235643985 5439085.98555517 114.969495 + 457850.239580041 5439086.0495051 115.023061320311 + + + + + + + + + 457850.239580041 5439086.0495051 115.023061320311 + 457850.235643985 5439085.98555517 114.969495 + 457850.23605585 5439085.98316413 114.97255131866 + 457850.239580041 5439086.0495051 115.023061320311 + + + + + + + + + 457850.23893425 5439086.05183649 115.02 + 457850.239808976 5439086.05409198 115.016938679689 + 457850.236742324 5439085.98771859 114.96643868134 + 457850.23893425 5439086.05183649 115.02 + + + + + + + + + 457850.23893425 5439086.05183649 115.02 + 457850.236742324 5439085.98771859 114.96643868134 + 457850.235643985 5439085.98555517 114.969495 + 457850.23893425 5439086.05183649 115.02 + + + + + + + + + 457850.239808976 5439086.05409198 115.016938679689 + 457850.242071049 5439086.05592821 115.014343417644 + 457850.239183656 5439085.98932502 114.96384765949 + 457850.239808976 5439086.05409198 115.016938679689 + + + + + + + + + 457850.239808976 5439086.05409198 115.016938679689 + 457850.239183656 5439085.98932502 114.96384765949 + 457850.236742324 5439085.98771859 114.96643868134 + 457850.239808976 5439086.05409198 115.016938679689 + + + + + + + + + 457850.242071049 5439086.05592821 115.014343417644 + 457850.24537609 5439086.05706562 115.012609318986 + 457850.242596309 5439085.99012989 114.96211639404 + 457850.242071049 5439086.05592821 115.014343417644 + + + + + + + + + 457850.242071049 5439086.05592821 115.014343417644 + 457850.242596309 5439085.99012989 114.96211639404 + 457850.239183656 5439085.98932502 114.96384765949 + 457850.242071049 5439086.05592821 115.014343417644 + + + + + + + + + 457850.24537609 5439086.05706562 115.012609318986 + 457850.249220935 5439086.05733105 115.012000384515 + 457850.246460739 5439085.99001068 114.96150845446 + 457850.24537609 5439086.05706562 115.012609318986 + + + + + + + + + 457850.24537609 5439086.05706562 115.012609318986 + 457850.246460739 5439085.99001068 114.96150845446 + 457850.242596309 5439085.99012989 114.96211639404 + 457850.24537609 5439086.05706562 115.012609318986 + + + + + + + + + 457850.249220935 5439086.05733105 115.012000384515 + 457850.253020243 5439086.0566841 115.012609318986 + 457850.25018862 5439085.98898554 114.96211639404 + 457850.249220935 5439086.05733105 115.012000384515 + + + + + + + + + 457850.249220935 5439086.05733105 115.012000384515 + 457850.25018862 5439085.98898554 114.96211639404 + 457850.246460739 5439085.99001068 114.96150845446 + 457850.249220935 5439086.05733105 115.012000384515 + + + + + + + + + 457850.25018862 5439085.98898554 114.96211639404 + 457850.253212418 5439085.98721052 114.96384765949 + 457850.212164028 5439085.82256651 114.837685654069 + 457850.25018862 5439085.98898554 114.96211639404 + + + + + + + + + 457850.25018862 5439085.98898554 114.96211639404 + 457850.212164028 5439085.82256651 114.837685654069 + 457850.209551893 5439085.82490548 114.835954386956 + 457850.25018862 5439085.98898554 114.96211639404 + + + + + + + + + 457850.253212418 5439085.98721052 114.96384765949 + 457850.255071785 5439085.98495587 114.96643868134 + 457850.213539782 5439085.81998814 114.840276678406 + 457850.253212418 5439085.98721052 114.96384765949 + + + + + + + + + 457850.253212418 5439085.98721052 114.96384765949 + 457850.213539782 5439085.81998814 114.840276678406 + 457850.212164028 5439085.82256651 114.837685654069 + 457850.253212418 5439085.98721052 114.96384765949 + + + + + + + + + 457850.255071785 5439085.98495587 114.96643868134 + 457850.25548365 5439085.98256483 114.969495 + 457850.213469709 5439085.8175629 114.843333 + 457850.255071785 5439085.98495587 114.96643868134 + + + + + + + + + 457850.255071785 5439085.98495587 114.96643868134 + 457850.213469709 5439085.8175629 114.843333 + 457850.213539782 5439085.81998814 114.840276678406 + 457850.255071785 5439085.98495587 114.96643868134 + + + + + + + + + 457850.25548365 5439085.98256483 114.969495 + 457850.254385311 5439085.98040141 114.97255131866 + 457850.211964477 5439085.81566001 114.846389321594 + 457850.25548365 5439085.98256483 114.969495 + + + + + + + + + 457850.25548365 5439085.98256483 114.969495 + 457850.211964477 5439085.81566001 114.846389321594 + 457850.213469709 5439085.8175629 114.843333 + 457850.25548365 5439085.98256483 114.969495 + + + + + + + + + 457850.254385311 5439085.98040141 114.97255131866 + 457850.251943979 5439085.97879498 114.97514234051 + 457850.209253245 5439085.81456918 114.848980345931 + 457850.254385311 5439085.98040141 114.97255131866 + + + + + + + + + 457850.254385311 5439085.98040141 114.97255131866 + 457850.209253245 5439085.81456918 114.848980345931 + 457850.211964477 5439085.81566001 114.846389321594 + 457850.254385311 5439085.98040141 114.97255131866 + + + + + + + + + 457850.251943979 5439085.97879498 114.97514234051 + 457850.248531326 5439085.97799011 114.97687360596 + 457850.205748772 5439085.81445647 114.850711613044 + 457850.251943979 5439085.97879498 114.97514234051 + + + + + + + + + 457850.251943979 5439085.97879498 114.97514234051 + 457850.205748772 5439085.81445647 114.850711613044 + 457850.209253245 5439085.81456918 114.848980345931 + 457850.251943979 5439085.97879498 114.97514234051 + + + + + + + + + 457850.248531326 5439085.97799011 114.97687360596 + 457850.244666896 5439085.97810932 114.97748154554 + 457850.201984583 5439085.81533903 114.851319553208 + 457850.248531326 5439085.97799011 114.97687360596 + + + + + + + + + 457850.248531326 5439085.97799011 114.97687360596 + 457850.201984583 5439085.81533903 114.851319553208 + 457850.205748772 5439085.81445647 114.850711613044 + 457850.248531326 5439085.97799011 114.97687360596 + + + + + + + + + 457850.244666896 5439085.97810932 114.97748154554 + 457850.240939015 5439085.97913446 114.97687360596 + 457850.198533742 5439085.81708252 114.850711613044 + 457850.244666896 5439085.97810932 114.97748154554 + + + + + + + + + 457850.244666896 5439085.97810932 114.97748154554 + 457850.198533742 5439085.81708252 114.850711613044 + 457850.201984583 5439085.81533903 114.851319553208 + 457850.244666896 5439085.97810932 114.97748154554 + + + + + + + + + 457850.240939015 5439085.97913446 114.97687360596 + 457850.237915218 5439085.98090948 114.97514234051 + 457850.195921607 5439085.81942149 114.848980345931 + 457850.240939015 5439085.97913446 114.97687360596 + + + + + + + + + 457850.240939015 5439085.97913446 114.97687360596 + 457850.195921607 5439085.81942149 114.848980345931 + 457850.198533742 5439085.81708252 114.850711613044 + 457850.240939015 5439085.97913446 114.97687360596 + + + + + + + + + 457850.237915218 5439085.98090948 114.97514234051 + 457850.23605585 5439085.98316413 114.97255131866 + 457850.194545854 5439085.82199986 114.846389321594 + 457850.237915218 5439085.98090948 114.97514234051 + + + + + + + + + 457850.237915218 5439085.98090948 114.97514234051 + 457850.194545854 5439085.82199986 114.846389321594 + 457850.195921607 5439085.81942149 114.848980345931 + 457850.237915218 5439085.98090948 114.97514234051 + + + + + + + + + 457850.23605585 5439085.98316413 114.97255131866 + 457850.235643985 5439085.98555517 114.969495 + 457850.194615927 5439085.8244251 114.843333 + 457850.23605585 5439085.98316413 114.97255131866 + + + + + + + + + 457850.23605585 5439085.98316413 114.97255131866 + 457850.194615927 5439085.8244251 114.843333 + 457850.194545854 5439085.82199986 114.846389321594 + 457850.23605585 5439085.98316413 114.97255131866 + + + + + + + + + 457850.235643985 5439085.98555517 114.969495 + 457850.236742324 5439085.98771859 114.96643868134 + 457850.196121158 5439085.82632799 114.840276678406 + 457850.235643985 5439085.98555517 114.969495 + + + + + + + + + 457850.235643985 5439085.98555517 114.969495 + 457850.196121158 5439085.82632799 114.840276678406 + 457850.194615927 5439085.8244251 114.843333 + 457850.235643985 5439085.98555517 114.969495 + + + + + + + + + 457850.236742324 5439085.98771859 114.96643868134 + 457850.239183656 5439085.98932502 114.96384765949 + 457850.198832391 5439085.82741882 114.837685654069 + 457850.236742324 5439085.98771859 114.96643868134 + + + + + + + + + 457850.236742324 5439085.98771859 114.96643868134 + 457850.198832391 5439085.82741882 114.837685654069 + 457850.196121158 5439085.82632799 114.840276678406 + 457850.236742324 5439085.98771859 114.96643868134 + + + + + + + + + 457850.239183656 5439085.98932502 114.96384765949 + 457850.242596309 5439085.99012989 114.96211639404 + 457850.202336864 5439085.82753153 114.835954386956 + 457850.239183656 5439085.98932502 114.96384765949 + + + + + + + + + 457850.239183656 5439085.98932502 114.96384765949 + 457850.202336864 5439085.82753153 114.835954386956 + 457850.198832391 5439085.82741882 114.837685654069 + 457850.239183656 5439085.98932502 114.96384765949 + + + + + + + + + 457850.242596309 5439085.99012989 114.96211639404 + 457850.246460739 5439085.99001068 114.96150845446 + 457850.206101052 5439085.82664897 114.835346446792 + 457850.242596309 5439085.99012989 114.96211639404 + + + + + + + + + 457850.242596309 5439085.99012989 114.96211639404 + 457850.206101052 5439085.82664897 114.835346446792 + 457850.202336864 5439085.82753153 114.835954386956 + 457850.242596309 5439085.99012989 114.96211639404 + + + + + + + + + 457850.246460739 5439085.99001068 114.96150845446 + 457850.25018862 5439085.98898554 114.96211639404 + 457850.209551893 5439085.82490548 114.835954386956 + 457850.246460739 5439085.99001068 114.96150845446 + + + + + + + + + 457850.246460739 5439085.99001068 114.96150845446 + 457850.209551893 5439085.82490548 114.835954386956 + 457850.206101052 5439085.82664897 114.835346446792 + 457850.246460739 5439085.99001068 114.96150845446 + + + + + + + + + 457850.209551893 5439085.82490548 114.835954386956 + 457850.212164028 5439085.82256651 114.837685654069 + 457850.139304588 5439085.66932014 114.711524651853 + 457850.209551893 5439085.82490548 114.835954386956 + + + + + + + + + 457850.209551893 5439085.82490548 114.835954386956 + 457850.139304588 5439085.66932014 114.711524651853 + 457850.137207706 5439085.67213032 114.709793384061 + 457850.209551893 5439085.82490548 114.835954386956 + + + + + + + + + 457850.212164028 5439085.82256651 114.837685654069 + 457850.213539782 5439085.81998814 114.840276678406 + 457850.140142167 5439085.66652029 114.714115677207 + 457850.212164028 5439085.82256651 114.837685654069 + + + + + + + + + 457850.212164028 5439085.82256651 114.837685654069 + 457850.140142167 5439085.66652029 114.714115677207 + 457850.139304588 5439085.66932014 114.711524651853 + 457850.212164028 5439085.82256651 114.837685654069 + + + + + + + + + 457850.213539782 5439085.81998814 114.840276678406 + 457850.213469709 5439085.8175629 114.843333 + 457850.139592931 5439085.66415702 114.717172 + 457850.213539782 5439085.81998814 114.840276678406 + + + + + + + + + 457850.213539782 5439085.81998814 114.840276678406 + 457850.139592931 5439085.66415702 114.717172 + 457850.140142167 5439085.66652029 114.714115677207 + 457850.213539782 5439085.81998814 114.840276678406 + + + + + + + + + 457850.213469709 5439085.8175629 114.843333 + 457850.211964477 5439085.81566001 114.846389321594 + 457850.137740495 5439085.66259013 114.720228322793 + 457850.213469709 5439085.8175629 114.843333 + + + + + + + + + 457850.213469709 5439085.8175629 114.843333 + 457850.137740495 5439085.66259013 114.720228322793 + 457850.139592931 5439085.66415702 114.717172 + 457850.213469709 5439085.8175629 114.843333 + + + + + + + + + 457850.211964477 5439085.81566001 114.846389321594 + 457850.209253245 5439085.81456918 114.848980345931 + 457850.134866876 5439085.66205814 114.722819348147 + 457850.211964477 5439085.81566001 114.846389321594 + + + + + + + + + 457850.211964477 5439085.81566001 114.846389321594 + 457850.134866876 5439085.66205814 114.722819348147 + 457850.137740495 5439085.66259013 114.720228322793 + 457850.211964477 5439085.81566001 114.846389321594 + + + + + + + + + 457850.209253245 5439085.81456918 114.848980345931 + 457850.205748772 5439085.81445647 114.850711613044 + 457850.131409556 5439085.66264207 114.724550615939 + 457850.209253245 5439085.81456918 114.848980345931 + + + + + + + + + 457850.209253245 5439085.81456918 114.848980345931 + 457850.131409556 5439085.66264207 114.724550615939 + 457850.134866876 5439085.66205814 114.722819348147 + 457850.209253245 5439085.81456918 114.848980345931 + + + + + + + + + 457850.205748772 5439085.81445647 114.850711613044 + 457850.201984583 5439085.81533903 114.851319553208 + 457850.127894881 5439085.664253 114.725158556341 + 457850.205748772 5439085.81445647 114.850711613044 + + + + + + + + + 457850.205748772 5439085.81445647 114.850711613044 + 457850.127894881 5439085.664253 114.725158556341 + 457850.131409556 5439085.66264207 114.724550615939 + 457850.205748772 5439085.81445647 114.850711613044 + + + + + + + + + 457850.201984583 5439085.81533903 114.851319553208 + 457850.198533742 5439085.81708252 114.850711613044 + 457850.124857929 5439085.66664568 114.724550615939 + 457850.201984583 5439085.81533903 114.851319553208 + + + + + + + + + 457850.201984583 5439085.81533903 114.851319553208 + 457850.124857929 5439085.66664568 114.724550615939 + 457850.127894881 5439085.664253 114.725158556341 + 457850.201984583 5439085.81533903 114.851319553208 + + + + + + + + + 457850.198533742 5439085.81708252 114.850711613044 + 457850.195921607 5439085.81942149 114.848980345931 + 457850.122761047 5439085.66945586 114.722819348147 + 457850.198533742 5439085.81708252 114.850711613044 + + + + + + + + + 457850.198533742 5439085.81708252 114.850711613044 + 457850.122761047 5439085.66945586 114.722819348147 + 457850.124857929 5439085.66664568 114.724550615939 + 457850.198533742 5439085.81708252 114.850711613044 + + + + + + + + + 457850.195921607 5439085.81942149 114.848980345931 + 457850.194545854 5439085.82199986 114.846389321594 + 457850.121923468 5439085.67225571 114.720228322793 + 457850.195921607 5439085.81942149 114.848980345931 + + + + + + + + + 457850.195921607 5439085.81942149 114.848980345931 + 457850.121923468 5439085.67225571 114.720228322793 + 457850.122761047 5439085.66945586 114.722819348147 + 457850.195921607 5439085.81942149 114.848980345931 + + + + + + + + + 457850.194545854 5439085.82199986 114.846389321594 + 457850.194615927 5439085.8244251 114.843333 + 457850.122472704 5439085.67461898 114.717172 + 457850.194545854 5439085.82199986 114.846389321594 + + + + + + + + + 457850.194545854 5439085.82199986 114.846389321594 + 457850.122472704 5439085.67461898 114.717172 + 457850.121923468 5439085.67225571 114.720228322793 + 457850.194545854 5439085.82199986 114.846389321594 + + + + + + + + + 457850.194615927 5439085.8244251 114.843333 + 457850.196121158 5439085.82632799 114.840276678406 + 457850.12432514 5439085.67618587 114.714115677207 + 457850.194615927 5439085.8244251 114.843333 + + + + + + + + + 457850.194615927 5439085.8244251 114.843333 + 457850.12432514 5439085.67618587 114.714115677207 + 457850.122472704 5439085.67461898 114.717172 + 457850.194615927 5439085.8244251 114.843333 + + + + + + + + + 457850.196121158 5439085.82632799 114.840276678406 + 457850.198832391 5439085.82741882 114.837685654069 + 457850.127198759 5439085.67671786 114.711524651853 + 457850.196121158 5439085.82632799 114.840276678406 + + + + + + + + + 457850.196121158 5439085.82632799 114.840276678406 + 457850.127198759 5439085.67671786 114.711524651853 + 457850.12432514 5439085.67618587 114.714115677207 + 457850.196121158 5439085.82632799 114.840276678406 + + + + + + + + + 457850.198832391 5439085.82741882 114.837685654069 + 457850.202336864 5439085.82753153 114.835954386956 + 457850.130656079 5439085.67613393 114.709793384061 + 457850.198832391 5439085.82741882 114.837685654069 + + + + + + + + + 457850.198832391 5439085.82741882 114.837685654069 + 457850.130656079 5439085.67613393 114.709793384061 + 457850.127198759 5439085.67671786 114.711524651853 + 457850.198832391 5439085.82741882 114.837685654069 + + + + + + + + + 457850.202336864 5439085.82753153 114.835954386956 + 457850.206101052 5439085.82664897 114.835346446792 + 457850.134170754 5439085.674523 114.709185443659 + 457850.202336864 5439085.82753153 114.835954386956 + + + + + + + + + 457850.202336864 5439085.82753153 114.835954386956 + 457850.134170754 5439085.674523 114.709185443659 + 457850.130656079 5439085.67613393 114.709793384061 + 457850.202336864 5439085.82753153 114.835954386956 + + + + + + + + + 457850.206101052 5439085.82664897 114.835346446792 + 457850.209551893 5439085.82490548 114.835954386956 + 457850.137207706 5439085.67213032 114.709793384061 + 457850.206101052 5439085.82664897 114.835346446792 + + + + + + + + + 457850.206101052 5439085.82664897 114.835346446792 + 457850.137207706 5439085.67213032 114.709793384061 + 457850.134170754 5439085.674523 114.709185443659 + 457850.206101052 5439085.82664897 114.835346446792 + + + + + + + + + 457850.137207706 5439085.67213032 114.709793384061 + 457850.139304588 5439085.66932014 114.711524651853 + 457850.098558347 5439085.6148047 114.66101042649 + 457850.137207706 5439085.67213032 114.709793384061 + + + + + + + + + 457850.137207706 5439085.67213032 114.709793384061 + 457850.098558347 5439085.6148047 114.66101042649 + 457850.096757664 5439085.61780045 114.659276330544 + 457850.137207706 5439085.67213032 114.709793384061 + + + + + + + + + 457850.139304588 5439085.66932014 114.711524651853 + 457850.140142167 5439085.66652029 114.714115677207 + 457850.099110878 5439085.61194403 114.663605684476 + 457850.139304588 5439085.66932014 114.711524651853 + + + + + + + + + 457850.139304588 5439085.66932014 114.711524651853 + 457850.099110878 5439085.61194403 114.663605684476 + 457850.098558347 5439085.6148047 114.66101042649 + 457850.139304588 5439085.66932014 114.711524651853 + + + + + + + + + 457850.140142167 5439085.66652029 114.714115677207 + 457850.139592931 5439085.66415702 114.717172 + 457850.09833114 5439085.60965395 114.666667 + 457850.140142167 5439085.66652029 114.714115677207 + + + + + + + + + 457850.140142167 5439085.66652029 114.714115677207 + 457850.09833114 5439085.60965395 114.666667 + 457850.099110878 5439085.61194403 114.663605684476 + 457850.140142167 5439085.66652029 114.714115677207 + + + + + + + + + 457850.139592931 5439085.66415702 114.717172 + 457850.137740495 5439085.66259013 114.720228322793 + 457850.09633784 5439085.60828311 114.669728315524 + 457850.139592931 5439085.66415702 114.717172 + + + + + + + + + 457850.139592931 5439085.66415702 114.717172 + 457850.09633784 5439085.60828311 114.669728315524 + 457850.09833114 5439085.60965395 114.666667 + 457850.139592931 5439085.66415702 114.717172 + + + + + + + + + 457850.137740495 5439085.66259013 114.720228322793 + 457850.134866876 5439085.66205814 114.722819348147 + 457850.09343444 5439085.60804021 114.67232357351 + 457850.137740495 5439085.66259013 114.720228322793 + + + + + + + + + 457850.137740495 5439085.66259013 114.720228322793 + 457850.09343444 5439085.60804021 114.67232357351 + 457850.09633784 5439085.60828311 114.669728315524 + 457850.137740495 5439085.66259013 114.720228322793 + + + + + + + + + 457850.134866876 5439085.66205814 114.722819348147 + 457850.131409556 5439085.66264207 114.724550615939 + 457850.090062957 5439085.60896222 114.674057669456 + 457850.134866876 5439085.66205814 114.722819348147 + + + + + + + + + 457850.134866876 5439085.66205814 114.722819348147 + 457850.090062957 5439085.60896222 114.674057669456 + 457850.09343444 5439085.60804021 114.67232357351 + 457850.134866876 5439085.66205814 114.722819348147 + + + + + + + + + 457850.131409556 5439085.66264207 114.724550615939 + 457850.127894881 5439085.664253 114.725158556341 + 457850.086736669 5439085.61090878 114.674666602974 + 457850.131409556 5439085.66264207 114.724550615939 + + + + + + + + + 457850.131409556 5439085.66264207 114.724550615939 + 457850.086736669 5439085.61090878 114.674666602974 + 457850.090062957 5439085.60896222 114.674057669456 + 457850.131409556 5439085.66264207 114.724550615939 + + + + + + + + + 457850.127894881 5439085.664253 114.725158556341 + 457850.124857929 5439085.66664568 114.724550615939 + 457850.083961972 5439085.61358355 114.674057669456 + 457850.127894881 5439085.664253 114.725158556341 + + + + + + + + + 457850.127894881 5439085.664253 114.725158556341 + 457850.083961972 5439085.61358355 114.674057669456 + 457850.086736669 5439085.61090878 114.674666602974 + 457850.127894881 5439085.664253 114.725158556341 + + + + + + + + + 457850.124857929 5439085.66664568 114.724550615939 + 457850.122761047 5439085.66945586 114.722819348147 + 457850.082161289 5439085.6165793 114.67232357351 + 457850.124857929 5439085.66664568 114.724550615939 + + + + + + + + + 457850.124857929 5439085.66664568 114.724550615939 + 457850.082161289 5439085.6165793 114.67232357351 + 457850.083961972 5439085.61358355 114.674057669456 + 457850.124857929 5439085.66664568 114.724550615939 + + + + + + + + + 457850.122761047 5439085.66945586 114.722819348147 + 457850.121923468 5439085.67225571 114.720228322793 + 457850.081608757 5439085.61943997 114.669728315524 + 457850.122761047 5439085.66945586 114.722819348147 + + + + + + + + + 457850.122761047 5439085.66945586 114.722819348147 + 457850.081608757 5439085.61943997 114.669728315524 + 457850.082161289 5439085.6165793 114.67232357351 + 457850.122761047 5439085.66945586 114.722819348147 + + + + + + + + + 457850.121923468 5439085.67225571 114.720228322793 + 457850.122472704 5439085.67461898 114.717172 + 457850.082388496 5439085.62173005 114.666667 + 457850.121923468 5439085.67225571 114.720228322793 + + + + + + + + + 457850.121923468 5439085.67225571 114.720228322793 + 457850.082388496 5439085.62173005 114.666667 + 457850.081608757 5439085.61943997 114.669728315524 + 457850.121923468 5439085.67225571 114.720228322793 + + + + + + + + + 457850.122472704 5439085.67461898 114.717172 + 457850.12432514 5439085.67618587 114.714115677207 + 457850.084381795 5439085.62310089 114.663605684476 + 457850.122472704 5439085.67461898 114.717172 + + + + + + + + + 457850.122472704 5439085.67461898 114.717172 + 457850.084381795 5439085.62310089 114.663605684476 + 457850.082388496 5439085.62173005 114.666667 + 457850.122472704 5439085.67461898 114.717172 + + + + + + + + + 457850.12432514 5439085.67618587 114.714115677207 + 457850.127198759 5439085.67671786 114.711524651853 + 457850.087285195 5439085.62334379 114.66101042649 + 457850.12432514 5439085.67618587 114.714115677207 + + + + + + + + + 457850.12432514 5439085.67618587 114.714115677207 + 457850.087285195 5439085.62334379 114.66101042649 + 457850.084381795 5439085.62310089 114.663605684476 + 457850.12432514 5439085.67618587 114.714115677207 + + + + + + + + + 457850.127198759 5439085.67671786 114.711524651853 + 457850.130656079 5439085.67613393 114.709793384061 + 457850.090656678 5439085.62242178 114.659276330544 + 457850.127198759 5439085.67671786 114.711524651853 + + + + + + + + + 457850.127198759 5439085.67671786 114.711524651853 + 457850.090656678 5439085.62242178 114.659276330544 + 457850.087285195 5439085.62334379 114.66101042649 + 457850.127198759 5439085.67671786 114.711524651853 + + + + + + + + + 457850.130656079 5439085.67613393 114.709793384061 + 457850.134170754 5439085.674523 114.709185443659 + 457850.093982966 5439085.62047522 114.658667397026 + 457850.130656079 5439085.67613393 114.709793384061 + + + + + + + + + 457850.130656079 5439085.67613393 114.709793384061 + 457850.093982966 5439085.62047522 114.658667397026 + 457850.090656678 5439085.62242178 114.659276330544 + 457850.130656079 5439085.67613393 114.709793384061 + + + + + + + + + 457850.134170754 5439085.674523 114.709185443659 + 457850.137207706 5439085.67213032 114.709793384061 + 457850.096757664 5439085.61780045 114.659276330544 + 457850.134170754 5439085.674523 114.709185443659 + + + + + + + + + 457850.134170754 5439085.674523 114.709185443659 + 457850.096757664 5439085.61780045 114.659276330544 + 457850.093982966 5439085.62047522 114.658667397026 + 457850.134170754 5439085.674523 114.709185443659 + + + + + + + + + 457850.096757664 5439085.61780045 114.659276330544 + 457850.098558347 5439085.6148047 114.66101042649 + 457850.037526816 5439085.53355132 114.585295526241 + 457850.096757664 5439085.61780045 114.659276330544 + + + + + + + + + 457850.096757664 5439085.61780045 114.659276330544 + 457850.037526816 5439085.53355132 114.585295526241 + 457850.036028852 5439085.53672182 114.583564833068 + 457850.096757664 5439085.61780045 114.659276330544 + + + + + + + + + 457850.098558347 5439085.6148047 114.66101042649 + 457850.099110878 5439085.61194403 114.663605684476 + 457850.037792238 5439085.53064019 114.587885691618 + 457850.098558347 5439085.6148047 114.66101042649 + + + + + + + + + 457850.098558347 5439085.6148047 114.66101042649 + 457850.037792238 5439085.53064019 114.587885691618 + 457850.037526816 5439085.53355132 114.585295526241 + 457850.098558347 5439085.6148047 114.66101042649 + + + + + + + + + 457850.099110878 5439085.61194403 114.663605684476 + 457850.09833114 5439085.60965395 114.666667 + 457850.036784709 5439085.52843162 114.590941 + 457850.099110878 5439085.61194403 114.663605684476 + + + + + + + + + 457850.099110878 5439085.61194403 114.663605684476 + 457850.036784709 5439085.52843162 114.590941 + 457850.037792238 5439085.53064019 114.587885691618 + 457850.099110878 5439085.61194403 114.663605684476 + + + + + + + + + 457850.09833114 5439085.60965395 114.666667 + 457850.09633784 5439085.60828311 114.669728315524 + 457850.034657617 5439085.52726185 114.593996308382 + 457850.09833114 5439085.60965395 114.666667 + + + + + + + + + 457850.09833114 5439085.60965395 114.666667 + 457850.034657617 5439085.52726185 114.593996308382 + 457850.036784709 5439085.52843162 114.590941 + 457850.09833114 5439085.60965395 114.666667 + + + + + + + + + 457850.09633784 5439085.60828311 114.669728315524 + 457850.09343444 5439085.60804021 114.67232357351 + 457850.031734792 5439085.52730897 114.596586473759 + 457850.09633784 5439085.60828311 114.669728315524 + + + + + + + + + 457850.09633784 5439085.60828311 114.669728315524 + 457850.031734792 5439085.52730897 114.596586473759 + 457850.034657617 5439085.52726185 114.593996308382 + 457850.09633784 5439085.60828311 114.669728315524 + + + + + + + + + 457850.09343444 5439085.60804021 114.67232357351 + 457850.090062957 5439085.60896222 114.674057669456 + 457850.028461208 5439085.52856579 114.598317166932 + 457850.09343444 5439085.60804021 114.67232357351 + + + + + + + + + 457850.09343444 5439085.60804021 114.67232357351 + 457850.028461208 5439085.52856579 114.598317166932 + 457850.031734792 5439085.52730897 114.596586473759 + 457850.09343444 5439085.60804021 114.67232357351 + + + + + + + + + 457850.090062957 5439085.60896222 114.674057669456 + 457850.086736669 5439085.61090878 114.674666602974 + 457850.025335238 5439085.53084099 114.598924905556 + 457850.090062957 5439085.60896222 114.674057669456 + + + + + + + + + 457850.090062957 5439085.60896222 114.674057669456 + 457850.025335238 5439085.53084099 114.598924905556 + 457850.028461208 5439085.52856579 114.598317166932 + 457850.090062957 5439085.60896222 114.674057669456 + + + + + + + + + 457850.086736669 5439085.61090878 114.674666602974 + 457850.083961972 5439085.61358355 114.674057669456 + 457850.022832783 5439085.53378818 114.598317166932 + 457850.086736669 5439085.61090878 114.674666602974 + + + + + + + + + 457850.086736669 5439085.61090878 114.674666602974 + 457850.022832783 5439085.53378818 114.598317166932 + 457850.025335238 5439085.53084099 114.598924905556 + 457850.086736669 5439085.61090878 114.674666602974 + + + + + + + + + 457850.083961972 5439085.61358355 114.674057669456 + 457850.082161289 5439085.6165793 114.67232357351 + 457850.021334819 5439085.53695868 114.596586473759 + 457850.083961972 5439085.61358355 114.674057669456 + + + + + + + + + 457850.083961972 5439085.61358355 114.674057669456 + 457850.021334819 5439085.53695868 114.596586473759 + 457850.022832783 5439085.53378818 114.598317166932 + 457850.083961972 5439085.61358355 114.674057669456 + + + + + + + + + 457850.082161289 5439085.6165793 114.67232357351 + 457850.081608757 5439085.61943997 114.669728315524 + 457850.021069397 5439085.53986981 114.593996308382 + 457850.082161289 5439085.6165793 114.67232357351 + + + + + + + + + 457850.082161289 5439085.6165793 114.67232357351 + 457850.021069397 5439085.53986981 114.593996308382 + 457850.021334819 5439085.53695868 114.596586473759 + 457850.082161289 5439085.6165793 114.67232357351 + + + + + + + + + 457850.081608757 5439085.61943997 114.669728315524 + 457850.082388496 5439085.62173005 114.666667 + 457850.022076926 5439085.54207838 114.590941 + 457850.081608757 5439085.61943997 114.669728315524 + + + + + + + + + 457850.081608757 5439085.61943997 114.669728315524 + 457850.022076926 5439085.54207838 114.590941 + 457850.021069397 5439085.53986981 114.593996308382 + 457850.081608757 5439085.61943997 114.669728315524 + + + + + + + + + 457850.082388496 5439085.62173005 114.666667 + 457850.084381795 5439085.62310089 114.663605684476 + 457850.024204018 5439085.54324815 114.587885691618 + 457850.082388496 5439085.62173005 114.666667 + + + + + + + + + 457850.082388496 5439085.62173005 114.666667 + 457850.024204018 5439085.54324815 114.587885691618 + 457850.022076926 5439085.54207838 114.590941 + 457850.082388496 5439085.62173005 114.666667 + + + + + + + + + 457850.084381795 5439085.62310089 114.663605684476 + 457850.087285195 5439085.62334379 114.66101042649 + 457850.027126843 5439085.54320103 114.585295526241 + 457850.084381795 5439085.62310089 114.663605684476 + + + + + + + + + 457850.084381795 5439085.62310089 114.663605684476 + 457850.027126843 5439085.54320103 114.585295526241 + 457850.024204018 5439085.54324815 114.587885691618 + 457850.084381795 5439085.62310089 114.663605684476 + + + + + + + + + 457850.087285195 5439085.62334379 114.66101042649 + 457850.090656678 5439085.62242178 114.659276330544 + 457850.030400428 5439085.54194421 114.583564833068 + 457850.087285195 5439085.62334379 114.66101042649 + + + + + + + + + 457850.087285195 5439085.62334379 114.66101042649 + 457850.030400428 5439085.54194421 114.583564833068 + 457850.027126843 5439085.54320103 114.585295526241 + 457850.087285195 5439085.62334379 114.66101042649 + + + + + + + + + 457850.090656678 5439085.62242178 114.659276330544 + 457850.093982966 5439085.62047522 114.658667397026 + 457850.033526397 5439085.53966901 114.582957094444 + 457850.090656678 5439085.62242178 114.659276330544 + + + + + + + + + 457850.090656678 5439085.62242178 114.659276330544 + 457850.033526397 5439085.53966901 114.582957094444 + 457850.030400428 5439085.54194421 114.583564833068 + 457850.090656678 5439085.62242178 114.659276330544 + + + + + + + + + 457850.093982966 5439085.62047522 114.658667397026 + 457850.096757664 5439085.61780045 114.659276330544 + 457850.036028852 5439085.53672182 114.583564833068 + 457850.093982966 5439085.62047522 114.658667397026 + + + + + + + + + 457850.093982966 5439085.62047522 114.658667397026 + 457850.036028852 5439085.53672182 114.583564833068 + 457850.033526397 5439085.53966901 114.582957094444 + 457850.093982966 5439085.62047522 114.658667397026 + + + + + + + + + 457850.036028852 5439085.53672182 114.583564833068 + 457850.037526816 5439085.53355132 114.585295526241 + 457849.936439283 5439085.44375715 114.484342742738 + 457850.036028852 5439085.53672182 114.583564833068 + + + + + + + + + 457850.036028852 5439085.53672182 114.583564833068 + 457849.936439283 5439085.44375715 114.484342742738 + 457849.935267702 5439085.44705013 114.482608437178 + 457850.036028852 5439085.53672182 114.583564833068 + + + + + + + + + 457850.037526816 5439085.53355132 114.585295526241 + 457850.037792238 5439085.53064019 114.587885691618 + 457849.936414331 5439085.440844 114.486938314432 + 457850.037526816 5439085.53355132 114.585295526241 + + + + + + + + + 457850.037526816 5439085.53355132 114.585295526241 + 457849.936414331 5439085.440844 114.486938314432 + 457849.936439283 5439085.44375715 114.484342742738 + 457850.037526816 5439085.53355132 114.585295526241 + + + + + + + + + 457850.037792238 5439085.53064019 114.587885691618 + 457850.036784709 5439085.52843162 114.590941 + 457849.935196645 5439085.43875416 114.49 + 457850.037792238 5439085.53064019 114.587885691618 + + + + + + + + + 457850.037792238 5439085.53064019 114.587885691618 + 457849.935196645 5439085.43875416 114.49 + 457849.936414331 5439085.440844 114.486938314432 + 457850.037792238 5439085.53064019 114.587885691618 + + + + + + + + + 457850.036784709 5439085.52843162 114.590941 + 457850.034657617 5439085.52726185 114.593996308382 + 457849.932971608 5439085.4378058 114.493061685568 + 457850.036784709 5439085.52843162 114.590941 + + + + + + + + + 457850.036784709 5439085.52843162 114.590941 + 457849.932971608 5439085.4378058 114.493061685568 + 457849.935196645 5439085.43875416 114.49 + 457850.036784709 5439085.52843162 114.590941 + + + + + + + + + 457850.034657617 5439085.52726185 114.593996308382 + 457850.031734792 5439085.52730897 114.596586473759 + 457849.93007796 5439085.4381433 114.495657257262 + 457850.034657617 5439085.52726185 114.593996308382 + + + + + + + + + 457850.034657617 5439085.52726185 114.593996308382 + 457849.93007796 5439085.4381433 114.495657257262 + 457849.932971608 5439085.4378058 114.493061685568 + 457850.034657617 5439085.52726185 114.593996308382 + + + + + + + + + 457850.031734792 5439085.52730897 114.596586473759 + 457850.028461208 5439085.52856579 114.598317166932 + 457849.926956233 5439085.43971527 114.497391562822 + 457850.031734792 5439085.52730897 114.596586473759 + + + + + + + + + 457850.031734792 5439085.52730897 114.596586473759 + 457849.926956233 5439085.43971527 114.497391562822 + 457849.93007796 5439085.4381433 114.495657257262 + 457850.031734792 5439085.52730897 114.596586473759 + + + + + + + + + 457850.028461208 5439085.52856579 114.598317166932 + 457850.025335238 5439085.53084099 114.598924905556 + 457849.924081683 5439085.44228241 114.498000569946 + 457850.028461208 5439085.52856579 114.598317166932 + + + + + + + + + 457850.028461208 5439085.52856579 114.598317166932 + 457849.924081683 5439085.44228241 114.498000569946 + 457849.926956233 5439085.43971527 114.497391562822 + 457850.028461208 5439085.52856579 114.598317166932 + + + + + + + + + 457850.025335238 5439085.53084099 114.598924905556 + 457850.022832783 5439085.53378818 114.598317166932 + 457849.921891933 5439085.44545387 114.497391562822 + 457850.025335238 5439085.53084099 114.598924905556 + + + + + + + + + 457850.025335238 5439085.53084099 114.598924905556 + 457849.921891933 5439085.44545387 114.497391562822 + 457849.924081683 5439085.44228241 114.498000569946 + 457850.025335238 5439085.53084099 114.598924905556 + + + + + + + + + 457850.022832783 5439085.53378818 114.598317166932 + 457850.021334819 5439085.53695868 114.596586473759 + 457849.920720353 5439085.44874685 114.495657257262 + 457850.022832783 5439085.53378818 114.598317166932 + + + + + + + + + 457850.022832783 5439085.53378818 114.598317166932 + 457849.920720353 5439085.44874685 114.495657257262 + 457849.921891933 5439085.44545387 114.497391562822 + 457850.022832783 5439085.53378818 114.598317166932 + + + + + + + + + 457850.021334819 5439085.53695868 114.596586473759 + 457850.021069397 5439085.53986981 114.593996308382 + 457849.920745304 5439085.45166 114.493061685568 + 457850.021334819 5439085.53695868 114.596586473759 + + + + + + + + + 457850.021334819 5439085.53695868 114.596586473759 + 457849.920745304 5439085.45166 114.493061685568 + 457849.920720353 5439085.44874685 114.495657257262 + 457850.021334819 5439085.53695868 114.596586473759 + + + + + + + + + 457850.021069397 5439085.53986981 114.593996308382 + 457850.022076926 5439085.54207838 114.590941 + 457849.92196299 5439085.45374984 114.49 + 457850.021069397 5439085.53986981 114.593996308382 + + + + + + + + + 457850.021069397 5439085.53986981 114.593996308382 + 457849.92196299 5439085.45374984 114.49 + 457849.920745304 5439085.45166 114.493061685568 + 457850.021069397 5439085.53986981 114.593996308382 + + + + + + + + + 457850.022076926 5439085.54207838 114.590941 + 457850.024204018 5439085.54324815 114.587885691618 + 457849.924188028 5439085.4546982 114.486938314432 + 457850.022076926 5439085.54207838 114.590941 + + + + + + + + + 457850.022076926 5439085.54207838 114.590941 + 457849.924188028 5439085.4546982 114.486938314432 + 457849.92196299 5439085.45374984 114.49 + 457850.022076926 5439085.54207838 114.590941 + + + + + + + + + 457850.024204018 5439085.54324815 114.587885691618 + 457850.027126843 5439085.54320103 114.585295526241 + 457849.927081676 5439085.4543607 114.484342742738 + 457850.024204018 5439085.54324815 114.587885691618 + + + + + + + + + 457850.024204018 5439085.54324815 114.587885691618 + 457849.927081676 5439085.4543607 114.484342742738 + 457849.924188028 5439085.4546982 114.486938314432 + 457850.024204018 5439085.54324815 114.587885691618 + + + + + + + + + 457850.027126843 5439085.54320103 114.585295526241 + 457850.030400428 5439085.54194421 114.583564833068 + 457849.930203402 5439085.45278873 114.482608437178 + 457850.027126843 5439085.54320103 114.585295526241 + + + + + + + + + 457850.027126843 5439085.54320103 114.585295526241 + 457849.930203402 5439085.45278873 114.482608437178 + 457849.927081676 5439085.4543607 114.484342742738 + 457850.027126843 5439085.54320103 114.585295526241 + + + + + + + + + 457850.030400428 5439085.54194421 114.583564833068 + 457850.033526397 5439085.53966901 114.582957094444 + 457849.933077952 5439085.45022159 114.481999430054 + 457850.030400428 5439085.54194421 114.583564833068 + + + + + + + + + 457850.030400428 5439085.54194421 114.583564833068 + 457849.933077952 5439085.45022159 114.481999430054 + 457849.930203402 5439085.45278873 114.482608437178 + 457850.030400428 5439085.54194421 114.583564833068 + + + + + + + + + 457850.033526397 5439085.53966901 114.582957094444 + 457850.036028852 5439085.53672182 114.583564833068 + 457849.935267702 5439085.44705013 114.482608437178 + 457850.033526397 5439085.53966901 114.582957094444 + + + + + + + + + 457850.033526397 5439085.53966901 114.582957094444 + 457849.935267702 5439085.44705013 114.482608437178 + 457849.933077952 5439085.45022159 114.481999430054 + 457850.033526397 5439085.53966901 114.582957094444 + + + + + + + + + 457849.935267702 5439085.44705013 114.482608437178 + 457849.936439283 5439085.44375715 114.484342742738 + 457849.910860183 5439085.42063628 114.45905526839 + 457849.935267702 5439085.44705013 114.482608437178 + + + + + + + + + 457849.935267702 5439085.44705013 114.482608437178 + 457849.910860183 5439085.42063628 114.45905526839 + 457849.910019097 5439085.42403998 114.45732357648 + 457849.935267702 5439085.44705013 114.482608437178 + + + + + + + + + 457849.936439283 5439085.44375715 114.484342742738 + 457849.936414331 5439085.440844 114.486938314432 + 457849.910545095 5439085.41773143 114.461646928482 + 457849.936439283 5439085.44375715 114.484342742738 + + + + + + + + + 457849.936439283 5439085.44375715 114.484342742738 + 457849.910545095 5439085.41773143 114.461646928482 + 457849.910860183 5439085.42063628 114.45905526839 + 457849.936439283 5439085.44375715 114.484342742738 + + + + + + + + + 457849.936414331 5439085.440844 114.486938314432 + 457849.935196645 5439085.43875416 114.49 + 457849.909121803 5439085.41576768 114.464704 + 457849.936414331 5439085.440844 114.486938314432 + + + + + + + + + 457849.936414331 5439085.440844 114.486938314432 + 457849.909121803 5439085.41576768 114.464704 + 457849.910545095 5439085.41773143 114.461646928482 + 457849.936414331 5439085.440844 114.486938314432 + + + + + + + + + 457849.935196645 5439085.43875416 114.49 + 457849.932971608 5439085.4378058 114.493061685568 + 457849.906806991 5439085.41504397 114.467761071518 + 457849.935196645 5439085.43875416 114.49 + + + + + + + + + 457849.935196645 5439085.43875416 114.49 + 457849.906806991 5439085.41504397 114.467761071518 + 457849.909121803 5439085.41576768 114.464704 + 457849.935196645 5439085.43875416 114.49 + + + + + + + + + 457849.932971608 5439085.4378058 114.493061685568 + 457849.93007796 5439085.4381433 114.495657257262 + 457849.903953067 5439085.41567049 114.47035273161 + 457849.932971608 5439085.4378058 114.493061685568 + + + + + + + + + 457849.932971608 5439085.4378058 114.493061685568 + 457849.903953067 5439085.41567049 114.47035273161 + 457849.906806991 5439085.41504397 114.467761071518 + 457849.932971608 5439085.4378058 114.493061685568 + + + + + + + + + 457849.93007796 5439085.4381433 114.495657257262 + 457849.926956233 5439085.43971527 114.497391562822 + 457849.900994515 5439085.41755186 114.47208442352 + 457849.93007796 5439085.4381433 114.495657257262 + + + + + + + + + 457849.93007796 5439085.4381433 114.495657257262 + 457849.900994515 5439085.41755186 114.47208442352 + 457849.903953067 5439085.41567049 114.47035273161 + 457849.93007796 5439085.4381433 114.495657257262 + + + + + + + + + 457849.926956233 5439085.43971527 114.497391562822 + 457849.924081683 5439085.44228241 114.498000569946 + 457849.898381749 5439085.42040166 114.472692512853 + 457849.926956233 5439085.43971527 114.497391562822 + + + + + + + + + 457849.926956233 5439085.43971527 114.497391562822 + 457849.898381749 5439085.42040166 114.472692512853 + 457849.900994515 5439085.41755186 114.47208442352 + 457849.926956233 5439085.43971527 114.497391562822 + + + + + + + + + 457849.924081683 5439085.44228241 114.498000569946 + 457849.921891933 5439085.44545387 114.497391562822 + 457849.896512538 5439085.42378602 114.47208442352 + 457849.924081683 5439085.44228241 114.498000569946 + + + + + + + + + 457849.924081683 5439085.44228241 114.498000569946 + 457849.896512538 5439085.42378602 114.47208442352 + 457849.898381749 5439085.42040166 114.472692512853 + 457849.924081683 5439085.44228241 114.498000569946 + + + + + + + + + 457849.921891933 5439085.44545387 114.497391562822 + 457849.920720353 5439085.44874685 114.495657257262 + 457849.895671452 5439085.42718972 114.47035273161 + 457849.921891933 5439085.44545387 114.497391562822 + + + + + + + + + 457849.921891933 5439085.44545387 114.497391562822 + 457849.895671452 5439085.42718972 114.47035273161 + 457849.896512538 5439085.42378602 114.47208442352 + 457849.921891933 5439085.44545387 114.497391562822 + + + + + + + + + 457849.920720353 5439085.44874685 114.495657257262 + 457849.920745304 5439085.45166 114.493061685568 + 457849.89598654 5439085.43009457 114.467761071518 + 457849.920720353 5439085.44874685 114.495657257262 + + + + + + + + + 457849.920720353 5439085.44874685 114.495657257262 + 457849.89598654 5439085.43009457 114.467761071518 + 457849.895671452 5439085.42718972 114.47035273161 + 457849.920720353 5439085.44874685 114.495657257262 + + + + + + + + + 457849.920745304 5439085.45166 114.493061685568 + 457849.92196299 5439085.45374984 114.49 + 457849.897409832 5439085.43205833 114.464704 + 457849.920745304 5439085.45166 114.493061685568 + + + + + + + + + 457849.920745304 5439085.45166 114.493061685568 + 457849.897409832 5439085.43205833 114.464704 + 457849.89598654 5439085.43009457 114.467761071518 + 457849.920745304 5439085.45166 114.493061685568 + + + + + + + + + 457849.92196299 5439085.45374984 114.49 + 457849.924188028 5439085.4546982 114.486938314432 + 457849.899724645 5439085.43278203 114.461646928482 + 457849.92196299 5439085.45374984 114.49 + + + + + + + + + 457849.92196299 5439085.45374984 114.49 + 457849.899724645 5439085.43278203 114.461646928482 + 457849.897409832 5439085.43205833 114.464704 + 457849.92196299 5439085.45374984 114.49 + + + + + + + + + 457849.924188028 5439085.4546982 114.486938314432 + 457849.927081676 5439085.4543607 114.484342742738 + 457849.902578569 5439085.43215551 114.45905526839 + 457849.924188028 5439085.4546982 114.486938314432 + + + + + + + + + 457849.924188028 5439085.4546982 114.486938314432 + 457849.902578569 5439085.43215551 114.45905526839 + 457849.899724645 5439085.43278203 114.461646928482 + 457849.924188028 5439085.4546982 114.486938314432 + + + + + + + + + 457849.927081676 5439085.4543607 114.484342742738 + 457849.930203402 5439085.45278873 114.482608437178 + 457849.90553712 5439085.43027414 114.45732357648 + 457849.927081676 5439085.4543607 114.484342742738 + + + + + + + + + 457849.927081676 5439085.4543607 114.484342742738 + 457849.90553712 5439085.43027414 114.45732357648 + 457849.902578569 5439085.43215551 114.45905526839 + 457849.927081676 5439085.4543607 114.484342742738 + + + + + + + + + 457849.930203402 5439085.45278873 114.482608437178 + 457849.933077952 5439085.45022159 114.481999430054 + 457849.908149886 5439085.42742434 114.456715487147 + 457849.930203402 5439085.45278873 114.482608437178 + + + + + + + + + 457849.930203402 5439085.45278873 114.482608437178 + 457849.908149886 5439085.42742434 114.456715487147 + 457849.90553712 5439085.43027414 114.45732357648 + 457849.930203402 5439085.45278873 114.482608437178 + + + + + + + + + 457849.933077952 5439085.45022159 114.481999430054 + 457849.935267702 5439085.44705013 114.482608437178 + 457849.910019097 5439085.42403998 114.45732357648 + 457849.933077952 5439085.45022159 114.481999430054 + + + + + + + + + 457849.933077952 5439085.45022159 114.481999430054 + 457849.910019097 5439085.42403998 114.45732357648 + 457849.908149886 5439085.42742434 114.456715487147 + 457849.933077952 5439085.45022159 114.481999430054 + + + + + + + + + 457849.910019097 5439085.42403998 114.45732357648 + 457849.910860183 5439085.42063628 114.45905526839 + 457849.764334422 5439085.33506157 114.33298027321 + 457849.910019097 5439085.42403998 114.45732357648 + + + + + + + + + 457849.910019097 5439085.42403998 114.45732357648 + 457849.764334422 5439085.33506157 114.33298027321 + 457849.764184385 5439085.33856444 114.331248582778 + 457849.910019097 5439085.42403998 114.45732357648 + + + + + + + + + 457849.910860183 5439085.42063628 114.45905526839 + 457849.910545095 5439085.41773143 114.461646928482 + 457849.763450042 5439085.33227674 114.335571931091 + 457849.910860183 5439085.42063628 114.45905526839 + + + + + + + + + 457849.910860183 5439085.42063628 114.45905526839 + 457849.763450042 5439085.33227674 114.335571931091 + 457849.764334422 5439085.33506157 114.33298027321 + 457849.910860183 5439085.42063628 114.45905526839 + + + + + + + + + 457849.910545095 5439085.41773143 114.461646928482 + 457849.909121803 5439085.41576768 114.464704 + 457849.761665884 5439085.33063391 114.338629 + 457849.910545095 5439085.41773143 114.461646928482 + + + + + + + + + 457849.910545095 5439085.41773143 114.461646928482 + 457849.761665884 5439085.33063391 114.338629 + 457849.763450042 5439085.33227674 114.335571931091 + 457849.910545095 5439085.41773143 114.461646928482 + + + + + + + + + 457849.909121803 5439085.41576768 114.464704 + 457849.906806991 5439085.41504397 114.467761071518 + 457849.75925357 5439085.33038318 114.341686068909 + 457849.909121803 5439085.41576768 114.464704 + + + + + + + + + 457849.909121803 5439085.41576768 114.464704 + 457849.75925357 5439085.33038318 114.341686068909 + 457849.761665884 5439085.33063391 114.338629 + 457849.909121803 5439085.41576768 114.464704 + + + + + + + + + 457849.906806991 5439085.41504397 114.467761071518 + 457849.903953067 5439085.41567049 114.47035273161 + 457849.756580352 5439085.33156272 114.34427772679 + 457849.906806991 5439085.41504397 114.467761071518 + + + + + + + + + 457849.906806991 5439085.41504397 114.467761071518 + 457849.756580352 5439085.33156272 114.34427772679 + 457849.75925357 5439085.33038318 114.341686068909 + 457849.906806991 5439085.41504397 114.467761071518 + + + + + + + + + 457849.903953067 5439085.41567049 114.47035273161 + 457849.900994515 5439085.41755186 114.47208442352 + 457849.754053205 5439085.33399297 114.346009417222 + 457849.903953067 5439085.41567049 114.47035273161 + + + + + + + + + 457849.903953067 5439085.41567049 114.47035273161 + 457849.754053205 5439085.33399297 114.346009417222 + 457849.756580352 5439085.33156272 114.34427772679 + 457849.903953067 5439085.41567049 114.47035273161 + + + + + + + + + 457849.900994515 5439085.41755186 114.47208442352 + 457849.898381749 5439085.42040166 114.472692512853 + 457849.752056862 5439085.33730394 114.346617506036 + 457849.900994515 5439085.41755186 114.47208442352 + + + + + + + + + 457849.900994515 5439085.41755186 114.47208442352 + 457849.752056862 5439085.33730394 114.346617506036 + 457849.754053205 5439085.33399297 114.346009417222 + 457849.900994515 5439085.41755186 114.47208442352 + + + + + + + + + 457849.898381749 5439085.42040166 114.472692512853 + 457849.896512538 5439085.42378602 114.47208442352 + 457849.75089525 5439085.34099156 114.346009417222 + 457849.898381749 5439085.42040166 114.472692512853 + + + + + + + + + 457849.898381749 5439085.42040166 114.472692512853 + 457849.75089525 5439085.34099156 114.346009417222 + 457849.752056862 5439085.33730394 114.346617506036 + 457849.898381749 5439085.42040166 114.472692512853 + + + + + + + + + 457849.896512538 5439085.42378602 114.47208442352 + 457849.895671452 5439085.42718972 114.47035273161 + 457849.750745213 5439085.34449443 114.34427772679 + 457849.896512538 5439085.42378602 114.47208442352 + + + + + + + + + 457849.896512538 5439085.42378602 114.47208442352 + 457849.750745213 5439085.34449443 114.34427772679 + 457849.75089525 5439085.34099156 114.346009417222 + 457849.896512538 5439085.42378602 114.47208442352 + + + + + + + + + 457849.895671452 5439085.42718972 114.47035273161 + 457849.89598654 5439085.43009457 114.467761071518 + 457849.751629593 5439085.34727926 114.341686068909 + 457849.895671452 5439085.42718972 114.47035273161 + + + + + + + + + 457849.895671452 5439085.42718972 114.47035273161 + 457849.751629593 5439085.34727926 114.341686068909 + 457849.750745213 5439085.34449443 114.34427772679 + 457849.895671452 5439085.42718972 114.47035273161 + + + + + + + + + 457849.89598654 5439085.43009457 114.467761071518 + 457849.897409832 5439085.43205833 114.464704 + 457849.753413751 5439085.34892209 114.338629 + 457849.89598654 5439085.43009457 114.467761071518 + + + + + + + + + 457849.89598654 5439085.43009457 114.467761071518 + 457849.753413751 5439085.34892209 114.338629 + 457849.751629593 5439085.34727926 114.341686068909 + 457849.89598654 5439085.43009457 114.467761071518 + + + + + + + + + 457849.897409832 5439085.43205833 114.464704 + 457849.899724645 5439085.43278203 114.461646928482 + 457849.755826065 5439085.34917282 114.335571931091 + 457849.897409832 5439085.43205833 114.464704 + + + + + + + + + 457849.897409832 5439085.43205833 114.464704 + 457849.755826065 5439085.34917282 114.335571931091 + 457849.753413751 5439085.34892209 114.338629 + 457849.897409832 5439085.43205833 114.464704 + + + + + + + + + 457849.899724645 5439085.43278203 114.461646928482 + 457849.902578569 5439085.43215551 114.45905526839 + 457849.758499283 5439085.34799328 114.33298027321 + 457849.899724645 5439085.43278203 114.461646928482 + + + + + + + + + 457849.899724645 5439085.43278203 114.461646928482 + 457849.758499283 5439085.34799328 114.33298027321 + 457849.755826065 5439085.34917282 114.335571931091 + 457849.899724645 5439085.43278203 114.461646928482 + + + + + + + + + 457849.902578569 5439085.43215551 114.45905526839 + 457849.90553712 5439085.43027414 114.45732357648 + 457849.761026431 5439085.34556303 114.331248582778 + 457849.902578569 5439085.43215551 114.45905526839 + + + + + + + + + 457849.902578569 5439085.43215551 114.45905526839 + 457849.761026431 5439085.34556303 114.331248582778 + 457849.758499283 5439085.34799328 114.33298027321 + 457849.902578569 5439085.43215551 114.45905526839 + + + + + + + + + 457849.90553712 5439085.43027414 114.45732357648 + 457849.908149886 5439085.42742434 114.456715487147 + 457849.763022773 5439085.34225206 114.330640493964 + 457849.90553712 5439085.43027414 114.45732357648 + + + + + + + + + 457849.90553712 5439085.43027414 114.45732357648 + 457849.763022773 5439085.34225206 114.330640493964 + 457849.761026431 5439085.34556303 114.331248582778 + 457849.90553712 5439085.43027414 114.45732357648 + + + + + + + + + 457849.908149886 5439085.42742434 114.456715487147 + 457849.910019097 5439085.42403998 114.45732357648 + 457849.764184385 5439085.33856444 114.331248582778 + 457849.908149886 5439085.42742434 114.456715487147 + + + + + + + + + 457849.908149886 5439085.42742434 114.456715487147 + 457849.764184385 5439085.33856444 114.331248582778 + 457849.763022773 5439085.34225206 114.330640493964 + 457849.908149886 5439085.42742434 114.456715487147 + + + + + + + + + 457849.764184385 5439085.33856444 114.331248582778 + 457849.764334422 5439085.33506157 114.33298027321 + 457849.731810112 5439085.32367325 114.30767574766 + 457849.764184385 5439085.33856444 114.331248582778 + + + + + + + + + 457849.764184385 5439085.33856444 114.331248582778 + 457849.731810112 5439085.32367325 114.30767574766 + 457849.732009595 5439085.32716273 114.30594144361 + 457849.764184385 5439085.33856444 114.331248582778 + + + + + + + + + 457849.764334422 5439085.33506157 114.33298027321 + 457849.763450042 5439085.33227674 114.335571931091 + 457849.730655577 5439085.32099852 114.310271317096 + 457849.764334422 5439085.33506157 114.33298027321 + + + + + + + + + 457849.764334422 5439085.33506157 114.33298027321 + 457849.730655577 5439085.32099852 114.310271317096 + 457849.731810112 5439085.32367325 114.30767574766 + 457849.764334422 5439085.33506157 114.33298027321 + + + + + + + + + 457849.763450042 5439085.33227674 114.335571931091 + 457849.761665884 5439085.33063391 114.338629 + 457849.728721757 5439085.31954575 114.313333 + 457849.763450042 5439085.33227674 114.335571931091 + + + + + + + + + 457849.763450042 5439085.33227674 114.335571931091 + 457849.728721757 5439085.31954575 114.313333 + 457849.730655577 5439085.32099852 114.310271317096 + 457849.763450042 5439085.33227674 114.335571931091 + + + + + + + + + 457849.761665884 5439085.33063391 114.338629 + 457849.75925357 5439085.33038318 114.341686068909 + 457849.726303059 5439085.31953611 114.316394682904 + 457849.761665884 5439085.33063391 114.338629 + + + + + + + + + 457849.761665884 5439085.33063391 114.338629 + 457849.726303059 5439085.31953611 114.316394682904 + 457849.728721757 5439085.31954575 114.313333 + 457849.761665884 5439085.33063391 114.338629 + + + + + + + + + 457849.75925357 5439085.33038318 114.341686068909 + 457849.756580352 5439085.33156272 114.34427772679 + 457849.723767708 5439085.32097107 114.31899025234 + 457849.75925357 5439085.33038318 114.341686068909 + + + + + + + + + 457849.75925357 5439085.33038318 114.341686068909 + 457849.723767708 5439085.32097107 114.31899025234 + 457849.726303059 5439085.31953611 114.316394682904 + 457849.75925357 5439085.33038318 114.341686068909 + + + + + + + + + 457849.756580352 5439085.33156272 114.34427772679 + 457849.754053205 5439085.33399297 114.346009417222 + 457849.721501687 5439085.32363217 114.32072455639 + 457849.756580352 5439085.33156272 114.34427772679 + + + + + + + + + 457849.756580352 5439085.33156272 114.34427772679 + 457849.721501687 5439085.32363217 114.32072455639 + 457849.723767708 5439085.32097107 114.31899025234 + 457849.756580352 5439085.33156272 114.34427772679 + + + + + + + + + 457849.754053205 5439085.33399297 114.346009417222 + 457849.752056862 5439085.33730394 114.346617506036 + 457849.719849979 5439085.32711427 114.321333562985 + 457849.754053205 5439085.33399297 114.346009417222 + + + + + + + + + 457849.754053205 5439085.33399297 114.346009417222 + 457849.719849979 5439085.32711427 114.321333562985 + 457849.721501687 5439085.32363217 114.32072455639 + 457849.754053205 5439085.33399297 114.346009417222 + + + + + + + + + 457849.752056862 5439085.33730394 114.346617506036 + 457849.75089525 5439085.34099156 114.346009417222 + 457849.71906404 5439085.33088727 114.32072455639 + 457849.752056862 5439085.33730394 114.346617506036 + + + + + + + + + 457849.752056862 5439085.33730394 114.346617506036 + 457849.71906404 5439085.33088727 114.32072455639 + 457849.719849979 5439085.32711427 114.321333562985 + 457849.752056862 5439085.33730394 114.346617506036 + + + + + + + + + 457849.75089525 5439085.34099156 114.346009417222 + 457849.750745213 5439085.34449443 114.34427772679 + 457849.719263523 5439085.33437675 114.31899025234 + 457849.75089525 5439085.34099156 114.346009417222 + + + + + + + + + 457849.75089525 5439085.34099156 114.346009417222 + 457849.719263523 5439085.33437675 114.31899025234 + 457849.71906404 5439085.33088727 114.32072455639 + 457849.75089525 5439085.34099156 114.346009417222 + + + + + + + + + 457849.750745213 5439085.34449443 114.34427772679 + 457849.751629593 5439085.34727926 114.341686068909 + 457849.720418058 5439085.33705148 114.316394682904 + 457849.750745213 5439085.34449443 114.34427772679 + + + + + + + + + 457849.750745213 5439085.34449443 114.34427772679 + 457849.720418058 5439085.33705148 114.316394682904 + 457849.719263523 5439085.33437675 114.31899025234 + 457849.750745213 5439085.34449443 114.34427772679 + + + + + + + + + 457849.751629593 5439085.34727926 114.341686068909 + 457849.753413751 5439085.34892209 114.338629 + 457849.722351878 5439085.33850425 114.313333 + 457849.751629593 5439085.34727926 114.341686068909 + + + + + + + + + 457849.751629593 5439085.34727926 114.341686068909 + 457849.722351878 5439085.33850425 114.313333 + 457849.720418058 5439085.33705148 114.316394682904 + 457849.751629593 5439085.34727926 114.341686068909 + + + + + + + + + 457849.753413751 5439085.34892209 114.338629 + 457849.755826065 5439085.34917282 114.335571931091 + 457849.724770576 5439085.33851389 114.310271317096 + 457849.753413751 5439085.34892209 114.338629 + + + + + + + + + 457849.753413751 5439085.34892209 114.338629 + 457849.724770576 5439085.33851389 114.310271317096 + 457849.722351878 5439085.33850425 114.313333 + 457849.753413751 5439085.34892209 114.338629 + + + + + + + + + 457849.755826065 5439085.34917282 114.335571931091 + 457849.758499283 5439085.34799328 114.33298027321 + 457849.727305928 5439085.33707893 114.30767574766 + 457849.755826065 5439085.34917282 114.335571931091 + + + + + + + + + 457849.755826065 5439085.34917282 114.335571931091 + 457849.727305928 5439085.33707893 114.30767574766 + 457849.724770576 5439085.33851389 114.310271317096 + 457849.755826065 5439085.34917282 114.335571931091 + + + + + + + + + 457849.758499283 5439085.34799328 114.33298027321 + 457849.761026431 5439085.34556303 114.331248582778 + 457849.729571948 5439085.33441783 114.30594144361 + 457849.758499283 5439085.34799328 114.33298027321 + + + + + + + + + 457849.758499283 5439085.34799328 114.33298027321 + 457849.729571948 5439085.33441783 114.30594144361 + 457849.727305928 5439085.33707893 114.30767574766 + 457849.758499283 5439085.34799328 114.33298027321 + + + + + + + + + 457849.761026431 5439085.34556303 114.331248582778 + 457849.763022773 5439085.34225206 114.330640493964 + 457849.731223657 5439085.33093573 114.305332437015 + 457849.761026431 5439085.34556303 114.331248582778 + + + + + + + + + 457849.761026431 5439085.34556303 114.331248582778 + 457849.731223657 5439085.33093573 114.305332437015 + 457849.729571948 5439085.33441783 114.30594144361 + 457849.761026431 5439085.34556303 114.331248582778 + + + + + + + + + 457849.763022773 5439085.34225206 114.330640493964 + 457849.764184385 5439085.33856444 114.331248582778 + 457849.732009595 5439085.32716273 114.30594144361 + 457849.763022773 5439085.34225206 114.330640493964 + + + + + + + + + 457849.763022773 5439085.34225206 114.330640493964 + 457849.732009595 5439085.32716273 114.30594144361 + 457849.731223657 5439085.33093573 114.305332437015 + 457849.763022773 5439085.34225206 114.330640493964 + + + + + + + + + 457849.732009595 5439085.32716273 114.30594144361 + 457849.731810112 5439085.32367325 114.30767574766 + 457849.603762287 5439085.28021768 114.206746514878 + 457849.732009595 5439085.32716273 114.30594144361 + + + + + + + + + 457849.732009595 5439085.32716273 114.30594144361 + 457849.603762287 5439085.28021768 114.206746514878 + 457849.604310628 5439085.2836811 114.205015818221 + 457849.732009595 5439085.32716273 114.30594144361 + + + + + + + + + 457849.731810112 5439085.32367325 114.30767574766 + 457849.730655577 5439085.32099852 114.310271317096 + 457849.602341686 5439085.27766288 114.209336685468 + 457849.731810112 5439085.32367325 114.30767574766 + + + + + + + + + 457849.731810112 5439085.32367325 114.30767574766 + 457849.602341686 5439085.27766288 114.209336685468 + 457849.603762287 5439085.28021768 114.206746514878 + 457849.731810112 5439085.32367325 114.30767574766 + + + + + + + + + 457849.730655577 5439085.32099852 114.310271317096 + 457849.728721757 5439085.31954575 114.313333 + 457849.600265099 5439085.27640565 114.212392 + 457849.730655577 5439085.32099852 114.310271317096 + + + + + + + + + 457849.730655577 5439085.32099852 114.310271317096 + 457849.600265099 5439085.27640565 114.212392 + 457849.602341686 5439085.27766288 114.209336685468 + 457849.730655577 5439085.32099852 114.310271317096 + + + + + + + + + 457849.728721757 5439085.31954575 114.313333 + 457849.726303059 5439085.31953611 114.316394682904 + 457849.597848667 5439085.27663739 114.215447314532 + 457849.728721757 5439085.31954575 114.313333 + + + + + + + + + 457849.728721757 5439085.31954575 114.313333 + 457849.597848667 5439085.27663739 114.215447314532 + 457849.600265099 5439085.27640565 114.212392 + 457849.728721757 5439085.31954575 114.313333 + + + + + + + + + 457849.726303059 5439085.31953611 114.316394682904 + 457849.723767708 5439085.32097107 114.31899025234 + 457849.59546027 5439085.27832282 114.218037485122 + 457849.726303059 5439085.31953611 114.316394682904 + + + + + + + + + 457849.726303059 5439085.31953611 114.316394682904 + 457849.59546027 5439085.27832282 114.218037485122 + 457849.597848667 5439085.27663739 114.215447314532 + 457849.726303059 5439085.31953611 114.316394682904 + + + + + + + + + 457849.723767708 5439085.32097107 114.31899025234 + 457849.721501687 5439085.32363217 114.32072455639 + 457849.593463521 5439085.28120534 114.219768181779 + 457849.723767708 5439085.32097107 114.31899025234 + + + + + + + + + 457849.723767708 5439085.32097107 114.31899025234 + 457849.593463521 5439085.28120534 114.219768181779 + 457849.59546027 5439085.27832282 114.218037485122 + 457849.723767708 5439085.32097107 114.31899025234 + + + + + + + + + 457849.721501687 5439085.32363217 114.32072455639 + 457849.719849979 5439085.32711427 114.321333562985 + 457849.592162405 5439085.28484613 114.220375921626 + 457849.721501687 5439085.32363217 114.32072455639 + + + + + + + + + 457849.721501687 5439085.32363217 114.32072455639 + 457849.592162405 5439085.28484613 114.220375921626 + 457849.593463521 5439085.28120534 114.219768181779 + 457849.721501687 5439085.32363217 114.32072455639 + + + + + + + + + 457849.719849979 5439085.32711427 114.321333562985 + 457849.71906404 5439085.33088727 114.32072455639 + 457849.591755007 5439085.2886909 114.219768181779 + 457849.719849979 5439085.32711427 114.321333562985 + + + + + + + + + 457849.719849979 5439085.32711427 114.321333562985 + 457849.591755007 5439085.2886909 114.219768181779 + 457849.592162405 5439085.28484613 114.220375921626 + 457849.719849979 5439085.32711427 114.321333562985 + + + + + + + + + 457849.71906404 5439085.33088727 114.32072455639 + 457849.719263523 5439085.33437675 114.31899025234 + 457849.592303348 5439085.29215432 114.218037485122 + 457849.71906404 5439085.33088727 114.32072455639 + + + + + + + + + 457849.71906404 5439085.33088727 114.32072455639 + 457849.592303348 5439085.29215432 114.218037485122 + 457849.591755007 5439085.2886909 114.219768181779 + 457849.71906404 5439085.33088727 114.32072455639 + + + + + + + + + 457849.719263523 5439085.33437675 114.31899025234 + 457849.720418058 5439085.33705148 114.316394682904 + 457849.593723949 5439085.29470912 114.215447314532 + 457849.719263523 5439085.33437675 114.31899025234 + + + + + + + + + 457849.719263523 5439085.33437675 114.31899025234 + 457849.593723949 5439085.29470912 114.215447314532 + 457849.592303348 5439085.29215432 114.218037485122 + 457849.719263523 5439085.33437675 114.31899025234 + + + + + + + + + 457849.720418058 5439085.33705148 114.316394682904 + 457849.722351878 5439085.33850425 114.313333 + 457849.595800537 5439085.29596635 114.212392 + 457849.720418058 5439085.33705148 114.316394682904 + + + + + + + + + 457849.720418058 5439085.33705148 114.316394682904 + 457849.595800537 5439085.29596635 114.212392 + 457849.593723949 5439085.29470912 114.215447314532 + 457849.720418058 5439085.33705148 114.316394682904 + + + + + + + + + 457849.722351878 5439085.33850425 114.313333 + 457849.724770576 5439085.33851389 114.310271317096 + 457849.598216968 5439085.29573461 114.209336685468 + 457849.722351878 5439085.33850425 114.313333 + + + + + + + + + 457849.722351878 5439085.33850425 114.313333 + 457849.598216968 5439085.29573461 114.209336685468 + 457849.595800537 5439085.29596635 114.212392 + 457849.722351878 5439085.33850425 114.313333 + + + + + + + + + 457849.724770576 5439085.33851389 114.310271317096 + 457849.727305928 5439085.33707893 114.30767574766 + 457849.600605365 5439085.29404918 114.206746514878 + 457849.724770576 5439085.33851389 114.310271317096 + + + + + + + + + 457849.724770576 5439085.33851389 114.310271317096 + 457849.600605365 5439085.29404918 114.206746514878 + 457849.598216968 5439085.29573461 114.209336685468 + 457849.724770576 5439085.33851389 114.310271317096 + + + + + + + + + 457849.727305928 5439085.33707893 114.30767574766 + 457849.729571948 5439085.33441783 114.30594144361 + 457849.602602114 5439085.29116666 114.205015818221 + 457849.727305928 5439085.33707893 114.30767574766 + + + + + + + + + 457849.727305928 5439085.33707893 114.30767574766 + 457849.602602114 5439085.29116666 114.205015818221 + 457849.600605365 5439085.29404918 114.206746514878 + 457849.727305928 5439085.33707893 114.30767574766 + + + + + + + + + 457849.729571948 5439085.33441783 114.30594144361 + 457849.731223657 5439085.33093573 114.305332437015 + 457849.60390323 5439085.28752587 114.204408078374 + 457849.729571948 5439085.33441783 114.30594144361 + + + + + + + + + 457849.729571948 5439085.33441783 114.30594144361 + 457849.60390323 5439085.28752587 114.204408078374 + 457849.602602114 5439085.29116666 114.205015818221 + 457849.729571948 5439085.33441783 114.30594144361 + + + + + + + + + 457849.731223657 5439085.33093573 114.305332437015 + 457849.732009595 5439085.32716273 114.30594144361 + 457849.604310628 5439085.2836811 114.205015818221 + 457849.731223657 5439085.33093573 114.305332437015 + + + + + + + + + 457849.731223657 5439085.33093573 114.305332437015 + 457849.604310628 5439085.2836811 114.205015818221 + 457849.60390323 5439085.28752587 114.204408078374 + 457849.731223657 5439085.33093573 114.305332437015 + + + + + + + + + 457849.604310628 5439085.2836811 114.205015818221 + 457849.603762287 5439085.28021768 114.206746514878 + 457849.502997111 5439085.26715039 114.131010407324 + 457849.604310628 5439085.2836811 114.205015818221 + + + + + + + + + 457849.604310628 5439085.2836811 114.205015818221 + 457849.502997111 5439085.26715039 114.131010407324 + 457849.503884365 5439085.27053118 114.129276305502 + 457849.604310628 5439085.2836811 114.205015818221 + + + + + + + + + 457849.603762287 5439085.28021768 114.206746514878 + 457849.602341686 5439085.27766288 114.209336685468 + 457849.501335059 5439085.26475743 114.133605674104 + 457849.603762287 5439085.28021768 114.206746514878 + + + + + + + + + 457849.603762287 5439085.28021768 114.206746514878 + 457849.501335059 5439085.26475743 114.133605674104 + 457849.502997111 5439085.26715039 114.131010407324 + 457849.603762287 5439085.28021768 114.206746514878 + + + + + + + + + 457849.602341686 5439085.27766288 114.209336685468 + 457849.600265099 5439085.27640565 114.212392 + 457849.49915124 5439085.26371661 114.136667 + 457849.602341686 5439085.27766288 114.209336685468 + + + + + + + + + 457849.602341686 5439085.27766288 114.209336685468 + 457849.49915124 5439085.26371661 114.136667 + 457849.501335059 5439085.26475743 114.133605674104 + 457849.602341686 5439085.27766288 114.209336685468 + + + + + + + + + 457849.600265099 5439085.27640565 114.212392 + 457849.597848667 5439085.27663739 114.215447314532 + 457849.496778121 5439085.26418638 114.139728325897 + 457849.600265099 5439085.27640565 114.212392 + + + + + + + + + 457849.600265099 5439085.27640565 114.212392 + 457849.496778121 5439085.26418638 114.139728325897 + 457849.49915124 5439085.26371661 114.136667 + 457849.600265099 5439085.27640565 114.212392 + + + + + + + + + 457849.597848667 5439085.27663739 114.215447314532 + 457849.59546027 5439085.27832282 114.218037485122 + 457849.494576988 5439085.26609523 114.142323592676 + 457849.597848667 5439085.27663739 114.215447314532 + + + + + + + + + 457849.597848667 5439085.27663739 114.215447314532 + 457849.494576988 5439085.26609523 114.142323592676 + 457849.496778121 5439085.26418638 114.139728325897 + 457849.597848667 5439085.27663739 114.215447314532 + + + + + + + + + 457849.59546027 5439085.27832282 114.218037485122 + 457849.593463521 5439085.28120534 114.219768181779 + 457849.492882944 5439085.26915254 114.144057694498 + 457849.59546027 5439085.27832282 114.218037485122 + + + + + + + + + 457849.59546027 5439085.27832282 114.218037485122 + 457849.492882944 5439085.26915254 114.144057694498 + 457849.494576988 5439085.26609523 114.142323592676 + 457849.59546027 5439085.27832282 114.218037485122 + + + + + + + + + 457849.593463521 5439085.28120534 114.219768181779 + 457849.592162405 5439085.28484613 114.220375921626 + 457849.491953892 5439085.27289289 114.14466663008 + 457849.593463521 5439085.28120534 114.219768181779 + + + + + + + + + 457849.593463521 5439085.28120534 114.219768181779 + 457849.491953892 5439085.27289289 114.14466663008 + 457849.492882944 5439085.26915254 114.144057694498 + 457849.593463521 5439085.28120534 114.219768181779 + + + + + + + + + 457849.592162405 5439085.28484613 114.220375921626 + 457849.591755007 5439085.2886909 114.219768181779 + 457849.49193127 5439085.27674682 114.144057694498 + 457849.592162405 5439085.28484613 114.220375921626 + + + + + + + + + 457849.592162405 5439085.28484613 114.220375921626 + 457849.49193127 5439085.27674682 114.144057694498 + 457849.491953892 5439085.27289289 114.14466663008 + 457849.592162405 5439085.28484613 114.220375921626 + + + + + + + + + 457849.591755007 5439085.2886909 114.219768181779 + 457849.592303348 5439085.29215432 114.218037485122 + 457849.492818524 5439085.28012761 114.142323592676 + 457849.591755007 5439085.2886909 114.219768181779 + + + + + + + + + 457849.591755007 5439085.2886909 114.219768181779 + 457849.492818524 5439085.28012761 114.142323592676 + 457849.49193127 5439085.27674682 114.144057694498 + 457849.591755007 5439085.2886909 114.219768181779 + + + + + + + + + 457849.592303348 5439085.29215432 114.218037485122 + 457849.593723949 5439085.29470912 114.215447314532 + 457849.494480577 5439085.28252057 114.139728325897 + 457849.592303348 5439085.29215432 114.218037485122 + + + + + + + + + 457849.592303348 5439085.29215432 114.218037485122 + 457849.494480577 5439085.28252057 114.139728325897 + 457849.492818524 5439085.28012761 114.142323592676 + 457849.592303348 5439085.29215432 114.218037485122 + + + + + + + + + 457849.593723949 5439085.29470912 114.215447314532 + 457849.595800537 5439085.29596635 114.212392 + 457849.496664396 5439085.28356139 114.136667 + 457849.593723949 5439085.29470912 114.215447314532 + + + + + + + + + 457849.593723949 5439085.29470912 114.215447314532 + 457849.496664396 5439085.28356139 114.136667 + 457849.494480577 5439085.28252057 114.139728325897 + 457849.593723949 5439085.29470912 114.215447314532 + + + + + + + + + 457849.595800537 5439085.29596635 114.212392 + 457849.598216968 5439085.29573461 114.209336685468 + 457849.499037515 5439085.28309162 114.133605674104 + 457849.595800537 5439085.29596635 114.212392 + + + + + + + + + 457849.595800537 5439085.29596635 114.212392 + 457849.499037515 5439085.28309162 114.133605674104 + 457849.496664396 5439085.28356139 114.136667 + 457849.595800537 5439085.29596635 114.212392 + + + + + + + + + 457849.598216968 5439085.29573461 114.209336685468 + 457849.600605365 5439085.29404918 114.206746514878 + 457849.501238647 5439085.28118277 114.131010407324 + 457849.598216968 5439085.29573461 114.209336685468 + + + + + + + + + 457849.598216968 5439085.29573461 114.209336685468 + 457849.501238647 5439085.28118277 114.131010407324 + 457849.499037515 5439085.28309162 114.133605674104 + 457849.598216968 5439085.29573461 114.209336685468 + + + + + + + + + 457849.600605365 5439085.29404918 114.206746514878 + 457849.602602114 5439085.29116666 114.205015818221 + 457849.502932691 5439085.27812546 114.129276305502 + 457849.600605365 5439085.29404918 114.206746514878 + + + + + + + + + 457849.600605365 5439085.29404918 114.206746514878 + 457849.502932691 5439085.27812546 114.129276305502 + 457849.501238647 5439085.28118277 114.131010407324 + 457849.600605365 5439085.29404918 114.206746514878 + + + + + + + + + 457849.602602114 5439085.29116666 114.205015818221 + 457849.60390323 5439085.28752587 114.204408078374 + 457849.503861744 5439085.27438511 114.12866736992 + 457849.602602114 5439085.29116666 114.205015818221 + + + + + + + + + 457849.602602114 5439085.29116666 114.205015818221 + 457849.503861744 5439085.27438511 114.12866736992 + 457849.502932691 5439085.27812546 114.129276305502 + 457849.602602114 5439085.29116666 114.205015818221 + + + + + + + + + 457849.60390323 5439085.28752587 114.204408078374 + 457849.604310628 5439085.2836811 114.205015818221 + 457849.503884365 5439085.27053118 114.129276305502 + 457849.60390323 5439085.28752587 114.204408078374 + + + + + + + + + 457849.60390323 5439085.28752587 114.204408078374 + 457849.503884365 5439085.27053118 114.129276305502 + 457849.503861744 5439085.27438511 114.12866736992 + 457849.60390323 5439085.28752587 114.204408078374 + + + + + + + + + 457849.503884365 5439085.27053118 114.129276305502 + 457849.502997111 5439085.26715039 114.131010407324 + 457849.435499654 5439085.25827769 114.080514657681 + 457849.503884365 5439085.27053118 114.129276305502 + + + + + + + + + 457849.503884365 5439085.27053118 114.129276305502 + 457849.435499654 5439085.25827769 114.080514657681 + 457849.436722617 5439085.26156378 114.078783391676 + 457849.503884365 5439085.27053118 114.129276305502 + + + + + + + + + 457849.502997111 5439085.26715039 114.131010407324 + 457849.501335059 5439085.26475743 114.133605674104 + 457849.433602136 5439085.25605505 114.083105680361 + 457849.502997111 5439085.26715039 114.131010407324 + + + + + + + + + 457849.502997111 5439085.26715039 114.131010407324 + 457849.433602136 5439085.25605505 114.083105680361 + 457849.435499654 5439085.25827769 114.080514657681 + 457849.502997111 5439085.26715039 114.131010407324 + + + + + + + + + 457849.501335059 5439085.26475743 114.133605674104 + 457849.49915124 5439085.26371661 114.136667 + 457849.431318943 5439085.25523424 114.086162 + 457849.501335059 5439085.26475743 114.133605674104 + + + + + + + + + 457849.501335059 5439085.26475743 114.133605674104 + 457849.431318943 5439085.25523424 114.086162 + 457849.433602136 5439085.25605505 114.083105680361 + 457849.501335059 5439085.26475743 114.133605674104 + + + + + + + + + 457849.49915124 5439085.26371661 114.136667 + 457849.496778121 5439085.26418638 114.139728325897 + 457849.428997671 5439085.25594021 114.089218319639 + 457849.49915124 5439085.26371661 114.136667 + + + + + + + + + 457849.49915124 5439085.26371661 114.136667 + 457849.428997671 5439085.25594021 114.089218319639 + 457849.431318943 5439085.25523424 114.086162 + 457849.49915124 5439085.26371661 114.136667 + + + + + + + + + 457849.496778121 5439085.26418638 114.139728325897 + 457849.494576988 5439085.26609523 114.142323592676 + 457849.426991712 5439085.2580655 114.091809342319 + 457849.496778121 5439085.26418638 114.139728325897 + + + + + + + + + 457849.496778121 5439085.26418638 114.139728325897 + 457849.426991712 5439085.2580655 114.091809342319 + 457849.428997671 5439085.25594021 114.089218319639 + 457849.496778121 5439085.26418638 114.139728325897 + + + + + + + + + 457849.494576988 5439085.26609523 114.142323592676 + 457849.492882944 5439085.26915254 114.144057694498 + 457849.425606456 5439085.26128654 114.093540608324 + 457849.494576988 5439085.26609523 114.142323592676 + + + + + + + + + 457849.494576988 5439085.26609523 114.142323592676 + 457849.425606456 5439085.26128654 114.093540608324 + 457849.426991712 5439085.2580655 114.091809342319 + 457849.494576988 5439085.26609523 114.142323592676 + + + + + + + + + 457849.492882944 5439085.26915254 114.144057694498 + 457849.491953892 5439085.27289289 114.14466663008 + 457849.425052794 5439085.26511296 114.094148548099 + 457849.492882944 5439085.26915254 114.144057694498 + + + + + + + + + 457849.492882944 5439085.26915254 114.144057694498 + 457849.425052794 5439085.26511296 114.094148548099 + 457849.425606456 5439085.26128654 114.093540608324 + 457849.492882944 5439085.26915254 114.144057694498 + + + + + + + + + 457849.491953892 5439085.27289289 114.14466663008 + 457849.49193127 5439085.27674682 114.144057694498 + 457849.425415018 5439085.26896222 114.093540608324 + 457849.491953892 5439085.27289289 114.14466663008 + + + + + + + + + 457849.491953892 5439085.27289289 114.14466663008 + 457849.425415018 5439085.26896222 114.093540608324 + 457849.425052794 5439085.26511296 114.094148548099 + 457849.491953892 5439085.27289289 114.14466663008 + + + + + + + + + 457849.49193127 5439085.27674682 114.144057694498 + 457849.492818524 5439085.28012761 114.142323592676 + 457849.426637981 5439085.27224831 114.091809342319 + 457849.49193127 5439085.27674682 114.144057694498 + + + + + + + + + 457849.49193127 5439085.27674682 114.144057694498 + 457849.426637981 5439085.27224831 114.091809342319 + 457849.425415018 5439085.26896222 114.093540608324 + 457849.49193127 5439085.27674682 114.144057694498 + + + + + + + + + 457849.492818524 5439085.28012761 114.142323592676 + 457849.494480577 5439085.28252057 114.139728325897 + 457849.428535499 5439085.27447095 114.089218319639 + 457849.492818524 5439085.28012761 114.142323592676 + + + + + + + + + 457849.492818524 5439085.28012761 114.142323592676 + 457849.428535499 5439085.27447095 114.089218319639 + 457849.426637981 5439085.27224831 114.091809342319 + 457849.492818524 5439085.28012761 114.142323592676 + + + + + + + + + 457849.494480577 5439085.28252057 114.139728325897 + 457849.496664396 5439085.28356139 114.136667 + 457849.430818692 5439085.27529176 114.086162 + 457849.494480577 5439085.28252057 114.139728325897 + + + + + + + + + 457849.494480577 5439085.28252057 114.139728325897 + 457849.430818692 5439085.27529176 114.086162 + 457849.428535499 5439085.27447095 114.089218319639 + 457849.494480577 5439085.28252057 114.139728325897 + + + + + + + + + 457849.496664396 5439085.28356139 114.136667 + 457849.499037515 5439085.28309162 114.133605674104 + 457849.433139964 5439085.27458579 114.083105680361 + 457849.496664396 5439085.28356139 114.136667 + + + + + + + + + 457849.496664396 5439085.28356139 114.136667 + 457849.433139964 5439085.27458579 114.083105680361 + 457849.430818692 5439085.27529176 114.086162 + 457849.496664396 5439085.28356139 114.136667 + + + + + + + + + 457849.499037515 5439085.28309162 114.133605674104 + 457849.501238647 5439085.28118277 114.131010407324 + 457849.435145923 5439085.2724605 114.080514657681 + 457849.499037515 5439085.28309162 114.133605674104 + + + + + + + + + 457849.499037515 5439085.28309162 114.133605674104 + 457849.435145923 5439085.2724605 114.080514657681 + 457849.433139964 5439085.27458579 114.083105680361 + 457849.499037515 5439085.28309162 114.133605674104 + + + + + + + + + 457849.501238647 5439085.28118277 114.131010407324 + 457849.502932691 5439085.27812546 114.129276305502 + 457849.43653118 5439085.26923946 114.078783391676 + 457849.501238647 5439085.28118277 114.131010407324 + + + + + + + + + 457849.501238647 5439085.28118277 114.131010407324 + 457849.43653118 5439085.26923946 114.078783391676 + 457849.435145923 5439085.2724605 114.080514657681 + 457849.501238647 5439085.28118277 114.131010407324 + + + + + + + + + 457849.502932691 5439085.27812546 114.129276305502 + 457849.503861744 5439085.27438511 114.12866736992 + 457849.437084841 5439085.26541304 114.078175451901 + 457849.502932691 5439085.27812546 114.129276305502 + + + + + + + + + 457849.502932691 5439085.27812546 114.129276305502 + 457849.437084841 5439085.26541304 114.078175451901 + 457849.43653118 5439085.26923946 114.078783391676 + 457849.502932691 5439085.27812546 114.129276305502 + + + + + + + + + 457849.503861744 5439085.27438511 114.12866736992 + 457849.503884365 5439085.27053118 114.129276305502 + 457849.436722617 5439085.26156378 114.078783391676 + 457849.503861744 5439085.27438511 114.12866736992 + + + + + + + + + 457849.503861744 5439085.27438511 114.12866736992 + 457849.436722617 5439085.26156378 114.078783391676 + 457849.437084841 5439085.26541304 114.078175451901 + 457849.503861744 5439085.27438511 114.12866736992 + + + + + + + + + 457849.436722617 5439085.26156378 114.078783391676 + 457849.435499654 5439085.25827769 114.080514657681 + 457849.266228676 5439085.27011223 113.9543526591 + 457849.436722617 5439085.26156378 114.078783391676 + + + + + + + + + 457849.436722617 5439085.26156378 114.078783391676 + 457849.266228676 5439085.27011223 113.9543526591 + 457849.268078524 5439085.27309084 113.95262139353 + 457849.436722617 5439085.26156378 114.078783391676 + + + + + + + + + 457849.435499654 5439085.25827769 114.080514657681 + 457849.433602136 5439085.25605505 114.083105680361 + 457849.26392837 5439085.26830965 113.956943681129 + 457849.435499654 5439085.25827769 114.080514657681 + + +