提交 141cdeeb8f4d0499074bd5041302e32f060057c6

作者 LJH 李佳桓
1 个父辈 0c46b78d

ljh

@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 #include "dmpservermanager.h" 9 #include "dmpservermanager.h"
10 #include "dmpserver.h" 10 #include "dmpserver.h"
11 #include "dmphttputils.h" 11 #include "dmphttputils.h"
12 -#include "dmpserverConfig.h" 12 +#include "dmpserverconfig.h"
13 #include <memory> 13 #include <memory>
14 #include <boost/property_tree/ptree.hpp> 14 #include <boost/property_tree/ptree.hpp>
15 #include <boost/property_tree/json_parser.hpp> 15 #include <boost/property_tree/json_parser.hpp>
@@ -130,7 +130,7 @@ void DmpManagerApiHandler::regService(const DmpServerApiContext &context) const @@ -130,7 +130,7 @@ void DmpManagerApiHandler::regService(const DmpServerApiContext &context) const
130 break; 130 break;
131 } 131 }
132 132
133 - default: 133 + default:
134 break; 134 break;
135 } 135 }
136 136
@@ -9,6 +9,10 @@ @@ -9,6 +9,10 @@
9 #include "dmpesritileprovider.h" 9 #include "dmpesritileprovider.h"
10 #include "dmpwmtsutils.h" 10 #include "dmpwmtsutils.h"
11 #include <string> 11 #include <string>
  12 +#include "dmptileproviderfactory.h"
  13 +#include <iostream>
  14 +#include "dmptilelayer.h"
  15 +#include <cairo/cairo.h>
12 16
13 namespace DmpWmts 17 namespace DmpWmts
14 { 18 {
@@ -60,8 +64,23 @@ namespace DmpWmts @@ -60,8 +64,23 @@ namespace DmpWmts
60 } 64 }
61 fread.close(); 65 fread.close();
62 } 66 }
63 - void DmpEsriTileProvider::GetTileThumbnail(DmpTileLayer* dmpTileLayer,DmpServerResponse& respons) 67 + void DmpEsriTileProvider::GetTileThumbnail(DmpTileLayer* dmpTileLayer,DmpServerResponse& response)
64 { 68 {
  69 + std::string tilePath=dmpTileLayer->getDataSource();
  70 + DmpRectangle rectangle=dmpTileLayer->extent();
  71 + std::string format=dmpTileLayer->getFormat();
65 72
  73 + DmpPoint min=DmpPoint(rectangle.xmin(),rectangle.ymin());
  74 + DmpPoint max=DmpPoint(rectangle.xmax(),rectangle.ymax());
  75 + std::vector<DmpTileMatrixSet*> tileMatrixSets;
  76 + dmpTileLayer->getTileMatrixSets(tileMatrixSets);
  77 + double resolution;
  78 + DmpPoint origin;
  79 + int iLevel,xMinTile,yMinTile, xMaxTile, yMaxTile,buffLen;
  80 + if(!TileProviderFactory::GetTileScale(dmpTileLayer,iLevel,xMinTile,yMinTile, xMaxTile, yMaxTile))
  81 + {
  82 + response.sendError(500, "缩略图范围错误:(");
  83 + return;
  84 + }
66 } 85 }
67 } 86 }
@@ -20,7 +20,7 @@ namespace DmpWmts @@ -20,7 +20,7 @@ namespace DmpWmts
20 public: 20 public:
21 DmpEsriTileProvider(const std::string& rootPath); 21 DmpEsriTileProvider(const std::string& rootPath);
22 void WriteTile(const int row, const int col, const int level, const std::string& format, DmpServerResponse& response) override; 22 void WriteTile(const int row, const int col, const int level, const std::string& format, DmpServerResponse& response) override;
23 - void GetTileThumbnail(DmpTileLayer* dmpTileLayer,DmpServerResponse& respons) override; 23 + void GetTileThumbnail(DmpTileLayer* dmpTileLayer,DmpServerResponse& response) override;
24 private: 24 private:
25 std::string IntToHex8Str(const int num); 25 std::string IntToHex8Str(const int num);
26 }; 26 };
注册登录 后发表评论