Beispiel #1
0
        protected override void GenerateFiles(
            IPolishMapFileCreator polishMapFileCreator,
            ITaskRunner taskRunner)
        {
            string mapFileInfo = null;

            GenerateIndividualFile(polishMapFileCreator, taskRunner, mapFileInfo);
        }
Beispiel #2
0
        public void GeneratePolishMapFiles(
            ITaskRunner taskRunner,
            IPolishMapFileCreator polishMapFileCreator)
        {
            if (log.IsDebugEnabled)
            {
                log.Debug("GeneratePolishMapFiles");
            }

            FetchData();
            GenerateFiles(polishMapFileCreator, taskRunner);
            ReleaseData();
        }
        protected override void GenerateFiles(
            IPolishMapFileCreator polishMapFileCreator,
            ITaskRunner taskRunner)
        {
            //for (
            //    ibfAreaDefinitionIndex = 0;
            //    ibfAreaDefinitionIndex < ibfFile.AreaDirectory.Entries.Count;
            //    ibfAreaDefinitionIndex++)
            //{
            //    IbfAreaDirectoryEntry areaDirectoryEntry = ibfFile.AreaDirectory.Entries[ibfAreaDefinitionIndex];

            //    string mapFileInfo = string.Format(
            //        CultureInfo.InvariantCulture,
            //        "Contours file (bounds = {0})",
            //        areaDirectoryEntry.AreaBounds);

            //    this.GenerateIndividualFile(polishMapFileCreator, taskRunner, mapFileInfo);
            //}
        }
Beispiel #4
0
        protected void GenerateIndividualFile(
            IPolishMapFileCreator polishMapFileCreator,
            ITaskRunner taskRunner,
            string mapFileInfo)
        {
            using (CGpsMapperMapWriter mapWriter = new CGpsMapperMapWriter(
                       polishMapFileCreator.CreatePolishMapFile(),
                       mapFileInfo))
            {
                consoleLogger.WriteLine(log, Level.Info, "Generating polish map file...");

                WriteBasicMapParameters(polishMapFileCreator, mapWriter);

                // write down used levels
                mapWriter.Add("Levels", analysis.LogicalToHardwareLevelDictionary.Count);

                int logicalLevel = 0;
                for (int i = analysis.HardwareLevelsUsed.Count - 1; i >= 0; i--)
                {
                    mapWriter.AddFormat("Level{0}={1}", logicalLevel++, analysis.HardwareLevelsUsed.Keys[i]);
                }

                for (int i = 0; i < analysis.HardwareLevelsUsed.Count; i++)
                {
                    mapWriter.AddFormat("Zoom{0}={1}", i, i);
                }

                isEmptyMap = true;
                GeneratePolishMapFileInternal(mapWriter);

                mapWriter.FinishMap();
            }

            if (false == isEmptyMap)
            {
                taskRunner.RegisterProductFile(
                    new ProductFile(
                        GenerateMapPolishFilesTask.PolishMapFileType,
                        polishMapFileCreator.CurrentPolishMapFileName,
                        true));
            }
        }
Beispiel #5
0
        private void WriteBasicMapParameters(IPolishMapFileCreator polishMapFileCreator, CGpsMapperMapWriter mapWriter)
        {
            mapWriter
            .AddSection("IMG ID")
            .Add("ID", polishMapFileCreator.CurrentMapId)
            .Add("Name", polishMapFileCreator.CurrentMapName)
            .Add("Elevation", settings.ElevationUnits.ToString())
            .Add("Transparent", DetermineMapTransparencyMode());

            float simplifyLevel = DefaultSimplifyLevel;

            if (Settings.SimplifyLevel.HasValue)
            {
                simplifyLevel = Settings.SimplifyLevel.Value;
            }

            mapWriter
            .Add("SimplifyLevel", simplifyLevel);

            int treSize = DefaultTreeSize;

            if (Settings.TreSize.HasValue)
            {
                treSize = Settings.TreSize.Value;
            }

            mapWriter
            .Add("TreSize", treSize);

            // write all additional parameters to the map
            foreach (
                KeyValuePair <string, string> mapParameter in
                settings.AdditionalMapParameters)
            {
                mapWriter.Add(mapParameter.Key, mapParameter.Value);
            }
        }
Beispiel #6
0
 protected abstract void GenerateFiles(
     IPolishMapFileCreator polishMapFileCreator,
     ITaskRunner taskRunner);