Revision: 6243 http://sourceforge.net/p/jump-pilot/code/6243 Author: michaudm Date: 2020-04-02 21:22:23 +0000 (Thu, 02 Apr 2020) Log Message: ----------- Release version 1.2 of mapgen-toolbox (make it compatible with v1.15 of OpenJUMP)
Modified Paths: -------------- plug-ins/MapGenToolboxPlugin/src/mapgen/MapGenExtension.java plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingEnlargeToRectangle.java plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingOutlineSimplify.java plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingSquaring.java plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/PolygonChangeElongation.java plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/StretchPolygon.java plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/snakes/LineDisplacementSnakes.java plug-ins/MapGenToolboxPlugin/src/mapgen/measures/OrientationMBR.java Added Paths: ----------- plug-ins/MapGenToolboxPlugin/build.xml plug-ins/MapGenToolboxPlugin/dist/apr2020/ plug-ins/MapGenToolboxPlugin/dist/apr2020/jmat_5.0.jar plug-ins/MapGenToolboxPlugin/dist/apr2020/license.txt plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.jar plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.pdf plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.zip plug-ins/MapGenToolboxPlugin/dist/apr2020/readme.txt Added: plug-ins/MapGenToolboxPlugin/build.xml =================================================================== --- plug-ins/MapGenToolboxPlugin/build.xml (rev 0) +++ plug-ins/MapGenToolboxPlugin/build.xml 2020-04-02 21:22:23 UTC (rev 6243) @@ -0,0 +1,100 @@ + +<project name="mapgen-toolbox" default="compile" basedir="."> + + <!--************************************************************************ + **************************************************************************** + ** PROPERTIES ** + **************************************************************************** + *************************************************************************--> + + <!--property name="mapgen-toolbox" value="mapgen-toolbox"/--> + + <!-- PROPERTIES : MAIN ARCHITECTURE --> + <property name="src" value="src" /> + <property name="bin" value="bin" /> + <property name="lib" value="lib" /> + <property name="build" value="build" /> + <property name="dist" value="dist" /> + <property name="javadoc" value="javadoc" /> + + <property name="version" value="1.2" /> + + <!-- =================================================================== --> + <!-- Defines the classpath used for compilation and test. --> + <!-- =================================================================== --> + <path id="classpath"> + <fileset dir="${lib}"> + <include name="**/*.jar"/> + </fileset> + </path> + + <target name="clean" id="clean"> + <delete dir="${build}"/> + </target> + + <!-- =================================================================== --> + <!-- compile the project --> + <!-- =================================================================== --> + <target name="compile" id="compile" depends="clean"> + <mkdir dir="${build}"/> + <javac destdir="${build}" debug="true" deprecation="false" nowarn="true" source="1.8" target="1.8"> + <src path="${src}"/> + <classpath refid="classpath"/> + <include name="**/*.java"/> + <include name="**/*.java"/> + </javac> + <copy todir="${build}"> + <fileset dir="${src}"> + <include name="com/isa/jump/plugin/*.png"/> + <include name="fr/michaelm/jump/plugin/**/*.properties"/> + <include name="mapgen/**/*.png"/> + <include name="mapgen/**/*.properties"/> + </fileset> + </copy> + </target> + + <!-- =================================================================== --> + <!-- create the jar file --> + <!-- =================================================================== --> + <target name="jar" id="jar" depends="compile"> + <mkdir dir="${dist}/apr2020"/> + <jar basedir="${build}" jarfile="${dist}/apr2020/${ant.project.name}-${version}.jar"> + <include name="com/isa/jump/plugin/**/*"/> + <include name="fr/michaelm/jump/plugin/**/*"/> + <include name="mapgen/**/*"/> + </jar> + </target> + + <!-- =================================================================== --> + <!-- javadoc graph-toolbox --> + <!-- =================================================================== --> + <target name="javadoc" depends="compile"> + <mkdir dir="${javadoc}"/> + <javadoc destdir="${javadoc}" use="true"> + <classpath refid="classpath"/> + <packageset dir="${src}"> + <include name="com/isa/jump/plugin/**/*"/> + <include name="fr/michaelm/jump/plugin/**/*"/> + <include name="mapgen/**/*"/> + </packageset> + </javadoc> + </target> + + <!-- =================================================================== --> + <!-- dist mapgen-toolbox --> + <!-- =================================================================== --> + <target name="zip-${ant.project.name}" id="zip-${ant.project.name}" depends="jar, javadoc"> + <zip basedir="." zipfile="${dist}/apr2020/${ant.project.name}-${version}.zip"> + <include name="src/**"/> + <include name="javadoc/**"/> + <include name="${dist}/apr2020/${ant.project.name}-${version}.jar"/> + <include name="build.xml"/> + </zip> + <copy todir="${dist}/apr2020"> + <fileset dir="${lib}"> + <include name="jmat_5.0.jar"/> + </fileset> + </copy> + </target> + +</project> \ No newline at end of file Added: plug-ins/MapGenToolboxPlugin/dist/apr2020/jmat_5.0.jar =================================================================== (Binary files differ) Index: plug-ins/MapGenToolboxPlugin/dist/apr2020/jmat_5.0.jar =================================================================== --- plug-ins/MapGenToolboxPlugin/dist/apr2020/jmat_5.0.jar 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/dist/apr2020/jmat_5.0.jar 2020-04-02 21:22:23 UTC (rev 6243) Property changes on: plug-ins/MapGenToolboxPlugin/dist/apr2020/jmat_5.0.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/MapGenToolboxPlugin/dist/apr2020/license.txt =================================================================== --- plug-ins/MapGenToolboxPlugin/dist/apr2020/license.txt (rev 0) +++ plug-ins/MapGenToolboxPlugin/dist/apr2020/license.txt 2020-04-02 21:22:23 UTC (rev 6243) @@ -0,0 +1,21 @@ +(C) 2013 Stefan Steiniger, Michaël Michaud, Larry Becker + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +For more information, contact: +sstein[-at-]geo.uzh.ch +michael.michaud[-at-]free.fr +becker.larry[-at-]... + \ No newline at end of file Added: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.jar =================================================================== (Binary files differ) Index: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.jar =================================================================== --- plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.jar 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.jar 2020-04-02 21:22:23 UTC (rev 6243) Property changes on: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.pdf =================================================================== (Binary files differ) Index: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.pdf =================================================================== --- plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.pdf 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.pdf 2020-04-02 21:22:23 UTC (rev 6243) Property changes on: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.pdf ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.zip =================================================================== (Binary files differ) Index: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.zip =================================================================== --- plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.zip 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.zip 2020-04-02 21:22:23 UTC (rev 6243) Property changes on: plug-ins/MapGenToolboxPlugin/dist/apr2020/mapgen-toolbox-1.2.zip ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: plug-ins/MapGenToolboxPlugin/dist/apr2020/readme.txt =================================================================== --- plug-ins/MapGenToolboxPlugin/dist/apr2020/readme.txt (rev 0) +++ plug-ins/MapGenToolboxPlugin/dist/apr2020/readme.txt 2020-04-02 21:22:23 UTC (rev 6243) @@ -0,0 +1,26 @@ +MapGen Toolbox Version 1.2 - 2020/04/02 (aligned with java8 and OpenJUMP 1.15) + +MapGen Toolbox Installation instructions +---------------------------------------- + +copy the following files into OpenJUMPs "ext" folder: +- mapgen-toolbox-1.2.jar +- jmat_5.0.jar + +restart OpenJUMP. + +You should find a new set of functions under the main menu item +Plugins > Generalization > ... + +For the license terms under which the software/toolbox can be used see the license.txt file. + +Changes from version 1.1 from 2013 +---------------------------------- +Small update to make the extension compatible with current OpenJUMP version (1.15) + +Changes to Version 1.0 from 2006 +-------------------------------- +- minor updates: placed in correct OpenJUMP menu "Plugins" and improved spelling of Function names. +- updated the function "Square Selected Buildings", to check the outputs of the squaring algorithms. For that a new value (allowed change in area) needs to be provided by the user. Produced invalid geometries and squaring results with a large deviation in area from input building are now returned in a separate layer. These problematic buildings should then be generalized manually by the user. +- added Bezier curve based Smoothing Plugin by Michael Michaud and Michael Bedward +- added Orthogonalize Plugin by Larry Becker Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/MapGenExtension.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/MapGenExtension.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/MapGenExtension.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -34,14 +34,15 @@ public class MapGenExtension extends Extension{ public final static String SMOOTH = "fr.michaelm.jump.plugin.smooth"; - public final static String SMOOTHING = I18N.getText(SMOOTH, "smoothing"); + //public final static String SMOOTHING = I18N.getText(SMOOTH, "smoothing"); + public final static String SMOOTHING = I18N.getInstance(SMOOTH).get("smoothing"); public String getName() { - return "Map Generalization Toolbox (Stefan Steiniger, Michaël Michaud, Michael Bedward, Larry Becker)"; + return "Map Generalization Toolbox (Stefan Steiniger, Michaël Michaud, Michael Bedward, Larry Becker)"; } public String getVersion() { - return "1.1 (2013-09-11)"; + return "1.2 (2020-04-02)"; } /** Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingEnlargeToRectangle.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingEnlargeToRectangle.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingEnlargeToRectangle.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -65,7 +65,7 @@ * creates MBR with same area as input polygon * initialises and calls calculate() * @param poly building geometry - * @param finalArea as minimum area size in m^2 + * //@param finalArea as minimum area size in m^2 */ public BuildingEnlargeToRectangle(Polygon poly){ this.inPolygon = poly; Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingOutlineSimplify.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingOutlineSimplify.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingOutlineSimplify.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -55,7 +55,7 @@ * calls calculate() automatically * @param geom * @param conflictList - * @param xxx + * @param flexibilityInDegree */ public BuildingOutlineSimplify(Polygon geom, ShortEdgeConflictList conflictList, double flexibilityInDegree, double maxLength){ this.inPolygon = (Polygon)geom.clone(); @@ -225,7 +225,7 @@ * confType = 4 : semi acute angle (spitzer winkel?) * confType = 5 : stair shape but with flat angle middle part * confType = 6 : a straight element (start or end point have curvature ~0) - * confType = 7 : other type : angle to far away from 0\xB0, 90\xB0, 180\xB0 + * confType = 7 : other type : angle to far away from 0�, 90�, 180� * this might be necessary for round buildings ***************************/ //---------------------- @@ -238,11 +238,11 @@ confType = 2; //u-turn } else if(Math.abs(edgeChange-Math.PI/2) < this.flexInRad){ - confType = 3; //perpendicular = 90\xB0 + confType = 3; //perpendicular = 90� } else if((Math.abs(edgeChange) < (3.0/4.0*Math.PI-this.flexInRad)) && (Math.abs(edgeChange) > Math.PI/2)){ - confType = 4; //semi acute angle 90\xB0-180% + confType = 4; //semi acute angle 90�-180% } else{ confType = 7; @@ -788,7 +788,7 @@ TangentAngleFunction taf2 = new TangentAngleFunction(ls1.getCoordinates()); double[] curvValues = taf2.getCurv(); for(int i=0; i < (curvValues.length-1); i++){ - if( Math.abs(curvValues[i]) > (3.0/4*Math.PI) ){ //(3.0/4*Math.PI) ~ 90+45\xB0 + if( Math.abs(curvValues[i]) > (3.0/4*Math.PI) ){ //(3.0/4*Math.PI) ~ 90+45� newP = ModifyPolygonPoints.deletePoint(newP,sec.edgeRingIdx, i); System.out.println("BuildingOutlineSimplify.deleteEdge: sharp edge deleted 1"); } Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingSquaring.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingSquaring.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/BuildingSquaring.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -61,7 +61,7 @@ /** * initialises and calls calculate() * @param poly building geometry - * @param maxPointDisplacment maximum distance a point + * @param maxPointDisplacement maximum distance a point * is allowed to move in m * @param angleThreshold in degree. Maximum value where an edge * direction different from primary or secondary @@ -118,7 +118,7 @@ * function which does the squaring and the necessary * calculations for one Polygon Ring * @param ls = polygon ring to square - * @param RingIndex = nr of ring (exteriorRing = 0, innerRings = idx+1) + * @param ringIndex = nr of ring (exteriorRing = 0, innerRings = idx+1) * for homogenisation in modifyFollwingEdges(); */ private void calculateForOneRing(LineString ls, int ringIndex){ @@ -253,7 +253,7 @@ * point and calculate the new corner coordinates of * the intersecting lines * @param edgeIndexList - * @param toDirection + * @param newDirection */ private void square(ArrayList edgeIndexList, double newDirection, LineString ls){ //-- square all edges in list Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/PolygonChangeElongation.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/PolygonChangeElongation.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/PolygonChangeElongation.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -41,7 +41,7 @@ * calls calculate() automatically; center is polygon centroid; * angle is given by "wall statistical weigth". * @param geom - * @param scalefactor : amount of elongation + * @param scaleFactor : amount of elongation */ public PolygonChangeElongation(Polygon geom, double scaleFactor){ this.inPolygon = geom; Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/StretchPolygon.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/StretchPolygon.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/polygons/StretchPolygon.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -28,7 +28,7 @@ /** * Stretch the Polygon along a direction with a given scale from a point. * - *@param geom the \xA8Polygon to stretch. + *@param geom the Polygon to stretch. *@param x0 the X coordinate of the point from where to stretch. *@param y0 the Y coordinate of the point from where to stretch. *@param angle the angle of the direction to stretch. (angle from the growing X axis) Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/snakes/LineDisplacementSnakes.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/snakes/LineDisplacementSnakes.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/algorithms/snakes/LineDisplacementSnakes.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -213,7 +213,7 @@ * @param iterations * @param signatureDiameterMM * @param scale - * @param context Jump Workbenchcontext to send status messages + * @param monitor Jump Workbenchcontext to send status messages */ public LineDisplacementSnakes(Collection features, int iterations, double signatureDiameterMM, int scale, TaskMonitor monitor){ @@ -681,9 +681,9 @@ * evaluates internal, external, integral Energy, networkstate of * tempGeometry of LineToDisplace and stores them in the LineToDisplace fields * @param line the object to check - * @param geomQTree all the other objects + * @param featureQTree all the other objects * @param minDist - * @param signatureRadius + * @param signature1Radius */ private void evaluateLineWithDataset(LineToDisplace line, Quadtree featureQTree, double minDist, double signature1Radius, @@ -897,8 +897,9 @@ /** * copy the input feature to a new Schema whereby the new - * Feature Schema musst be an extended or shortened one - * @param oldSchema + * Feature Schema musst be an extended or shortened one + * @param feature + * @param newSchema * @return Feature */ private Feature copyFeature(Feature feature, FeatureSchema newSchema){ @@ -948,7 +949,7 @@ * -1: Feature is not a LineString<p> * Attention: matrix will not be symmetric! * @param originalFeatureQTree : the Feature Attribute "displaceID" musst be from 0 to n - * @param tresholdDistance + * @param thresholdDistance * @return matrix with integer values of network state */ private Matrix evaluateLineNetworkState(Quadtree originalFeatureQTree, double thresholdDistance){ @@ -998,7 +999,7 @@ } else{ //-- this should usually not happen - // but could be if a circular exists (kreisf\xF6rmige strasse, schlaufe)? + // but could be if a circular exists ? networkState.set(id1.intValue(),id2.intValue(),99); } } Modified: plug-ins/MapGenToolboxPlugin/src/mapgen/measures/OrientationMBR.java =================================================================== --- plug-ins/MapGenToolboxPlugin/src/mapgen/measures/OrientationMBR.java 2020-02-16 15:39:34 UTC (rev 6242) +++ plug-ins/MapGenToolboxPlugin/src/mapgen/measures/OrientationMBR.java 2020-04-02 21:22:23 UTC (rev 6243) @@ -287,7 +287,7 @@ * calculates orientation using statistical * analysis (histogramm of angles) * uses only the outer Ring Elements - * for description see Duch\xEAne et al. 2003(ICA Workshop, Paris) + * for description see Duchêne et al. 2003(ICA Workshop, Paris) */ private void calcStatisticMBR(){ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel