package mil.nga.giat.geowave.analytic.mapreduce.operations.options;
import com.beust.jcommander.Parameter;
import mil.nga.giat.geowave.analytic.param.OutputParameters;
import mil.nga.giat.geowave.analytic.param.PartitionParameters;
import mil.nga.giat.geowave.analytic.param.annotations.OutputParameter;
import mil.nga.giat.geowave.analytic.param.annotations.PartitionParameter;
public class NearestNeighborOptions
{
@OutputParameter(OutputParameters.Output.HDFS_OUTPUT_PATH)
@Parameter(names = {
"-oop",
"--outputHdfsOutputPath"
}, required = true, description = "Output HDFS File Path")
private String outputHdfsOutputPath;
@PartitionParameter(PartitionParameters.Partition.MAX_MEMBER_SELECTION)
@Parameter(names = {
"-pms",
"--partitionMaxMemberSelection"
}, description = "Maximum number of members selected from a partition")
private String partitionMaxMemberSelection;
@PartitionParameter(PartitionParameters.Partition.PARTITIONER_CLASS)
@Parameter(names = {
"-pc",
"--partitionPartitionerClass"
}, description = "Index Identifier for Centroids")
private String partitionPartitionerClass;
@PartitionParameter(PartitionParameters.Partition.MAX_DISTANCE)
@Parameter(names = {
"-pmd",
"--partitionMaxDistance"
}, required = true, description = "Maximum Partition Distance")
private String partitionMaxDistance;
@PartitionParameter(PartitionParameters.Partition.PARTITION_PRECISION)
@Parameter(names = {
"-pp",
"--partitionPartitionPrecision"
}, description = "Partition Precision")
private String partitionPartitionPrecision;
@PartitionParameter(PartitionParameters.Partition.DISTANCE_THRESHOLDS)
@Parameter(names = {
"-pdt",
"--partitionDistanceThresholds"
}, description = "Comma separated list of distance thresholds, per dimension")
private String partitioningDistanceThresholds;
@PartitionParameter(PartitionParameters.Partition.GEOMETRIC_DISTANCE_UNIT)
@Parameter(names = {
"-pdu",
"--partitionGeometricDistanceUnit"
}, description = "Geometric distance unit (m=meters,km=kilometers, see symbols for javax.units.BaseUnit)")
private String partitioningGeometricDistanceUnit;
@PartitionParameter(PartitionParameters.Partition.SECONDARY_PARTITIONER_CLASS)
@Parameter(names = {
"-psp",
"--partitionSecondaryPartitionerClass"
}, description = "Perform secondary partitioning with the provided class")
private String partitionSecondaryPartitionerClass;
public String getOutputHdfsOutputPath() {
return outputHdfsOutputPath;
}
public void setOutputHdfsOutputPath(
String outputHdfsOutputPath ) {
this.outputHdfsOutputPath = outputHdfsOutputPath;
}
public String getPartitionMaxMemberSelection() {
return partitionMaxMemberSelection;
}
public void setPartitionMaxMemberSelection(
String partitionMaxMemberSelection ) {
this.partitionMaxMemberSelection = partitionMaxMemberSelection;
}
public String getPartitionPartitionerClass() {
return partitionPartitionerClass;
}
public void setPartitionPartitionerClass(
String partitionPartitionerClass ) {
this.partitionPartitionerClass = partitionPartitionerClass;
}
public String getPartitionMaxDistance() {
return partitionMaxDistance;
}
public void setPartitionMaxDistance(
String partitionMaxDistance ) {
this.partitionMaxDistance = partitionMaxDistance;
}
public String getPartitionSecondaryPartitionerClass() {
return partitionSecondaryPartitionerClass;
}
public void setPartitionSecondaryPartitionerClass(
String partitionSecondaryPartitionerClass ) {
this.partitionSecondaryPartitionerClass = partitionSecondaryPartitionerClass;
}
public String getPartitionPartitionPrecision() {
return partitionPartitionPrecision;
}
public void setPartitionPartitionPrecision(
String partitionPartitionPrecision ) {
this.partitionPartitionPrecision = partitionPartitionPrecision;
}
public String getPartitioningDistanceThresholds() {
return partitioningDistanceThresholds;
}
public void setPartitioningDistanceThresholds(
String partitioningDistanceThresholds ) {
this.partitioningDistanceThresholds = partitioningDistanceThresholds;
}
public String getPartitioningGeometricDistanceUnit() {
return partitioningGeometricDistanceUnit;
}
public void setPartitioningGeometricDistanceUnit(
String partitioningGeometricDistanceUnit ) {
this.partitioningGeometricDistanceUnit = partitioningGeometricDistanceUnit;
}
}