| (1) |
_____
|
Geodesy is the science (and art) of communicating geodetic information using abstract visual representations (i.e., maps). |
| (2) |
_____
|
A legend is an example of a geographic feature. |
| (3) |
_____
|
Azimuthal projections are all conformal. |
| (4) |
_____
|
Cylindrical projections use cylindrical coordinates. |
| (5) |
_____
|
Some map projections are both conformal and equal area. |
| (6) |
_____
|
Geocoding is the process of finding the coordinates of an object on the surface of the Earth. |
times method in the following
CartesianPoint class:
public class CartesianPoint
{
private double[] value;
private static final int DIMENSION = 2;
/**
* Explicit Value Constructor
*
* @param x The value of the horizontal coordinates
* @param y The value of the vertical coordinates
*/
public Point(double x, double y)
{
value = new double[DIMENSION];
value[0] = x;
value[1] = y;
}
/**
* Multiply this CartesianPoint by a scalar
*
* @param alpha The scalar
* @return The result of the multiplication
*/
public CartesianPoint times(double alpha)
{
}
}
Drafter class with the
following two methods:
/**
* Draw a straight (solid black) line segment from the pen's current Point
* (i.e., the result of the last moveTo() or drawTo())
* to the given Point. This method leaves the pen at p
*
* @param p The end of the line segment
*/
public void drawTo(CartesianPoint p)
{
...
}
/**
* Lift the pen off of the paper and move it to
* the given Point
*
* @param p The Point to move to
*/
public void moveTo(CartesianPoint p)
{
...
}
what would be drawn by the following sequence of method calls?
moveTo(new CartesianPoint(10.0, 10.0));
drawTo(new CartesianPoint(10.0, 50.0));
drawTo(new CartesianPoint(50.0, 50.0));
moveTo(new CartesianPoint(20.0, 20.0));
drawTo(new CartesianPoint(30.0, 20.0));
adjustFor() methods in the
following RectangularHull class:
/**
* The smallest rectangle containing a set of Point objects (represented
* as two Point objects, one containing the minimal coordinates and
* one containing the maximal coordinates).
*/
public class RectangularHull
{
private Point max, min;
/**
* Explicit Value Constructor
*/
public RectangularHull(Point min, Point max)
{
double[] v;
int n;
n = min.getDimension();
v = new double[n];
for (int i=0; i<n; i++) v[i] = min.getCoordinate(i);
this.min = new Point(v);
for (int i=0; i<n; i++) v[i] = max.getCoordinate(i);
this.max = new Point(v);
}
/**
* Adjust this RectangularHull (if necessary)
* so that it includes the given Point
*
* @param p The new Point
*/
public void adjustFor(Point p)
{
}
/**
* Adjust this RectangularHull (if necessary)
* so that it includes another RectangularHull
*
* @param other The other RectangularHull
*/
public void adjustFor(RectangularHull other)
{
}
/**
* Get the maximal Point (e.g., the upper right corner)
*
* @return The maximal point
*/
public Point getMax()
{
return max;
}
/**
* Get the minimal Point (e.g., the lower left corner)
*
* @return The minimal point
*/
public Point getMin()
{
return min;
}
/**
* Create a String representation of this RectangularHull
*
* @return The String
*/
public String toString()
{
return (min.toString()+"\t"+max.toString());
}
}
MapProjection that contains
all of the appropriate methods, properly documented.
public class Soundex
{
public static String toCode(String s)
{
char c;
char[] code = {'0','0','0','0'};
char[] chars, coded, noDups, noHW, noVowels, source;
int i, index, n, start;
// Create a character array
chars = s.toUpperCase().toCharArray();
// Remove non alphabetic characters
source = new char[chars.length];
index = 0;
for (i=0; i<chars.length; i++)
{
if ((chars[i] < 'A') || (chars[i] > 'Z'))
{
// Remove
}
else
{
source[index] = chars[i];
index++;
}
}
// Code the consonants
coded = new char[index];
for (i=0; <coded.length; i++) {
c = source[i];
if ((c=='B') || (c=='P') || (c=='F') ||
(c=='V') ) coded[i]='1';
else if ((c=='C') || (c=='S') || (c=='K') ||
(c=='G') || (c=='J') || (c=='Q') ||
(c=='X') || (c=='Z') ) coded[i]='2';
else if ((c=='D') || (c=='T') ) coded[i]='3';
else if ((c=='L')) coded[i]='4';
else if ((c=='M') || (c=='N') ) coded[i]='5';
else if ((c=='R')) coded[i]='6';
else coded[i]=c;
}
// Remove H and W (except if the first letter)
noHW = new char[coded.length];
noHW[0] = coded[0];
index = 1;
for (i=1; i<coded.length; i++)
{
if ((coded[i] == 'H') || (coded[i] == 'W'))
{
// Remove
}
else
{
noHW[index] = coded[i];
index++;
}
}
// Remove duplicates
noDups = new char[index];
noDups[0] = noHW[0];
index = 1;
for (i=1; i<noDups.length; i++)
{
if (noHW[i] == noDups[index-1])
{
// Duplicate
}
else
{
noDups[index] = noHW[i];
index++;
}
}
// Remove the vowels (except if the first letter) and non-alphabetic
noVowels = new char[index];
noVowels[0] = noDups[0];
index = 1;
for (i=1; <noVowels.length; i++) {
if ((noDups[i]=='A') || (noDups[i]=='E') || (noDups[i]=='I') ||
(noDups[i]=='O') || (noDups[i]=='U') || (noDups[i]=='Y') )
{
// Remove
}
else
{
noVowels[index] = noDups[i];
index++;
}
}
// Construct the final code
code[0] = source[0];
n = code.length;
if (index < n) n = index;
for (i=1; i<n; i++) code[i] = noVowels[i];
return new String(code);
}
}
calculate the Soundex code for each of the following street names.
Copyright 2025