public class LandTile
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
LandTile.BYTE_DEF
BYTE_DEF enum generalizes the binary format the LandTiles can be stored in
|
| Constructor and Description |
|---|
LandTile(java.nio.ByteBuffer buf)
Constructor using custom binary file
|
LandTile(double lon,
double lat)
Constructor used for initial creation of data set
|
| Modifier and Type | Method and Description |
|---|---|
float |
getAvgDayTemp() |
float |
getAvgNightTemp() |
MapPoint |
getCenter() |
EnumFood |
getCurrentCrop()
Retuns the crop currently planted on this tile.
|
float |
getElevation() |
double |
getLat() |
double |
getLon() |
float |
getMaxAnnualTemp() |
float |
getMinAnnualTemp() |
float |
getProj2050AvgDayTemp() |
float |
getProj2050AvgNightTemp() |
float |
getProj2050MaxAnnualTemp() |
float |
getProj2050MinAnnualTemp() |
float |
getProj2050Rainfall() |
float |
getRainfall() |
double |
getTileYieldPercent(EnumFood crop,
CropZoneData.EnumCropZone zone)
Get percent of country's yield for crop tile will yield, base on its zone rating and
current use
|
static float |
interpolate(float start,
float end,
float slices,
float n)
Find an interpolated value given extremes of the range across which to
interpolate, the number of steps to divide that range into and the step of
the range to find.
|
CropZoneData.EnumCropZone |
rateTileForCrop(EnumFood crop)
Rates tile's suitability for a particular crop.
|
CropZoneData.EnumCropZone |
rateTileForOtherCrops(CropZoneData otherCropsData)
Rate tile's suitability for a particular country's other crops.
|
void |
setAvgDayTemp(float avgDayTemp) |
void |
setAvgNightTemp(float avgNightTemp) |
void |
setClimate(int year)
Mutates tile's values when year changes
|
void |
setElev(float elev) |
void |
setMaxAnnualTemp(float maxAnnualTemp) |
void |
setMinAnnualTemp(float minAnnualTemp) |
void |
setProj2050AvgDayTemp(float proj2050AvgDayTemp) |
void |
setProj2050AvgNightTemp(float proj2050AvgNightTemp) |
void |
setProj2050MaxAnnualTemp(float proj2050MaxAnnualTemp) |
void |
setProj2050MinAnnualTemp(float proj2050MinAnnualTemp) |
void |
setProj2050Rainfall(float proj2050rainfall) |
void |
setRainfall(float rainfall) |
java.nio.ByteBuffer |
toByteBuffer() |
java.lang.String |
toDetailedString() |
java.lang.String |
toolTipText() |
java.lang.String |
toString() |
public LandTile(double lon,
double lat)
lon - longitude of this LandTilelat - latitude of this LandTilepublic LandTile(java.nio.ByteBuffer buf)
buf - custom binary filepublic static float interpolate(float start,
float end,
float slices,
float n)
start - beginning (min) of the rangeend - end (max) of the rangeslices - slices to divide range inton - slice desired from interpolationpublic void setElev(float elev)
elev - tile's y0Elevationpublic java.lang.String toolTipText()
public java.nio.ByteBuffer toByteBuffer()
public double getLon()
public double getLat()
public MapPoint getCenter()
public void setClimate(int year)
year - The simulation yearpublic float getElevation()
public float getMaxAnnualTemp()
public void setMaxAnnualTemp(float maxAnnualTemp)
public float getMinAnnualTemp()
public void setMinAnnualTemp(float minAnnualTemp)
public float getAvgDayTemp()
public void setAvgDayTemp(float avgDayTemp)
public float getAvgNightTemp()
public void setAvgNightTemp(float avgNightTemp)
public float getRainfall()
public void setRainfall(float rainfall)
public float getProj2050MaxAnnualTemp()
public void setProj2050MaxAnnualTemp(float proj2050MaxAnnualTemp)
public float getProj2050MinAnnualTemp()
public void setProj2050MinAnnualTemp(float proj2050MinAnnualTemp)
public float getProj2050AvgDayTemp()
public void setProj2050AvgDayTemp(float proj2050AvgDayTemp)
public float getProj2050AvgNightTemp()
public void setProj2050AvgNightTemp(float proj2050AvgNightTemp)
public float getProj2050Rainfall()
public void setProj2050Rainfall(float proj2050rainfall)
public CropZoneData.EnumCropZone rateTileForCrop(EnumFood crop) throws java.lang.NullPointerException
crop - crop for which we want rating (wheat, corn, rice, or soy)java.lang.NullPointerException - if called with argument EnumFood.OTHER_CROPS, will throw an
exception because OTHER_CROPS required climate varies by country;
rating cannot be calculated using crop alone.public CropZoneData.EnumCropZone rateTileForOtherCrops(CropZoneData otherCropsData)
otherCropsData - a country's otherCropsData objectpublic double getTileYieldPercent(EnumFood crop, CropZoneData.EnumCropZone zone)
crop - crop in questionzone - tile's zone for that croppublic EnumFood getCurrentCrop()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toDetailedString()