public class CoordSystemBuilder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
CoordSystemBuilder.Factory |
protected class |
CoordSystemBuilder.VarProcess
Classifications of Variables into axis, systems and transforms
|
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
conventionName |
protected CoordinatesHelper.Builder |
coords |
protected com.google.common.collect.Multimap<java.lang.String,CoordSystemBuilder.VarProcess> |
coordVarsForDimension |
protected NetcdfDataset.Builder<?> |
datasetBuilder |
protected boolean |
debug |
protected static org.slf4j.Logger |
log |
protected java.util.Formatter |
parseInfo |
protected Group.Builder |
rootGroup |
protected java.util.Formatter |
userAdvice |
protected java.util.List<CoordSystemBuilder.VarProcess> |
varList |
Modifier | Constructor and Description |
---|---|
protected |
CoordSystemBuilder(NetcdfDataset.Builder<?> datasetBuilder) |
Modifier and Type | Method and Description |
---|---|
protected void |
addUserAdvice(java.lang.String advice) |
protected void |
assignCoordinateSystemsExplicit()
Assign explicit CoordinateSystem objects to variables.
|
protected void |
assignCoordinateTransforms()
Assign CoordinateTransform objects to Variables and Coordinate Systems.
|
protected void |
augmentDataset(CancelTask cancelTask) |
protected void |
buildCoordinateSystems() |
static int |
countDomainSize(Variable.Builder<?>... axes) |
protected CoordSystemBuilder.VarProcess |
findCoordinateAxis(java.lang.String name) |
protected CoordSystemBuilder.VarProcess |
findVarProcess(java.lang.String name,
CoordSystemBuilder.VarProcess from) |
protected AxisType |
getAxisType(VariableDS.Builder vb)
Identify what kind of AxisType the named variable is.
|
java.lang.String |
getConventionUsed() |
java.lang.String |
getParseInfo() |
java.lang.String |
getUserAdvice() |
protected void |
identifyCoordinateAxes()
Everything named in the coordinateAxes or coordinates attribute are Coordinate axes.
|
protected void |
identifyCoordinateSystems()
Identify coordinate systems, using _Coordinate.Systems attribute.
|
protected void |
identifyCoordinateTransforms()
Identify coordinate transforms, using _CoordinateTransforms attribute.
|
protected boolean |
isCoordinateAxisForVariable(CoordinateAxis.Builder<?> axis,
CoordSystemBuilder.VarProcess vp)
Does this axis "fit" this variable.
|
static boolean |
isCoordinateVariable(Variable.Builder<?> vb)
Calculate if this is a classic coordinate variable: has same name as its first dimension.
|
protected void |
makeCoordinateAxes()
Take previously identified Coordinate Axis and Coordinate Variables and make them into a
CoordinateAxis.
|
protected void |
makeCoordinateSystems() |
protected void |
makeCoordinateSystemsImplicit()
Make implicit CoordinateSystem objects for variables that dont already have one, by using the
variables' list of coordinate axes, and any coordinateVariables for it.
|
protected CoordinateTransform.Builder |
makeCoordinateTransform(VariableDS.Builder<?> vb) |
protected void |
makeCoordinateTransforms()
Take all previously identified Coordinate Transforms and create a CoordinateTransform object by
calling CoordTransBuilder.makeCoordinateTransform().
|
protected VariableDS.Builder |
makeCoordinateTransformVariable(CoordinateTransform ct)
Create a "dummy" Coordinate Transform Variable based on the given CoordinateTransform.
|
protected void |
setConventionUsed(java.lang.String convName) |
protected static org.slf4j.Logger log
protected NetcdfDataset.Builder<?> datasetBuilder
protected Group.Builder rootGroup
protected CoordinatesHelper.Builder coords
protected java.util.List<CoordSystemBuilder.VarProcess> varList
protected com.google.common.collect.Multimap<java.lang.String,CoordSystemBuilder.VarProcess> coordVarsForDimension
protected java.lang.String conventionName
protected java.util.Formatter parseInfo
protected java.util.Formatter userAdvice
protected boolean debug
protected CoordSystemBuilder(NetcdfDataset.Builder<?> datasetBuilder)
public static boolean isCoordinateVariable(Variable.Builder<?> vb)
public static int countDomainSize(Variable.Builder<?>... axes)
protected boolean isCoordinateAxisForVariable(CoordinateAxis.Builder<?> axis, CoordSystemBuilder.VarProcess vp)
axis
- check if this axis is ok for the given variablevp
- the given variableprotected void setConventionUsed(java.lang.String convName)
public java.lang.String getConventionUsed()
protected void addUserAdvice(java.lang.String advice)
public java.lang.String getParseInfo()
public java.lang.String getUserAdvice()
protected void augmentDataset(CancelTask cancelTask) throws java.io.IOException
java.io.IOException
protected void buildCoordinateSystems()
protected void identifyCoordinateAxes()
protected void identifyCoordinateSystems()
protected void identifyCoordinateTransforms()
@Nullable protected AxisType getAxisType(VariableDS.Builder vb)
vb
- a variable already identified as a Coordinate Axisprotected void makeCoordinateAxes()
protected void makeCoordinateSystems()
protected void assignCoordinateSystemsExplicit()
protected void makeCoordinateSystemsImplicit()
protected void makeCoordinateTransforms()
protected CoordinateTransform.Builder makeCoordinateTransform(VariableDS.Builder<?> vb)
protected void assignCoordinateTransforms()
protected CoordSystemBuilder.VarProcess findVarProcess(java.lang.String name, CoordSystemBuilder.VarProcess from)
protected CoordSystemBuilder.VarProcess findCoordinateAxis(java.lang.String name)
protected VariableDS.Builder makeCoordinateTransformVariable(CoordinateTransform ct)
ct
- based on the CoordinateTransform