Ejemplo n.º 1
0
def jpeg2000_1():

    gdaltest.jpeg2000_drv = gdal.GetDriverByName('JPEG2000')

    gdaltest.deregister_all_jpeg2000_drivers_but('JPEG2000')

    return 'success'
Ejemplo n.º 2
0
Archivo: xmp.py Proyecto: Joe-xXx/gdal
    def test( self ):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            gdaltest.post_reason('open failed')
            ret = 'failure'
        else:
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif len(ds.GetMetadata('xml:XMP')) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Ejemplo n.º 3
0
def test_xmp(drivername, filename, expect_xmp):
    drv = gdal.GetDriverByName(drivername)
    if drv is None:
        pytest.skip()

    if drivername == 'PDF':
        md = drv.GetMetadata()
        if 'HAVE_POPPLER' not in md and 'HAVE_PODOFO' not in md:
            pytest.skip()

    # we set ECW to not resolve projection and datum strings to get 3.x behavior.
    gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

    if '.jp2' in filename:
        gdaltest.deregister_all_jpeg2000_drivers_but(drivername)

    try:
        ds = gdal.Open(filename)
        if filename == 'data/rgbsmall_with_xmp.webp':
            if ds is None:
                pytest.skip("Old libwebp don't support VP8X containers")
        else:
            assert ds is not None, 'open failed'

        xmp_md = ds.GetMetadata('xml:XMP')

        assert ds.GetDriver().ShortName == drivername, 'opened with wrong driver'
        assert not (expect_xmp and not xmp_md), 'did not find xml:XMP metadata'
        assert not (expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList()), 'did not find xml:XMP metadata domain'
        assert expect_xmp or not xmp_md, 'found unexpected xml:XMP metadata'

        ds = None
    finally:
        if '.jp2' in filename:
            gdaltest.reregister_all_jpeg2000_drivers()
Ejemplo n.º 4
0
    def test(self):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            gdaltest.post_reason('open failed')
            ret = 'failure'
        else:
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif len(ds.GetMetadata('xml:XMP')) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Ejemplo n.º 5
0
def ecw_1():

    try:
        gdaltest.ecw_drv = gdal.GetDriverByName('ECW')
        gdaltest.jp2ecw_drv = gdal.GetDriverByName('JP2ECW')
    except:
        gdaltest.ecw_drv = None
        gdaltest.jp2ecw_drv = None

    gdaltest.ecw_write = 0

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2ECW')

    if gdaltest.ecw_drv is not None:
        if gdaltest.ecw_drv.GetMetadataItem('DMD_CREATIONDATATYPES') != None:
            gdaltest.ecw_write = 1

        longname = gdaltest.ecw_drv.GetMetadataItem('DMD_LONGNAME')

        sdk_off = longname.find('SDK ')
        if sdk_off != -1:
            gdaltest.ecw_drv.major_version = int(longname[sdk_off + 4])
        else:
            gdaltest.ecw_drv.major_version = 3

    return 'success'
Ejemplo n.º 6
0
def jpeg2000_1():

    gdaltest.jpeg2000_drv = gdal.GetDriverByName('JPEG2000')

    gdaltest.deregister_all_jpeg2000_drivers_but('JPEG2000')

    return 'success'
Ejemplo n.º 7
0
def test_xmp(drivername, filename, expect_xmp):
    drv = gdal.GetDriverByName(drivername)
    if drv is None:
        pytest.skip()

    if drivername == 'PDF':
        md = drv.GetMetadata()
        if 'HAVE_POPPLER' not in md and 'HAVE_PODOFO' not in md:
            pytest.skip()

    # we set ECW to not resolve projection and datum strings to get 3.x behavior.
    gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

    if '.jp2' in filename:
        gdaltest.deregister_all_jpeg2000_drivers_but(drivername)

    try:
        ds = gdal.Open(filename)
        if filename == 'data/rgbsmall_with_xmp.webp':
            if ds is None:
                pytest.skip("Old libwebp don't support VP8X containers")
        else:
            assert ds is not None, 'open failed'

        xmp_md = ds.GetMetadata('xml:XMP')

        assert ds.GetDriver().ShortName == drivername, 'opened with wrong driver'
        assert not (expect_xmp and not xmp_md), 'did not find xml:XMP metadata'
        assert not (expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList()), 'did not find xml:XMP metadata domain'
        assert expect_xmp or not xmp_md, 'found unexpected xml:XMP metadata'

        ds = None
    finally:
        if '.jp2' in filename:
            gdaltest.reregister_all_jpeg2000_drivers()
Ejemplo n.º 8
0
Archivo: ecw.py Proyecto: bpass/gdal
def ecw_1():

    try:
        gdaltest.ecw_drv = gdal.GetDriverByName( 'ECW' )
        gdaltest.jp2ecw_drv = gdal.GetDriverByName( 'JP2ECW' )
    except:
        gdaltest.ecw_drv = None
        gdaltest.jp2ecw_drv = None

    gdaltest.ecw_write = 0

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2ECW')

    if gdaltest.ecw_drv is not None:
        if gdaltest.ecw_drv.GetMetadataItem('DMD_CREATIONDATATYPES') != None:
            gdaltest.ecw_write = 1

        longname = gdaltest.ecw_drv.GetMetadataItem('DMD_LONGNAME')

        sdk_off = longname.find('SDK ')
        if sdk_off != -1:
            gdaltest.ecw_drv.major_version = int(longname[sdk_off+4])
        else:
            gdaltest.ecw_drv.major_version = 3

    return 'success'
Ejemplo n.º 9
0
def mrsid_5():
    gdaltest.jp2mrsid_drv = gdal.GetDriverByName('JP2MrSID')
    if gdaltest.jp2mrsid_drv is None:
        return 'skip'

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2MrSID')

    return 'success'
Ejemplo n.º 10
0
def mrsid_5():
    gdaltest.jp2mrsid_drv = gdal.GetDriverByName('JP2MrSID')
    if gdaltest.jp2mrsid_drv is None:
        return 'skip'

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2MrSID')

    return 'success'
Ejemplo n.º 11
0
def startup_and_cleanup():

    gdaltest.jp2kak_drv = gdal.GetDriverByName('JP2KAK')
    assert gdaltest.jp2kak_drv is not None

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2KAK')

    yield

    gdaltest.reregister_all_jpeg2000_drivers()
Ejemplo n.º 12
0
def test_jp2kak_1():

    gdaltest.jp2kak_drv = gdal.GetDriverByName('JP2KAK')
    if gdaltest.jp2kak_drv is None:
        pytest.skip()

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2KAK')

    tst = gdaltest.GDALTest('JP2KAK', 'byte.jp2', 1, 50054)
    return tst.testOpen()
Ejemplo n.º 13
0
def jp2kak_1():

    gdaltest.jp2kak_drv = gdal.GetDriverByName( 'JP2KAK' )
    if gdaltest.jp2kak_drv is None:
        return 'skip'

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2KAK')

    tst = gdaltest.GDALTest( 'JP2KAK', 'byte.jp2', 1, 50054 )
    return tst.testOpen()
Ejemplo n.º 14
0
def jpeg2000_1():

    try:
        gdaltest.jpeg2000_drv = gdal.GetDriverByName( 'JPEG2000' )
    except:
        gdaltest.jpeg2000_drv = None
        return 'skip'

    gdaltest.deregister_all_jpeg2000_drivers_but('JPEG2000')

    return 'success'
Ejemplo n.º 15
0
def jp2openjpeg_1():

    try:
        gdaltest.jp2openjpeg_drv = gdal.GetDriverByName('JP2OpenJPEG')
    except:
        gdaltest.jp2openjpeg_drv = None
        return 'skip'

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2OpenJPEG')

    return 'success'
