Example #1
0
        public void CreateFromResource()
        {
            var stream         = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(TileMapServiceResource));
            var tileMapService = TileMapService.CreateFromResource(stream);

            Assert.True(tileMapService.TileMaps.Count() == 2);
            Assert.True(tileMapService.TileMaps.Count(t => t.Profile == "global-geodetic") == 1);
            Assert.True(tileMapService.TileMaps.First(t => t.Title == "VMAP0 World Map").Srs == "EPSG:4326");
        }
Example #2
0
        public HttpResponseMessage Service(string Version)
        {
            // Validate version
            if (!Version.Equals("1.0.0", StringComparison.OrdinalIgnoreCase))
                throw new InvalidRequestParameterException(
                    string.Format("The requested service VERSION {0} is not supported by this server", Version)
                );

            TileMapService tileMapService = new TileMapService();
            tileMapService.version = "1.0.0";
            tileMapService.services = Url.Link("TMSRoot", new { });
            //tileMapService.Title = null;
            //tileMapService.Abstract = null;
            //tileMapService.KeywordList = null;
            //tileMapService.ContactInformation = new ContactInformation();
            //tileMapService.ContactInformation.ContactPersonPrimary = new ContactPersonPrimary();
            //tileMapService.ContactInformation.ContactPersonPrimary.ContactPerson = null;
            //tileMapService.ContactInformation.ContactPersonPrimary.ContactOrganization = null;
            //tileMapService.ContactInformation.ContactPosition = null;
            //tileMapService.ContactInformation.ContactAddress = new ContactAddress();
            //tileMapService.ContactInformation.ContactAddress.AddressType = null;
            //tileMapService.ContactInformation.ContactAddress.Address = null;
            //tileMapService.ContactInformation.ContactAddress.City = null;
            //tileMapService.ContactInformation.ContactAddress.StateOrProvince = null;
            //tileMapService.ContactInformation.ContactAddress.PostCode = null;
            //tileMapService.ContactInformation.ContactAddress.Country = null;
            //tileMapService.ContactInformation.ContactVoiceTelephone = null;
            //tileMapService.ContactInformation.ContactFacsimileTelephone = null;
            //tileMapService.ContactInformation.ContactElectronicMailAddress = null;
            tileMapService.TileMaps = new List<TileMapMetadata>();
            foreach (Layer layer in this._repository.GetAll())
            {
                TileMapMetadata tileMapMetadata = new TileMapMetadata();
                tileMapMetadata.title = layer.Title;
                tileMapMetadata.srs = layer.GridSet.SRS;
                if (layer.GridSet.Name.Equals("GoogleMapsCompatible", StringComparison.OrdinalIgnoreCase))
                {
                    tileMapMetadata.profile = "global-mercator";
                }
                else
                {
                    tileMapMetadata.profile = "none";
                }
                tileMapMetadata.href = Url.Link("TMSTileMap", new { Version = "1.0.0", TileMap = layer.Name });
                tileMapService.TileMaps.Add(tileMapMetadata);
            }

            return Request.CreateResponse(HttpStatusCode.OK, tileMapService, new XmlMediaTypeFormatter() { UseXmlSerializer = true });
        }
Example #3
0
        private void lbProvider_SelectedIndexChanged(object sender, EventArgs e)
        {
            _init = true;
            _file = (String)lbProvider.SelectedItem;
            var res = _servicesDir + Path.DirectorySeparatorChar + _file + ".xml";

            var xdoc = XDocument.Load(res);
            var el   = xdoc.Element("Services");

            if (el != null)
            {
                var el1 = el.Element("TileMapService");
                if (el1 != null)
                {
                    SelectedTileMapService = new TileMapService
                    {
                        Title   = el1.Attribute("title").Value,
                        Version = el1.Attribute("version").Value,
                        Href    = el1.Attribute("href").Value
                    }
                }
                ;
            }

            btnRemoveProvider.Enabled = true;

            var tilemaps = TmsTileMapServiceParser.GetTileMaps(SelectedTileMapService.Href);

            tilemaps.Sort(TileMap.Compare);

            dgvServices.DataSource = tilemaps;
            dgvServices.Columns.Remove("Href");
            dgvServices.Columns.Remove("Profile");
            dgvServices.Columns.Remove("Srs");
            dgvServices.Columns.Remove("Type");
            dgvServices.Columns.Remove("OverwriteUrls");
            dgvServices.Columns.Remove("Auth");


            //resize columns
            dgvServices.Columns[0].Width = dgvServices.Width;
            dgvServices.ClearSelection();
            _init = false;
            if (tilemaps.Count > 0)
            {
                btnOk.Enabled = false;
            }
        }
