Revision 431

View differences:

org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/cresques/cts/ICRSFactory.java
24 24
package org.cresques.cts;
25 25

  
26 26
public interface ICRSFactory {
27
	
27

  
28
    public static final String FORMAT_WKT = "wkt";
29
    public static final String FORMAT_PROJ4 = "proj4";
30
    public static final String FORMAT_WKT_ESRI = "wkt_esri";
31

  
28 32
	public boolean doesRigurousTransformations();
29
	
33

  
30 34
    /**
31 35
     * Devuelve una proyeccion a partir de una cadena.
32 36
     * @param name abreviatura de la proyecccion (i.e. EPSG:23030)
33 37
     * @return Proyeccion si existe
34 38
     */
35 39
    public IProjection get(String name);
40

  
41
    public IProjection get(String format, String value);
42

  
36 43
}
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/cresques/cts/CoordTransRuntimeException.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2015 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.cresques.cts;
24

  
25
/**
26
 * @author fdiaz
27
 *
28
 */
29
public class CoordTransRuntimeException extends RuntimeException {
30

  
31
    /**
32
     *
33
     */
34
    private static final long serialVersionUID = 1348981767734366776L;
35
    IProjection source;
36
    IProjection target;
37
    double x;
38
    double y;
39

  
40
    /**
41
     *
42
     */
43
    public CoordTransRuntimeException(IProjection source, IProjection target, double x, double y, Throwable cause) {
44
        super("Error reprojecting point (" + x + "," + y + ") from " + source.getAbrev() + " to " + target.getAbrev()
45
            + ".", cause);
46
        this.source = source;
47
        this.target = target;
48
        this.x = x;
49
        this.y = y;
50
    }
51

  
52
    /**
53
    *
54
    */
55
    public CoordTransRuntimeException(IProjection source, IProjection target, double x, double y) {
56
        this(source, target, x, y, null);
57
    }
58

  
59
    /**
60
     * @return the source
61
     */
62
    public IProjection getSource() {
63
        return source;
64
    }
65

  
66
    /**
67
     * @return the target
68
     */
69
    public IProjection getTarget() {
70
        return target;
71
    }
72

  
73
    /**
74
     * @return the x
75
     */
76
    public double getX() {
77
        return x;
78
    }
79

  
80
    /**
81
     * @return the y
82
     */
83
    public double getY() {
84
        return y;
85
    }
86

  
87
}
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/cresques/cts/IProjection.java
23 23
 */
24 24
package org.cresques.cts;
25 25

  
26
import org.cresques.geo.ViewPortData;
27

  
28 26
import java.awt.Color;
29 27
import java.awt.Graphics2D;
30 28
import java.awt.geom.Point2D;
31 29
import java.awt.geom.Rectangle2D;
32 30

  
31
import org.cresques.geo.ViewPortData;
32

  
33 33
import org.gvsig.tools.lang.Cloneable;
34 34

  
35 35
/**
......
38 38
 */
39 39
public interface IProjection extends Cloneable{
40 40

  
41
    public String export(String format);
42

  
41 43
    public IDatum getDatum();
42 44

  
43 45
    public Point2D createPoint(double x, double y);
44 46

  
45 47
    // TODO Quitar si no son necesarias.
46 48
    public String getAbrev();
47
    
49

  
48 50
    /**
49 51
     * Devuelve getAbrev() mas los parametros de transformacion si los hay
50 52
     * ej.: (EPSG:23030:proj@+proj...@...)
51
     * 
53
     *
52 54
     * @return getAbrev() o getAbrev()+parametros
53 55
     */
54 56
    public String getFullCode();
......
78 80
     * First two parameters must be in meters.
79 81
     * This should be changed (map units should be used) and then
80 82
     * change the places where this method is used.
81
     * 
83
     *
82 84
     * @param minX in meters
83 85
     * @param maxX in meters
84 86
     * @param width in pixels (dots)
......
86 88
     * @return Scale denominator ( the "X" in "1 : X" )
87 89
     */
88 90
    public double getScale(double minX, double maxX, double width, double dpi);
89
    
91

  
90 92
    public Rectangle2D getExtent(Rectangle2D extent,double scale,double wImage,double hImage,double mapUnits,double distanceUnits,double dpi);
91 93
}
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/cresques/cts/ICoordTrans.java
35 35

  
36 36
    public IProjection getPDest();
37 37

  
38
    public Point2D convert(Point2D ptOrig, Point2D ptDest);
38
    public Point2D convert(Point2D ptOrig, Point2D ptDest) throws CoordTransRuntimeException;
39 39

  
40 40
    /**
41 41
     * Reprojects the input rectangle and returns the minimum rectangle
42 42
     * containing the result of that reprojection (which was not
43 43
     * necessarily a rectangle).
44
     * 
44
     *
45 45
     * Reprojecting the diagonal an assuming that
46 46
     * the result is the diagonal of the rectangle to be returned is wrong
47
     * 
47
     *
48 48
     * Reprojecting the four corners and searching for min and max
49 49
     * to create the resulting rectangle is not completely accurate
50
     * but provides an acceptable approximation 
51
     * 
50
     * but provides an acceptable approximation
51
     *
52 52
     * @param rect
53 53
     * @return
54 54
     */
55
    public Rectangle2D convert(Rectangle2D rect);
55
    public Rectangle2D convert(Rectangle2D rect) throws CoordTransRuntimeException;
56 56

  
57 57
    public ICoordTrans getInverted();
58 58
}
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/cresques/Messages.java
24 24

  
25 25
package org.cresques;
26 26

  
27
import java.util.Locale;
28

  
29 27
import org.gvsig.tools.ToolsLocator;
30 28
import org.gvsig.tools.i18n.I18nManager;
31 29

  
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/cresques/px/Extent.java
25 25

  
26 26
import java.awt.geom.Point2D;
27 27
import java.awt.geom.Rectangle2D;
28

  
29 28
import java.text.DecimalFormat;
30 29

  
31 30
/**
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/gvsig/fmap/crs/persistence/ProjectionPersistenceFactory.java
28 28
package org.gvsig.fmap.crs.persistence;
29 29

  
30 30
import org.cresques.cts.IProjection;
31

  
31 32
import org.gvsig.fmap.crs.CRSFactory;
32 33
import org.gvsig.tools.dataTypes.DataTypes;
33 34
import org.gvsig.tools.dynobject.DynStruct;
org.gvsig.projection/trunk/org.gvsig.projection.api/src/main/java/org/gvsig/fmap/crs/persistence/CoordTransPersistenceFactory.java
23 23
 */
24 24
package org.gvsig.fmap.crs.persistence;
25 25

  
26
import org.cresques.DataTypes;
27 26
import org.cresques.cts.ICoordTrans;
28 27
import org.cresques.cts.IProjection;
29 28

  

Also available in: Unified diff