Ejemplo n.º 16
0
    def test(self):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        # we set ECW to not resolve projection and datum strings to get 3.x behavior.
        gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

        if self.filename.find('.jp2') >= 0:
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList(
            ):
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp
                  ) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename.find('.jp2') >= 0:
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Ejemplo n.º 17
0
    def test( self ):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        # we set ECW to not resolve projection and datum strings to get 3.x behavior.     
        gdal.SetConfigOption("ECW_DO_NOT_RESOLVE_DATUM_PROJECTION", "YES")

        if self.filename.find('.jp2') >= 0:
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList():
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename.find('.jp2') >= 0:
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Ejemplo n.º 18
0
    def test(self):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList(
            ):
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp
                  ) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Ejemplo n.º 19
0
def startup_and_cleanup():

    gdaltest.mrsid_drv = gdal.GetDriverByName('MrSID')
    gdaltest.jp2mrsid_drv = gdal.GetDriverByName('JP2MrSID')
    if gdaltest.jp2mrsid_drv:
        gdaltest.deregister_all_jpeg2000_drivers_but('JP2MrSID')

    yield

    gdaltest.reregister_all_jpeg2000_drivers()

    try:
        os.remove('data/sid/mercator.sid.aux.xml')
        os.remove('data/sid/mercator_new.sid.aux.xml')
    except OSError:
        pass
Ejemplo n.º 20
0
    def test( self ):
        try:
            drv = gdal.GetDriverByName(self.drivername)
        except:
            drv = None

        if drv is None:
            return 'skip'

        if self.drivername == 'PDF':
            md = drv.GetMetadata()
            if not 'HAVE_POPPLER' in md and not 'HAVE_PODOFO' in md:
                return 'skip'

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.deregister_all_jpeg2000_drivers_but(self.drivername)

        ret = 'success'
        ds = gdal.Open(self.filename)
        if ds is None:
            # Old libwebp don't support VP8X containers
            if self.filename == 'data/rgbsmall_with_xmp.webp':
                ret = 'skip'
            else:
                gdaltest.post_reason('open failed')
                ret = 'failure'
        else:
            xmp_md = ds.GetMetadata('xml:XMP')
            if ds.GetDriver().ShortName != self.drivername:
                gdaltest.post_reason('opened with wrong driver')
                print(ds.GetDriver().ShortName)
                ret = 'failure'
            elif self.expect_xmp and len(xmp_md) == 0:
                gdaltest.post_reason('did not find xml:XMP metadata')
                ret = 'failure'
            elif self.expect_xmp and 'xml:XMP' not in ds.GetMetadataDomainList():
                gdaltest.post_reason('did not find xml:XMP metadata domain')
                ret = 'failure'
            elif (not self.expect_xmp) and xmp_md is not None and len(xmp_md) != 0:
                gdaltest.post_reason('found unexpected xml:XMP metadata')
                ret = 'failure'
        ds = None

        if self.filename == 'data/byte_with_xmp.jp2':
            gdaltest.reregister_all_jpeg2000_drivers()

        return ret
Ejemplo n.º 21
0
def test_validate_jp2_1():

    gdaltest.has_validate_jp2_and_build_jp2 = False
    gdaltest.jp2openjpeg_drv = gdal.GetDriverByName('JP2OpenJPEG')
    if gdaltest.jp2openjpeg_drv is None:
        pytest.skip()

    try:
        import validate_jp2
        import build_jp2_from_xml
        validate_jp2.validate
        build_jp2_from_xml.build_file
    except (ImportError, AttributeError):
        pytest.skip()

    gdaltest.has_validate_jp2_and_build_jp2 = True
    gdaltest.deregister_all_jpeg2000_drivers_but('JP2OpenJPEG')
