wmts_source.cpp
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2015, Southwest Research Institute® (SwRI®)
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of Southwest Research Institute® (SwRI®) nor the
14 // names of its contributors may be used to endorse or promote products
15 // derived from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL Southwest Research Institute® BE LIABLE
21 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
27 // DAMAGE.
28 //
29 // *****************************************************************************
30 
31 #include <tile_map/wmts_source.h>
32 
33 #include <boost/functional/hash.hpp>
34 
35 namespace tile_map
36 {
37  const QString WmtsSource::WMTS_TYPE = "wmts";
38 
39  WmtsSource::WmtsSource(const QString& name,
40  const QString& base_url,
41  bool is_custom,
42  int32_t max_zoom) :
43  TileSource()
44  {
45  name_ = name;
46  base_url_ = base_url;
47  is_custom_ = is_custom;
48  max_zoom_ = max_zoom;
49  min_zoom_ = 1;
50  }
51 
52  QString WmtsSource::GetType() const
53  {
54  return WMTS_TYPE;
55  }
56 
57  size_t WmtsSource::GenerateTileHash(int32_t level, int64_t x, int64_t y)
58  {
59  return hash_(GenerateTileUrl(level, x, y).toStdString());
60  }
61 
62  QString WmtsSource::GenerateTileUrl(int32_t level, int64_t x, int64_t y)
63  {
64  QString url(base_url_);
65  url.replace(QString::fromStdString("{level}"), QString::number(level));
66  url.replace(QString::fromStdString("{x}"), QString::number(x));
67  url.replace(QString::fromStdString("{y}"), QString::number(y));
68 
69  return url;
70  }
71 }
virtual QString GenerateTileUrl(int32_t level, int64_t x, int64_t y)
Definition: wmts_source.cpp:62
virtual QString GetType() const
Definition: wmts_source.cpp:52
WmtsSource(const QString &name, const QString &base_url, bool is_custom, int32_t max_zoom)
Definition: wmts_source.cpp:39
boost::hash< std::string > hash_
Definition: wmts_source.h:82
static const QString WMTS_TYPE
Definition: wmts_source.h:79
virtual size_t GenerateTileHash(int32_t level, int64_t x, int64_t y)
Definition: wmts_source.cpp:57


tile_map
Author(s): Marc Alban
autogenerated on Fri Mar 19 2021 02:44:47