Statistics
| Revision:

gvsig-geoprocess / org.gvsig.geoprocess / trunk / org.gvsig.geoprocess / org.gvsig.geoprocess.app / org.gvsig.geoprocess.app.mainplugin / src / main / java / org / gvsig / geoprocess / GeoProcessManager.java @ 191

History | View | Annotate | Download (2.49 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
package org.gvsig.geoprocess;
23

    
24
import java.util.Map;
25

    
26
import org.cresques.cts.IProjection;
27

    
28
/**
29
 * Manager for the GeoProcess API.
30
 * 
31
 * @author gvSIG Team
32
 * @version $Id$
33
 */
34
public interface GeoProcessManager {
35

    
36
    public static final double EARTH_RADIUS = 6378137d;
37

    
38
    /**
39
     * For computing with geodetic coordinates:
40
     * returns the angular measure (in radians)
41
     * for a distance over the earth along a
42
     * meridiam.
43
     * Because this consideration is an approximation,
44
     * we consideer the eart like an sphere (not an
45
     * ellipsoid)
46
     * 
47
     * @param dist
48
     *            distance in meters
49
     * @return arc of meridian whose length is the specified
50
     *         distance
51
     */
52
    double toSexaAngularMeasure(double dist);
53

    
54
    /**
55
     * Converts a distance entered by user in the GUI in the same distance
56
     * in internal units (measure units)
57
     */
58
    double getInInternalUnits(double userEntryDistance, IProjection proj,
59
        int distanceUnits, int mapUnits);
60

    
61
    /**
62
     * <p>
63
     * Gets the measurement unit used by this view port for the map.
64
     * </p>
65
     * 
66
     * @return Returns the current map measure unit
67
     */
68
    int getMapUnits();
69

    
70
    /**
71
     * <p>
72
     * Returns the measurement unit of this view port used for measuring
73
     * distances and displaying information.
74
     * </p>
75
     * 
76
     * @return the measurement unit of this view used for measuring distances
77
     *         and displaying information
78
     */
79
    int getDistanceUnits();
80

    
81
    void registerGeoProcess(Class<? extends GeoProcess> geoProcessClazz,
82
        Map<String, String> localeStrings);
83
}