Home | Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/env python3 2 # ****************************************************************************** 3 # $Id$ 4 # 5 # Project: GDAL 6 # Purpose: Application to checksum a GDAL image file. 7 # Author: Frank Warmerdam, warmerdam@pobox.com 8 # 9 # ****************************************************************************** 10 # Copyright (c) 2003, Frank Warmerdam <warmerdam@pobox.com> 11 # 12 # Permission is hereby granted, free of charge, to any person obtaining a 13 # copy of this software and associated documentation files (the "Software"), 14 # to deal in the Software without restriction, including without limitation 15 # the rights to use, copy, modify, merge, publish, distribute, sublicense, 16 # and/or sell copies of the Software, and to permit persons to whom the 17 # Software is furnished to do so, subject to the following conditions: 18 # 19 # The above copyright notice and this permission notice shall be included 20 # in all copies or substantial portions of the Software. 21 # 22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 23 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 25 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 27 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 28 # DEALINGS IN THE SOFTWARE. 29 # ****************************************************************************** 30 31 import sys 32 33 from osgeo import gdal 34 35 39 4042 srcwin = None 43 bands = [] 44 45 filename = None 46 47 gdal.AllRegister() 48 argv = gdal.GeneralCmdLineProcessor(argv) 49 if argv is None: 50 sys.exit(0) 51 52 # Parse command line arguments. 53 i = 1 54 while i < len(argv): 55 arg = argv[i] 56 57 if arg == '-b': 58 i = i + 1 59 bands.append(int(argv[i])) 60 61 elif arg == '-srcwin': 62 srcwin = [int(argv[i + 1]), int(argv[i + 2]), 63 int(argv[i + 3]), int(argv[i + 3])] 64 i = i + 4 65 66 elif filename is None: 67 filename = argv[i] 68 69 else: 70 Usage() 71 72 i = i + 1 73 74 if filename is None: 75 Usage() 76 77 # Open source file 78 79 ds = gdal.Open(filename) 80 if ds is None: 81 print('Unable to open %s' % filename) 82 sys.exit(1) 83 84 # Default values 85 86 if srcwin is None: 87 srcwin = [0, 0, ds.RasterXSize, ds.RasterYSize] 88 89 if not bands: 90 bands = list(range(1, (ds.RasterCount + 1))) 91 92 93 # Generate checksums 94 95 for band_num in bands: 96 oBand = ds.GetRasterBand(band_num) 97 result = oBand.Checksum(srcwin[0], srcwin[1], srcwin[2], srcwin[3]) 98 print(result) 99 100 ds = None101 102 103 if __name__ == '__main__': 104 sys.exit(main(sys.argv)) 105
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Oct 26 13:28:01 2020 | http://epydoc.sourceforge.net |