示例#1
0
def osr_url_test(url, expected_wkt):
    timeout =  10
    socket.setdefaulttimeout(timeout)
    if gdaltest.gdalurlopen(url) is None:
        return 'skip'

    """Depend on the Accepts headers that ImportFromUrl sets to request SRS from sr.org"""
    srs = osr.SpatialReference()
    import gdal
    gdal.PushErrorHandler( 'CPLQuietErrorHandler' ) 
    try:
        srs.ImportFromUrl( url )
    except AttributeError: # old-gen bindings don't have this method yet
        return 'skip'
    except Exception:
        gdal.PopErrorHandler()
        if gdal.GetLastErrorMsg() == "GDAL/OGR not compiled with libcurl support, remote requests not supported." or \
           gdal.GetLastErrorMsg().find("timed out") != -1:
            return 'skip'
        else:
            gdaltest.post_reason( 'exception: ' + gdal.GetLastErrorMsg() )
            return 'fail'

    gdal.PopErrorHandler()
    if gdal.GetLastErrorMsg() == "GDAL/OGR not compiled with libcurl support, remote requests not supported." or \
       gdal.GetLastErrorMsg().find("timed out") != -1:
        return 'skip'

    if not gdaltest.equal_srs_from_wkt( expected_wkt,
                                        srs.ExportToWkt() ):
        return 'fail'

    return 'success'
示例#2
0
def jpeg_6():

    ds = gdal.Open('data/vophead.jpg')

    # Bacause of the optimization done in r17446, we should'nt yet get this error
    if gdal.GetLastErrorType() == 2 \
       and gdal.GetLastErrorMsg().find('Ignoring EXIF') != -1:
        gdaltest.post_reason('got error too soon.')
        return 'fail'

    md = ds.GetMetadata()

    # Did we get an exif related warning?
    if gdal.GetLastErrorType() != 2 \
       or gdal.GetLastErrorMsg().find('Ignoring EXIF') == -1:
        gdaltest.post_reason('we did not get expected error.')
        return 'fail'

    if len(md) != 1 or md['EXIF_Software'] != 'IrfanView':
        gdaltest.post_reason('did not get expected metadata.')
        print(md)
        return 'fail'

    ds = None

    return 'success'
示例#3
0
    def __init__(self, source, target=None):
        """
        Initialize coordinate transform.

        source -- source osr.SpatialReference coordinate system.
        target -- destination osr.SpatialReference coordinate system.
        """
        #
        # NOTE: A special requirement of the Atlantis Peppers system is
        # that it needs to be able to instantiate a coordinate tranform
        # by just passing in a tuple with two SpatialReference objects.  We
        # assume this is the case if target is None.

        self._o = None
        if target is None:
            target = source[1]
            source = source[0]

        gdal.ErrorReset()
        self._o = _gdal.OCTNewCoordinateTransformation(source._o, target._o)
        if self._o is None or self._o == 'NULL':
            if len(gdal.GetLastErrorMsg()) > 0:
                raise ValueError, gdal.GetLastErrorMsg()
            else:
                raise ValueError, 'Failed to create coordinate transformation.'
示例#4
0
文件: osr_ct.py 项目: zhouhbsea/gdal
def osr_ct_1():

    gdaltest.have_proj4 = 0

    utm_srs = osr.SpatialReference()
    utm_srs.SetUTM(11)
    utm_srs.SetWellKnownGeogCS('WGS84')

    ll_srs = osr.SpatialReference()
    ll_srs.SetWellKnownGeogCS('WGS84')

    gdal.PushErrorHandler('CPLQuietErrorHandler')
    try:
        ct = osr.CoordinateTransformation(ll_srs, utm_srs)
    except ValueError:
        gdal.PopErrorHandler()
        if gdal.GetLastErrorMsg().find('Unable to load PROJ.4') != -1:
            gdaltest.post_reason('PROJ.4 missing, transforms not available.')
            return 'skip'
        else:
            gdaltest.post_reason(gdal.GetLastErrorMsg())
            return 'fail'

    gdal.PopErrorHandler()
    if ct is None or ct.this is None:
        gdaltest.post_reason('Unable to create simple CoordinateTransformat.')
        return 'fail'

    gdaltest.have_proj4 = 1

    return 'success'