Ejemplo n.º 22
0
def test_validate_jp2_1():

    gdaltest.has_validate_jp2_and_build_jp2 = False
    gdaltest.jp2openjpeg_drv = gdal.GetDriverByName('JP2OpenJPEG')
    if gdaltest.jp2openjpeg_drv is None:
        pytest.skip()

    try:
        import validate_jp2
        import build_jp2_from_xml
        validate_jp2.validate
        build_jp2_from_xml.build_file
    except (ImportError, AttributeError):
        pytest.skip()

    gdaltest.has_validate_jp2_and_build_jp2 = True
    gdaltest.deregister_all_jpeg2000_drivers_but('JP2OpenJPEG')
Ejemplo n.º 23
0
def test_validate_jp2_1():

    gdaltest.has_validate_jp2_and_build_jp2 = False
    gdaltest.jp2openjpeg_drv = gdal.GetDriverByName('JP2OpenJPEG')
    if gdaltest.jp2openjpeg_drv is None:
        pytest.skip()

    path = '../../gdal/swig/python/samples'
    if path not in sys.path:
        sys.path.append(path)

    try:
        import validate_jp2
        import build_jp2_from_xml
        validate_jp2.validate
        build_jp2_from_xml.build_file
    except (ImportError, AttributeError):
        pytest.skip()

    gdaltest.has_validate_jp2_and_build_jp2 = True
    gdaltest.deregister_all_jpeg2000_drivers_but('JP2OpenJPEG')
Ejemplo n.º 24
0
def test_validate_jp2_1():

    gdaltest.has_validate_jp2_and_build_jp2 = False
    try:
        gdaltest.jp2openjpeg_drv = gdal.GetDriverByName( 'JP2OpenJPEG' )
    except:
        gdaltest.jp2openjpeg_drv = None
        return 'skip'
    if gdaltest.jp2openjpeg_drv is None:
        return 'skip'

    try:
        import validate_jp2
        import build_jp2_from_xml
        validate_jp2.validate
        build_jp2_from_xml.build_file
    except:
        return 'skip'

    gdaltest.has_validate_jp2_and_build_jp2 = True
    gdaltest.deregister_all_jpeg2000_drivers_but('JP2OpenJPEG')

    return 'success'
Ejemplo n.º 25
0
def test_validate_jp2_1():

    gdaltest.has_validate_jp2_and_build_jp2 = False
    try:
        gdaltest.jp2openjpeg_drv = gdal.GetDriverByName('JP2OpenJPEG')
    except:
        gdaltest.jp2openjpeg_drv = None
        return 'skip'
    if gdaltest.jp2openjpeg_drv is None:
        return 'skip'

    try:
        import validate_jp2
        import build_jp2_from_xml
        validate_jp2.validate
        build_jp2_from_xml.build_file
    except:
        return 'skip'

    gdaltest.has_validate_jp2_and_build_jp2 = True
    gdaltest.deregister_all_jpeg2000_drivers_but('JP2OpenJPEG')

    return 'success'
Ejemplo n.º 26
0
def test_mrsid_5():
    gdaltest.jp2mrsid_drv = gdal.GetDriverByName('JP2MrSID')
    if gdaltest.jp2mrsid_drv is None:
        pytest.skip()

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2MrSID')
Ejemplo n.º 27
0
def test_jpeg2000_1():

    gdaltest.jpeg2000_drv = gdal.GetDriverByName('JPEG2000')

    gdaltest.deregister_all_jpeg2000_drivers_but('JPEG2000')
Ejemplo n.º 28
0
def test_jpeg2000_1():

    gdaltest.jpeg2000_drv = gdal.GetDriverByName('JPEG2000')

    gdaltest.deregister_all_jpeg2000_drivers_but('JPEG2000')
Ejemplo n.º 29
0
def test_mrsid_5():
    gdaltest.jp2mrsid_drv = gdal.GetDriverByName('JP2MrSID')
    if gdaltest.jp2mrsid_drv is None:
        pytest.skip()

    gdaltest.deregister_all_jpeg2000_drivers_but('JP2MrSID')