From: <bma...@us...> - 2008-07-17 10:56:53
|
Revision: 3692 http://fudaa.svn.sourceforge.net/fudaa/?rev=3692&view=rev Author: bmarchan Date: 2008-07-17 10:56:03 +0000 (Thu, 17 Jul 2008) Log Message: ----------- Le support de localisations triable suivant X utilis?\195?\169 par le package d'interpolation est g?\195?\169n?\195?\169ralis?\195?\169 pour ?\195?\170tre utilis?\195?\169 en dehors. Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java Added Paths: ----------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java Removed Paths: ------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -18,7 +18,7 @@ * @author Fred Deniger * @version $Id: InterpolationSupportGISAdapter.java,v 1.2 2007-06-11 13:03:29 deniger Exp $ */ -public class InterpolationSupportGISAdapter implements InterpolationSupportLocationI, InterpolationSupportValuesI { +public class InterpolationSupportGISAdapter implements SupportLocationI, InterpolationSupportValuesI { final GISDataModel model_; final TObjectIntHashMap attInt_; Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -1,34 +0,0 @@ -/* - * @creation 4 f\xE9vr. 2004 - * @modification $Date: 2007-06-05 08:57:42 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ctulu.interpolation; - -/** - * @author deniger - * @version $Id: InterpolationSupportLocationI.java,v 1.1 2007-06-05 08:57:42 deniger Exp $ - */ -public interface InterpolationSupportLocationI { - - /** - * @return le nombre de points - */ - int getPtsNb(); - - /** - * @param _i indice - * @return x en _i - */ - double getPtX(int _i); - - /** - * @param _i indice - * @return y en _i - */ - double getPtY(int _i); - - -} \ No newline at end of file Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -14,7 +14,7 @@ * @author Fred Deniger * @version $Id: InterpolationSupportPoint.java,v 1.2 2007-06-11 13:03:29 deniger Exp $ */ -public class InterpolationSupportPoint implements InterpolationSupportLocationI, InterpolationSupportValuesI { +public class InterpolationSupportPoint implements SupportLocationI, InterpolationSupportValuesI { final GISPoint[] list_; Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -0,0 +1,45 @@ +/* + * @creation 22 avr. 2005 + * @modification $Date: 2007-06-11 13:03:29 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.interpolation; + +import org.fudaa.ctulu.CtuluVariable; +import org.fudaa.ctulu.gis.GISPoint; + +import com.vividsolutions.jts.geom.Coordinate; + +/** + * Un support de location \xE0 partir de coordonn\xE9es {@link Coordinate} + * @author Bertrand Marchand + * @version $Id: InterpolationSupportPoint.java,v 1.2 2007-06-11 13:03:29 deniger Exp $ + */ +public class SupportCoordinate implements SupportLocationI, InterpolationSupportValuesI { + + final Coordinate[] list_; + + public SupportCoordinate(final Coordinate[] _list) { + list_ = _list; + } + + public int getPtsNb() { + return list_.length; + } + + public double getPtX(final int _i) { + return list_[_i].x; + } + + public double getPtY(final int _i) { + return list_[_i].y; + } + + public double getV(CtuluVariable _var, int _ptIdx) { + /* _var n'est pas utilis\xE9e. */ + return list_[_ptIdx].z; + } + +} Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java ___________________________________________________________________ Added: svn:eol-style + native Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java (from rev 3624, branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java) =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -0,0 +1,34 @@ +/* + * @creation 4 f\xE9vr. 2004 + * @modification $Date: 2007-06-05 08:57:42 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.interpolation; + +/** + * @author deniger + * @version $Id: InterpolationSupportLocationI.java,v 1.1 2007-06-05 08:57:42 deniger Exp $ + */ +public interface SupportLocationI { + + /** + * @return le nombre de points + */ + int getPtsNb(); + + /** + * @param _i indice + * @return x en _i + */ + double getPtX(int _i); + + /** + * @param _i indice + * @return y en _i + */ + double getPtY(int _i); + + +} \ No newline at end of file Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -0,0 +1,66 @@ +/* + * @creation 16 juil. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.ctulu.interpolation; + +import java.util.Comparator; + +/** + * Un comparateur de coordonn\xE9es XY d'un support. Utilis\xE9 pour trier. + * @author Bertrand Marchand + * @version $Id:$ + */ +public class SupportLocationXYComparator implements Comparator<Integer> { + + final SupportLocationI srcData_; + + /** + * @param _data + */ + public SupportLocationXYComparator(final SupportLocationI _data) { + super(); + srcData_ = _data; + } + + /** + * Compare les coordonn\xE9es d'un point _idx avec les coordonn\xE9es _x2, y2. + * @param _idx Le point a comparer. + * @param _x2 Le x a comparer. + * @param _y2 Le y a comparer. + * @return -1 : Si point _idx a coordonn\xE9e X inf\xE9rieur. 1 : Si point a coordonn\xE9e X sup\xE9rieur. + * 0 : Si m\xEAme coordonn\xE9es. + */ + public int compare(final int _idx, final double _x2, final double _y2) { + final double x1 = srcData_.getPtX(_idx); + if (x1 < _x2) { + return -1; + } + if (x1 > _x2) { + return 1; + } + final double y1 = srcData_.getPtY(_idx); + if (y1 < _y2) { + return -1; + } + if (y1 > _y2) { + return 1; + } + return 0; + } + + public int compare(final int _o1, final int _o2) { + if (_o1 == _o2) { + return 0; + } + return compare(_o1, srcData_.getPtX(_o2), srcData_.getPtY(_o2)); + } + + public int compare(final Integer _o1, final Integer _o2) { + return compare(_o1.intValue(),_o2.intValue()); + } + +} \ No newline at end of file Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java ___________________________________________________________________ Added: svn:eol-style + native Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -12,7 +12,8 @@ import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.ProgressionUpdater; -import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI; +import org.fudaa.ctulu.interpolation.SupportLocationI; +import org.fudaa.ctulu.interpolation.SupportLocationXYComparator; /** * Un classe representant une source pour une interpolation des plus proches voisins. @@ -22,50 +23,7 @@ */ public final class InterpolationBilinearSupportSorted { - private final static class ComparatorIdx implements Comparator { - - final InterpolationSupportLocationI srcData_; - - /** - * @param _data - */ - public ComparatorIdx(final InterpolationSupportLocationI _data) { - super(); - srcData_ = _data; - } - - public int compare(final int _idx, final double _x2, final double _y2) { - final double x1 = srcData_.getPtX(_idx); - if (x1 < _x2) { - return -1; - } - if (x1 > _x2) { - return 1; - } - final double y1 = srcData_.getPtY(_idx); - if (y1 < _y2) { - return -1; - } - if (y1 > _y2) { - return 1; - } - return 0; - } - - public int compare(final int _o1, final int _o2) { - if (_o1 == _o2) { - return 0; - } - return compare(_o1, srcData_.getPtX(_o2), srcData_.getPtY(_o2)); - } - - public int compare(final Object _o1, final Object _o2) { - return compare(((Integer) _o1).intValue(), ((Integer) _o2).intValue()); - } - - } - - public static InterpolationBilinearSupportSorted buildSortedSrc(final InterpolationSupportLocationI _src, + public static InterpolationBilinearSupportSorted buildSortedSrc(final SupportLocationI _src, final ProgressionInterface _prog) { final Integer[] idxs = new Integer[_src.getPtsNb()]; final ProgressionUpdater up = new ProgressionUpdater(_prog); @@ -74,7 +32,7 @@ idxs[i] = new Integer(i); up.majAvancement(); } - Arrays.sort(idxs, new ComparatorIdx(_src)); + Arrays.sort(idxs, new SupportLocationXYComparator(_src)); final int[] sortedIdx = new int[idxs.length]; for (int i = idxs.length - 1; i >= 0; i--) { sortedIdx[i] = idxs[i].intValue(); @@ -83,15 +41,15 @@ } - final private ComparatorIdx comp_; - InterpolationSupportLocationI ref_; + final private SupportLocationXYComparator comp_; + SupportLocationI ref_; final int[] sortedIdx_; - private InterpolationBilinearSupportSorted(final InterpolationSupportLocationI _ref, final int[] _sorted) { + private InterpolationBilinearSupportSorted(final SupportLocationI _ref, final int[] _sorted) { ref_ = _ref; sortedIdx_ = _sorted; - comp_ = new ComparatorIdx(ref_); + comp_ = new SupportLocationXYComparator(ref_); } private int searchIdx(final double _x, final double _y) { Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -20,7 +20,7 @@ import org.fudaa.ctulu.ProgressionUpdater; import org.fudaa.ctulu.interpolation.InterpolationParameters; import org.fudaa.ctulu.interpolation.InterpolationResultsHolderI; -import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI; +import org.fudaa.ctulu.interpolation.SupportLocationI; import org.fudaa.ctulu.interpolation.InterpolationSupportValuesI; import org.fudaa.ctulu.interpolation.InterpolationTarget; import org.fudaa.ctulu.interpolation.Interpolator; @@ -33,7 +33,7 @@ double distance_; InterpolationBilinearSupportSorted ref_; - final InterpolationSupportLocationI init_; + final SupportLocationI init_; boolean stop_; /** @@ -41,7 +41,7 @@ * @param _ref * @param _results */ - public InterpolatorBilinear(final InterpolationSupportLocationI _ref) { + public InterpolatorBilinear(final SupportLocationI _ref) { super(); init_ = _ref; distance_ = -1; Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -260,7 +260,7 @@ } } - static class InterpolationSrcAdapter implements InterpolationSupportValuesI, InterpolationSupportLocationI { + static class InterpolationSrcAdapter implements InterpolationSupportValuesI, SupportLocationI { final double[] x_ = new double[] { 0, 1, 0, 1 }; final double[] y_ = new double[] { 0, 0, 1, 1 }; Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -13,7 +13,7 @@ import org.fudaa.ctulu.CtuluVariable; import org.fudaa.ctulu.collection.CtuluCollectionDouble; -import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI; +import org.fudaa.ctulu.interpolation.SupportLocationI; import org.fudaa.ctulu.interpolation.InterpolationSupportValuesMultiI; /** @@ -21,7 +21,7 @@ * @version $Id: EfGridDataInterpolationValuesAdapter.java,v 1.2 2007-06-11 13:04:05 deniger Exp $ */ public class EfGridDataInterpolationValuesAdapter implements InterpolationSupportValuesMultiI, - InterpolationSupportLocationI { + SupportLocationI { final EfGridData data_; final int tIdx_; Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -8,7 +8,7 @@ package org.fudaa.dodico.ef.interpolation; import org.fudaa.ctulu.CtuluVariable; -import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI; +import org.fudaa.ctulu.interpolation.SupportLocationI; import org.fudaa.ctulu.interpolation.InterpolationSupportValuesI; import org.fudaa.dodico.ef.EfGridInterface; @@ -17,7 +17,7 @@ * @author Fred Deniger * @version $Id: EfInterpolationGridSupportAdapter.java,v 1.2 2007-06-11 13:04:06 deniger Exp $ */ -public abstract class EfInterpolationGridSupportAdapter implements InterpolationSupportLocationI, +public abstract class EfInterpolationGridSupportAdapter implements SupportLocationI, InterpolationSupportValuesI { final EfGridInterface grid_; Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java 2008-07-17 10:41:09 UTC (rev 3691) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java 2008-07-17 10:56:03 UTC (rev 3692) @@ -43,7 +43,7 @@ import org.fudaa.ctulu.gis.GISPoint; import org.fudaa.ctulu.interpolation.InterpolationParameters; import org.fudaa.ctulu.interpolation.InterpolationResultsHolderI; -import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI; +import org.fudaa.ctulu.interpolation.SupportLocationI; import org.fudaa.ctulu.interpolation.InterpolationSupportPoint; import org.fudaa.ctulu.interpolation.InterpolationSupportValuesI; import org.fudaa.ctulu.interpolation.TestJInterpolation; @@ -818,7 +818,7 @@ assertTrue(mail_.getFrontiers().isSame(l.toNativeArray())); } - private static class GridRef implements InterpolationSupportLocationI, InterpolationSupportValuesI { + private static class GridRef implements SupportLocationI, InterpolationSupportValuesI { final EfGridInterface g_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |