bool validate() const { mapnik::request m_req(width_,height_,extent_); mapnik::image_32 im(m_->width(),m_->height()); mapnik::attributes variables; m_req.set_buffer_size(m_->buffer_size()); mapnik::projection map_proj(m_->srs(),true); double scale_denom = mapnik::scale_denominator(m_req.scale(),map_proj.is_geographic()); scale_denom *= scale_factor_; mapnik::agg_renderer<mapnik::image_32> ren(*m_,m_req,variables,im,scale_factor_); ren.start_map_processing(*m_); std::vector<mapnik::layer> const& layers = m_->layers(); process_layers(ren,m_req,map_proj,layers,scale_denom); ren.end_map_processing(*m_); if (!preview_.empty()) { std::clog << "preview available at " << preview_ << "\n"; mapnik::save_to_file(im,preview_); } return true; }
void operator()() const { if (preview_.empty()) { for (unsigned i=0;i<iterations_;++i) { mapnik::request m_req(width_,height_,extent_); mapnik::image_32 im(m_->width(),m_->height()); mapnik::attributes variables; m_req.set_buffer_size(m_->buffer_size()); mapnik::projection map_proj(m_->srs(),true); double scale_denom = mapnik::scale_denominator(m_req.scale(),map_proj.is_geographic()); scale_denom *= scale_factor_; mapnik::agg_renderer<mapnik::image_32> ren(*m_,m_req,variables,im,scale_factor_); ren.start_map_processing(*m_); std::vector<mapnik::layer> const& layers = m_->layers(); process_layers(ren,m_req,map_proj,layers,scale_denom); ren.end_map_processing(*m_); } } }
double Map::scale_denominator() const { projection map_proj(srs_); return mapnik::scale_denominator( scale(), map_proj.is_geographic()); }