package mil.nga.giat.geowave.analytic.mapreduce.operations.options;
import com.beust.jcommander.Parameter;
import mil.nga.giat.geowave.analytic.param.CentroidParameters;
import mil.nga.giat.geowave.analytic.param.ClusteringParameters;
import mil.nga.giat.geowave.analytic.param.CommonParameters;
import mil.nga.giat.geowave.analytic.param.ExtractParameters;
import mil.nga.giat.geowave.analytic.param.GlobalParameters;
import mil.nga.giat.geowave.analytic.param.HullParameters;
import mil.nga.giat.geowave.analytic.param.SampleParameters;
import mil.nga.giat.geowave.analytic.param.annotations.CentroidParameter;
import mil.nga.giat.geowave.analytic.param.annotations.ClusteringParameter;
import mil.nga.giat.geowave.analytic.param.annotations.CommonParameter;
import mil.nga.giat.geowave.analytic.param.annotations.ExtractParameter;
import mil.nga.giat.geowave.analytic.param.annotations.GlobalParameter;
import mil.nga.giat.geowave.analytic.param.annotations.HullParameter;
import mil.nga.giat.geowave.analytic.param.annotations.SampleParameter;
public class KMeansCommonOptions
{
@CentroidParameter(CentroidParameters.Centroid.EXTRACTOR_CLASS)
@Parameter(names = {
"-cce",
"--centroidExtractorClass"
}, description = "Centroid Exractor Class implements mil.nga.giat.geowave.analytics.extract.CentroidExtractor")
private String centroidExtractorClass;
@CentroidParameter(CentroidParameters.Centroid.INDEX_ID)
@Parameter(names = {
"-cid",
"--centroidIndexId"
}, description = "Index Identifier for Centroids")
private String centroidIndexId;
@CentroidParameter(CentroidParameters.Centroid.WRAPPER_FACTORY_CLASS)
@Parameter(names = {
"-cfc",
"--centroidWrapperFactoryClass"
}, description = "A factory class that implements mil.nga.giat.geowave.analytics.tools.AnalyticItemWrapperFactory")
private String centroidWrapperFactoryClass;
@CentroidParameter(CentroidParameters.Centroid.ZOOM_LEVEL)
@Parameter(names = {
"-czl",
"--centroidZoomLevel"
}, description = "Zoom Level Number")
private String centroidZoomLevel;
@ClusteringParameter(ClusteringParameters.Clustering.CONVERGANCE_TOLERANCE)
@Parameter(names = {
"-cct",
"--clusteringConverganceTolerance"
}, description = "Convergence Tolerance")
private String clusteringConverganceTolerance;
@ClusteringParameter(ClusteringParameters.Clustering.MAX_ITERATIONS)
@Parameter(names = {
"-cmi",
"--clusteringMaxIterations"
}, required = true, description = "Maximum number of iterations when finding optimal clusters")
private String clusteringMaxIterations;
@ClusteringParameter(ClusteringParameters.Clustering.MAX_REDUCER_COUNT)
@Parameter(names = {
"-crc",
"--clusteringMaxReducerCount"
}, description = "Maximum Clustering Reducer Count")
private String clusteringMaxReducerCount;
@ClusteringParameter(ClusteringParameters.Clustering.ZOOM_LEVELS)
@Parameter(names = {
"-zl",
"--clusteringZoomLevels"
}, required = true, description = "Number of Zoom Levels to Process")
private String clusteringZoomLevels;
@CommonParameter(CommonParameters.Common.DIMENSION_EXTRACT_CLASS)
@Parameter(names = {
"-dde",
"--commonDimensionExtractClass"
}, description = "Dimension Extractor Class implements mil.nga.giat.geowave.analytics.extract.DimensionExtractor")
private String commonDimensionExtractClass;
@ExtractParameter(ExtractParameters.Extract.DATA_NAMESPACE_URI)
@Parameter(names = {
"-ens",
"--extractDataNamespaceUri"
}, description = "Output Data Namespace URI")
private String extractDataNamespaceUri;
@ExtractParameter(ExtractParameters.Extract.DIMENSION_EXTRACT_CLASS)
@Parameter(names = {
"-ede",
"--extractDimensionExtractClass"
}, description = "Class to extract dimensions into a simple feature output")
private String extractDimensionExtractClass;
@ExtractParameter(ExtractParameters.Extract.OUTPUT_DATA_TYPE_ID)
@Parameter(names = {
"-eot",
"--extractOutputDataTypeId"
}, description = "Output Data Type ID")
private String extractOutputDataTypeId;
@ExtractParameter(ExtractParameters.Extract.REDUCER_COUNT)
@Parameter(names = {
"-erc",
"--extractReducerCount"
}, description = "Number of Reducers For initial data extraction and de-duplication")
private String extractReducerCount;
@GlobalParameter(GlobalParameters.Global.BATCH_ID)
@Parameter(names = {
"-b",
"--globalBatchId"
}, description = "Batch ID")
private String globalBatchId;
@GlobalParameter(GlobalParameters.Global.PARENT_BATCH_ID)
@Parameter(names = {
"-pb",
"--globalParentBatchId"
}, description = "Batch ID")
private String globalParentBatchId;
@HullParameter(HullParameters.Hull.DATA_NAMESPACE_URI)
@Parameter(names = {
"-hns",
"--hullDataNamespaceUri"
}, description = "Data Type Namespace for a centroid item")
private String hullDataNamespaceUri;
@HullParameter(HullParameters.Hull.DATA_TYPE_ID)
@Parameter(names = {
"-hdt",
"--hullDataTypeId"
}, description = "Data Type ID for a centroid item")
private String hullDataTypeId;
@HullParameter(HullParameters.Hull.INDEX_ID)
@Parameter(names = {
"-hid",
"--hullIndexId"
}, description = "Index Identifier for Centroids")
private String hullIndexId;
@HullParameter(HullParameters.Hull.PROJECTION_CLASS)
@Parameter(names = {
"-hpe",
"--hullProjectionClass"
}, description = "Class to project on to 2D space. Implements mil.nga.giat.geowave.analytics.tools.Projection")
private String hullProjectionClass;
@HullParameter(HullParameters.Hull.REDUCER_COUNT)
@Parameter(names = {
"-hrc",
"--hullReducerCount"
}, description = "Centroid Reducer Count")
private String hullReducerCount;
@HullParameter(HullParameters.Hull.WRAPPER_FACTORY_CLASS)
@Parameter(names = {
"-hfc",
"--hullWrapperFactoryClass"
}, description = "Class to create analytic item to capture hulls. Implements mil.nga.giat.geowave.analytics.tools.AnalyticItemWrapperFactory")
private String hullWrapperFactoryClass;
public String getCentroidExtractorClass() {
return centroidExtractorClass;
}
public void setCentroidExtractorClass(
String centroidExtractorClass ) {
this.centroidExtractorClass = centroidExtractorClass;
}
public String getCentroidIndexId() {
return centroidIndexId;
}
public void setCentroidIndexId(
String centroidIndexId ) {
this.centroidIndexId = centroidIndexId;
}
public String getCentroidWrapperFactoryClass() {
return centroidWrapperFactoryClass;
}
public void setCentroidWrapperFactoryClass(
String centroidWrapperFactoryClass ) {
this.centroidWrapperFactoryClass = centroidWrapperFactoryClass;
}
public String getCentroidZoomLevel() {
return centroidZoomLevel;
}
public void setCentroidZoomLevel(
String centroidZoomLevel ) {
this.centroidZoomLevel = centroidZoomLevel;
}
public String getClusteringConverganceTolerance() {
return clusteringConverganceTolerance;
}
public void setClusteringConverganceTolerance(
String clusteringConverganceTolerance ) {
this.clusteringConverganceTolerance = clusteringConverganceTolerance;
}
public String getClusteringMaxIterations() {
return clusteringMaxIterations;
}
public void setClusteringMaxIterations(
String clusteringMaxIterations ) {
this.clusteringMaxIterations = clusteringMaxIterations;
}
public String getClusteringMaxReducerCount() {
return clusteringMaxReducerCount;
}
public void setClusteringMaxReducerCount(
String clusteringMaxReducerCount ) {
this.clusteringMaxReducerCount = clusteringMaxReducerCount;
}
public String getClusteringZoomLevels() {
return clusteringZoomLevels;
}
public void setClusteringZoomLevels(
String clusteringZoomLevels ) {
this.clusteringZoomLevels = clusteringZoomLevels;
}
public String getCommonDimensionExtractClass() {
return commonDimensionExtractClass;
}
public void setCommonDimensionExtractClass(
String commonDimensionExtractClass ) {
this.commonDimensionExtractClass = commonDimensionExtractClass;
}
public String getExtractDataNamespaceUri() {
return extractDataNamespaceUri;
}
public void setExtractDataNamespaceUri(
String extractDataNamespaceUri ) {
this.extractDataNamespaceUri = extractDataNamespaceUri;
}
public String getExtractDimensionExtractClass() {
return extractDimensionExtractClass;
}
public void setExtractDimensionExtractClass(
String extractDimensionExtractClass ) {
this.extractDimensionExtractClass = extractDimensionExtractClass;
}
public String getExtractOutputDataTypeId() {
return extractOutputDataTypeId;
}
public void setExtractOutputDataTypeId(
String extractOutputDataTypeId ) {
this.extractOutputDataTypeId = extractOutputDataTypeId;
}
public String getExtractReducerCount() {
return extractReducerCount;
}
public void setExtractReducerCount(
String extractReducerCount ) {
this.extractReducerCount = extractReducerCount;
}
public String getGlobalBatchId() {
return globalBatchId;
}
public void setGlobalBatchId(
String globalBatchId ) {
this.globalBatchId = globalBatchId;
}
public String getGlobalParentBatchId() {
return globalParentBatchId;
}
public void setGlobalParentBatchId(
String globalParentBatchId ) {
this.globalParentBatchId = globalParentBatchId;
}
public String getHullDataNamespaceUri() {
return hullDataNamespaceUri;
}
public void setHullDataNamespaceUri(
String hullDataNamespaceUri ) {
this.hullDataNamespaceUri = hullDataNamespaceUri;
}
public String getHullDataTypeId() {
return hullDataTypeId;
}
public void setHullDataTypeId(
String hullDataTypeId ) {
this.hullDataTypeId = hullDataTypeId;
}
public String getHullIndexId() {
return hullIndexId;
}
public void setHullIndexId(
String hullIndexId ) {
this.hullIndexId = hullIndexId;
}
public String getHullProjectionClass() {
return hullProjectionClass;
}
public void setHullProjectionClass(
String hullProjectionClass ) {
this.hullProjectionClass = hullProjectionClass;
}
public String getHullReducerCount() {
return hullReducerCount;
}
public void setHullReducerCount(
String hullReducerCount ) {
this.hullReducerCount = hullReducerCount;
}
public String getHullWrapperFactoryClass() {
return hullWrapperFactoryClass;
}
public void setHullWrapperFactoryClass(
String hullWrapperFactoryClass ) {
this.hullWrapperFactoryClass = hullWrapperFactoryClass;
}
}