def test_new(self):
        if not _rave.isXmlSupported():
            return
        import _projectionregistry
        obj = _projectionregistry.new()

        self.assertNotEqual(-1, str(type(obj)).find("ProjectionRegistryCore"))
Beispiel #2
0
    def test_write(self):
        if not _rave.isXmlSupported():
            return
        import _arearegistry
        registry = _arearegistry.load(self.AREA_FIXTURE)
        a = _area.new()
        a.id = "nisse"
        a.description = "nisses test"
        a.xsize = 111
        a.ysize = 222
        a.xscale = 1000.0
        a.yscale = 2000.0
        a.extent = (-738816.513333, -3995515.596160, 955183.48666699999,
                    -1787515.59616)
        a.pcsid = "laea20e60n"
        registry.add(a)

        registry.write(self.TEMPORARY_FILE)

        tree = ElementTree.parse(self.TEMPORARY_FILE)
        areas = tree.findall("area")
        self.assertEqual(3, len(areas))
        self.assertEqual("nisse", areas[2].get('id'))
        args = areas[2].findall("areadef/arg")
        self.assertEqual("laea20e60n",
                         self.findArgElements(args, "id", "pcs").text.strip())
        self.assertEqual(None,
                         self.findArgElements(args, "id", "pcs").get("type"))
        self.assertEqual(
            "111",
            self.findArgElements(args, "id", "xsize").text.strip())
        self.assertEqual("int",
                         self.findArgElements(args, "id", "xsize").get("type"))
        self.assertEqual(
            "222",
            self.findArgElements(args, "id", "ysize").text.strip())
        self.assertEqual("int",
                         self.findArgElements(args, "id", "ysize").get("type"))
        self.assertEqual(
            "1000.0",
            self.findArgElements(args, "id", "xscale").text.strip()[:6])
        self.assertEqual(
            "float",
            self.findArgElements(args, "id", "xscale").get("type"))
        self.assertEqual(
            "2000.0",
            self.findArgElements(args, "id", "yscale").text.strip()[:6])
        self.assertEqual(
            "float",
            self.findArgElements(args, "id", "yscale").get("type"))
        extent = self.findArgElements(args, "id",
                                      "extent").text.strip().split(",")
        self.assertEqual("-738816.5", extent[0].strip()[:9])
        self.assertEqual("-3995515.5", extent[1].strip()[:10])
        self.assertEqual("955183.4", extent[2].strip()[:8])
        self.assertEqual("-1787515.5", extent[3].strip()[:10])
        self.assertEqual(
            "sequence",
            self.findArgElements(args, "id", "extent").get("type"))
Beispiel #3
0
 def test_removeByName(self):
     if not _rave.isXmlSupported():
         return
     import _arearegistry
     registry = _arearegistry.load(self.AREA_FIXTURE)
     registry.removeByName("nrd2km_laea20e60n")
     self.assertEqual(1, registry.size())
     self.assertEqual("nrd2km", registry.get(0).id)
Beispiel #4
0
 def testIsXMlSupported(self):
     modulebuilt = False
     try:
         import _projectionregistry
         import _arearegistry
         modulebuilt = True
     except:
         pass
     self.assertEqual(modulebuilt, _rave.isXmlSupported())
Beispiel #5
0
    def test_test_c_loading(self):
        if not _rave.isXmlSupported():
            return
        registry = area_registry.area_registry(self.AREA_FIXTURE,
                                               self.PROJ_FIXTURE)

        nrd2kmarea = registry.getarea("nrd2km")
        self.assertNotEqual(-1, str(type(nrd2kmarea)).find("AreaCore"))
        self.assertEqual("nrd2km", nrd2kmarea.id)
        self.assertEqual(848, nrd2kmarea.xsize)
Beispiel #6
0
    def test_load(self):
        if not _rave.isXmlSupported():
            return
        import _arearegistry
        registry = _arearegistry.load(self.AREA_FIXTURE)
        self.assertTrue(registry != None)

        self.assertEqual(2, registry.size())
        self.assertEqual("nrd2km", registry.get(0).id)
        self.assertEqual("nrd2km_laea20e60n", registry.get(1).id)
Beispiel #7
0
 def testWrongAttInput(self):
     if not _rave.isXmlSupported():
         return
     import _radvol, rave_radvol_realtime
     vertical_profile = _raveio.open(self.BADINPUT).object
     rpars = rave_radvol_realtime.get_options(vertical_profile)
     try:
         status = _radvol.attCorrection(vertical_profile, rpars)
     except AttributeError:
         self.assertTrue(True)
Beispiel #8
0
 def reload(self):
     self._registry = {}
     if not _rave.isXmlSupported():
         return
     import _arearegistry, _projectionregistry
     projreg = _projectionregistry.load(self._projregistryconfig)
     areareg = _arearegistry.load(self._arearegistryconfig, projreg)
     len = areareg.size()
     for i in range(len):
         a = areareg.get(i)
         self._registry[a.id] = a
Beispiel #9
0
 def _loadarea(self, areaid):
     if not _rave.isXmlSupported():
         return
     import _arearegistry, _projectionregistry
     projreg = _projectionregistry.load(self._projregistryconfig)
     areareg = _arearegistry.load(self._arearegistryconfig, projreg)
     try:
         foundarea = areareg.getByName(areaid)
         self._registry[foundarea.id] = foundarea
     except IndexError:
         pass
 def test_add(self):
     if not _rave.isXmlSupported():
         return
     import _projectionregistry
     registry = _projectionregistry.load(self.FIXTURE)
     newproj = _projection.new("testid", "something",
                               "+proj=latlong +ellps=WGS84 +datum=WGS84")
     registry.add(newproj)
     self.assertEqual(6, registry.size())
     self.assertEqual("testid", registry.getByName("testid").id)
     self.assertEqual("something", registry.getByName("testid").description)
 def test_remove(self):
     if not _rave.isXmlSupported():
         return
     import _projectionregistry
     registry = _projectionregistry.load(self.FIXTURE)
     registry.remove(2)
     self.assertEqual(4, registry.size())
     try:
         registry.getByName("ps14e60n")
         self.fail("Expected IndexError")
     except IndexError:
         pass
    def test_getByName(self):
        if not _rave.isXmlSupported():
            return
        import _projectionregistry
        registry = _projectionregistry.load(self.FIXTURE)
        self.assertTrue(registry != None)

        self.assertEqual("llwgs84", registry.getByName("llwgs84").id)
        self.assertEqual("rack", registry.getByName("rack").id)
        self.assertEqual("ps14e60n", registry.getByName("ps14e60n").id)
        self.assertEqual("laea20e60n", registry.getByName("laea20e60n").id)
        self.assertEqual("rot10w30s", registry.getByName("rot10w30s").id)
    def test_load(self):
        if not _rave.isXmlSupported():
            return
        import _projectionregistry
        registry = _projectionregistry.load(self.FIXTURE)
        self.assertTrue(registry != None)

        self.assertEqual(5, registry.size())
        self.assertEqual("llwgs84", registry.get(0).id)
        self.assertEqual("rack", registry.get(1).id)
        self.assertEqual("ps14e60n", registry.get(2).id)
        self.assertEqual("laea20e60n", registry.get(3).id)
        self.assertEqual("rot10w30s", registry.get(4).id)
Beispiel #14
0
 def test_add(self):
     if not _rave.isXmlSupported():
         return
     import _arearegistry
     registry = _arearegistry.load(self.AREA_FIXTURE)
     a = _area.new()
     a.id = "nisse"
     a.xsize = 111
     a.ysize = 222
     a.xscale = 1000.0
     a.yscale = 2000.0
     a.extent = (-738816.513333, -3995515.596160, 955183.48666699999,
                 -1787515.59616)
     a.pcsid = "laea20e60n"
     registry.add(a)
     self.assertEqual(3, registry.size())
     self.assertEqual("nisse", registry.getByName("nisse").id)
    def test_write_2(self):
        if not _rave.isXmlSupported():
            return
        import _projectionregistry
        registry = _projectionregistry.load(self.FIXTURE)
        newproj = _projection.new("testid", "something",
                                  "+proj=latlong +ellps=WGS84 +datum=WGS84")
        registry.add(newproj)
        registry.write(self.TEMPORARY_FILE)

        nreg = _projectionregistry.load(self.TEMPORARY_FILE)

        self.assertEqual(6, nreg.size())
        self.assertEqual("testid", nreg.get(5).id)
        self.assertEqual("something", nreg.get(5).description)
        self.assertEqual("+proj=latlong +ellps=WGS84 +datum=WGS84",
                         nreg.get(5).definition)
Beispiel #16
0
    def test_load_laea(self):
        if not _rave.isXmlSupported():
            return
        import _arearegistry
        registry = _arearegistry.load(self.AREA_FIXTURE)
        self.assertTrue(registry != None)

        area = registry.get(1)
        self.assertEqual("laea20e60n", area.pcsid)
        self.assertEqual(None, area.projection)
        self.assertEqual(987, area.xsize)
        self.assertEqual(543, area.ysize)
        self.assertAlmostEqual(2000.0, area.xscale, 4)
        self.assertAlmostEqual(1000.0, area.yscale, 4)
        self.assertAlmostEqual(-738816.513333, area.extent[0], 4)
        self.assertAlmostEqual(-3995515.596160, area.extent[1], 4)
        self.assertAlmostEqual(955183.48666699999, area.extent[2], 4)
        self.assertAlmostEqual(-1787515.59616, area.extent[3], 4)
    def test_write(self):
        if not _rave.isXmlSupported():
            return
        import _projectionregistry
        registry = _projectionregistry.load(self.FIXTURE)
        newproj = _projection.new("testid", "something",
                                  "+proj=latlong +ellps=WGS84 +datum=WGS84")
        registry.add(newproj)
        registry.write(self.TEMPORARY_FILE)

        tree = ElementTree.parse(self.TEMPORARY_FILE)
        projs = tree.findall("projection")
        self.assertEqual(6, len(projs))
        self.assertEqual("testid", projs[5].get('id'))
        self.assertEqual("something",
                         projs[5].find("description").text.strip())
        self.assertEqual("+proj=latlong +ellps=WGS84 +datum=WGS84",
                         projs[5].find("projdef").text.strip())
Beispiel #18
0
    def test_load_laea_withprojregistry(self):
        if not _rave.isXmlSupported():
            return
        import _arearegistry
        import _projectionregistry
        projregistry = _projectionregistry.load(self.PROJ_FIXTURE)
        registry = _arearegistry.load(self.AREA_FIXTURE, projregistry)
        self.assertTrue(registry != None)

        area = registry.get(1)
        self.assertEqual("laea20e60n", area.pcsid)
        self.assertTrue(area.projection != None)
        self.assertEqual("Nordic, all radars, 2 km, laea", area.description)
        self.assertEqual(987, area.xsize)
        self.assertEqual(543, area.ysize)
        self.assertAlmostEqual(2000.0, area.xscale, 4)
        self.assertAlmostEqual(1000.0, area.yscale, 4)
        self.assertAlmostEqual(-738816.513333, area.extent[0], 4)
        self.assertAlmostEqual(-3995515.596160, area.extent[1], 4)
        self.assertAlmostEqual(955183.48666699999, area.extent[2], 4)
        self.assertAlmostEqual(-1787515.59616, area.extent[3], 4)
Beispiel #19
0
 def testRadvolAttCorrection(self):
     if not _rave.isXmlSupported():
         return
     import _radvol, rave_radvol_realtime
     pvol = _raveio.open(self.FIXATT).object
     rpars = rave_radvol_realtime.get_options(pvol)
     status = _radvol.attCorrection(pvol, rpars)
     self.assertTrue(status)
     ref = _raveio.open(self.FIXATTC).object
     myscan = pvol.getScan(0)
     refscan = ref.getScan(0)
     qf, task_args = None, None
     try:
         qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.att")
         task_args = qf.getAttribute("how/task_args")
     except:
         pass
     self.assertNotEqual(qf, None)
     self.assertEqual(
         task_args,
         "ATT: ATT_QI1=1.0, ATT_QI0=5.0, ATT_QIUn=0.9, ATT_a= 0.0044, ATT_b= 1.17, ATT_ZRa=200.0, ATT_ZRb= 1.6, ATT_Refl= 4.0, ATT_Last= 1.0, ATT_Sum= 5.0"
     )
     self.assertFalse(different(myscan, refscan))
Beispiel #20
0
 def testRadvolNmetRemoval(self):
     if not _rave.isXmlSupported():
         return
     import _radvol, rave_radvol_realtime
     pvol = _raveio.open(self.FIXNMET).object
     rpars = rave_radvol_realtime.get_options(pvol)
     status = _radvol.nmetRemoval(pvol, rpars)
     self.assertTrue(status)
     ref = _raveio.open(self.FIXNMETC).object
     myscan = pvol.getScan(0)
     refscan = ref.getScan(0)
     qf, task_args = None, None
     try:
         qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.nmet")
         task_args = qf.getAttribute("how/task_args")
     except:
         pass
     self.assertNotEqual(qf, None)
     self.assertEqual(
         task_args,
         "NMET: NMET_QI=0.75, NMET_QIUn=0.30, NMET_AReflMin=-15.00, NMET_AReflMax= 5.00, NMET_AAltMin= 1.0, NMET_AAltMax= 3.0, NMET_ADet=0.30, NMET_BAlt=20.0"
     )
     self.assertFalse(different(myscan, refscan))
Beispiel #21
0
 def testRadvolBroadAssessment(self):
     if not _rave.isXmlSupported():
         return
     import _radvol, rave_radvol_realtime
     pvol = _raveio.open(self.FIXBROAD).object
     rpars = rave_radvol_realtime.get_options(pvol)
     status = _radvol.broadAssessment(pvol, rpars)
     self.assertTrue(status)
     ref = _raveio.open(self.FIXBROADC).object
     myscan = pvol.getScan(0)
     refscan = ref.getScan(0)
     qf, task_args = None, None
     try:
         qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.broad")
         task_args = qf.getAttribute("how/task_args")
     except:
         pass
     self.assertNotEqual(qf, None)
     self.assertEqual(
         task_args,
         "BROAD: BROAD_LhQI1=1.1, BROAD_LhQI0=2.5, BROAD_LvQI1=1.6, BROAD_LvQI0=4.3, BROAD_Pulse=0.30"
     )
     self.assertFalse(different(myscan, refscan))
Beispiel #22
0
 def testRadvolSpeckRemoval(self):
     if not _rave.isXmlSupported():
         return
     import _radvol, rave_radvol_realtime
     pvol = _raveio.open(self.FIXSPECK).object
     rpars = rave_radvol_realtime.get_options(pvol)
     status = _radvol.speckRemoval(pvol, rpars)
     self.assertTrue(status)
     ref = _raveio.open(self.FIXSPECKC).object
     myscan = pvol.getScan(0)
     refscan = ref.getScan(0)
     qf, task_args = None, None
     try:
         qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.speck")
         task_args = qf.getAttribute("how/task_args")
     except:
         pass
     self.assertNotEqual(qf, None)
     self.assertEqual(
         task_args,
         "SPECK: SPECK_QI=0.9, SPECK_QIUn=0.5, SPECK_AGrid=1, SPECK_ANum=2, SPECK_AStep=1, SPECK_BGrid=1, SPECK_BNum=2, SPECK_BStep=2"
     )
     self.assertFalse(different(myscan, refscan))
Beispiel #23
0
 def testRadvolSpikeRemoval(self):
     if not _rave.isXmlSupported():
         return
     import _radvol, rave_radvol_realtime
     pvol = _raveio.open(self.FIXSPIKE).object
     rpars = rave_radvol_realtime.get_options(pvol)
     status = _radvol.spikeRemoval(pvol, rpars)
     self.assertTrue(status)
     ref = _raveio.open(self.FIXSPIKEC).object
     myscan = pvol.getScan(0)
     refscan = ref.getScan(0)
     qf, task_args = None, None
     try:
         qf = myscan.getQualityFieldByHowTask("pl.imgw.radvolqc.spike")
         task_args = qf.getAttribute("how/task_args")
     except:
         pass
     self.assertNotEqual(qf, None)
     self.assertEqual(
         task_args,
         "SPIKE: SPIKE_QI=0.5, SPIKE_QIUn=0.3, SPIKE_ACovFrac=0.9, SPIKE_AAzim=3, SPIKE_AVarAzim=  1000.0, SPIKE_ABeam=15, SPIKE_AVarBeam=5.0, SPIKE_AFrac=0.45, SPIKE_BDiff=10.0, SPIKE_BAzim=3, SPIKE_BFrac=0.25"
     )
     self.assertFalse(different(myscan, refscan))
Beispiel #24
0
    def test_write_2(self):
        if not _rave.isXmlSupported():
            return
        import _arearegistry
        registry = _arearegistry.load(self.AREA_FIXTURE)
        a = _area.new()
        a.id = "nisse"
        a.description = "nisses test"
        a.xsize = 111
        a.ysize = 222
        a.xscale = 1000.0
        a.yscale = 2000.0
        a.extent = (-738816.513333, -3995515.596160, 955183.48666699999,
                    -1787515.59616)
        a.pcsid = "laea20e60n"
        registry.add(a)

        registry.write(self.TEMPORARY_FILE)

        newreg = _arearegistry.load(self.TEMPORARY_FILE)
        self.assertEqual(3, newreg.size())
        self.assertEqual("nrd2km", newreg.get(0).id)
        self.assertEqual("nrd2km_laea20e60n", newreg.get(1).id)
        self.assertEqual("nisse", newreg.get(2).id)