public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer) { IConfig result = new ConfigOsm(OsmMapType.Default); if (enumBruTileLayer == EnumBruTileLayer.OSM) { result = new ConfigOsm(OsmMapType.Default); } else if (enumBruTileLayer == EnumBruTileLayer.BingRoad) { result = new ConfigBing(BingMapType.Roads); } else if (enumBruTileLayer == EnumBruTileLayer.BingHybrid) { result = new ConfigBing(BingMapType.Hybrid); } else if (enumBruTileLayer == EnumBruTileLayer.BingAerial) { result = new ConfigBing(BingMapType.Aerial); } else { result = new ChinaConfig(enumBruTileLayer); } return result; }
private void button1_Click(object sender, EventArgs e) { extent.Add(double.Parse(textBox3.Text)); extent.Add(double.Parse(textBox4.Text)); extent.Add(double.Parse(textBox5.Text)); extent.Add(double.Parse(textBox2.Text)); var tile = comboBox1.SelectedItem; if (tile == null) { MessageBox.Show("请选择至少一种地图"); return; } EnumBruTileLayer enumBruTileLayer = (EnumBruTileLayer)Enum.Parse(typeof(EnumBruTileLayer), tile.ToString()); IConfig config = ConfigHelper.GetConfig(enumBruTileLayer); string cacheDir = CacheSettings.GetCacheFolder(); tileSource = config.CreateTileSource(); schema = tileSource.Schema; tileProvider = (WebTileProvider)tileSource.Provider; fileCache = CacheDirectory.GetFileCache(cacheDir, config, enumBruTileLayer); _tiles = GetTile(); if (_tiles.ToList().Count > 0) { DownloadTiles(); } }
// for wmts private static string GetCacheDirectory(ITileSource tileSource, EnumBruTileLayer layerType, string baseCacheDir) { var name = (tileSource is BruTile.Web.HttpTileSource ? tileSource.Name : ((WmtsTileSchema)tileSource.Schema).Layer); string cacheDirectory = string.Format("{0}{1}{2}{3}{4}", baseCacheDir, Path.DirectorySeparatorChar, layerType, Path.DirectorySeparatorChar, name); return(cacheDirectory); }
// used by WMTS public BruTileLayer(IApplication application, ITileSource tileSource) { LayerWeight = 110; Cached = true; _enumBruTileLayer = EnumBruTileLayer.WMTS; _application = application; var mxdoc = (IMxDocument)_application.Document; _map = mxdoc.FocusMap; _cacheDir = CacheSettings.GetCacheFolder(); _tileTimeOut = ConfigurationHelper.GetTileTimeOut(); var spatialReferences = new SpatialReferences(); _tileSource = tileSource; _schema = _tileSource.Schema; _dataSpatialReference = spatialReferences.GetSpatialReference(_schema.Srs); _envelope = GetDefaultEnvelope(); if (_map.SpatialReference == null) { // zet dan de spatial ref... _map.SpatialReference = _dataSpatialReference; } // If there is only one layer in the TOC zoom to this layer... if (_map.LayerCount == 0) { _envelope.Project(_map.SpatialReference); ((IActiveView)_map).Extent = _envelope; } _displayFilter = new TransparencyDisplayFilterClass(); }
public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer) { IConfig result = new ConfigOsm(OsmMapType.Default); if (enumBruTileLayer == EnumBruTileLayer.OSM) { result = new ConfigOsm(OsmMapType.Default); } else if (enumBruTileLayer == EnumBruTileLayer.BingRoad) { result = new ConfigBing(BingMapType.Roads); } else if (enumBruTileLayer == EnumBruTileLayer.BingHybrid) { result = new ConfigBing(BingMapType.Hybrid); } else if (enumBruTileLayer == EnumBruTileLayer.BingAerial) { result = new ConfigBing(BingMapType.Aerial); } else { result = new ChinaConfig(enumBruTileLayer); } return(result); }
//public static IConfig GetTmsConfig(string url, bool overwriteUrls) //{ // return new ConfigTms(url, overwriteUrls); //} //public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer, string url, bool overwriteUrls) //{ // IConfig result; // if (enumBruTileLayer == EnumBruTileLayer.TMS) // { // result = new ConfigTms(url, overwriteUrls); // } // else if (enumBruTileLayer == EnumBruTileLayer.InvertedTMS) // { // result = new ConfigInvertedTMS(url); // } // else // { // result = new ConfigOsm(OsmMapType.Default); // } // return result; //} public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer) { //IConfig result = new ConfigOsm(OsmMapType.Default); IConfig result = new ChinaConfig(enumBruTileLayer); //if (enumBruTileLayer == EnumBruTileLayer.OSM) //{ // result = new ConfigOsm(OsmMapType.Default); //} //else if (enumBruTileLayer == EnumBruTileLayer.BingRoad) //{ // result = new ConfigBing(BingMapType.Roads); //} //else if (enumBruTileLayer == EnumBruTileLayer.BingHybrid) //{ // result = new ConfigBing(BingMapType.Hybrid); //} //else if (enumBruTileLayer == EnumBruTileLayer.BingAerial) //{ // result = new ConfigBing(BingMapType.Aerial); //} //else //{ //result = new ChinaConfig(enumBruTileLayer); //} return(result); }
private static string GetCacheDirectory(IConfig config, EnumBruTileLayer layerType, string baseCacheDir) { string cacheDirectory = String.Format("{0}{1}{2}", baseCacheDir, Path.DirectorySeparatorChar, layerType); if (layerType == EnumBruTileLayer.TMS || layerType == EnumBruTileLayer.InvertedTMS) { string url = null; if (layerType == EnumBruTileLayer.TMS) { url = ((ConfigTms)config).Url; } else if (layerType == EnumBruTileLayer.InvertedTMS) { if (config is ConfigInvertedTMS) { url = ((ConfigInvertedTMS)config).Url; } else if (config is NaverConfig) { url = ((NaverConfig)config).Url; } else if (config is DaumConfig) { url = ((DaumConfig)config).Url; var idx = url.LastIndexOf('.'); url = url.Substring(0, idx); } else if (config is BaiduConfig) { url = ((BaiduConfig)config).Url; url = url.Replace("?", ""); } else if (config is TileLayerConfig) { url = ((TileLayerConfig)config).Url; url = url.Replace("?", ""); } } string service = url.Substring(7, url.Length - 7); service = service.Replace(@"/", "-"); service = service.Replace(":", "-"); if (service.EndsWith("-")) { service = service.Substring(0, service.Length - 1); } cacheDirectory = string.Format("{0}{1}{2}{3}{4}", baseCacheDir, Path.DirectorySeparatorChar, layerType, Path.DirectorySeparatorChar, service); } else if (layerType == EnumBruTileLayer.Giscloud) { var layerId = ((ConfigGisCloud)config).LayerId; cacheDirectory = string.Format("{0}{1}{2}{3}{4}", baseCacheDir, Path.DirectorySeparatorChar, "giscloud", Path.DirectorySeparatorChar, layerId); } return(cacheDirectory); }
public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer) { IConfig result = new ConfigOsm(OsmMapType.Default); if (enumBruTileLayer == EnumBruTileLayer.OSM) { result = new ConfigOsm(OsmMapType.Default); } return(result); }
public AddBruTileLayerCommandBase(string category, string caption, string message, string name, Bitmap bitmap, EnumBruTileLayer enumBruTileLayer) { m_category = category; m_caption = caption; m_message = message; m_toolTip = message; m_name = name; m_bitmap = bitmap; _enumBruTileLayer = enumBruTileLayer; }
// used by WmsC public BruTileLayer(IApplication application, IConfig config, EnumBruTileLayer enumBrutileLayer) { ShowTips = false; Name = "BruTile"; Cached = false; _application = application; _config = config; _enumBruTileLayer = enumBrutileLayer; InitializeLayer(); }
public AddBruTileLayerCommandBase(string category, string caption, string message, string name, Bitmap bitmap, EnumBruTileLayer enumBruTileLayer) { m_category = category; m_caption = caption; m_message = message; m_toolTip = message; m_name = name; m_bitmap = bitmap; _enumBruTileLayer = enumBruTileLayer; }
// used by bing initializer public BruTileLayer(IApplication application, EnumBruTileLayer enumBruTileLayer) { ShowTips = false; Name = "BruTile"; Cached = false; _config = ConfigHelper.GetConfig(enumBruTileLayer); _application = application; _enumBruTileLayer = enumBruTileLayer; InitializeLayer(); }
public AddTmsLayerCommandBase(string category, string caption, string message, string name, Bitmap bitmap, string url, EnumBruTileLayer enumBruTileLayer, string auth = null) { _auth = auth; m_category = category; m_caption = caption; m_message = message; m_toolTip = message; m_name = name; m_bitmap = bitmap; _url = url; _enumBruTileLayer = enumBruTileLayer; }
// used in the add services dialog public BruTileLayer(IApplication app, EnumBruTileLayer enumBruTileLayer, string tmsUrl, bool overwriteUrls) { ShowTips = false; Name = "BruTile"; Cached = false; _config = ConfigHelper.GetConfig(enumBruTileLayer, tmsUrl, overwriteUrls); _application = app; _enumBruTileLayer = enumBruTileLayer; InitializeLayer(); }
// used in the add services dialog public BruTileLayer(IApplication app, EnumBruTileLayer enumBruTileLayer, string tmsUrl, bool overwriteUrls) { ShowTips = false; Name = "BruTile"; Cached = false; _config = ConfigHelper.GetConfig(enumBruTileLayer, tmsUrl, overwriteUrls); _application = app; _enumBruTileLayer = enumBruTileLayer; InitializeLayer(); }
// used by bing initializer public BruTileLayer(IApplication application,EnumBruTileLayer enumBruTileLayer) { //var config = ConfigurationHelper.GetConfig(); //var bingToken=config.AppSettings.Settings["BingToken"].Value; // var bingUrl = config.AppSettings.Settings["BingUrl"].Value; ShowTips = false; Name = "BruTile"; Cached = false; _config = ConfigHelper.GetConfig(enumBruTileLayer); _application = application; _enumBruTileLayer = enumBruTileLayer; InitializeLayer(); }
// used by bing initializer public BruTileLayer(IApplication application, EnumBruTileLayer enumBruTileLayer) { //var config = ConfigurationHelper.GetConfig(); //var bingToken=config.AppSettings.Settings["BingToken"].Value; // var bingUrl = config.AppSettings.Settings["BingUrl"].Value; ShowTips = false; Name = "BruTile"; Cached = false; _config = ConfigHelper.GetConfig(enumBruTileLayer); _application = application; _enumBruTileLayer = enumBruTileLayer; InitializeLayer(); }
public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer, string url, bool overwriteUrls) { IConfig result; if (enumBruTileLayer == EnumBruTileLayer.TMS) { result = new ConfigTms(url, overwriteUrls); } else if (enumBruTileLayer == EnumBruTileLayer.InvertedTMS) { result = new ConfigInvertedTMS(url); } else { result = new ConfigOsm(OsmMapType.Default); } return result; }
public static IConfig GetConfig(EnumBruTileLayer enumBruTileLayer, string url, bool overwriteUrls) { IConfig result; if (enumBruTileLayer == EnumBruTileLayer.TMS) { result = new ConfigTms(url, overwriteUrls); } else if (enumBruTileLayer == EnumBruTileLayer.InvertedTMS) { result = new ConfigInvertedTMS(url); } else { result = new ConfigOsm(OsmMapType.Default); } return(result); }
public static FileCache GetFileCache(string baseCacheDir, IConfig config, EnumBruTileLayer enumBruTileLayer) { var schema = config.CreateTileSource().Schema; var cacheDirType = GetCacheDirectory(config, enumBruTileLayer, baseCacheDir); var format = schema.Format; if (format.Contains(@"image/")) { format = format.Substring(6, schema.Format.Length - 6); } if (format.Contains("png8")) { format = format.Replace("png8", "png"); } var fileCache = new FileCache(cacheDirType, format); return(fileCache); }
public static FileCache GetFileCache(string baseCacheDir, IConfig config,EnumBruTileLayer enumBruTileLayer) { var schema = config.CreateTileSource().Schema; var cacheDirType = GetCacheDirectory(config, enumBruTileLayer, baseCacheDir); var format = schema.Format; if (format.Contains(@"image/")) { format = format.Substring(6, schema.Format.Length - 6); } if (format.Contains("png8")) { format = format.Replace("png8", "png"); } var fileCache = new FileCache(cacheDirType, format); return fileCache; }
private void WriteProviderXml(string name, string url, EnumBruTileLayer enumBruTileLayer) { var xml = @"<?xml version='1.0' encoding='utf-8' ?><Services>"; xml += String.Format(@"<TileMapService title='{0}' version='1.0.0' href='{1}' type='{2}'/>", name, url, enumBruTileLayer); xml += "</Services>"; var xmlfile = _servicesDir + Path.DirectorySeparatorChar + name + ".xml"; if (!File.Exists(xmlfile)) { var tw = new StreamWriter(xmlfile); tw.WriteLine(xml); tw.Close(); } else { MessageBox.Show(string.Format("Provider {0} does already exist.", name)); } }
private void button2_Click(object sender, EventArgs e) { var tile = comboBox1.SelectedItem; if (tile == null) { MessageBox.Show("请选择至少一种地图"); return; } EnumBruTileLayer enumBruTileLayer = (EnumBruTileLayer)Enum.Parse(typeof(EnumBruTileLayer), tile.ToString()); IConfig config = ConfigHelper.GetConfig(enumBruTileLayer); tileSource = config.CreateTileSource(); schema = tileSource.Schema; var env = Projector.ProjectEnvelope(view.Extent, schema.Srs); textBox3.Text = env.XMin.ToString(); textBox4.Text = env.XMax.ToString(); textBox5.Text = env.YMin.ToString(); textBox2.Text = env.YMax.ToString(); }
private static string GetCacheDirectory(IConfig config, EnumBruTileLayer layerType, string baseCacheDir) { string cacheDirectory = String.Format("{0}{1}{2}", baseCacheDir, System.IO.Path.DirectorySeparatorChar, layerType); if (layerType == EnumBruTileLayer.TMS || layerType == EnumBruTileLayer.InvertedTMS) { string url = (layerType == EnumBruTileLayer.TMS ? ((ConfigTms)config).Url : ((ConfigInvertedTMS)config).Url); string service = url.Substring(7, url.Length - 7); service = service.Replace(@"/", "-"); service = service.Replace(":", "-"); if (service.EndsWith("-")) { service = service.Substring(0, service.Length - 1); } cacheDirectory = String.Format("{0}{1}{2}{3}{4}", baseCacheDir, System.IO.Path.DirectorySeparatorChar, layerType, System.IO.Path.DirectorySeparatorChar, service); } return(cacheDirectory); }
private static string GetCacheDirectory(IConfig config, EnumBruTileLayer layerType, string baseCacheDir) { string cacheDirectory = String.Format("{0}{1}{2}", baseCacheDir, System.IO.Path.DirectorySeparatorChar, layerType); if (layerType == EnumBruTileLayer.TMS || layerType == EnumBruTileLayer.InvertedTMS) { string url = (layerType == EnumBruTileLayer.TMS ? ((ConfigTms)config).Url : ((ConfigInvertedTMS)config).Url); string service = url.Substring(7, url.Length - 7); service = service.Replace(@"/", "-"); service = service.Replace(":", "-"); if (service.EndsWith("-")) { service = service.Substring(0, service.Length - 1); } cacheDirectory = String.Format("{0}{1}{2}{3}{4}", baseCacheDir, System.IO.Path.DirectorySeparatorChar, layerType, System.IO.Path.DirectorySeparatorChar, service); } return cacheDirectory; }
public void Load(IVariantStream stream) { try { Name = (string)stream.Read(); _visible = (bool)stream.Read(); _enumBruTileLayer = (EnumBruTileLayer)stream.Read(); Logger.Debug("Load layer " + Name + ", type: " + _enumBruTileLayer.ToString()); switch (_enumBruTileLayer) { case EnumBruTileLayer.TMS: var url = (string)stream.Read(); _config = ConfigHelper.GetTmsConfig(url, true); Logger.Debug("Url: " + url); break; case EnumBruTileLayer.InvertedTMS: var urlInverted = (string)stream.Read(); Logger.Debug("Url: " + urlInverted); _config = ConfigHelper.GetConfig(EnumBruTileLayer.InvertedTMS, urlInverted, true); break; default: _config = ConfigHelper.GetConfig(_enumBruTileLayer); break; } InitializeLayer(); // get the active map later when _map = null; } catch (Exception ex) { Logger.Debug("Error loading custom layer: " + ex.Message); } }
private void WriteProviderXml(string name, string url, EnumBruTileLayer enumBruTileLayer) { var xml=@"<?xml version='1.0' encoding='utf-8' ?><Services>"; xml+=String.Format(@"<TileMapService title='{0}' version='1.0.0' href='{1}' type='{2}'/>",name,url,enumBruTileLayer); xml += "</Services>"; var xmlfile = _servicesDir + Path.DirectorySeparatorChar + name + ".xml"; if (!File.Exists(xmlfile)) { var tw = new StreamWriter(xmlfile); tw.WriteLine(xml); tw.Close(); } else { MessageBox.Show(string.Format("Provider {0} does already exist.", name)); } }
// used by wmts public static FileCache GetFileCache(string baseCacheDir, ITileSource tileSource, EnumBruTileLayer enumBruTileLayer) { var schema = tileSource.Schema; var cacheDirType = GetCacheDirectory(tileSource, enumBruTileLayer, baseCacheDir); Logger.Debug("Cache directory: " + cacheDirType); // todo: support other image formats as well... var fileCache = new FileCache(cacheDirType, tileSource.Schema.Format); return(fileCache); }
// for wmts private static string GetCacheDirectory(ITileSource tileSource, EnumBruTileLayer layerType, string baseCacheDir) { string cacheDirectory = string.Format("{0}{1}{2}{3}{4}", baseCacheDir, Path.DirectorySeparatorChar, layerType, Path.DirectorySeparatorChar, tileSource.Title); return(cacheDirectory); }
// used by WmsC public BruTileLayer(IApplication application, IConfig config) { ShowTips = false; Name = "BruTile"; Cached = false; _application = application; _config = config; _enumBruTileLayer = EnumBruTileLayer.WMSC; InitializeLayer(); }
public void Load(IVariantStream stream) { try { Name = (string)stream.Read(); _visible = (bool)stream.Read(); _enumBruTileLayer = (EnumBruTileLayer)stream.Read(); Logger.Debug("Load layer " + Name + ", type: " + _enumBruTileLayer.ToString()); switch (_enumBruTileLayer) { case EnumBruTileLayer.TMS: var url = (string)stream.Read(); _config = ConfigHelper.GetTmsConfig(url, true); Logger.Debug("Url: " + url); break; case EnumBruTileLayer.InvertedTMS: var urlInverted = (string)stream.Read(); Logger.Debug("Url: " + urlInverted); _config = ConfigHelper.GetConfig(EnumBruTileLayer.InvertedTMS, urlInverted, true); break; default: _config = ConfigHelper.GetConfig(_enumBruTileLayer); break; } InitializeLayer(); // get the active map later when _map = null; } catch (Exception ex) { Logger.Debug("Error loading custom layer: " + ex.Message); } }
public ChinaConfig(EnumBruTileLayer mapType) { _mapType = mapType; }
public ChinaConfig(EnumBruTileLayer mapType) { _mapType = mapType; }