亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mgrspoint.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
// **********************************************************************//// <copyright>//// BBN Technologies// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000//// Copyright (C) BBNT Solutions LLC. All rights reserved.//// </copyright>// **********************************************************************//// $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/proj/coords/MGRSPoint.java,v $// $RCSfile: MGRSPoint.java,v $// $Revision: 1.5.2.8 $// $Date: 2005/10/24 14:41:17 $// $Author: dietrick $//// **********************************************************************package com.bbn.openmap.proj.coords;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.io.PrintStream;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.proj.Ellipsoid;import com.bbn.openmap.util.ArgParser;import com.bbn.openmap.util.Debug;/** * A class representing a MGRS coordinate that has the ability to * provide the decimal degree lat/lon equivalent, as well as the UTM * equivalent. This class does not do checks to see if the MGRS * coordiantes provided actually make sense. It assumes that the * values are valid. */public class MGRSPoint extends ZonedUTMPoint {    /**     * UTM zones are grouped, and assigned to one of a group of 6     * sets.     */    protected final static int NUM_100K_SETS = 6;    /**     * The column letters (for easting) of the lower left value, per     * set.     */    public final static int[] SET_ORIGIN_COLUMN_LETTERS = { 'A', 'J', 'S', 'A',            'J', 'S' };    /**     * The row letters (for northing) of the lower left value, per     * set.     */    public final static int[] SET_ORIGIN_ROW_LETTERS = { 'A', 'F', 'A', 'F',            'A', 'F' };    /**     * The column letters (for easting) of the lower left value, per     * set,, for Bessel Ellipsoid.     */    public final static int[] BESSEL_SET_ORIGIN_COLUMN_LETTERS = { 'A', 'J',            'S', 'A', 'J', 'S' };    /**     * The row letters (for northing) of the lower left value, per     * set, for Bessel Ellipsoid.     */    public final static int[] BESSEL_SET_ORIGIN_ROW_LETTERS = { 'L', 'R', 'L',            'R', 'L', 'R' };    public final static int SET_NORTHING_ROLLOVER = 20000000;    /**     * Use 5 digits for northing and easting values, for 1 meter     * accuracy of coordinate.     */    public final static int ACCURACY_1_METER = 5;    /**     * Use 4 digits for northing and easting values, for 10 meter     * accuracy of coordinate.     */    public final static int ACCURACY_10_METER = 4;    /**     * Use 3 digits for northing and easting values, for 100 meter     * accuracy of coordinate.     */    public final static int ACCURACY_100_METER = 3;    /**     * Use 2 digits for northing and easting values, for 1000 meter     * accuracy of coordinate.     */    public final static int ACCURACY_1000_METER = 2;    /**     * Use 1 digits for northing and easting values, for 10000 meter     * accuracy of coordinate.     */    public final static int ACCURACY_10000_METER = 1;    /** The set origin column letters to use. */    protected int[] originColumnLetters = SET_ORIGIN_COLUMN_LETTERS;    /** The set origin row letters to use. */    protected int[] originRowLetters = SET_ORIGIN_ROW_LETTERS;    public final static int A = 'A';    public final static int I = 'I';    public final static int O = 'O';    public final static int V = 'V';    public final static int Z = 'Z';    protected boolean DEBUG = false;    /** The String holding the MGRS coordinate value. */    protected String mgrs;    /**     * Controls the number of digits that the MGRS coordinate will     * have, which directly affects the accuracy of the coordinate.     * Default is ACCURACY_1_METER, which indicates that MGRS     * coordinates will have 10 digits (5 easting, 5 northing) after     * the 100k two letter code, indicating 1 meter resolution.     */    protected int accuracy = ACCURACY_1_METER;    /**     * Point to create if you are going to use the static methods to     * fill the values in.     */    public MGRSPoint() {        DEBUG = Debug.debugging("mgrs");    }    /**     * Constructs a new MGRS instance from a MGRS String.     */    public MGRSPoint(String mgrsString) {        this();        setMGRS(mgrsString);    }    /**     * Contructs a new MGRSPoint instance from values in another     * MGRSPoint.     */    public MGRSPoint(MGRSPoint point) {        this();        mgrs = point.mgrs;        northing = point.northing;        easting = point.easting;        zone_number = point.zone_number;        zone_letter = point.zone_letter;        accuracy = point.accuracy;    }    /**     * Create a MGRSPoint from UTM values;     */    public MGRSPoint(float northing, float easting, int zoneNumber,            char zoneLetter) {        super(northing, easting, zoneNumber, zoneLetter);    }    /**     * Contruct a MGRSPoint from a LatLonPoint, assuming a WGS_84     * ellipsoid.     */    public MGRSPoint(LatLonPoint llpoint) {        this(llpoint, Ellipsoid.WGS_84);    }    /**     * Construct a MGRSPoint from a LatLonPoint and a particular     * ellipsoid.     */    public MGRSPoint(LatLonPoint llpoint, Ellipsoid ellip) {        this();        LLtoMGRS(llpoint, ellip, this);    }    /**     * Set the MGRS value for this Point. Will be decoded, and the UTM     * values figured out. You can call toLatLonPoint() to translate     * it to lat/lon decimal degrees.     */    public void setMGRS(String mgrsString) {        try {            mgrs = mgrsString.toUpperCase(); // Just to make sure.            decode(mgrs);        } catch (StringIndexOutOfBoundsException sioobe) {            throw new NumberFormatException("MGRSPoint has bad string: "                    + mgrsString);        } catch (NullPointerException npe) {            // Blow off        }    }    /**     * Get the MGRS string value - the honkin' coordinate value.     */    public String getMGRS() {        if (mgrs == null) {            resolve();        }        return mgrs;    }    /**     * Convert this MGRSPoint to a LatLonPoint, and assume a WGS_84     * ellisoid.     */    public LatLonPoint toLatLonPoint() {        return toLatLonPoint(Ellipsoid.WGS_84, new LatLonPoint());    }    /**     * Convert this MGRSPoint to a LatLonPoint, and use the given     * ellipsoid.     */    public LatLonPoint toLatLonPoint(Ellipsoid ellip) {        return toLatLonPoint(ellip, new LatLonPoint());    }    /**     * Fill in the given LatLonPoint with the converted values of this     * MGRSPoint, and use the given ellipsoid.     */    public LatLonPoint toLatLonPoint(Ellipsoid ellip, LatLonPoint llpoint) {        return MGRStoLL(this, ellip, llpoint);    }    /**     * Returns a string representation of the object.     *      * @return String representation     */    public String toString() {        return "MGRSPoint[" + mgrs + "]";    }    /**     * Create a LatLonPoint from a MGRSPoint.     *      * @param mgrsp to convert.     * @param ellip Ellipsoid for earth model.     * @param llp a LatLonPoint to fill in values for. If null, a new     *        LatLonPoint will be returned. If not null, the new     *        values will be set in this object, and it will be     *        returned.     * @return LatLonPoint with values converted from MGRS coordinate.     */    public static LatLonPoint MGRStoLL(MGRSPoint mgrsp, Ellipsoid ellip,                                       LatLonPoint llp) {        // return UTMtoLL(mgrsp, ellip, llp);        return UTMtoLL(ellip,                mgrsp.northing,                mgrsp.easting,                mgrsp.zone_number,                MGRSPoint.MGRSZoneToUTMZone(mgrsp.zone_letter),                llp);    }    /**     * Create a LatLonPoint from a MGRSPoint.     *      * @param mgrsp to convert.     * @param ellip Ellipsoid for earth model.     * @param llp a LatLonPoint to fill in values for. If null, a new     *        LatLonPoint will be returned. If not null, the new     *        values will be set in this object, and it will be     *        returned.     * @return LatLonPoint with values converted from MGRS coordinate.     */    public static LatLonPoint MGRStoLL(Ellipsoid ellip, float northing,                                       float easting, int zoneNumber,                                       char zoneLetter, LatLonPoint llp) {        // return UTMtoLL(mgrsp, ellip, llp);        return UTMtoLL(ellip,                northing,                easting,                zoneNumber,                MGRSPoint.MGRSZoneToUTMZone(zoneLetter),                llp);    }    /**     * Converts a LatLonPoint to a MGRS Point, assuming the WGS_84     * ellipsoid.     *      * @return MGRSPoint, or null if something bad happened.     */    public static MGRSPoint LLtoMGRS(LatLonPoint llpoint) {        return LLtoMGRS(llpoint, Ellipsoid.WGS_84, new MGRSPoint());    }    /**     * Converts a LatLonPoint to a MGRS Point.     *      * @param llpoint the LatLonPoint to convert.     * @param mgrsp a MGRSPoint to put the results in. If it's null, a     *        MGRSPoint will be allocated.     * @return MGRSPoint, or null if something bad happened. If a     *         MGRSPoint was passed in, it will also be returned on a     *         successful conversion.     */    public static MGRSPoint LLtoMGRS(LatLonPoint llpoint, MGRSPoint mgrsp) {        return LLtoMGRS(llpoint, Ellipsoid.WGS_84, mgrsp);    }    /**     * Create a MGRSPoint from a LatLonPoint.     *      * @param llp LatLonPoint to convert.     * @param ellip Ellipsoid for earth model.     * @param mgrsp a MGRSPoint to fill in values for. If null, a new     *        MGRSPoint will be returned. If not null, the new values     *        will be set in this object, and it will be returned.     * @return MGRSPoint with values converted from lat/lon.     */    public static MGRSPoint LLtoMGRS(LatLonPoint llp, Ellipsoid ellip,                                     MGRSPoint mgrsp) {        mgrsp = (MGRSPoint) LLtoUTM(llp, ellip, mgrsp);        mgrsp.resolve();        return mgrsp;    }    /**     * Convert MGRS zone letter to UTM zone letter, N or S.     *      * @param mgrsZone     * @return N of given zone is equal or larger than N, S otherwise.     */    public static char MGRSZoneToUTMZone(char mgrsZone) {        if (Character.toUpperCase(mgrsZone) >= 'N') {            return 'N';        } else {            return 'S';        }    }    /**     * Method that provides a check for MGRS zone letters. Returns an     * uppercase version of any valid letter passed in.     */    protected char checkZone(char zone) {        zone = Character.toUpperCase(zone);        if (zone <= 'A' || zone == 'B' || zone == 'Y' || zone >= 'Z'                || zone == 'I' || zone == 'O') {            throw new NumberFormatException("Invalid MGRSPoint zone letter: "                    + zone);        }        return zone;    }    /**     * Set the number of digits to use for easting and northing     * numbers in the mgrs string, which reflects the accuracy of the     * corrdinate. From 5 (1 meter) to 1 (10,000 meter).     */    public void setAccuracy(int value) {        accuracy = value;        mgrs = null;    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀精品久久久久久蜜臀| 亚洲精品免费在线观看| 精品久久国产字幕高潮| 国产精品久久久久影视| 日本视频中文字幕一区二区三区| 国产盗摄一区二区| 欧美精品成人一区二区三区四区| 中文字幕一区二区在线播放| 久久不见久久见免费视频1| 91成人在线免费观看| 国产欧美精品一区二区色综合朱莉 | 亚洲精品视频自拍| 国产一区二区三区日韩| 欧美一区二区三区免费大片 | 成人听书哪个软件好| 欧美一区二区黄| 亚洲777理论| 在线视频国内自拍亚洲视频| 国产精品色一区二区三区| 国产自产视频一区二区三区| 日韩欧美亚洲一区二区| 蜜桃精品在线观看| 欧美精品九九99久久| 亚洲午夜三级在线| 欧美视频一区在线观看| 一区二区三区四区高清精品免费观看| 国产精品一线二线三线精华| 日韩亚洲欧美高清| 久久国产精品第一页| 精品免费视频一区二区| 极品少妇xxxx偷拍精品少妇| 欧美一区二区美女| 日本va欧美va精品| 欧美成人a视频| 久久99国产精品麻豆| www一区二区| 国产精品456| 国产精品免费视频观看| 91丨porny丨国产入口| 亚洲素人一区二区| 色婷婷激情一区二区三区| 亚洲一区电影777| 91麻豆精品91久久久久同性| www.66久久| 亚洲超碰精品一区二区| 91精品黄色片免费大全| 精品在线亚洲视频| 国产亚洲人成网站| 99国内精品久久| 香蕉成人伊视频在线观看| 91精品久久久久久久91蜜桃| 国产又粗又猛又爽又黄91精品| 国产人成亚洲第一网站在线播放| a美女胸又www黄视频久久| 亚洲va中文字幕| 久久婷婷成人综合色| 91色在线porny| 日本不卡在线视频| 久久久久久久久久电影| 色综合天天综合网天天看片| 三级欧美韩日大片在线看| 精品国产伦理网| 成人伦理片在线| 亚洲成人免费av| 欧美国产欧美亚州国产日韩mv天天看完整| 99精品黄色片免费大全| 欧美96一区二区免费视频| 国产亚洲污的网站| 欧美精品在线一区二区三区| 国产精品99久久久久久似苏梦涵 | 91丝袜美腿高跟国产极品老师| www.爱久久.com| 午夜精品福利一区二区蜜股av| 精品久久久三级丝袜| 99国产一区二区三精品乱码| 青青草原综合久久大伊人精品优势| 国产日韩精品一区二区三区| 欧美视频你懂的| 成人做爰69片免费看网站| 午夜av一区二区三区| 中文av一区二区| 精品电影一区二区三区| 欧美日韩一区精品| av影院午夜一区| 麻豆精品视频在线观看视频| 亚洲欧美激情在线| 国产欧美视频一区二区| 欧美一区二区在线不卡| 色爱区综合激月婷婷| 国产成人精品免费网站| 精品一区二区三区久久| 亚洲一区二区三区四区在线| 国产精品女同一区二区三区| 精品国产网站在线观看| 欧美精品亚洲一区二区在线播放| 91玉足脚交白嫩脚丫在线播放| 国产精品1区二区.| 欧美三级资源在线| 91麻豆国产香蕉久久精品| 国产精品影视在线| 国产精品自在在线| 久久99精品网久久| 久久精品国产一区二区三区免费看 | 一本一道综合狠狠老| 国产成人av资源| 高清国产一区二区三区| 国产美女精品在线| 国产精品一二三四| 国产一本一道久久香蕉| 国产一区二区三区| 国产精品1024| 高清国产午夜精品久久久久久| 国产乱一区二区| 国产成人亚洲综合a∨婷婷图片| 国产精品中文有码| 成人蜜臀av电影| 成人精品gif动图一区| 不卡影院免费观看| 波多野结衣在线一区| 99久久精品一区| 欧美无人高清视频在线观看| 欧美日韩一区 二区 三区 久久精品| 一本色道综合亚洲| 精品婷婷伊人一区三区三| 欧美亚日韩国产aⅴ精品中极品| 欧美专区日韩专区| 欧美一区二区二区| 久久这里只有精品首页| 国产精品美女一区二区三区 | 日韩精品欧美精品| 琪琪久久久久日韩精品| 国产专区欧美精品| 不卡电影一区二区三区| 色菇凉天天综合网| 欧美一区永久视频免费观看| 亚洲福利视频三区| 免费在线成人网| 成人一区二区三区在线观看| 在线观看国产91| 精品黑人一区二区三区久久| 国产精品少妇自拍| 亚洲乱码日产精品bd| 日韩av电影免费观看高清完整版在线观看| 麻豆精品精品国产自在97香蕉| 国产sm精品调教视频网站| 色网站国产精品| 日韩视频免费观看高清在线视频| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲另类在线视频| 精品制服美女丁香| 在线观看成人小视频| 精品久久久久一区| 亚洲精品水蜜桃| 狠狠色丁香九九婷婷综合五月| 成人h动漫精品一区二区| 欧美军同video69gay| 国产亚洲欧美色| 午夜精品久久久久久久久久久 | 欧美国产欧美综合| 丝袜国产日韩另类美女| 丁香啪啪综合成人亚洲小说| 欧美日本国产一区| 国产蜜臀av在线一区二区三区| 污片在线观看一区二区| 成人动漫视频在线| 日韩欧美亚洲国产另类| 亚洲激情图片qvod| 丰满少妇在线播放bd日韩电影| 欧美裸体bbwbbwbbw| 亚洲视频在线一区| 国产精华液一区二区三区| 欧美精品一二三| 亚洲综合一区二区精品导航| 国产夫妻精品视频| 欧美成人精品1314www| 亚洲成av人片一区二区| 色综合视频一区二区三区高清| 久久久久国产成人精品亚洲午夜| 青青青伊人色综合久久| 91九色最新地址| 亚洲六月丁香色婷婷综合久久| 成人综合婷婷国产精品久久蜜臀| 日韩一区二区三区四区五区六区| 亚洲网友自拍偷拍| 在线观看视频91| 亚洲另类春色校园小说| 91啦中文在线观看| 中文字幕欧美一| 成人av在线电影| 日本一区二区综合亚洲| 国产电影一区二区三区| 久久久美女毛片| 国产高清不卡一区| 国产人伦精品一区二区| 国产精品一二三四五| 国产三级欧美三级日产三级99| 精品无人区卡一卡二卡三乱码免费卡| 欧美妇女性影城| 日韩成人伦理电影在线观看| 欧美一区二区三区四区久久|