Пример #1
0
    def testAsPair(self):
        """Test formatting x/y as pair"""
        self.assertEqual(QgsCoordinateFormatter.asPair(20, 30, 0), '20,30')
        self.assertEqual(QgsCoordinateFormatter.asPair(20, -30, 0), '20,-30')
        self.assertEqual(QgsCoordinateFormatter.asPair(20.111, 10.999, 0),
                         '20,11')
        self.assertEqual(QgsCoordinateFormatter.asPair(20.111, 10.999, 2),
                         '20.11,11.00')
        self.assertEqual(QgsCoordinateFormatter.asPair(20, 10, 2),
                         '20.00,10.00')
        self.assertEqual(QgsCoordinateFormatter.asPair(20, -10, 2),
                         '20.00,-10.00')

        self.assertEqual(
            QgsCoordinateFormatter.asPair(20,
                                          -10,
                                          2,
                                          order=Qgis.CoordinateOrder.XY),
            '20.00,-10.00')
        self.assertEqual(
            QgsCoordinateFormatter.asPair(20,
                                          -10,
                                          2,
                                          order=Qgis.CoordinateOrder.YX),
            '-10.00,20.00')
Пример #2
0
 def testAsPair(self):
     """Test formatting x/y as pair"""
     self.assertEqual(QgsCoordinateFormatter.asPair(20, 30, 0), '20,30')
     self.assertEqual(QgsCoordinateFormatter.asPair(20, -30, 0), '20,-30')
     self.assertEqual(QgsCoordinateFormatter.asPair(20.111, 10.999, 0), '20,11')
     self.assertEqual(QgsCoordinateFormatter.asPair(20.111, 10.999, 2), '20.11,11.00')
     self.assertEqual(QgsCoordinateFormatter.asPair(20, 10, 2), '20.00,10.00')
     self.assertEqual(QgsCoordinateFormatter.asPair(20, -10, 2), '20.00,-10.00')
Пример #3
0
    def testFormatLocale(self):
        """Test formatting with locales that use comma as decimal separator"""

        QLocale.setDefault(QLocale(QLocale.Italian))

        self.assertEqual(
            QgsCoordinateFormatter.formatY(
                20, QgsCoordinateFormatter.FormatDecimalDegrees, 2), "20,00°N")
        self.assertEqual(
            QgsCoordinateFormatter.formatX(
                20, QgsCoordinateFormatter.FormatDecimalDegrees, 2), "20,00°E")

        self.assertEqual(
            QgsCoordinateFormatter.formatY(
                20.12345678,
                QgsCoordinateFormatter.FormatDegreesMinutesSeconds, 4),
            "20°7′24,4444″N")
        self.assertEqual(
            QgsCoordinateFormatter.formatX(
                20.12345678,
                QgsCoordinateFormatter.FormatDegreesMinutesSeconds, 4),
            "20°7′24,4444″E")

        # formatting x/y as pair
        self.assertEqual(QgsCoordinateFormatter.asPair(20, 30, 0), '20 30')
        self.assertEqual(QgsCoordinateFormatter.asPair(20, -30, 0), '20 -30')
        self.assertEqual(QgsCoordinateFormatter.asPair(20.111, 10.999, 0),
                         '20 11')
        self.assertEqual(QgsCoordinateFormatter.asPair(20.111, 10.999, 2),
                         '20,11 11,00')
        self.assertEqual(QgsCoordinateFormatter.asPair(20, 10, 2),
                         '20,00 10,00')
        self.assertEqual(QgsCoordinateFormatter.asPair(20, -10, 2),
                         '20,00 -10,00')

        self.assertEqual(
            QgsCoordinateFormatter.format(QgsPointXY(20.1111, 30.2111),
                                          QgsCoordinateFormatter.FormatPair,
                                          2), '20,11 30,21')
        self.assertEqual(
            QgsCoordinateFormatter.format(QgsPointXY(20.111, 30.211),
                                          QgsCoordinateFormatter.FormatPair,
                                          2), '20,11 30,21')
        self.assertEqual(
            QgsCoordinateFormatter.format(
                QgsPointXY(20.111, 30.211),
                QgsCoordinateFormatter.FormatDegreesMinutesSeconds, 2),
            '20°6′39,60″E 30°12′39,60″N')

        self.assertEqual(
            QgsCoordinateFormatter.format(
                QgsPointXY(20.1111, 30.2111),
                QgsCoordinateFormatter.FormatDegreesMinutesSeconds, 2,
                QgsCoordinateFormatter.FlagDegreesUseStringSuffix
                | QgsCoordinateFormatter.FlagDegreesPadMinutesSeconds),
            '20°06′39,96″E 30°12′39,96″N')