XZOrderSFC implements SpaceFillingCurve { @Override public RangeDecomposition decomposeRangeFully(final MultiDimensionalNumericData query) { return decomposeRange(query, true, -1); } XZOrderSFC();  XZOrderSFC(final SFCDimensionDefinition[] dimensionDefs); @Override byte[] getId(double[] values); @Override RangeDecomposition decomposeRangeFully(final MultiDimensionalNumericData query); @Override RangeDecomposition decomposeRange(
      final MultiDimensionalNumericData query,
      final boolean overInclusiveOnEdge,
      final int maxRanges); @Override byte[] toBinary(); @Override void fromBinary(final byte[] bytes); @Override double[] getInsertionIdRangePerDimension(); @Override BigInteger getEstimatedIdCount(final MultiDimensionalNumericData data); @Override MultiDimensionalNumericData getRanges(final byte[] id); @Override long[] getCoordinates(final byte[] id); @Override long[] normalizeRange(final double minValue, final double maxValue, final int dimension);  }
@Test public void testRangeDecomposition() { final NumericRange longBounds = new NumericRange(19.0, 21.0); final NumericRange latBounds = new NumericRange(33.0, 34.0); final NumericData[] dataPerDimension = {longBounds, latBounds}; final MultiDimensionalNumericData query = new BasicNumericDataset(dataPerDimension); Assert.assertNotNull(createSFC().decomposeRangeFully(query)); }