Beispiel #1
0
    def testCalculateDateTimesFromISO8601(self):
        # invalid duration string
        vals, ok, exceeded = QgsTemporalUtils.calculateDateTimesFromISO8601(
            'x')
        self.assertFalse(ok)

        vals, ok, exceeded = QgsTemporalUtils.calculateDateTimesFromISO8601(
            'a-03-23T00:00:00Z/2021-03-24T12:00:00Z/PT12H')
        self.assertFalse(ok)
        vals, ok, exceeded = QgsTemporalUtils.calculateDateTimesFromISO8601(
            '2021-03-23T00:00:00Z/b-03-24T12:00:00Z/PT12H')
        self.assertFalse(ok)
        vals, ok, exceeded = QgsTemporalUtils.calculateDateTimesFromISO8601(
            '2021-03-23T00:00:00Z/2021-03-24T12:00:00Z/xc')
        self.assertFalse(ok)

        vals, ok, exceeded = QgsTemporalUtils.calculateDateTimesFromISO8601(
            '2021-03-23T00:00:00Z/2021-03-24T12:00:00Z/PT12H')
        self.assertEqual(vals, [
            QDateTime(2021, 3, 23, 0, 0, 0, 0, Qt.TimeSpec(1)),
            QDateTime(2021, 3, 23, 12, 0, 0, 0, Qt.TimeSpec(1)),
            QDateTime(2021, 3, 24, 0, 0, 0, 0, Qt.TimeSpec(1)),
            QDateTime(2021, 3, 24, 12, 0, 0, 0, Qt.TimeSpec(1))
        ])
        self.assertTrue(ok)
        self.assertFalse(exceeded)
Beispiel #2
0
    def test_stations_to_features(self):
        """
        Test converting stations to features
        """
        path = os.path.join(os.path.dirname(__file__), 'data', 'stations.xml')
        with open(path, 'rb') as f:
            content = f.read()

        byte_array = QByteArray(content)

        parser = FDSNStationXMLParser()
        fdsn = parser.parse(byte_array)

        features = fdsn.to_station_features([])
        self.assertEqual(len(features), 9)

        self.assertEqual([f.attributes() for f in features],
                         [[
                             'SeisComP', 'SED', NULL, NULL,
                             QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                       Qt.TimeSpec(1)), 'CH',
                             QDateTime(1980, 1, 1, 0, 0, 0, 0, Qt.TimeSpec(1)),
                             NULL, '', 'open', NULL,
                             NULL, 'National Seismic Networks of Switzerland',
                             NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'WIMIS',
                             QDateTime(2000, 5, 24, 0,
                                       0, 0, 0, Qt.TimeSpec(1)), NULL, '',
                             'open', NULL, NULL, 46.66488, 7.62418, 770.0,
                             'Wimmis, BE', NULL, NULL, NULL, NULL, NULL,
                             QDateTime(2000, 5, 24, 0,
                                       0, 0, 0, Qt.TimeSpec(1)), NULL,
                             NULL, NULL, NULL, NULL
                         ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'CH',
                              QDateTime(1980, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL,
                              'National Seismic Networks of Switzerland', NULL,
                              NULL, NULL, NULL, NULL, NULL, NULL, 'SINS',
                              QDateTime(2012, 9, 14, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL, 46.68692, 7.86414, 560.0,
                              'Interlaken, Schloss, BE', NULL, NULL, NULL,
                              NULL, NULL,
                              QDateTime(2012, 9, 14, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'CH',
                              QDateTime(1980, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL,
                              'National Seismic Networks of Switzerland', NULL,
                              NULL, NULL, NULL, NULL, NULL, NULL, 'SFRS',
                              QDateTime(2018, 10, 11, 22, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL, 46.58232, 7.65632, 772.3,
                              'Frutigen, Schulhaus Kanderbrück, BE', NULL,
                              NULL, NULL, NULL, NULL,
                              QDateTime(2018, 10, 11, 22, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'CH',
                              QDateTime(1980, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL,
                              'National Seismic Networks of Switzerland', NULL,
                              NULL, NULL, NULL, NULL, NULL, NULL, 'STHK',
                              QDateTime(2015, 4, 21, 11, 31, 34, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL, 46.7437, 7.62953, 559.0,
                              'Thun, Kantonsschule, BE', NULL, NULL, NULL,
                              NULL, NULL,
                              QDateTime(2015, 4, 21, 11, 31, 34, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'CH',
                              QDateTime(1980, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL,
                              'National Seismic Networks of Switzerland', NULL,
                              NULL, NULL, NULL, NULL, NULL, NULL, 'SOLB',
                              QDateTime(2011, 11, 22, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL, 47.206835, 7.517052, 430.0,
                              'Solothurn, Schulhaus Bruehl, SO', NULL, NULL,
                              NULL, NULL, NULL,
                              QDateTime(2011, 11, 22, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'CH',
                              QDateTime(1980, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL,
                              'National Seismic Networks of Switzerland', NULL,
                              NULL, NULL, NULL, NULL, NULL, NULL, 'SOLZ',
                              QDateTime(2012, 1, 12, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL, 47.208825, 7.538306, 444.0,
                              'Solothurn, Zeughausgasse, SO', NULL, NULL, NULL,
                              NULL, NULL,
                              QDateTime(2012, 1, 12, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'CH',
                              QDateTime(1980, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL,
                              'National Seismic Networks of Switzerland', NULL,
                              NULL, NULL, NULL, NULL, NULL, NULL, 'LAUCH',
                              QDateTime(2010, 10, 21, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, '', 'open',
                              NULL, NULL, 46.41554, 7.77166, 2160.0,
                              'Lauchernalp - Loetschental, VS', NULL, NULL,
                              NULL, NULL, NULL,
                              QDateTime(2010, 10, 21, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'Z3',
                              QDateTime(2015, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)),
                              QDateTime(2022, 12, 31, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), '', 'closed', NULL,
                              NULL,
                              'AlpArray Seismic Network (AASN) temporary component',
                              '10.12686/alparray/z3_2015', NULL, NULL, NULL,
                              NULL, NULL, NULL, 'A060A',
                              QDateTime(2015, 8, 14, 14, 0, 0, 0,
                                        Qt.TimeSpec(1)),
                              QDateTime(2017, 2, 16, 10, 0, 0, 0,
                                        Qt.TimeSpec(1)), '', 'closed', NULL,
                              NULL, 47.0305, 7.8904, 1112.1,
                              'Wasen, Napf, BE, Switzerland', NULL, NULL, NULL,
                              NULL, NULL,
                              QDateTime(2015, 8, 14, 14, 0, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ],
                          [
                              'SeisComP', 'SED', NULL, NULL,
                              QDateTime(2021, 11, 30, 0, 56, 10, 720,
                                        Qt.TimeSpec(1)), 'Z3',
                              QDateTime(2015, 1, 1, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)),
                              QDateTime(2022, 12, 31, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), '', 'closed', NULL,
                              NULL,
                              'AlpArray Seismic Network (AASN) temporary component',
                              '10.12686/alparray/z3_2015', NULL, NULL, NULL,
                              NULL, NULL, NULL, 'A060B',
                              QDateTime(2017, 5, 9, 12, 30, 0, 0,
                                        Qt.TimeSpec(1)),
                              QDateTime(2022, 12, 31, 0, 0, 0, 0,
                                        Qt.TimeSpec(1)), '', 'closed', NULL,
                              NULL, 46.993, 7.97764, 1049.1,
                              'Romoos, Napf, BE, Switzerland', NULL, NULL,
                              NULL, NULL, NULL,
                              QDateTime(2017, 5, 9, 12, 30, 0, 0,
                                        Qt.TimeSpec(1)), NULL, NULL, NULL,
                              NULL, NULL
                          ]])