Skip to content

Commit

Permalink
inherit SRS and extent from parent
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@4803 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
rblazek committed Feb 6, 2006
1 parent bbf7791 commit 5e4c57f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
18 changes: 16 additions & 2 deletions src/providers/wms/qgswmsprovider.cpp
Expand Up @@ -1107,7 +1107,8 @@ void QgsWmsProvider::parseStyle(QDomElement const & e, QgsWmsStyleProperty& styl
}


void QgsWmsProvider::parseLayer(QDomElement const & e, QgsWmsLayerProperty& layerProperty)
void QgsWmsProvider::parseLayer(QDomElement const & e, QgsWmsLayerProperty& layerProperty,
QgsWmsLayerProperty *parentProperty)
{
#ifdef QGISDEBUG
// std::cout << "QgsWmsProvider::parseLayer: entering." << std::endl;
Expand Down Expand Up @@ -1149,7 +1150,7 @@ void QgsWmsProvider::parseLayer(QDomElement const & e, QgsWmsLayerProperty& laye
subLayerProperty.crs = layerProperty.crs;
// TODO

parseLayer(e1, subLayerProperty);
parseLayer(e1, subLayerProperty, &layerProperty );

layerProperty.layer.push_back(subLayerProperty);

Expand Down Expand Up @@ -1271,6 +1272,19 @@ void QgsWmsProvider::parseLayer(QDomElement const & e, QgsWmsLayerProperty& laye
// std::cout << "QgsWmsProvider::parseLayer: srs is: '" << layerProperty.srs << "'." << std::endl;
// std::cout << "QgsWmsProvider::parseLayer: bbox is: '" << layerProperty.latlonbbox.stringRep() << "'." << std::endl;

// inherit SRS and BoundingBox if not defined but available in parent
if ( parentProperty )
{
if ( layerProperty.crs.size() == 0 )
{
layerProperty.crs = parentProperty->crs;
}
if ( layerProperty.boundingBox.size() == 0 )
{
layerProperty.boundingBox = parentProperty->boundingBox;
}
}

// Store the extent so that it can be combined with others later
// in calculateExtent()
// For now use extent in the first SRS defined for the layer
Expand Down
3 changes: 2 additions & 1 deletion src/providers/wms/qgswmsprovider.h
Expand Up @@ -576,7 +576,8 @@ public slots:

//! parse the WMS Layer XML element
// TODO: Make recursable
void parseLayer(QDomElement const & e, QgsWmsLayerProperty& layerProperty);
void parseLayer(QDomElement const & e, QgsWmsLayerProperty& layerProperty,
QgsWmsLayerProperty *parentProperty=0);

//! calculates the combined extent of the layers selected by layersDrawn
void calculateExtent();
Expand Down

0 comments on commit 5e4c57f

Please sign in to comment.