提交 a3e47bd9f61e3ad3aed97153c633adcacc0a1250

作者 qingxiongf
1 个父辈 7f07a361

print

... ... @@ -43,7 +43,9 @@ public:
43 43 std::string domain() const { return domain_; }
44 44 std::string port() const { return port_; }
45 45 std::string path() const { return path_; }
  46 + std::string enpath() const { return enpath_; }
46 47 void setPath(const std::string &path) { path_ = path;}
  48 + void setEnPath(const std::string &enPath) { enpath_ = enPath;}
47 49 std::string query() const { return query_; }
48 50 void setQuery(const std::string &queryString);
49 51 std::string header( const std::string &name ) const;
... ... @@ -67,6 +69,7 @@ protected:
67 69 std::string domain_;
68 70 std::string port_;
69 71 std::string path_;
  72 + std::string enpath_;
70 73 std::string query_;
71 74 bool isRestful_;
72 75
... ...
... ... @@ -47,6 +47,7 @@ DmpSpServerRequest::DmpSpServerRequest(SP_HttpRequest* request)
47 47 if (pos != std::string::npos) {
48 48 std::string path = deurl.substr(0, pos);
49 49 setPath(path);
  50 + setEnPath(url.substr(0, url.find("?")));
50 51 std::string queryString;
51 52 queryString = deurl.substr(pos+1,deurl.length());
52 53 setQuery(queryString);
... ... @@ -54,6 +55,7 @@ DmpSpServerRequest::DmpSpServerRequest(SP_HttpRequest* request)
54 55 else {
55 56 isRestful_ = true;
56 57 setPath(deurl);
  58 + setEnPath(url);
57 59 }
58 60
59 61 // for(int i=0; i< request->getParamCount(); i++) {
... ...
... ... @@ -22,6 +22,7 @@ SET (MAPSERVER_SRCS
22 22 wms/dmpwmsgetmap.cpp
23 23 wms/dmpwmsserviceinfo.cpp
24 24 wms/dmpwmsgetfeatureinfo.cpp
  25 + wms/dmpprint.cpp
25 26 mapping/dmpmapping.cpp
26 27 mapping/dmpeditservice.cpp
27 28 mapping/dmpmappingparameters.cpp
... ... @@ -48,6 +49,7 @@ SET (MAPSERVER_HDRS
48 49 wms/dmpwmsgetmap.h
49 50 wms/dmpwmsserviceinfo.h
50 51 wms/dmpwmsgetfeatureinfo.h
  52 + wms/dmpprint.h
51 53 mapping/dmpmapping.h
52 54 mapping/dmpeditservice.h
53 55 mapping/dmpmappingparameters.h
... ...
... ... @@ -30,11 +30,11 @@ namespace DmpWfs
30 30 std::string port = context.request()->port();
31 31 if(port == "80" || port =="")
32 32 {
33   - sprintf(char_hrefUrl, "http://%s%s", domain.c_str(), context.request()->path().c_str());
  33 + sprintf(char_hrefUrl, "http://%s%s", domain.c_str(), context.request()->enpath().c_str());
34 34 }
35 35 else
36 36 {
37   - sprintf(char_hrefUrl, "http://%s:%s%s", domain.c_str(),port.c_str(), context.request()->path().c_str());
  37 + sprintf(char_hrefUrl, "http://%s:%s%s", domain.c_str(),port.c_str(), context.request()->enpath().c_str());
38 38 }
39 39 hrefUrl = char_hrefUrl;
40 40 // hrefUrl = "http://172.26.40.51:8821/?mapService=test";
... ...
... ... @@ -7,3 +7,4 @@
7 7 * copyright: 广州城市信息研究所有限公司
8 8 ***************************************************************************/
9 9 #include "dmpprint.h"
  10 +
... ...
... ... @@ -10,7 +10,66 @@
10 10 #ifndef __dmpprint_h__
11 11 #define __dmpprint_h__
12 12
  13 +#include <string>
  14 +#include <string.h>
  15 +#include <vector>
  16 +#include <map>
13 17
  18 +#include "clsCrSurf.h"
  19 +#include "clsRect.h"
  20 +#include "clsUtil.h"
  21 +using namespace std;
  22 +using namespace DmapCore_30;
  23 +namespace DmpWms
  24 +{
  25 + class DmpPrint
  26 + {
  27 + private:
  28 + std::string m_name;
  29 + std::string m_spatialReference;
  30 + double xmin;
  31 + double ymin;
  32 + double xmax;
  33 + double ymax;
  34 + int m_width;
  35 + int m_height;
  36 + int spatialReference_node;
  37 + int m_wkid;
  38 + int m_dpi;
  39 + double m_scale;
  40 + int isPicture;
14 41
  42 + private:
  43 + bool DoSetBackGround(clsCrSurf *pClsCS, int iColor);
  44 + double RecalculateScale(double right, double left, double top, double bottom, double width, double height);
  45 + string GetFilePath(string path);
  46 + int GetCurrentFolderPath(char *processdir, size_t len);
  47 + bool InitTemplateValue(string templateValue);
  48 + bool ToPrint(std::string &responseData);
  49 +
  50 + public:
  51 + DmpPrint(int isPicture);
  52 +/*
  53 + bool getPrint(AppendBuffer *ab, map<string, shared_ptr<WMSServer>> &mapWmsServer, const char *xml, string servername);
  54 + bool getPrint(AppendBuffer *ab, map<string, shared_ptr<WMSServer>> &mapWmsServer, string servername, const char *printTemp, const char *bbox);
  55 +
  56 + bool getPrintLayout(AppendBuffer *ab,
  57 + shared_ptr<WMSServer> pWmsServer,
  58 + const char *xml,
  59 + const char *bbox);
  60 +
  61 + bool getPrintTempFile(AppendBuffer *ab,
  62 + shared_ptr<WMSServer> pWmsServer,
  63 + const char *tempName,
  64 + const char *bbox);
  65 +
  66 + bool Test(AppendBuffer *ab, map<string, shared_ptr<WMSServer>> &mapWmsServer, string servername);
  67 +
  68 + vector<shared_ptr<DmapPrintLayout>> vector_dmapPrintLayout;
  69 +
  70 + vector<shared_ptr<OperationalLayer>> vector_operationalLayer;
  71 + */
  72 + };
  73 +}
15 74
16 75 #endif // __dmpprint_h__
... ...
... ... @@ -25,11 +25,11 @@ namespace DmpWms
25 25 std::string title = context.serverProject()->title();
26 26 if(port == "80" || port =="")
27 27 {
28   - sprintf(char_hrefUrl, "http://%s%s", domain.c_str(), context.request()->path().c_str());
  28 + sprintf(char_hrefUrl, "http://%s%s", domain.c_str(), context.request()->enpath().c_str());
29 29 }
30 30 else
31 31 {
32   - sprintf(char_hrefUrl, "http://%s:%s%s", domain.c_str(),port.c_str(), context.request()->path().c_str());
  32 + sprintf(char_hrefUrl, "http://%s:%s%s", domain.c_str(),port.c_str(), context.request()->enpath().c_str());
33 33 }
34 34 hrefUrl = char_hrefUrl;
35 35 // hrefUrl = "http://172.26.40.51:8821/?mapService=test";
... ...
注册登录 后发表评论