/*---------------- FILE HEADER --------------------------------------- This file is part of Geoide. Copyright (C) 2005-2006 by: IDgis B.V. http://www.idgis.nl This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Herman Assink IDgis bv P.O. Box 15 7450 AA Holten The Netherlands E-Mail: herman.assink@idgis.nl * @version 1.4.0 * @author IDgis team * ------------------------------------------------------------------------*/ import nl.idgis.giclient.geoma.LinearRing; import nl.idgis.giclient.geoma.Point; import nl.idgis.giclient.geoma.Polygon; import nl.idgis.giclient.modes.MapViewerMeasure; import nl.idgis.giclient.util.Strings; class nl.idgis.giclient.modes.MapViewerMeasureArea extends MapViewerMeasure { private var areaText:String = null; private var areaUnitsText:String = " ha"; private var outlineText:String = null; private var outlineUnitsText:String = " m"; private function createGeometry(point:Point):Void { selectionGeometry = new Polygon(point.getSRS(), new LinearRing(point.getSRS(), new Array(point, point))); selectionGeometry.addPoint(new Point(point.getSRS(), point.getX(), point.getY())); } private function createLabel():String { if(areaText==null){ areaText = ( Strings.getFile("Geoide").getString("Area")) + ": "; } if(outlineText==null){ outlineText = ( Strings.getFile("Geoide").getString("Perimeter")) + ": "; } var polygon:Polygon = Polygon(selectionGeometry); var area:Number = Math.round(polygon.getArea()) / 10000; var outline:Number = Math.round(polygon.getExteriorRing().getLength());; return areaText + area + areaUnitsText + " / " + outlineText + outline + outlineUnitsText; } }