|
@@ -220,6 +220,38 @@ void TestQgsPoint::toDegreesMinutesSeconds() |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ); |
|
|
QCOMPARE( QgsPoint( -359, 0 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
|
|
|
//check if latitudes > 90 or <-90 wrap around |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + |
|
|
QString( ",10" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "N" ); |
|
|
QCOMPARE( QgsPoint( 0, 190 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + |
|
|
QString( ",10" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "S" ); |
|
|
QCOMPARE( QgsPoint( 0, -190 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + |
|
|
QString( ",89" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "S" ); |
|
|
QCOMPARE( QgsPoint( 0, 91 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + |
|
|
QString( ",89" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "N" ); |
|
|
QCOMPARE( QgsPoint( 0, -91 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + |
|
|
QString( ",1" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "S" ); |
|
|
QCOMPARE( QgsPoint( 0, 179 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + |
|
|
QString( ",1" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "N" ); |
|
|
QCOMPARE( QgsPoint( 0, -179 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
|
|
|
//should be no directional suffixes for 0 degree coordinates |
|
|
myControlString = QString( "0" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + |
|
@@ -258,9 +290,9 @@ void TestQgsPoint::toDegreesMinutesSeconds() |
|
|
//test rounding does not create seconds >= 60 |
|
|
myControlString = QString( "100" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "E" ) + |
|
|
QString( ",100" ) + QChar( 176 ) + |
|
|
QString( ",90" ) + QChar( 176 ) + |
|
|
QString( "0" ) + QChar( 0x2032 ) + QString( "0.00" ) + QChar( 0x2033 ) + QString( "N" ); |
|
|
QCOMPARE( QgsPoint( 99.999999, 99.999999 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
QCOMPARE( QgsPoint( 99.999999, 89.999999 ).toDegreesMinutesSeconds( 2 ), myControlString ); |
|
|
|
|
|
//should be no directional suffixes for 180 degree longitudes |
|
|
myControlString = QString( "180" ) + QChar( 176 ) + |
|
|