提交 d46b1ab11c0aec2d5cecef486618941ed9aafee5

作者 LJH 李佳桓
1 个父辈 81a56488

add

  1 +
  2 +/**************************************************************************
  3 +* file: dmpwmtsparameters.cpp
  4 +
  5 +* Author: wanzhongping
  6 +* Date: 2021-01-28 08:57:10
  7 +* Email: zhongpingw@chinadci.com
  8 +* copyright: 广州城市信息研究所有限公司
  9 +***************************************************************************/
  10 +#include <iostream>
  11 +#include "dmpwmtsparameters.h"
  12 +#include <boost/lexical_cast.hpp>
  13 +#include <boost/algorithm/string.hpp>
  14 +#include "dmplogger.h"
  15 +#include "dmpserverutils.h"
  16 +namespace DmpWmts
  17 +{
  18 + DmpWmtsParameters::DmpWmtsParameters()
  19 + : DmpServerParameters()
  20 + {
  21 + }
  22 +
  23 + DmpWmtsParameters::DmpWmtsParameters(const DmpServerParameters &params)
  24 + {
  25 + params_ = params.Parameters();
  26 + }
  27 +
  28 + int DmpWmtsParameters::TileMatrix() const
  29 + {
  30 + std::map<std::string, std::string>::const_iterator iter;
  31 + iter = params_.find("TILEMATRIX");
  32 + if (iter != params_.end())
  33 + {
  34 + try
  35 + {
  36 + int num_tile_atrix = boost::lexical_cast<int>(iter->second);
  37 + return num_tile_atrix;
  38 + }
  39 + catch (boost::bad_lexical_cast &e)
  40 + {
  41 + LOGGER_ERROR(e.what());
  42 + }
  43 + }
  44 + return -1;
  45 + }
  46 + int DmpWmtsParameters::TileRow() const
  47 + {
  48 + std::map<std::string, std::string>::const_iterator iter;
  49 + iter = params_.find("TILEROW");
  50 + if (iter != params_.end())
  51 + {
  52 + try
  53 + {
  54 + int num_tile_row = boost::lexical_cast<int>(iter->second);
  55 + return num_tile_row;
  56 + }
  57 + catch (boost::bad_lexical_cast &e)
  58 + {
  59 + LOGGER_ERROR(e.what());
  60 + }
  61 + }
  62 + return -1;
  63 + }
  64 + int DmpWmtsParameters::TileCol() const
  65 + {
  66 + std::map<std::string, std::string>::const_iterator iter;
  67 + iter = params_.find("TILECOL");
  68 + if (iter != params_.end())
  69 + {
  70 + try
  71 + {
  72 + int num_tile_col = boost::lexical_cast<int>(iter->second);
  73 + return num_tile_col;
  74 + }
  75 + catch (boost::bad_lexical_cast &e)
  76 + {
  77 + LOGGER_ERROR(e.what());
  78 + }
  79 + }
  80 + return -1;
  81 + }
  82 +
  83 + std::string DmpWmtsParameters::TileMatrixSet() const
  84 + {
  85 + std::string tile_matrix_set;
  86 + std::map<std::string, std::string>::const_iterator iter;
  87 + iter = params_.find("TILEMATRIXSET");
  88 + if (iter != params_.end())
  89 + {
  90 + tile_matrix_set = iter->second;
  91 + }
  92 + return tile_matrix_set;
  93 + }
  94 +
  95 + std::string DmpWmtsParameters::Layer() const
  96 + {
  97 + std::string layer;
  98 + std::map<std::string, std::string>::const_iterator iter;
  99 + iter = params_.find("LAYER");
  100 + if (iter != params_.end())
  101 + {
  102 + layer = iter->second;
  103 + }
  104 + return layer;
  105 + }
  106 +
  107 + DmpWmtsParameters::Format DmpWmtsParameters::ImageFormat() const
  108 + {
  109 + std::string frm;
  110 + std::map<std::string, std::string>::const_iterator iter;
  111 + iter = params_.find("format");
  112 + if (iter != params_.end())
  113 + {
  114 + frm = iter->second;
  115 + if (frm.empty()) {
  116 + return Format::NONE;
  117 + }
  118 + Format f = Format::PNG;
  119 + boost::to_lower(frm);
  120 + if (frm.compare("jpg") == 0 || frm.compare("jpeg") == 0 || frm.compare("image/jpeg") == 0 ) {
  121 + f = Format::JPG;
  122 + }
  123 + return f;
  124 + }
  125 + return Format::NONE;
  126 + }
  127 +} // namespace DmpWmts
\ No newline at end of file
... ...
注册登录 后发表评论