def testFormatYPair(self): """Test formatting y as pair""" self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatPair, 0), '20') self.assertEqual(QgsCoordinateFormatter.formatY(-20, QgsCoordinateFormatter.FormatPair, 0), '-20') self.assertEqual(QgsCoordinateFormatter.formatY(20.11111111111111111, QgsCoordinateFormatter.FormatPair, 3), '20.111') self.assertEqual(QgsCoordinateFormatter.formatY(20.11161111111111111, QgsCoordinateFormatter.FormatPair, 3), '20.112') self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatPair, 3), '20.000') self.assertEqual(QgsCoordinateFormatter.formatY(float('inf'), QgsCoordinateFormatter.FormatPair, 3), 'infinite')
def testFormatYDegrees(self): """Test formatting y as decimal degrees""" self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"20.00°N") # check precision self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatDecimalDegrees, 4), u"20.0000°N") self.assertEqual(QgsCoordinateFormatter.formatY(20.12345678, QgsCoordinateFormatter.FormatDecimalDegrees, 4), u"20.1235°N") self.assertEqual(QgsCoordinateFormatter.formatY(20.12345678, QgsCoordinateFormatter.FormatDecimalDegrees, 0), u"20°N") # check if latitudes > 90 or <-90 wrap around self.assertEqual(QgsCoordinateFormatter.formatY(190, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"10.00°N") self.assertEqual(QgsCoordinateFormatter.formatY(-190, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"10.00°S") self.assertEqual(QgsCoordinateFormatter.formatY(91, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"89.00°S") self.assertEqual(QgsCoordinateFormatter.formatY(-91, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"89.00°N") self.assertEqual(QgsCoordinateFormatter.formatY(179, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"1.00°S") self.assertEqual(QgsCoordinateFormatter.formatY(-179, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"1.00°N") # should be no directional suffixes for 0 degree coordinates self.assertEqual(QgsCoordinateFormatter.formatY(0, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"0.00°") # should also be no directional suffix for 0 degree coordinates within specified precision self.assertEqual(QgsCoordinateFormatter.formatY(-0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"0.00°") self.assertEqual(QgsCoordinateFormatter.formatY(0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"0.00°") self.assertEqual(QgsCoordinateFormatter.formatY(-0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 5), u"0.00001°S") self.assertEqual(QgsCoordinateFormatter.formatY(0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 5), u"0.00001°N") # test without direction suffix self.assertEqual(QgsCoordinateFormatter.formatY(80, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"80.00°") # test 0 longitude self.assertEqual(QgsCoordinateFormatter.formatY(0, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"0.00°") # test near zero latitude self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"0.00°") # should be no "-" prefix for near-zero latitude when rounding to 2 decimal places self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"0.00°") self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 6, QgsCoordinateFormatter.FormatFlags()), u"0.000001°") self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 6, QgsCoordinateFormatter.FormatFlags()), u"-0.000001°")
def testFormatYDegrees(self): """Test formatting y as decimal degrees""" self.assertEqual( QgsCoordinateFormatter.formatY( 20, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"20.00°N") # check precision self.assertEqual( QgsCoordinateFormatter.formatY( 20, QgsCoordinateFormatter.FormatDecimalDegrees, 4), u"20.0000°N") self.assertEqual( QgsCoordinateFormatter.formatY( 20.12345678, QgsCoordinateFormatter.FormatDecimalDegrees, 4), u"20.1235°N") self.assertEqual( QgsCoordinateFormatter.formatY( 20.12345678, QgsCoordinateFormatter.FormatDecimalDegrees, 0), u"20°N") # check if latitudes > 90 or <-90 wrap around self.assertEqual( QgsCoordinateFormatter.formatY( 190, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"10.00°N") self.assertEqual( QgsCoordinateFormatter.formatY( -190, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"10.00°S") self.assertEqual( QgsCoordinateFormatter.formatY( 91, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"89.00°S") self.assertEqual( QgsCoordinateFormatter.formatY( -91, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"89.00°N") self.assertEqual( QgsCoordinateFormatter.formatY( 179, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"1.00°S") self.assertEqual( QgsCoordinateFormatter.formatY( -179, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"1.00°N") # should be no directional suffixes for 0 degree coordinates self.assertEqual( QgsCoordinateFormatter.formatY( 0, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"0.00°") # should also be no directional suffix for 0 degree coordinates within specified precision self.assertEqual( QgsCoordinateFormatter.formatY( -0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"0.00°") self.assertEqual( QgsCoordinateFormatter.formatY( 0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 2), u"0.00°") self.assertEqual( QgsCoordinateFormatter.formatY( -0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 5), u"0.00001°S") self.assertEqual( QgsCoordinateFormatter.formatY( 0.00001, QgsCoordinateFormatter.FormatDecimalDegrees, 5), u"0.00001°N") # test without direction suffix self.assertEqual( QgsCoordinateFormatter.formatY( 80, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"80.00°") # test 0 longitude self.assertEqual( QgsCoordinateFormatter.formatY( 0, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"0.00°") # test near zero latitude self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"0.00°") # should be no "-" prefix for near-zero latitude when rounding to 2 decimal places self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 2, QgsCoordinateFormatter.FormatFlags()), u"0.00°") self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 6, QgsCoordinateFormatter.FormatFlags()), u"0.000001°") self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDecimalDegrees, 6, QgsCoordinateFormatter.FormatFlags()), u"-0.000001°")
def testFormatYDegreesMinutes(self): """Test formatting y as DM""" self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"20°0.00′N") # check precision self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatDegreesMinutes, 4), u"20°0.0000′N") self.assertEqual(QgsCoordinateFormatter.formatY(20.12345678, QgsCoordinateFormatter.FormatDegreesMinutes, 4), u"20°7.4074′N") self.assertEqual(QgsCoordinateFormatter.formatY(20.12345678, QgsCoordinateFormatter.FormatDegreesMinutes, 0), u"20°7′N") # check if latitudes > 90 or <-90 wrap around self.assertEqual(QgsCoordinateFormatter.formatY(190, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"10°0.00′N") self.assertEqual(QgsCoordinateFormatter.formatY(-190, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"10°0.00′S") self.assertEqual(QgsCoordinateFormatter.formatY(91, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"89°0.00′S") self.assertEqual(QgsCoordinateFormatter.formatY(-91, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"89°0.00′N") self.assertEqual(QgsCoordinateFormatter.formatY(179, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"1°0.00′S") self.assertEqual(QgsCoordinateFormatter.formatY(-179, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"1°0.00′N") # should be no directional suffixes for 0 degree coordinates self.assertEqual(QgsCoordinateFormatter.formatY(0, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"0°0.00′") # should also be no directional suffix for 0 degree coordinates within specified precision self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"0°0.00′") self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"0°0.00′") self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5), u"0°0.00006′S") self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5), u"0°0.00006′N") # test rounding does not create minutes >= 60 self.assertEqual(QgsCoordinateFormatter.formatY(79.999999, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"80°0.00′N") # test without direction suffix self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"20°0.00′") # test 0 latitude self.assertEqual(QgsCoordinateFormatter.formatY(0, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"0°0.00′") # test near zero latitude self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"0°0.00′") # should be no "-" prefix for near-zero latitude when rounding to 2 decimal places self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"0°0.00′") self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, QgsCoordinateFormatter.FormatFlags()), u"0°0.00006′") self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, QgsCoordinateFormatter.FormatFlags()), u"-0°0.00006′") # test with padding padding_and_suffix = QgsCoordinateFormatter.FormatFlags(QgsCoordinateFormatter.FlagDegreesPadMinutesSeconds | QgsCoordinateFormatter.FlagDegreesUseStringSuffix) self.assertEqual(QgsCoordinateFormatter.formatY(20, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"20°00.00′N") self.assertEqual(QgsCoordinateFormatter.formatY(0, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"0°00.00′") self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"0°00.00′") self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"0°00.00′") self.assertEqual(QgsCoordinateFormatter.formatY(-0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, padding_and_suffix), u"0°00.00006′S") self.assertEqual(QgsCoordinateFormatter.formatY(0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, padding_and_suffix), u"0°00.00006′N")
def testFormatYDegreesMinutes(self): """Test formatting y as DM""" self.assertEqual( QgsCoordinateFormatter.formatY( 20, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"20°0.00′N") # check precision self.assertEqual( QgsCoordinateFormatter.formatY( 20, QgsCoordinateFormatter.FormatDegreesMinutes, 4), u"20°0.0000′N") self.assertEqual( QgsCoordinateFormatter.formatY( 20.12345678, QgsCoordinateFormatter.FormatDegreesMinutes, 4), u"20°7.4074′N") self.assertEqual( QgsCoordinateFormatter.formatY( 20.12345678, QgsCoordinateFormatter.FormatDegreesMinutes, 0), u"20°7′N") # check if latitudes > 90 or <-90 wrap around self.assertEqual( QgsCoordinateFormatter.formatY( 190, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"10°0.00′N") self.assertEqual( QgsCoordinateFormatter.formatY( -190, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"10°0.00′S") self.assertEqual( QgsCoordinateFormatter.formatY( 91, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"89°0.00′S") self.assertEqual( QgsCoordinateFormatter.formatY( -91, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"89°0.00′N") self.assertEqual( QgsCoordinateFormatter.formatY( 179, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"1°0.00′S") self.assertEqual( QgsCoordinateFormatter.formatY( -179, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"1°0.00′N") # should be no directional suffixes for 0 degree coordinates self.assertEqual( QgsCoordinateFormatter.formatY( 0, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"0°0.00′") # should also be no directional suffix for 0 degree coordinates within specified precision self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"0°0.00′") self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"0°0.00′") self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5), u"0°0.00006′S") self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5), u"0°0.00006′N") # test rounding does not create minutes >= 60 self.assertEqual( QgsCoordinateFormatter.formatY( 79.999999, QgsCoordinateFormatter.FormatDegreesMinutes, 2), u"80°0.00′N") # test without direction suffix self.assertEqual( QgsCoordinateFormatter.formatY( 20, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"20°0.00′") # test 0 latitude self.assertEqual( QgsCoordinateFormatter.formatY( 0, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"0°0.00′") # test near zero latitude self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"0°0.00′") # should be no "-" prefix for near-zero latitude when rounding to 2 decimal places self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, QgsCoordinateFormatter.FormatFlags()), u"0°0.00′") self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, QgsCoordinateFormatter.FormatFlags()), u"0°0.00006′") self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, QgsCoordinateFormatter.FormatFlags()), u"-0°0.00006′") # test with padding padding_and_suffix = QgsCoordinateFormatter.FormatFlags( QgsCoordinateFormatter.FlagDegreesPadMinutesSeconds | QgsCoordinateFormatter.FlagDegreesUseStringSuffix) self.assertEqual( QgsCoordinateFormatter.formatY( 20, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"20°00.00′N") self.assertEqual( QgsCoordinateFormatter.formatY( 0, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"0°00.00′") self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"0°00.00′") self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 2, padding_and_suffix), u"0°00.00′") self.assertEqual( QgsCoordinateFormatter.formatY( -0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, padding_and_suffix), u"0°00.00006′S") self.assertEqual( QgsCoordinateFormatter.formatY( 0.000001, QgsCoordinateFormatter.FormatDegreesMinutes, 5, padding_and_suffix), u"0°00.00006′N")