示例#5
0
def rasterio_5():

    ds = gdal.Open('data/byte.tif')

    for obj in [ds, ds.GetRasterBand(1)]:
        gdal.ErrorReset()
        gdal.PushErrorHandler('CPLQuietErrorHandler')
        res = obj.ReadRaster(0,0,21,21)
        gdal.PopErrorHandler()
        error_msg = gdal.GetLastErrorMsg()
        if res is not None:
            gdaltest.post_reason('expected None')
            return 'fail'
        if error_msg.find('Access window out of range in RasterIO()') == -1:
            gdaltest.post_reason('did not get expected error msg (1)')
            print(error_msg)
            return 'fail'

        import sys
        # This should only fail on a 32bit build
        try:
            maxsize = sys.maxint
        except:
            maxsize = sys.maxsize

        # On win64, maxsize == 2147483647 and ReadRaster()
        # fails because of out of memory condition, not
        # because of integer overflow. I'm not sure on how
        # to detect win64 better.
        if maxsize == 2147483647 and sys.platform != 'win32':
            gdal.ErrorReset()
            gdal.PushErrorHandler('CPLQuietErrorHandler')
            res = obj.ReadRaster(0,0,1000000,1000000)
            gdal.PopErrorHandler()
            error_msg = gdal.GetLastErrorMsg()
            if res is not None:
                gdaltest.post_reason('expected None')
                return 'fail'
            if error_msg.find('Integer overflow') == -1:
                gdaltest.post_reason('did not get expected error msg (2)')
                print(error_msg)
                return 'fail'

        gdal.ErrorReset()
        gdal.PushErrorHandler('CPLQuietErrorHandler')
        res = obj.ReadRaster(0,0,0,1)
        gdal.PopErrorHandler()
        error_msg = gdal.GetLastErrorMsg()
        if res is not None:
            gdaltest.post_reason('expected None')
            return 'fail'
        if error_msg.find('Illegal values for buffer size') == -1:
            gdaltest.post_reason('did not get expected error msg (3)')
            print(error_msg)
            return 'fail'

    ds = None

    return 'success'
示例#6
0
def vrt_read_7():

    filename = "/vsimem/vrt_read_7.vrt"

    content = """<VRTDataset rasterXSize="20" rasterYSize="20">
  <VRTRasterBand dataType="Byte" band="1">
    <SimpleSource>
      <SourceFilename relativeToVRT="1">%s</SourceFilename>
      <SourceBand>1</SourceBand>
      <SrcRect xOff="0" yOff="0" xSize="20" ySize="20" />
      <DstRect xOff="0" yOff="0" xSize="20" ySize="20" />
    </SimpleSource>
  </VRTRasterBand>
</VRTDataset>""" % filename

    gdal.FileFromMemBuffer(filename, content)
    gdal.PushErrorHandler('CPLQuietErrorHandler')
    ds = gdal.Open(filename)
    gdal.PopErrorHandler()
    error_msg = gdal.GetLastErrorMsg()
    gdal.Unlink(filename)

    if ds is not None:
        return 'fail'

    if error_msg != 'GDALOpen() called with too many recursion levels':
        return 'fail'

    return 'success'
示例#7
0
def LoadFile(filename, xoff=0, yoff=0, xsize=None, ysize=None):
    ds = gdal.Open(filename)
    if ds is None:
        raise ValueError("Can't open " + filename + "\n\n" +
                         gdal.GetLastErrorMsg())

    return DatasetReadAsArray(ds, xoff, yoff, xsize, ysize)
示例#8
0
文件: wms.py 项目: noltingj/gdal
def wms_4():

    if gdaltest.wms_drv is None or gdaltest.wms_ds is None:
        return 'skip'

    if not gdaltest.wms_srv1_ok:
        return 'skip'

    gdal.SetConfigOption('CPL_ACCUM_ERROR_MSG', 'ON')
    gdal.PushErrorHandler('CPLQuietErrorHandler')

    cs = gdaltest.wms_ds.GetRasterBand(1).Checksum(0, 0, 100, 100)

    gdal.PopErrorHandler()
    gdal.SetConfigOption('CPL_ACCUM_ERROR_MSG', 'OFF')
    msg = gdal.GetLastErrorMsg()
    gdal.ErrorReset()

    if msg is not None and msg.find(
            'Service denied due to system overload') != -1:
        print(msg)
        return 'skip'

    if cs != 57182:
        gdaltest.post_reason('Wrong checksum: ' + str(cs))
        return 'fail'

    return 'success'
示例#9
0
文件: dted.py 项目: noltingj/gdal
def dted_8():
    # this will enable DTED_VERIFY_CHECKSUM
    gdal.SetConfigOption('DTED_VERIFY_CHECKSUM', 'YES')

    ds = gdal.Open( 'data/n43_bad_crc.dt0' )
    band = ds.GetRasterBand(1)

    # numerous errors would be reported 
    gdal.PushErrorHandler( 'CPLQuietErrorHandler' )
    chksum = band.Checksum()
    gdal.PopErrorHandler()

    gdal.SetConfigOption('DTED_VERIFY_CHECKSUM', 'NO')

    if gdal.GetLastErrorMsg() is None:
        gdaltest.post_reason( 'An expected warning was not emitted' )
        return 'fail'

    # 49187 is the checksum of data is the DTED is read without checking its checksum
    # so we should not get this value
    if chksum == 49187:
        gdaltest.post_reason('DTED_VERIFY_CHECKSUM=YES has had no effect!')
        return 'fail'

    return 'success'
示例#10
0
def ogr_wfs_deegree_gml321():

    if gdaltest.wfs_drv is None:
        return 'skip'
    if not gdaltest.have_gml_reader:
        return 'skip'

    if gdaltest.gdalurlopen('http://deegree3-demo.deegree.org:80/deegree-inspire-node/services') is None:
        print('cannot open URL')
        return 'skip'

    ds = ogr.Open('WFS:http://deegree3-demo.deegree.org:80/deegree-inspire-node/services?MAXFEATURES=10')
    if ds is None:
        if gdal.GetLastErrorMsg().find("Unable to determine the subcontroller for request type 'GetCapabilities' and service type 'WFS'") != -1:
            return 'skip'
        return 'fail'

    lyr = ds.GetLayerByName("ad:Address")
    count = lyr.GetFeatureCount()
    if count != 10:
        print(count)
        return 'fail'

    lyr = ds.GetLayerByName("au:AdministrativeBoundary")
    count = lyr.GetFeatureCount()
    if count != 0:
        print(count)
        return 'fail'

    return 'success'
示例#11
0
def ogr_wfs_init():

    gdaltest.wfs_drv = None

    try:
        gdaltest.wfs_drv = ogr.GetDriverByName('WFS')
    except:
        pass

    if gdaltest.wfs_drv is None:
        return 'skip'

    gdaltest.have_gml_reader = 0
    gdaltest.geoserver_wfs = None
    gdaltest.deegree_wfs = None
    gdaltest.ionic_wfs = None

    try:
        gml_ds = ogr.Open('data/ionic_wfs.gml')
    except:
        gml_ds = None

    if gml_ds is None:
        if gdal.GetLastErrorMsg().find('Xerces') != -1:
            return 'skip'
        else:
            gdaltest.post_reason('failed to open test file.')
            return 'skip'

    gdaltest.have_gml_reader = 1

    return 'success'
示例#12
0
文件: ogr_geos.py 项目: bpass/gdal
def ogr_geos_unioncascaded():

    if not ogrtest.have_geos():
        return 'skip'

    g1 = ogr.CreateGeometryFromWkt(
        'MULTIPOLYGON(((0 0,0 1,1 1,1 0,0 0)),((0.5 0.5,0.5 1.5,1.5 1.5,1.5 0.5,0.5 0.5)))'
    )

    gdal.ErrorReset()
    cascadedunion = g1.UnionCascaded()

    g1.Destroy()

    if cascadedunion is None:
        msg = gdal.GetLastErrorMsg()
        if msg.find('GEOS >=') != -1:
            return 'skip'

    if cascadedunion.ExportToWkt(
    ) != 'POLYGON ((0 0,0 1,0.5 1.0,0.5 1.5,1.5 1.5,1.5 0.5,1.0 0.5,1 0,0 0))':
        print('Got: ', cascadedunion.ExportToWkt())
        return 'fail'

    cascadedunion.Destroy()

    return 'success'
示例#13
0
def basic_test_7_internal():
    try:
        ds = gdal.Open('non_existing_ds', gdal.GA_ReadOnly)
        gdaltest.post_reason('opening should have thrown an exception')
        return 'fail'
    except:
        # Special case: we should still be able to get the error message
        # until we call a new GDAL function
        if gdal.GetLastErrorMsg(
        ) != '`non_existing_ds\' does not exist in the file system,\nand is not recognised as a supported dataset name.\n':
            gdaltest.post_reason('did not get expected error message')
            return 'fail'

        if gdal.GetLastErrorType() == 0:
            gdaltest.post_reason('did not get expected error type')
            return 'fail'

        # Should issue an implicit CPLErrorReset()
        gdal.GetCacheMax()

        if gdal.GetLastErrorType() != 0:
            gdaltest.post_reason('got unexpected error type')
            return 'fail'

        return 'success'
示例#14
0
def LoadFile(filename,
             xoff=0,
             yoff=0,
             xsize=None,
             ysize=None,
             buf_xsize=None,
             buf_ysize=None,
             buf_type=None,
             resample_alg=gdal.GRIORA_NearestNeighbour,
             callback=None,
             callback_data=None):
    ds = gdal.Open(filename)
    if ds is None:
        raise ValueError("Can't open " + filename + "\n\n" +
                         gdal.GetLastErrorMsg())

    return DatasetReadAsArray(ds,
                              xoff,
                              yoff,
                              xsize,
                              ysize,
                              buf_xsize=buf_xsize,
                              buf_ysize=buf_ysize,
                              buf_type=buf_type,
                              resample_alg=resample_alg,
                              callback=callback,
                              callback_data=callback_data)
示例#15
0
 def CopyLayer(self, src_layer, new_name, options=[]):
     md_c = _gdal.ListToStringList(options)
     obj = _gdal.OGR_DS_CopyLayer(self._o, src_layer._o, new_name, md_c)
     _gdal.CSLDestroy(md_c)
     if obj is None and obj != 'NULL':
         raise OGRError, gdal.GetLastErrorMsg()
     else:
         return Layer(obj=obj)
示例#16
0
def basic_test_5():
    gdal.PushErrorHandler( 'CPLQuietErrorHandler' )
    ds = gdal.Open('data/doctype.xml', gdal.GA_ReadOnly)
    gdal.PopErrorHandler()
    if ds is None and gdal.GetLastErrorMsg() == '`data/doctype.xml\' not recognised as a supported file format.\n':
        return 'success'
    else:
        return 'fail'
示例#17
0
def basic_test_4():
    gdal.PushErrorHandler( 'CPLQuietErrorHandler' )
    ds = gdal.Open('', gdal.GA_Update)
    gdal.PopErrorHandler()
    if ds is None and gdal.GetLastErrorMsg() == '`\' does not exist in the file system,\nand is not recognised as a supported dataset name.\n':
        return 'success'
    else:
        return 'fail'
示例#18
0
def rasterio_6():

    ds = gdal.GetDriverByName('MEM').Create('', 2, 2)

    for obj in [ds, ds.GetRasterBand(1)]:
        try:
            obj.WriteRaster(0,0,2,2,None)
            gdaltest.post_reason('expected exception')
            return 'fail'
        except:
            pass

        gdal.ErrorReset()
        gdal.PushErrorHandler('CPLQuietErrorHandler')
        obj.WriteRaster(0,0,2,2,' ')
        gdal.PopErrorHandler()
        error_msg = gdal.GetLastErrorMsg()
        if error_msg.find('Buffer too small') == -1:
            gdaltest.post_reason('did not get expected error msg (1)')
            print(error_msg)
            return 'fail'

        gdal.ErrorReset()
        gdal.PushErrorHandler('CPLQuietErrorHandler')
        obj.WriteRaster(-1,0,1,1,' ')
        gdal.PopErrorHandler()
        error_msg = gdal.GetLastErrorMsg()
        if error_msg.find('Access window out of range in RasterIO()') == -1:
            gdaltest.post_reason('did not get expected error msg (2)')
            print(error_msg)
            return 'fail'

        gdal.ErrorReset()
        gdal.PushErrorHandler('CPLQuietErrorHandler')
        obj.WriteRaster(0,0,0,1,' ')
        gdal.PopErrorHandler()
        error_msg = gdal.GetLastErrorMsg()
        if error_msg.find('Illegal values for buffer size') == -1:
            gdaltest.post_reason('did not get expected error msg (3)')
            print(error_msg)
            return 'fail'

    ds = None

    return 'success'
示例#19
0
    def _extract_shapes(self, abs_dest, table):

        import ogr
        import os

        t, cd, geo_col = self.geometry_type(self.database, table)

        ds, layer = self.new_layer(abs_dest, table, t)

        self.create_schema(self.database, table, layer)

        # TODO AsTest, etc, will have to change to ST_AsText for Postgis
        q = "SELECT *, AsText(Transform({}, {} )) AS _wkt FROM {}".format(
            geo_col,
            self.epsg,
            table)

        for i, row in enumerate(self.database.connection.execute(q)):

            feature = ogr.Feature(layer.GetLayerDefn())

            for name, value in row.items():
                if name.lower() in (geo_col, 'geometry', 'wkt', 'wkb', '_wkt'):
                    continue

                if value:
                    try:
                        if isinstance(value, unicode):
                            value = str(value)

                        name = self.mangle_name(str(name))

                        feature.SetField(name, value)
                    except Exception as e:

                        raise
                    except NotImplementedError as e:

                        raise

            geometry = ogr.CreateGeometryFromWkt(row['_wkt'])

            feature.SetGeometryDirectly(geometry)
            if layer.CreateFeature(feature) != 0:
                import gdal
                raise Exception(
                    'Failed to add feature: {}: geometry={}'.format(
                        gdal.GetLastErrorMsg(),
                        geometry.ExportToWkt()))

            feature.Destroy()

        ds.SyncToDisk()
        ds.Release()

        return True, abs_dest
示例#20
0
def jpeg_12():

    ds = gdal.Open('/vsizip/data/byte_jpg.zip')
    if ds is None:
        return 'fail'

    gdal.ErrorReset()
    ds.GetRasterBand(1).Checksum()
    if gdal.GetLastErrorMsg() != '':
        return 'fail'

    gdal.ErrorReset()
    ds.GetRasterBand(1).GetMaskBand().Checksum()
    if gdal.GetLastErrorMsg() != '':
        return 'fail'

    ds = None

    return 'success'
示例#21
0
def jpeg_17():

    gdal.ErrorReset()
    gdal.PushErrorHandler('CPLQuietErrorHandler')
    ds = gdal.Open('data/bogus.jpg')
    gdal.PopErrorHandler()
    if ds is not None or gdal.GetLastErrorMsg() == '':
        gdaltest.post_reason('fail')
        return 'fail'

    gdal.ErrorReset()
    ds = gdal.Open('data/byte_corrupted.jpg')
    gdal.PushErrorHandler('CPLQuietErrorHandler')
    ds.GetRasterBand(1).Checksum()
    gdal.PopErrorHandler()
    if gdal.GetLastErrorMsg() == '':
        gdaltest.post_reason('fail')
        return 'fail'

    return 'success'
示例#22
0
    def CreateLayer(self, name, srs=None, geom_type=wkbUnknown, options=[]):
        if srs is None:
            srs_o = 'NULL'
        else:
            srs_o = srs._o

        md_c = _gdal.ListToStringList(options)
        obj = _gdal.OGR_DS_CreateLayer(self._o, name, srs_o, geom_type, md_c)
        _gdal.CSLDestroy(md_c)
        if obj is None or obj == 'NULL':
            raise OGRError, gdal.GetLastErrorMsg()
        else:
            return Layer(obj=obj)
示例#23
0
def get_info(filename, substring=None, format='text', **kwargs):
    errors = []

    # check if file is a raster
    try:  # json format generates a TypeError if not a raster
        info = gdal.Info(filename, format=format, **kwargs)
        if info:
            return [info]
    except TypeError:
        pass

    # file is not a raster...
    errors.append(gdal.GetLastErrorMsg())
    # try compressed formats
    files = _compressed(filename, substring)
    if files:
        info = []
        for f in files:
            try:
                info_ = gdal.Info(f, format=format, **kwargs)
                if info_:
                    info.append(info_)
                elif not info_:
                    errors.append(gdal.GetLastErrorMsg())
            except TypeError:
                pass
        if info:
            return info

    # file is not compressed or no raster was found in file
    # try url...

    # not implemented yet

    raise OSError(f'Could not find raster file in {filename}...\n'
                  'Collected messages from gdal:\n'
                  f'{errors}')
示例#24
0
def grib_3():

    if gdaltest.grib_drv is None:
        return 'skip'

    tst = gdaltest.GDALTest('GRIB', 'bug3246.grb', 4, 4081)
    gdal.PushErrorHandler('CPLQuietErrorHandler')
    result = tst.testOpen()
    gdal.PopErrorHandler()

    msg = gdal.GetLastErrorMsg()
    if msg.find('data access may be incomplete') == -1 \
       or gdal.GetLastErrorType() != 2:
        gdaltest.post_reason('did not get expected warning.')

    return result
示例#25
0
文件: ogr_avc.py 项目: noltingj/gdal
def ogr_avc_3():

    gdal.PushErrorHandler('CPLQuietErrorHandler')
    avc_ds = ogr.Open('data/compressed.e00')
    gdal.PopErrorHandler()
    last_error_msg = gdal.GetLastErrorMsg()

    if avc_ds is not None:
        gdaltest.post_reason('expected failure')
        return 'fail'

    if last_error_msg == '':
        gdaltest.post_reason('expected error message')
        return 'fail'

    return 'success'
示例#26
0
def openRaster(filename, band=1, scale=None, NoData=-9999):
    '''Opens a raster image whose format is supported by GDAL.

    Loads it in as a nested list; the first
    element in the list is a dictionary with image information,
    while the second element contains a Raster instance.
    Result is a raster with northern values at the top.

    Please provide a filename with a complete directory'''

    import gdal
    #    import numpy
    from spatial import raster

    f = gdal.Open(filename)

    if f is None:
        print gdal.GetLastErrorMsg()

    else:
        b = f.GetRasterBand(band)
        info = b.GetMetadata()
        info['dataType'] = gdal.GetDataTypeName(b.DataType)
        info['projection'] = f.GetProjection()
        info['ncol'] = b.XSize
        info['nrow'] = b.YSize
        ggt = f.GetGeoTransform()
        info['cellsize'] = float(ggt[1])
        info['Xll'] = float(ggt[0])
        info['Yll'] = float(ggt[3] + ggt[5] * f.RasterYSize)
        if b.GetNoDataValue() != None:
            info['nodata'] = b.GetNoDataValue()
        else:
            info['nodata'] = float(NoData)
        if scale is None:
            info['scale'] = b.GetScale()
        else:
            info['scale'] = float(scale)

        d = b.ReadAsArray()
        r = raster.Raster(d,
                          cellsize=info['cellsize'],
                          Xll=info['Xll'],
                          Yll=info['Yll'],
                          nodata=info['nodata'])

        return [info, r]
