⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zonedutmpoint.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
字号:
//**********************************************************************////<copyright>////BBN Technologies, a Verizon Company//10 Moulton Street//Cambridge, MA 02138//(617) 873-8000////Copyright (C) BBNT Solutions LLC. All rights reserved.////</copyright>//**********************************************************************////$Source:///cvs/darwars/ambush/aar/src/com/bbn/ambush/mission/MissionHandler.java,v//$//$RCSfile: ZonedUTMPoint.java,v $//$Revision: 1.1.2.2 $//$Date: 2005/08/11 21:03:10 $//$Author: dietrick $////**********************************************************************package com.bbn.openmap.proj.coords;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.proj.Ellipsoid;/** * A ZonedUTMPoint is a UTMPoint that handles a MGRS zone letter * instead of N or S. *  * @author dietrick */public class ZonedUTMPoint extends UTMPoint {    /**     * Constructor pass-through.     */    public ZonedUTMPoint() {        super();    }    /**     * @param northing The northing component.     * @param easting The easting component.     * @param zone_number The zone of the coordinate.     * @param zone_letter MGRS zone letter     */    public ZonedUTMPoint(float northing, float easting, int zone_number,            char zone_letter) {        super(northing,              easting,              zone_number,              MGRSPoint.MGRSZoneToUTMZone(zone_letter));    }    /**     * Constructor pass-through.     */    public ZonedUTMPoint(UTMPoint point) {        super(point);    }    /**     * Constructor pass-through.     */    public ZonedUTMPoint(LatLonPoint llpoint) {        super(llpoint);    }    /**     * Constructor pass-through.     */    public ZonedUTMPoint(LatLonPoint llpoint, Ellipsoid ellip) {        super(llpoint, ellip);    }    /**     * Converts UTM coords to lat/long given an ellipsoid.     * <p>     * Equations from USGS Bulletin 1532 <br>     * East Longitudes are positive, West longitudes are negative.     * <br>     * North latitudes are positive, South latitudes are negative.     * <br>     *      * @param ellip an ellipsoid definition.     * @param UTMNorthing A float value for the northing to be     *        converted.     * @param UTMEasting A float value for the easting to be     *        converted.     * @param ZoneNumber An int value specifiying the UTM zone number.     * @param ZoneLetter A char value specifying the ZoneLetter within     *        the ZoneNumber, letter being MGRS zone.     * @param llpoint a LatLonPoint, if you want it to be filled in     *        with the results. If null, a new LatLonPoint will be     *        allocated.     * @return A LatLonPoint class instance containing the lat/long     *         value, or <code>null</code> if conversion failed. If     *         you pass in a LatLonPoint, it will be returned as well,     *         if successful.     */    public static LatLonPoint ZonedUTMtoLL(Ellipsoid ellip, float UTMNorthing,                                           float UTMEasting, int ZoneNumber,                                           char ZoneLetter, LatLonPoint llpoint) {        return UTMPoint.UTMtoLL(ellip, UTMNorthing, UTMEasting, ZoneNumber,                MGRSPoint.MGRSZoneToUTMZone(ZoneLetter), llpoint);    }    /**     * Determines the correct MGRS letter designator for the given     * latitude returns 'Z' if latitude is outside the MGRS limits of     * 84N to 80S.     *      * @param lat The float value of the latitude.     *      * @return A char value which is the MGRS zone letter.     */    protected char getLetterDesignator(double lat) {        //This is here as an error flag to show that the Latitude is        //outside MGRS limits        char LetterDesignator = 'Z';        if ((84 >= lat) && (lat >= 72))            LetterDesignator = 'X';        else if ((72 > lat) && (lat >= 64))            LetterDesignator = 'W';        else if ((64 > lat) && (lat >= 56))            LetterDesignator = 'V';        else if ((56 > lat) && (lat >= 48))            LetterDesignator = 'U';        else if ((48 > lat) && (lat >= 40))            LetterDesignator = 'T';        else if ((40 > lat) && (lat >= 32))            LetterDesignator = 'S';        else if ((32 > lat) && (lat >= 24))            LetterDesignator = 'R';        else if ((24 > lat) && (lat >= 16))            LetterDesignator = 'Q';        else if ((16 > lat) && (lat >= 8))            LetterDesignator = 'P';        else if ((8 > lat) && (lat >= 0))            LetterDesignator = 'N';        else if ((0 > lat) && (lat >= -8))            LetterDesignator = 'M';        else if ((-8 > lat) && (lat >= -16))            LetterDesignator = 'L';        else if ((-16 > lat) && (lat >= -24))            LetterDesignator = 'K';        else if ((-24 > lat) && (lat >= -32))            LetterDesignator = 'J';        else if ((-32 > lat) && (lat >= -40))            LetterDesignator = 'H';        else if ((-40 > lat) && (lat >= -48))            LetterDesignator = 'G';        else if ((-48 > lat) && (lat >= -56))            LetterDesignator = 'F';        else if ((-56 > lat) && (lat >= -64))            LetterDesignator = 'E';        else if ((-64 > lat) && (lat >= -72))            LetterDesignator = 'D';        else if ((-72 > lat) && (lat >= -80))            LetterDesignator = 'C';        return LetterDesignator;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -