Skip to content

Commit

Permalink
Server landingpage: expose initial extent - checks
Browse files Browse the repository at this point in the history
  • Loading branch information
elpaso committed Aug 17, 2020
1 parent a07b909 commit 80e7fd8
Showing 1 changed file with 20 additions and 12 deletions.
32 changes: 20 additions & 12 deletions src/server/services/landingpage/qgslandingpageutils.cpp
Expand Up @@ -231,20 +231,28 @@ json QgsLandingPageUtils::projectInfo( const QString &projectUri )
if ( ! canvasElements.isEmpty() )
{
const QDomNode canvasElement { canvasElements.item( 0 ).firstChildElement( QStringLiteral( "extent" ) ) };
QgsRectangle extent
if ( !canvasElement.isNull() &&
!canvasElement.firstChildElement( QStringLiteral( "xmin" ) ).isNull() &&
!canvasElement.firstChildElement( QStringLiteral( "ymin" ) ).isNull() &&
!canvasElement.firstChildElement( QStringLiteral( "xmax" ) ).isNull() &&
!canvasElement.firstChildElement( QStringLiteral( "ymax" ) ).isNull()
)
{
canvasElement.firstChildElement( QStringLiteral( "xmin" ) ).text().toDouble(),
canvasElement.firstChildElement( QStringLiteral( "ymin" ) ).text().toDouble(),
canvasElement.firstChildElement( QStringLiteral( "xmax" ) ).text().toDouble(),
canvasElement.firstChildElement( QStringLiteral( "ymax" ) ).text().toDouble(),
};
// Need conversion?
if ( p.crs().authid() != 4326 )
{
QgsCoordinateTransform ct { p.crs(), QgsCoordinateReferenceSystem::fromEpsgId( 4326 ), p.transformContext() };
extent = ct.transform( extent );
QgsRectangle extent
{
canvasElement.firstChildElement( QStringLiteral( "xmin" ) ).text().toDouble(),
canvasElement.firstChildElement( QStringLiteral( "ymin" ) ).text().toDouble(),
canvasElement.firstChildElement( QStringLiteral( "xmax" ) ).text().toDouble(),
canvasElement.firstChildElement( QStringLiteral( "ymax" ) ).text().toDouble(),
};
// Need conversion?
if ( p.crs().authid() != 4326 )
{
QgsCoordinateTransform ct { p.crs(), QgsCoordinateReferenceSystem::fromEpsgId( 4326 ), p.transformContext() };
extent = ct.transform( extent );
}
info[ "initial_extent" ] = json::array( { extent.xMinimum(), extent.yMinimum(), extent.xMaximum(), extent.yMaximum() } );
}
info[ "initial_extent" ] = json::array( { extent.xMinimum(), extent.yMinimum(), extent.xMaximum(), extent.yMaximum() } );
}
} );

Expand Down

0 comments on commit 80e7fd8

Please sign in to comment.