正在显示
4 个修改的文件
包含
15 行增加
和
2 行删除
@@ -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); |
请
注册
或
登录
后发表评论