PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ main()

def raster2pgsql.main ( )

Definition at line 955 of file raster2pgsql.py.

955 def main():
956 
957  (opts, args) = parse_command_line()
958 
959  global VERBOSE
960  VERBOSE = opts.verbose
961 
962  global SUMMARY
963  SUMMARY = []
964 
965  saved_out = sys.stdout
966  if isinstance(opts.output, str):
967  filename = opts.output
968  opts.output = open(filename, "w")
969 
970  # BEGIN
971  opts.output.write('BEGIN;\n')
972 
973  # If overviews requested, CREATE TABLE raster_overviews
974  if opts.create_raster_overviews_table:
976  opts.output.write(sql)
977 
978  # Base raster schema
979  if opts.overview_level == 1:
980  # DROP TABLE
981  if opts.drop_table:
982  sql = make_sql_drop_raster_table(opts.table)
983  opts.output.write(sql)
984 
985  # CREATE TABLE
986  if opts.create_table and opts.overview_level == 1:
987  sql = make_sql_create_table(opts)
988  opts.output.write(sql)
989 
990  # INSERT
991  i = 0
992 
993  # Burn all specified input raster files into single WKTRaster table
994  gt = None
995  for infile in opts.raster:
996  filelist = glob.glob(infile)
997  assert len(filelist) > 0, "No input raster files found for '" + str(infile) + "'"
998 
999  for filename in filelist:
1000  logit("MSG: Dataset #%d: %s\n" % (i + 1, filename))
1001 
1002  # Write raster data to WKB and send it to opts.output
1003  gt = wkblify_raster(opts, filename.replace( '\\', '/') , i, gt)
1004  i += 1
1005 
1006  # INDEX
1007  if opts.index and SUMMARY is not None:
1008  sql = make_sql_create_gist(SUMMARY[0][0], opts.column)
1009  opts.output.write(sql)
1010 
1011  # COMMIT
1012  opts.output.write('END;\n')
1013 
1014  # VACUUM
1015  if opts.vacuum and SUMMARY is not None:
1016  sql = make_sql_vacuum(SUMMARY[0][0])
1017  opts.output.write(sql)
1018 
1019  # Cleanup
1020  if opts.output != sys.stdout:
1021  sys.stdout = saved_out
1022 
1023  print("------------------------------------------------------------")
1024  print(" Summary of GDAL to PostGIS Raster processing:")
1025  print("------------------------------------------------------------")
1026  if i == 1:
1027  m = '%d (%s)' % (i, infile)
1028  else:
1029  m = '%d' % i
1030  print("Number of processed raster files: " + m)
1031  print("List of generated tables (number of tiles):")
1032  i = 0
1033  for s in SUMMARY:
1034  i += 1
1035  print("%d\t%s (%d)" % (i, s[0], s[1]))
1036 
#define str(s)
def logit(msg)
def make_sql_create_table(options, table=None, is_overview=False)
def make_sql_vacuum(table)
def make_sql_drop_raster_table(table)
def make_sql_create_gist(table, column)
def make_sql_create_raster_overviews(options)
def parse_command_line()
Definition: raster2pgsql.py:79
def wkblify_raster(options, infile, i, previous_gt=None)

References logit(), make_sql_create_gist(), make_sql_create_raster_overviews(), make_sql_create_table(), make_sql_drop_raster_table(), make_sql_vacuum(), parse_command_line(), str, and wkblify_raster().

Here is the call graph for this function: