It renders the objects associated to a query layer. More...
#include <QueryLayerRenderer.h>
Public Member Functions | |
void | draw (AbstractLayer *layer, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the layer geographic objects in the given canvas using the SRS informed. More... | |
QueryLayerRenderer () | |
~QueryLayerRenderer () | |
Destructor. More... | |
Private Member Functions | |
void | buildChart (const Chart *chart, te::da::DataSet *dataset, te::gm::Geometry *geom) |
void | buildChart (const Chart *chart, const std::map< std::string, double > &chartValue, te::gm::Geometry *geom) |
void | drawDatSetGeometries (te::da::DataSet *dataset, const std::size_t &gpos, Canvas *canvas, int fromSRID, int toSRID, Chart *chart, te::common::TaskProgress *task=0) |
It draws the data set geometries in the given canvas using the informed SRS. More... | |
void | drawLayerGeometries (AbstractLayer *layer, const std::string &geomPropertyName, te::se::FeatureTypeStyle *style, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the abstract layer in the given canvas using the SRS informed. More... | |
void | drawLayerGrouping (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the grouping of the abstract layer in the given canvas using the SRS informed. More... | |
void | drawLayerGroupingMem (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the grouping of the abstract layer in the given canvas using the SRS informed. More... | |
void | drawLayerLinkedGroupingMem (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
void | reset () |
Private Attributes | |
std::vector< te::gm::Coord2D > | m_chartCoordinates |
std::vector < te::color::RGBAColor ** > | m_chartImages |
std::size_t | m_index |
std::vector< std::string > | m_oid |
te::sam::rtree::Index < std::size_t, 8 > | m_rtree |
WorldDeviceTransformer | m_transformer |
It renders the objects associated to a query layer.
Definition at line 76 of file QueryLayerRenderer.h.
te::map::QueryLayerRenderer::QueryLayerRenderer | ( | ) |
Constructor
Definition at line 85 of file QueryLayerRenderer.cpp.
te::map::QueryLayerRenderer::~QueryLayerRenderer | ( | ) |
Destructor.
Definition at line 90 of file QueryLayerRenderer.cpp.
|
private |
Definition at line 1485 of file QueryLayerRenderer.cpp.
References te::map::Chart::getAvoidConflicts(), te::gm::Envelope::getCenter(), te::gm::MultiPolygon::getCentroidCoord(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::Geometry::getGeomTypeId(), te::map::Chart::getHeight(), te::common::Singleton< T >::getInstance(), te::gm::Geometry::getMBR(), te::map::Chart::getWidth(), te::map::Chart::isVisible(), te::gm::MultiPolygonType, te::gm::PolygonType, te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
private |
Definition at line 1432 of file QueryLayerRenderer.cpp.
References te::map::Chart::getAvoidConflicts(), te::gm::Envelope::getCenter(), te::gm::MultiPolygon::getCentroidCoord(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::Geometry::getGeomTypeId(), te::map::Chart::getHeight(), te::common::Singleton< T >::getInstance(), te::gm::Geometry::getMBR(), te::map::Chart::getWidth(), te::map::Chart::isVisible(), te::gm::MultiPolygonType, te::gm::PolygonType, te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
virtual |
It draws the layer geographic objects in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the Layer objects to be drawn. The bbox coordinates must be in the Spatial Reference System given by srid.
layer | The layer that will be drawn. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Implements te::map::AbstractRenderer.
Definition at line 94 of file QueryLayerRenderer.cpp.
References te::se::CreateCoverageStyle(), te::se::CreateFeatureTypeStyle(), te::map::DrawRaster(), te::rst::RasterProperty::getBandProperties(), te::map::AbstractLayer::getData(), te::map::AbstractLayer::getExtent(), te::da::GetFirstGeomProperty(), te::da::GetFirstRasterProperty(), te::gm::GeometryProperty::getGeometryType(), te::map::AbstractLayer::getGeomPropertyName(), te::map::AbstractLayer::getGrouping(), te::map::Canvas::getHeight(), te::dt::Property::getName(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::map::AbstractLayer::getTitle(), te::map::Canvas::getWidth(), te::gm::Envelope::intersection(), te::gm::INTERSECTS, te::gm::Envelope::intersects(), te::gm::Envelope::isValid(), te::map::Grouping::isVisible(), te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, te::map::AbstractLayer::setStyle(), TE_TR, TE_UNKNOWN_SRS, and te::gm::Envelope::transform().
|
private |
It draws the data set geometries in the given canvas using the informed SRS.
dataset | The data set that will be drawn. |
gpos | The geometry property position that will be drawn. |
canvas | The canvas were the data set geometries will be drawn. |
fromSRID | The SRID of data set geometries. |
srid | The SRID to be used to draw the data set geometries. |
chart | Chart informations that can be used. |
task | An optional task that can be used cancel the draw process. |
Definition at line 1220 of file QueryLayerRenderer.cpp.
References te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::da::DataSet::getAsString(), te::da::DataSet::getGeometry(), te::map::Chart::getHeight(), te::map::Chart::getProperties(), te::map::Chart::getPropertiesPos(), te::da::GetPropertyPos(), te::da::GetSummarizedValue(), te::map::Chart::getSummary(), te::da::GetValueAsDouble(), te::map::Chart::getWidth(), te::common::TaskProgress::isActive(), te::da::DataSet::isAtBegin(), te::da::DataSet::isNull(), te::da::DataSet::moveNext(), te::common::TaskProgress::pulse(), te::map::Chart::setPropertiesPos(), te::gm::Geometry::setSRID(), TE_UNKNOWN_SRS, and te::gm::Geometry::transform().
|
private |
It draws the abstract layer in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the layer objects to be drawn. Here, we assume that the given bbox was pre-processed. i.e. the bbox was clipped and contains the same projection of abstract layer.
layer | The abstract layer that will be drawn. |
geomPropertyName | The geometry property name that will be drawn. |
style | The style that will be used. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Definition at line 228 of file QueryLayerRenderer.cpp.
References te::da::Select::clone(), te::map::CanvasConfigurer::config(), te::se::CreateSymbolizer(), te::common::TaskProgress::DRAW, te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::QueryEncoder::getExpression(), te::se::Rule::getFilter(), te::da::GetPropertyPos(), te::map::QueryLayer::getQuery(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::da::HasLinkedTable(), te::gm::INTERSECTS, te::se::Rule::push_back(), te::da::Select::setOrderBy(), te::map::QueryLayer::setQuery(), and TE_TR.
|
private |
It draws the grouping of the abstract layer in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the layer objects to be drawn. Here, we assume that the given bbox was pre-processed. i.e. the bbox was clipped and contains the same projection of abstract layer.
layer | The abstract layer that will be drawn. |
geomPropertyName | The geometry property name that will be drawn. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Definition at line 394 of file QueryLayerRenderer.cpp.
|
private |
It draws the grouping of the abstract layer in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the layer objects to be drawn. Here, we assume that the given bbox was pre-processed. i.e. the bbox was clipped and contains the same projection of abstract layer.
layer | The abstract layer that will be drawn. |
geomPropertyName | The geometry property name that will be drawn. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Definition at line 531 of file QueryLayerRenderer.cpp.
References te::map::CanvasConfigurer::config(), te::common::TaskProgress::DRAW, te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::AbstractLayer::getGrouping(), te::map::Grouping::getGroupingItems(), te::map::Chart::getHeight(), te::map::GroupingItem::getLowerLimit(), te::map::Grouping::getPrecision(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::map::GroupingItem::getSymbolizers(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::map::GroupingItem::getUpperLimit(), te::map::GroupingItem::getValue(), te::da::GetValueAsDouble(), te::map::Chart::getWidth(), te::da::HasLinkedTable(), te::gm::INTERSECTS, TE_TR, TE_UNKNOWN_SRS, and te::map::UNIQUE_VALUE.
|
private |
Definition at line 743 of file QueryLayerRenderer.cpp.
References te::da::Select::clone(), te::map::CanvasConfigurer::config(), te::common::TaskProgress::DRAW, te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::AbstractLayer::getGrouping(), te::map::Grouping::getGroupingItems(), te::map::Chart::getHeight(), te::map::GroupingItem::getLowerLimit(), te::map::Grouping::getPrecision(), te::map::Chart::getProperties(), te::map::Chart::getPropertiesPos(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::map::QueryLayer::getQuery(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::da::GetSummarizedValue(), te::map::Chart::getSummary(), te::map::Grouping::getSummary(), te::map::GroupingItem::getSymbolizers(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::map::GroupingItem::getUpperLimit(), te::map::GroupingItem::getValue(), te::da::GetValueAsDouble(), te::map::Chart::getWidth(), te::gm::INTERSECTS, te::da::Round(), te::da::Select::setOrderBy(), te::map::Chart::setPropertiesPos(), te::map::QueryLayer::setQuery(), te::gm::Geometry::setSRID(), te::dt::STRING_TYPE, TE_TR, TE_UNKNOWN_SRS, te::gm::Geometry::transform(), and te::map::UNIQUE_VALUE.
|
private |
Definition at line 1538 of file QueryLayerRenderer.cpp.
|
private |
Definition at line 186 of file QueryLayerRenderer.h.
|
private |
Definition at line 185 of file QueryLayerRenderer.h.
|
private |
Definition at line 184 of file QueryLayerRenderer.h.
|
private |
Definition at line 187 of file QueryLayerRenderer.h.
|
private |
Definition at line 183 of file QueryLayerRenderer.h.
|
private |
Definition at line 182 of file QueryLayerRenderer.h.