private void RememberSettings(ConfiguredSpaceFillingCurveSettingsCache globalSettings, IDictionary <CoordinateReferenceSystem, SpaceFillingCurveSettings> expectedSpecificSettings, params CoordinateReferenceSystem[] crss) { foreach (CoordinateReferenceSystem crs in crss) { expectedSpecificSettings[crs] = globalSettings.ForCRS(crs); } }
private void ShouldGetSettingsFor(Config config, CoordinateReferenceSystem crs, int dimensions, int maxBits, Envelope envelope) { ConfiguredSpaceFillingCurveSettingsCache configuredSettings = new ConfiguredSpaceFillingCurveSettingsCache(config); SpaceFillingCurveSettings settings = configuredSettings.ForCRS(crs); assertThat("Expected " + dimensions + "D for " + crs.Name, settings.Dimensions, equalTo(dimensions)); int maxLevels = maxBits / dimensions; assertThat("Expected maxLevels=" + maxLevels + " for " + crs.Name, settings.MaxLevels, equalTo(maxLevels)); assertThat("Should have normal geographic 2D extents", settings.IndexExtents(), equalTo(envelope)); }
public static Pair <PointValue, PointValue> PointsWithSameValueOnSpaceFillingCurve(Config config) { ConfiguredSpaceFillingCurveSettingsCache configuredCache = new ConfiguredSpaceFillingCurveSettingsCache(config); SpaceFillingCurveSettings spaceFillingCurveSettings = configuredCache.ForCRS(CoordinateReferenceSystem.WGS84); SpaceFillingCurve curve = spaceFillingCurveSettings.Curve(); double[] origin = new double[] { 0.0, 0.0 }; long? spaceFillingCurveMapForOrigin = curve.DerivedValueFor(origin); double[] centerPointForOriginTile = curve.CenterPointFor(spaceFillingCurveMapForOrigin.Value); PointValue originValue = Values.pointValue(CoordinateReferenceSystem.WGS84, origin); PointValue centerPointValue = Values.pointValue(CoordinateReferenceSystem.WGS84, centerPointForOriginTile); assertThat("need non equal points for this test", origin, not(equalTo(centerPointValue))); return(Pair.of(originValue, centerPointValue)); }