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

📄 position.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.garmin;

import java.io.*;
import java.util.*;

public class Position
{
	private long latitude;
	private long longitude;

	public Position (long lat, long lon)
	{
		latitude = lat;
		longitude = lon;
	}

	public long getLatitude ()
	{
		return latitude;
	}

	public long getLongitude ()
	{
		return longitude;
	}

	public int getDegreeLatitude ()
	{
		float flat = (float) latitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flat > 180)
			return (int) (360 - flat);
		else
			return (int) flat;
	}

	public int getDegreeLongitude ()
	{
		float flong = (float) longitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flong > 180)
			return (int) (360 - flong);
		else
			return (int) flong;
	}

	public float getFloatDegreeLatitude ()
	{
		float flong = (float) latitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flong > 180)
			return (360 - flong);
		else
			return flong;
	}
		
	public float getFloatDegreeLongitude ()
	{
		float flong = (float) longitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flong > 180)
			return (360 - flong);
		else
			return flong;
	}

        public double getDoubleDegreeLatitude ()
        {
                double dlong = (double) latitude * ((double) 180.0 / (double) Math.pow (2, 31));
                if (dlong > 180)
                        return (360 - dlong);
                else
                        return dlong;
        }
                
        public double getDoubleDegreeLongitude ()
        {
                double dlong = (double) longitude * ((double) 180.0 / (double) Math.pow (2, 31));
                if (dlong > 180)
                        return (360 - dlong);
                else
                        return dlong;
        }

	public int getMinuteLatitude ()
	{
		float flat = (float) latitude * ((float) 180.0 / (float) Math.pow (2, 31));

		if (flat > 180)
			flat = 360 - flat;

		float fraction = flat - (float) getDegreeLatitude ();

		float latMin = fraction * 60;

		return (int) latMin;
	}
		
	public int getMinuteLongitude ()
	{
		float flong = (float) longitude * ((float) 180.0 / (float) Math.pow (2, 31));
	
		if (flong > 180)
			flong = 360 - flong;

		float fraction = flong - (float) getDegreeLongitude ();

		float longMin = fraction * 60;

		return (int) longMin;
	}


	public float getSecondLatitude ()
	{
		float flat = (float) latitude * ((float) 180.0 / (float) Math.pow (2, 31));
		
		if (flat > 180)
			flat = 360 + flat;

		float fraction = flat - (float) getDegreeLatitude ();	

		fraction = fraction - ((float) getMinuteLatitude() / 60);

		return fraction * 3600;
	}

	public float getSecondLongitude ()
	{
		float flong = (float) longitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flong > 180)
			flong = 360 - flong;
		float fraction = flong - (float) getDegreeLongitude ();	
		fraction = fraction - ((float) getMinuteLongitude() / 60);
		return fraction * 3600;

	}

	public int getLatOrientation ()
	{
		if (getDegreeLatitude () > 0)
			return NORTH;
		else
			return SOUTH;
	}

	public int getLongOrientation ()
	{
		if (getDegreeLongitude () > 0)
			return EAST;
		else
			return WEST;
	}

	public char getLongOrientChar ()
	{
		float flong = (float) longitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flong < 180)
			return 'E';
		else
			return 'W';
	}

	public char getLatOrientChar ()
	{
		float flat = (float) latitude * ((float) 180.0 / (float) Math.pow (2, 31));
		if (flat < 180)
			return 'N';
		else
			return 'S';
	}

	public static final int NORTH = 0;
	public static final int SOUTH = 1;
	public static final int EAST = 2;
	public static final int WEST = 3;
}

⌨️ 快捷键说明

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