int dims;
double[] min;
double[] max;
String[] axisNames;
if(geom.getCoordinateReferenceSystem() != null) {
CoordinateSystem cs = geom.getCoordinateReferenceSystem().getCoordinateSystem();
if(geom.getUserData().get(Hints.COORDINATE_DIMENSION) != null) {
dims = ((Number) geom.getUserData().get(Hints.COORDINATE_DIMENSION)).intValue();
} else {
dims = cs.getDimension();
}
min = new double[dims];
max = new double[dims];
axisNames = new String[dims];
double extent = Double.MAX_VALUE;
for (int i = 0; i < dims; i++) {
if(i < cs.getDimension()) {
CoordinateSystemAxis axis = cs.getAxis(i);
axisNames[i] = getCompatibleAxisName(axis, i);
min[i] = Double.isInfinite(axis.getMinimumValue()) ? DEFAULT_AXIS_MIN : axis.getMinimumValue();
max[i] = Double.isInfinite(axis.getMaximumValue()) ? DEFAULT_AXIS_MAX : axis.getMaximumValue();
if(max[i] - min[i] < extent)
extent = max[i] - min[i];