package mil.nga.giat.geowave.core.geotime.store.dimension; import mil.nga.giat.geowave.core.geotime.GeometryUtils; import mil.nga.giat.geowave.core.geotime.index.dimension.LatitudeDefinition; import mil.nga.giat.geowave.core.index.ByteArrayId; import mil.nga.giat.geowave.core.index.dimension.NumericDimensionDefinition; import mil.nga.giat.geowave.core.index.sfc.data.NumericData; /** * This field can be used as a EPSG:4326 latitude dimension within GeoWave. It * can utilize JTS geometry as the underlying spatial object for this dimension. * */ public class LatitudeField extends SpatialField { public LatitudeField() { this( GeometryAdapter.DEFAULT_GEOMETRY_FIELD_ID); } public LatitudeField( final boolean useHalfRange ) { this( useHalfRange, GeometryAdapter.DEFAULT_GEOMETRY_FIELD_ID); } public LatitudeField( final ByteArrayId fieldId ) { this( false, fieldId); } public LatitudeField( final boolean useHalfRange, final ByteArrayId fieldId ) { this( new LatitudeDefinition( useHalfRange), fieldId); } public LatitudeField( final NumericDimensionDefinition baseDefinition, final ByteArrayId fieldId ) { super( baseDefinition, fieldId); } @Override public NumericData getNumericData( final GeometryWrapper geometry ) { return GeometryUtils.latitudeRangeFromGeometry(geometry.getGeometry()); } }