org.discotools.io.aprs
Class Utilities

java.lang.Object
  extended by org.discotools.io.aprs.Utilities

public class Utilities
extends Object


Constructor Summary
Utilities()
           
 
Method Summary
static double convertDEG(double dem)
          Convert from decimal minutes to decimal degrees
static com.vividsolutions.jts.geom.Point coordinate(double lat0, double lon0, double d, double azimuth)
          Calculate new coordinates from start coordinates, distance from start and azimuth direction
static String encodeALT(double alt)
           
static String encodeCompressionType(int... flags)
          Encode flags into APRS compression type 'T'
static String encodeCompressionType(String... flags)
          Encode flags into APRS compression type 'T'
static String encodeDIR(double crs, double spd)
           
static String encodeLAT(double lat)
           
static String encodeLON(double lon)
           
static double greatCircleDistance(double lat1, double lon1, double lat2, double lon2)
          Calculate great circle distance in meters.
static double normalizeAngle(double angle)
          Calculate a normalized angle (always greater then 0)
static com.vividsolutions.jts.geom.Point random(com.vividsolutions.jts.geom.Envelope box, double max)
           
static com.vividsolutions.jts.geom.Point random(com.vividsolutions.jts.geom.Point p, double max)
           
static double reminder(double y, double x)
          Calculate the remainder of the double floating point division of dividend y on divisor x
static double sphericalAzimuth(double lat1, double lon1, double lat2, double lon2)
          Calculate Spherical Azimuth (Bearing) in degrees
static com.vividsolutions.jts.geom.Point toPoint(double lat, double lon)
           
static com.vividsolutions.jts.geom.Point toPoint(String packet, double lat, double lon)
           
static com.vividsolutions.jts.geom.Point toPoint(String lat, String lon)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Utilities

public Utilities()
Method Detail

greatCircleDistance

public static double greatCircleDistance(double lat1,
                                         double lon1,
                                         double lat2,
                                         double lon2)
Calculate great circle distance in meters.

Parameters:
lat1 - - Latitude of origin point in decimal degrees
lon1 - - longitude of origin point in decimal degrees
lat2 - - latitude of destination point in decimal degrees
lon2 - - longitude of destination point in decimal degrees
Returns:
metricDistance - great circle distance in meters

sphericalAzimuth

public static double sphericalAzimuth(double lat1,
                                      double lon1,
                                      double lat2,
                                      double lon2)
Calculate Spherical Azimuth (Bearing) in degrees

Parameters:
lat1 - - Latitude of origin point in decimal degrees
lon1 - - longitude of origin point in decimal degrees
lat2 - - latitude of destination point in decimal degrees
lon2 - - longitude of destination point in decimal degrees
Returns:
Spherical Azimuth (Bearing) in degrees

coordinate

public static com.vividsolutions.jts.geom.Point coordinate(double lat0,
                                                           double lon0,
                                                           double d,
                                                           double azimuth)
Calculate new coordinates from start coordinates, distance from start and azimuth direction

Parameters:
lat0 - - start latitude in decimal degrees
lon0 - - start longitude in decimal degrees
d - - distance from start in meters
azimuth - - bearing from start in degrees
Returns:
Coordinates in decimal degrees

reminder

public static double reminder(double y,
                              double x)
Calculate the remainder of the double floating point division of dividend y on divisor x

Parameters:
y - - dividend
x - - divisor
Returns:
- the reminder, equivalent to Y - X * floor(Y/X)

normalizeAngle

public static double normalizeAngle(double angle)
Calculate a normalized angle (always greater then 0)

Parameters:
angle - - angle to normalize
Returns:
An angle greater then 0

convertDEG

public static double convertDEG(double dem)
Convert from decimal minutes to decimal degrees

Parameters:
dem - - decimal minutes
Returns:
decimal degrees

random

public static com.vividsolutions.jts.geom.Point random(com.vividsolutions.jts.geom.Envelope box,
                                                       double max)

random

public static com.vividsolutions.jts.geom.Point random(com.vividsolutions.jts.geom.Point p,
                                                       double max)

toPoint

public static com.vividsolutions.jts.geom.Point toPoint(double lat,
                                                        double lon)

toPoint

public static com.vividsolutions.jts.geom.Point toPoint(String lat,
                                                        String lon)

toPoint

public static com.vividsolutions.jts.geom.Point toPoint(String packet,
                                                        double lat,
                                                        double lon)

encodeLAT

public static String encodeLAT(double lat)

encodeLON

public static String encodeLON(double lon)

encodeDIR

public static String encodeDIR(double crs,
                               double spd)

encodeALT

public static String encodeALT(double alt)

encodeCompressionType

public static String encodeCompressionType(String... flags)
Encode flags into APRS compression type 'T'

Parameters:
flags - - (optional array of) flags expressed as a binary string
Returns:
APRS compression type 'T'

encodeCompressionType

public static String encodeCompressionType(int... flags)
Encode flags into APRS compression type 'T'

Parameters:
flags - - (optional array of) flags expressed as integer
Returns:
APRS compression type 'T'


Copyright © 2012-2013 DISCO Foundation. All Rights Reserved.