/// <summary>
 /// The space filling curve is configured up front to cover a specific region of 2D (or 3D) space,
 /// and the mapping tree is configured up front to have a specific maximum depth. These settings
 /// are stored in an instance of SpaceFillingCurveSettings and are determined by the Coordinate
 /// Reference System, and any neo4j.conf settings to override the CRS defaults.
 /// </summary>
 /// <returns> The default settings for the specified coordinate reference system </returns>
 public virtual SpaceFillingCurveSettings ForCRS(CoordinateReferenceSystem crs)
 {
     if (_settings.ContainsKey(crs))
     {
         return(_settings[crs]);
     }
     else
     {
         return(SpaceFillingCurveSettingsFactory.FromConfig(_maxBits, new EnvelopeSettings(crs)));
     }
 }
        public ConfiguredSpaceFillingCurveSettingsCache(Config config)
        {
            this._maxBits = config.Get(SpatialIndexSettings.SpaceFillingCurveMaxBits);
            Dictionary <CoordinateReferenceSystem, EnvelopeSettings> env = EnvelopeSettings.EnvelopeSettingsFromConfig(config);

            foreach (KeyValuePair <CoordinateReferenceSystem, EnvelopeSettings> entry in env.SetOfKeyValuePairs())
            {
                CoordinateReferenceSystem crs = entry.Key;
                _settings[crs] = SpaceFillingCurveSettingsFactory.FromConfig(this._maxBits, entry.Value);
            }
        }