示例#27
0
def ogr_wfs_ionic_wfst():

    if gdaltest.wfs_drv is None:
        return 'skip'
    if not gdaltest.have_gml_reader:
        return 'skip'

    if gdaltest.gdalurlopen(
            'http://webservices.ionicsoft.com/ionicweb/wfs/BOSTON_ORA'
    ) is None:
        print('cannot open URL')
        gdaltest.ionic_wfs = False
        return 'skip'
    gdaltest.ionic_wfs = True

    ds = ogr.Open(
        'WFS:http://webservices.ionicsoft.com/ionicweb/wfs/BOSTON_ORA',
        update=1)
    if ds is None:
        if gdal.GetLastErrorMsg().find('HTTP error code : 403') != -1:
            gdaltest.ionic_wfs = False
            return 'skip'
        return 'fail'

    lyr = ds.GetLayerByName('wfs:BUSINESS')
    geom = ogr.CreateGeometryFromWkt('POINT(234000 890000)')
    feat = ogr.Feature(lyr.GetLayerDefn())
    feat.SetGeometry(geom)
    feat.SetField('NAME', 'nameSetByOGR')
    feat.SetField('TOTAL_EMPLOYEES', '10')

    ret = lyr.CreateFeature(feat)
    if ret != 0:
        print('fail on CreateFeature')
        return 'fail'

    gmlid = feat.GetField('gml_id')

    ret = lyr.SetFeature(feat)
    if ret != 0:
        print('fail on SetFeature')
        return 'fail'

    ds.ExecuteSQL("DELETE FROM wfs:BUSINESS WHERE gml_id = '%s'" % gmlid)

    return 'success'
示例#28
0
文件: dted.py 项目: noltingj/gdal
def dted_7():
    ds = gdal.Open( 'data/n43_wgs72.dt0' )

    # a warning is issued
    gdal.PushErrorHandler( 'CPLQuietErrorHandler' )
    prj = ds.GetProjection()
    gdal.PopErrorHandler()

    if gdal.GetLastErrorMsg() is None:
        gdaltest.post_reason( 'An expected warning was not emitted' )
        return 'fail'

    if prj != 'GEOGCS["WGS 72",DATUM["WGS_1972",SPHEROID["WGS 72",6378135,298.26]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4322"]]':
        gdaltest.post_reason( 'Projection does not match expected:\n%s' % prj )
        return 'fail'

    return 'success'
示例#29
0
def osr_proj4_3():

    srs = osr.SpatialReference()

    try:
        gdal.PushErrorHandler('CPLQuietErrorHandler')
        proj4 = srs.ExportToProj4()
        gdal.PopErrorHandler()

    except RuntimeError:
        gdal.PopErrorHandler()

    if gdal.GetLastErrorMsg().find('No translation') != -1:
        return 'success'

    gdaltest.post_reason('empty srs not handled properly')
    return 'fail'
示例#30
0
def ogr_sql_30():

    gdal.ErrorReset()

    sql_lyr = gdaltest.ds.ExecuteSQL('select min(eas_id), count(*) from poly')

    feat = sql_lyr.GetNextFeature()
    val_count = feat.GetField(1)

    gdaltest.ds.ReleaseResultSet(sql_lyr)

    if gdal.GetLastErrorMsg() != '':
        return 'fail'

    if val_count == 10:
        return 'success'
    else:
        return 'fail'