mirror of
https://github.com/rasterio/rasterio.git
synced 2025-12-08 17:36:12 +00:00
A deprecation warning is raised from the transform property and an affine property is added to provide the new feature. For method and function arguments, we sniff out GDAL geotransforms and try to do the right thing with them, also raising deprecation warnings in these cases.
92 lines
2.6 KiB
Python
92 lines
2.6 KiB
Python
#!/usr/bin/env python
|
|
|
|
"""Rasterio interactive dataset inspector"""
|
|
|
|
import argparse
|
|
import logging
|
|
import pprint
|
|
import sys
|
|
import warnings
|
|
|
|
import rasterio
|
|
from rasterio.tool import main
|
|
|
|
|
|
warnings.simplefilter('default')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
parser = argparse.ArgumentParser(
|
|
prog="rio_insp",
|
|
description="Open a dataset and drop into an interactive interpreter")
|
|
parser.add_argument(
|
|
'src',
|
|
metavar='FILE',
|
|
help="Input dataset file name")
|
|
parser.add_argument(
|
|
'-m', '--mode',
|
|
metavar='MODE',
|
|
type=str,
|
|
default='r',
|
|
help="File mode ('r' or 'r+')")
|
|
parser.add_argument(
|
|
'--meta',
|
|
action='store_true',
|
|
help="Pretty print the dataset's meta properties and exit")
|
|
parser.add_argument(
|
|
'--tags',
|
|
nargs='?',
|
|
default=None,
|
|
const='',
|
|
type=str,
|
|
help="Pretty print the dataset's tags and exit")
|
|
parser.add_argument(
|
|
'--indent',
|
|
default=2,
|
|
type=int,
|
|
metavar='N',
|
|
help="Indentation level for pretty printed output")
|
|
parser.add_argument(
|
|
'-v', '--verbose',
|
|
action='count',
|
|
default=0,
|
|
help="Increase verbosity")
|
|
parser.add_argument(
|
|
'-q', '--quiet',
|
|
action='count',
|
|
default=0,
|
|
help="Decrease verbosity")
|
|
|
|
args = parser.parse_args()
|
|
|
|
verbosity = args.verbose - args.quiet
|
|
log_level = max(10, 30 - 10*verbosity)
|
|
logging.basicConfig(stream=sys.stderr, level=log_level)
|
|
logger = logging.getLogger('rio_insp')
|
|
|
|
try:
|
|
with rasterio.drivers(CPL_DEBUG=verbosity>2):
|
|
with rasterio.open(args.src, args.mode) as src:
|
|
if args.meta:
|
|
pprint.pprint(src.meta, indent=args.indent)
|
|
elif args.tags is not None:
|
|
if not args.tags:
|
|
tag_ns = None
|
|
else:
|
|
tag_ns = args.tags
|
|
pprint.pprint(src.tags(ns=tag_ns), indent=args.indent)
|
|
else:
|
|
main(
|
|
"Rasterio %s Interactive Inspector (Python %s)\n"
|
|
'Type "src.meta", "src.read_band(1)", or "help(src)" '
|
|
'for more information.' % (
|
|
rasterio.__version__,
|
|
'.'.join(map(str, sys.version_info[:3]))),
|
|
src)
|
|
sys.exit(0)
|
|
except Exception:
|
|
logger.exception("Failed. Exception caught")
|
|
sys.exit(1)
|
|
|