AG fuer technische Informatik Meystre www.agtim.ch

WorldGround constants

are used in ground reflection loss calculation of the lowest usable frequency LUF. WorldGround is just the template and not directly usable. Use classes WorldGroundConstant, WorldConductivity and WorldDielectricConstant to create objects in the applet class.
The Java applet WorldGroundMap works as stand alone application and as applet viewed with MS-IExplorer 3.0 or Netscape Navigator 3.0.

Warning !
You are using this software at your own risk. There exists MS-IExplorer 3.0.x versions with faulty JIT-Compiler. If the WorldGroundMap applet crashs your browser, so disable the use of the JIT compiler in the browser settings and look for a newer version at microsoft.com. Without JIT the applet is a little bit slower, but safe. In case of difficuties download the class files and html page and try offline, until your browser settings (JIT) works safe. From MS-IExplorer 3.01 Build 4.70.1215 the applet is working with JIT enabled.

Once loaded, you can cut the phone line to save money. Recomputing of the maps can be done offline or as stand alone Windows application using jview.exe. Under Windows95 I was not able to run jview.exe with this long names outside the J++ Developer Studio but under Windows NT 4.0 it works with command: jview.exe WorldGroundMap. The same problem with JIT as above can arise, crashing jview.exe. Even Java basicaly is safe, the Java virtual machine and the JIT compiler are normal applications that can crashs.

By rebuilding your own Palette class you can redefine the color legend even with more colors. Just replace then the Palette.class with your version.

WorldGroundMap ----------> load, run the applet now do not use JIT Option for this applet !
WorldGround -----------------> how to use offline
WorldGroundMap ----------> change the color palette
WorldGround -----------------> class/method description


WorldGround - how to use offline or in your own html document

To save the classes for offline use, download here or pick all this files from your internet cache:

WorldGroundMap.class -------------> the applet
GRLComboBox.class ----------------> the top dialog
GRLControls.class -------------------> the bottom dialog
GRLCanvas.class --------------------> display the map image
Legend.class ---------------------------> draws the legend
Palette.class ----------------------------> defines the colorset
WorldGround.class -------------------> the base class
WorldGroundConstant.class -------> Groundconstant calculation
WorldConductivity.class ------------> Conductivity calculation
WorldDielectricConstant.class ----> DielectricConstant calculation

With this set of classes enter the next lines to get the applet working in your html document. The param lines are optional:


         <applet code="WorldGroundMap.class" width=550 height=350>
         <param name=Latitude value=33>
         <param name=Longitude value=-120>
         </applet>

WorldGroundMap - redefine the color palette

Use 0, 51, 102, 153, 204, 255 or hex. 0x00, 0x33, 0x66, 0x99, 0xcc, 0xff for undittered color This is the definition of the Palette class:


// my Color Palette definition for 16 colors
import java.awt.*;

public class Palette 
{
    static public Color[] c =
    {
		new Color(  0,   0,   0), //0	
		new Color(128, 128, 128), //1	
		new Color(192, 192, 192), //2	
		new Color(  0,   0, 255), //3	
		new Color(128,  64, 255), //4	
		new Color(192, 128, 255), //5	
		new Color(192, 192, 255), //6	
		new Color(224, 224, 255), //7	
		new Color(  0, 192, 192), //8	
		new Color(  0, 192,   0), //9	
		new Color(128, 255,   0), //a	
		new Color(192, 255,   0), //b	
		new Color(255, 255,   0), //c	
		new Color(255, 192,   0), //d	
		new Color(255, 128,   0), //e	
		new Color(255,  64,   0)  //f	
    };
}

Now you can just change the values for R G and B for each Color( R, G, B). The values goes from dark 0 to bright 255. //n is comment indicating the color index in the c array. Later in the application, the color is referenced as Palette.c[i]; The array size is set by the compiler. Use a Java compiler to compile the saved Palette.java file. This will generate the file Palette.class that will replaces the current class in the WorlGroundMap applet. To replace it, move/copy the Palette.class file to the WorldGroundMap directory. Finaly run the applet opening the html file. That's all !


WorldGround - Classes and Methods


//  the base class
abstract class WorldGround
{
//  Region of returned constants
    public abstract int Type();	   
    public abstract double Min();
    public abstract double Max();
//  Compute the Worldconstant at given position
    public abstract double At(double Latitude, double Longitude);
//  Compute a Worldconstant Array of same Latitude
    public abstract void At(double Latitude, double Longitude, double Step, double[] Result);

Latitude, Longitude and Step are in degrees. At map generation it's quicker to compute an array of values for a given Latitude. Latitude and Longitude are the starting point, Step is the increment. The Result array is precreated and sized by the caller, the array is filled with values for the implicit Result.length.


class WorldGroundConstant extends WorldGround
{
//  Region of returned constants
    public int Type() {return 0;}
    public double Min() {return -1.3D;}
    public double Max() {return  1.3D;}
//  Compute the GroundConstant at given position
    public double At(double Latitude, double Longitude)
//  Compute a Groundconstant Array of same Latitude
    public void At(double Latitude, double Longitude, double Step, double[] Result)

class WorldConductivity extends WorldGround
{
//  Region of returned constants
    public int Type() {return 1;}
    public double Min() {return 0.0D;}
    public double Max() {return 6.0D;}
//  Compute the WorldConductivity at given position
    public double At(double Latitude, double Longitude)
//  Compute a WorldConductivity Array of same Latitude
    public void At(double Latitude, double Longitude, double Step, double[] Result)

class WorldDielectricConstant extends WorldGround
{
//  Region of returned constants
    public int Type() {return 2;}
    public double Min() {return  0.0D;}
    public double Max() {return 82.0D;}
//  Compute the DielectricConstant at given position
    public double At(double Latitude, double Longitude)
//  Compute a DielectricConstant Array of same Latitude
    public void At(double Latitude, double Longitude, double Step, double[] Result)


back to AGTIM Homepage