提交 97a50e6b7fc02f906157b5e1c77c93f1a1fe9cd5

作者 LJH 李佳桓
1 个父辈 4b63ea42

ljh

@@ -135,7 +135,8 @@ DmpService* DmpTileServer::getService(const std::string &serviceType) @@ -135,7 +135,8 @@ DmpService* DmpTileServer::getService(const std::string &serviceType)
135 ServiceMap::const_iterator iter = services_.find(serviceType); 135 ServiceMap::const_iterator iter = services_.find(serviceType);
136 if (iter != services_.end()) 136 if (iter != services_.end())
137 { 137 {
138 - service = dynamic_cast<DmpWMTSService*>(iter->second); 138 + //service = dynamic_cast<DmpWMTSService*>(iter->second);
  139 + service = iter->second;
139 } 140 }
140 return service; 141 return service;
141 } 142 }
@@ -105,7 +105,7 @@ namespace tileserver @@ -105,7 +105,7 @@ namespace tileserver
105 { 105 {
106 std::string strBuff; 106 std::string strBuff;
107 GetTile(yMaxTile+j,xMinTile+i,iLevel,strBuff,buffLen); 107 GetTile(yMaxTile+j,xMinTile+i,iLevel,strBuff,buffLen);
108 - 108 + imageLen+=buffLen;
109 const char* buff=strBuff.c_str(); 109 const char* buff=strBuff.c_str();
110 st_png_data pngData = {(unsigned char*)buff, 0}; 110 st_png_data pngData = {(unsigned char*)buff, 0};
111 cairo_surface_t *image = cairo_image_surface_create_from_png_stream(cairo_read_func,&pngData); 111 cairo_surface_t *image = cairo_image_surface_create_from_png_stream(cairo_read_func,&pngData);
@@ -168,6 +168,7 @@ namespace tileserver @@ -168,6 +168,7 @@ namespace tileserver
168 fread.close(); 168 fread.close();
169 if(len > 0) 169 if(len > 0)
170 { 170 {
  171 + length=len;
171 refbuff.append(imgBuffer,len); 172 refbuff.append(imgBuffer,len);
172 } 173 }
173 174
@@ -120,6 +120,15 @@ namespace tileserver @@ -120,6 +120,15 @@ namespace tileserver
120 } 120 }
121 return iLevel; 121 return iLevel;
122 } 122 }
  123 + int TileProviderFactory::screenTileMatrix2(DmpPoint& min,DmpPoint& max,std::vector<DmpTileMatrixSet*>& tileMatrixSets,double& resolution,DmpPoint& origin)
  124 + {
  125 + int iLevel=-1;
  126 + for(auto iter=tileMatrixSets.cbegin();iter!=tileMatrixSets.cend();iter++)
  127 + {
  128 +
  129 + }
  130 + return iLevel;
  131 + }
123 //点坐标转行列号 132 //点坐标转行列号
124 void TileProviderFactory::PointToRowCol(DmpPoint& point,DmpPoint& origin,double resolution,int& xTile,int& yTile) 133 void TileProviderFactory::PointToRowCol(DmpPoint& point,DmpPoint& origin,double resolution,int& xTile,int& yTile)
125 { 134 {
@@ -143,6 +152,7 @@ namespace tileserver @@ -143,6 +152,7 @@ namespace tileserver
143 return false; 152 return false;
144 } 153 }
145 // int xMinTile,yMinTile,xMaxTile,yMaxTile; 154 // int xMinTile,yMinTile,xMaxTile,yMaxTile;
  155 + //resolution=76.43718115577508*256;
146 TileProviderFactory::PointToRowCol(min,origin,resolution,xMinTile,yMinTile); 156 TileProviderFactory::PointToRowCol(min,origin,resolution,xMinTile,yMinTile);
147 TileProviderFactory::PointToRowCol(max,origin,resolution,xMaxTile,yMaxTile); 157 TileProviderFactory::PointToRowCol(max,origin,resolution,xMaxTile,yMaxTile);
148 return true; 158 return true;
@@ -40,6 +40,7 @@ namespace tileserver @@ -40,6 +40,7 @@ namespace tileserver
40 static int StringToVector(std::string& strVector); 40 static int StringToVector(std::string& strVector);
41 static bool BufferCopy(cairo_surface_t *pClsCSFrom, cairo_surface_t *pClsCSTo,cairo_t *cr,int x,int y); 41 static bool BufferCopy(cairo_surface_t *pClsCSFrom, cairo_surface_t *pClsCSTo,cairo_t *cr,int x,int y);
42 static int screenTileMatrix(DmpPoint& min,DmpPoint& max,std::vector<DmpTileMatrixSet*>& tileMatrixSets,double& resolution,DmpPoint& origin); 42 static int screenTileMatrix(DmpPoint& min,DmpPoint& max,std::vector<DmpTileMatrixSet*>& tileMatrixSets,double& resolution,DmpPoint& origin);
  43 + static int screenTileMatrix2(DmpPoint& min,DmpPoint& max,std::vector<DmpTileMatrixSet*>& tileMatrixSets,double& resolution,DmpPoint& origin);
43 static void PointToRowCol(DmpPoint& point,DmpPoint& origin,double resolution,int& xTile,int& yTile); 44 static void PointToRowCol(DmpPoint& point,DmpPoint& origin,double resolution,int& xTile,int& yTile);
44 static bool GetTileScale(DmpTileLayer* dmpTileLayer,int& iLevel,int& xMinTile,int& yMinTile,int& xMaxTile,int& yMaxTile); 45 static bool GetTileScale(DmpTileLayer* dmpTileLayer,int& iLevel,int& xMinTile,int& yMinTile,int& xMaxTile,int& yMaxTile);
45 static cairo_status_t cairo_write_func(void *pbuff, const unsigned char *data, unsigned int length); 46 static cairo_status_t cairo_write_func(void *pbuff, const unsigned char *data, unsigned int length);
注册登录 后发表评论