public void Export(string projectPath, string outPath, Logger logger)
        {
            CartoProject cartoProject = CartoProject.FromFile(File.ReadAllText(projectPath), Path.GetExtension(projectPath));
            Map          map          = CartoProcessor.GetMap(cartoProject, Path.GetDirectoryName(projectPath), new NullProgressIndicator(), logger, 1);

            string dir = Path.GetDirectoryName(outPath);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            if (Path.GetExtension(outPath) != ".msnm")
            {
                outPath = Path.ChangeExtension(outPath, ".msnm");
            }

            map.Save(outPath);
        }
    /// <summary>
    /// Creates map object from <see cref="CartoProject"/>
    /// </summary>
    /// <param name="project"></param>
    /// <param name="definitions"></param>
    /// <param name="env"></param>
    /// <param name="cartoTranslator"></param>
    /// <returns></returns>
    private static Map CreateMap(CartoProject project, List<CartoDefinition> definitions, Env env, ICartoTranslator cartoTranslator)
    {
      Map map = new Map(project.Name);
      map.Size = new SizeF(700, 500);
      map.MinimumScale = ConvertUtility.ToScaleDenominator(project.MinZoom);
      map.MaximumScale = ConvertUtility.ToScaleDenominator(project.MaxZoom);

      // if (project.Bounds != null)
      //   map.WGS84Bounds = project.Bounds[0] + "," + project.Bounds[1] + "," + project.Bounds[2] + "," + project.Bounds[3];
      map.CRS = cartoTranslator.ToCoordinateSystem(string.IsNullOrEmpty(project.Srs) ? project.SrsName : project.Srs, !string.IsNullOrEmpty(project.SrsName));

      SetMapProperties(map, GetProperties(definitions, env, "Map"), cartoTranslator);
      SetFontSets(map, definitions, env, cartoTranslator);

      if (project.Center != null)
      {
        if (map.CoordinateSystem == null)
        {
          CoordinateSystemFactory csFactory = new CoordinateSystemFactory();
          map.CoordinateSystem = (CoordinateSystem)csFactory.CreateSphericalMercatorCoordinateSystem();
        }

        double cx = Convert.ToDouble(project.Center[0]);
        double cy = Convert.ToDouble(project.Center[1]);
        double cz = Convert.ToDouble(project.Center[2]);

        double scale = MapSurfer.Utilities.MapUtility.GetTileMapResolution(cz);
        GeoAPI.CoordinateSystems.Transformations.ICoordinateTransformation trans = CoordinateTransformationFactory.CreateCoordinateTransformation(GeographicCoordinateSystem.WGS84, map.CoordinateSystem);
        trans.MathTransform.Transform(ref cx, ref cy, ref cz);
        map.SetCenterAndZoom(cx, cy, scale);
      }

      return map;
    }