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  {
44  name_ = name;
45  base_url_ = base_url;
46  is_custom_ = is_custom;
47  max_zoom_ = max_zoom;
48  min_zoom_ = 1;
49  }
50 
51  QString WmtsSource::GetType() const
52  {
53  return WMTS_TYPE;
54  }
55 
56  size_t WmtsSource::GenerateTileHash(int32_t level, int64_t x, int64_t y)
57  {
58  return hash_(GenerateTileUrl(level, x, y).toStdString());
59  }
60 
61  QString WmtsSource::GenerateTileUrl(int32_t level, int64_t x, int64_t y)
62  {
63  QString url(base_url_);
64  url.replace(QString::fromStdString("{level}"), QString::number(level));
65  url.replace(QString::fromStdString("{x}"), QString::number(x));
66  url.replace(QString::fromStdString("{y}"), QString::number(y));
67 
68  return url;
69  }
70 }
virtual QString GenerateTileUrl(int32_t level, int64_t x, int64_t y)
Definition: wmts_source.cpp:61
virtual QString GetType() const
Definition: wmts_source.cpp:51
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:56


tile_map
Author(s): Marc Alban
autogenerated on Thu Jun 6 2019 19:25:35