Example #4
0
    public void SetTileData(int x, int y, ref TileData tileData, Sprite[] m_Sprites)
    {
        if (hasAlreadyInit)
        {
            TileMapService.SetTileMapData(PosX, PosY, x, y, tileWorldMap, tileMapdata[x, y], boundX, boundY);
        }
        var index = tileMapdata[x, y].index;

        if (index >= 0)
        {
            tileData.sprite       = m_Sprites[index];
            tileData.transform    = Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(0f, 0f, tileMapdata[x, y].rotation), Vector3.one);
            tileData.flags        = TileFlags.LockTransform;
            tileData.colliderType = (Tile.ColliderType)tileMapdata[x, y].colliderType;
        }
    }
Example #5
0
 private ChunkDataModel GetChunkData(int PosX, int PosY)
 {
     /*var chunkPath = "/" + chunkDirectory + "/" + "chunk_" + PosX + "_" + PosY;
      * var chunkData = FileManager.GetFile<ChunkDataModel>(chunkPath);
      * if (chunkData == null) {
      *  var chunkDataModel = TileMapService.CreateChunkDataModel(PosX, PosY, tilesWorldMap, wallTilesMap, chunkSize);
      *  // FileManager.Save(chunkDataModel, chunkPath);
      *  return chunkDataModel;
      * }
      * return chunkData;*/
     /*if(cacheChunkData[PosX, PosY] == null) {
      *  var chunkData = TileMapService.CreateChunkDataModel(PosX, PosY, tilesWorldMap, wallTilesMap, chunkSize);
      *  return chunkData;
      * }
      * return cacheChunkData[PosX, PosY];*/
     return(TileMapService.CreateChunkDataModel(PosX, PosY, tilesWorldMap, wallTilesMap, tilesShadowMap, chunkSize));
 }
        private static TileMapService GetTileMapService(string url)
        {
            var request = (HttpWebRequest)WebRequest.Create(url);

            request.UserAgent =
                "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";

            TileMapService result;

            using (var response = (HttpWebResponse)request.GetResponse())
            {
                using (var stream = response.GetResponseStream())
                {
                    result = TileMapService.CreateFromResource(stream);
                }
            }
            return(result);
        }
Example #7
0
        private void cboProvider_SelectedIndexChanged(object sender, EventArgs e)
        {
            _initialized = true;

            var    file = (String)cboProvider.SelectedItem;
            string res  = _servicesDirectory + Path.DirectorySeparatorChar + file + ".xml";

            XDocument xdoc = XDocument.Load(res);
            var       el   = xdoc.Element("Services");
            var       el1  = el.Element("TileMapService");


            using (var webClient = new WebClient())
            {
                var ms = new MemoryStream(webClient.DownloadData(el1.Attribute("href").Value));
                ms.Seek(0, SeekOrigin.Begin);
                SelectedTileMapService = TileMapService.CreateFromResource(ms);
                ms.Seek(0, SeekOrigin.Begin);
                TmsTileMapServiceXml = XDocument.Load(ms);
            }

            /*
             * var request = (HttpWebRequest)WebRequest.Create(el1.Attribute("href").Value);
             * request.UserAgent =
             *  "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
             * //request.Referer = ""
             * using (var response = request.GetRequestStream())
             *  SelectedTileMapService = TileMapService.CreateFromResource(response);
             */
            btnRemoveProvider.Enabled = true;

            var tileMaps = new List <TileMapItem>(SelectedTileMapService.TileMaps);

            dgvServices.DataSource = tileMaps;

            //resize columns
            dgvServices.Columns[0].Width = 120;
            dgvServices.ClearSelection();

            _initialized = false;
        }
Example #8
0
        protected List <TileMapService> GetList(string url)
        {
            var providers = new List <TileMapService>();

            var request = (HttpWebRequest)WebRequest.Create(url);

            request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
            var proxy = WebRequest.GetSystemWebProxy();

            proxy.Credentials = CredentialCache.DefaultCredentials;
            request.Proxy     = proxy;

            var response = (HttpWebResponse)request.GetResponse();
            var stream   = response.GetResponseStream();

            if (stream != null)
            {
                var reader = new StreamReader(stream);

                while (!reader.EndOfStream)
                {
                    var line = reader.ReadLine();

                    var tileMapService = new TileMapService();
                    if (line != null)
                    {
                        tileMapService.Title   = line.Split(',')[0];
                        tileMapService.Href    = line.Split(',')[1];
                        tileMapService.Version = line.Split(',')[2];
                    }
                    providers.Add(tileMapService);
                }
            }

            return(providers);
        }