def MergeTiles(): ### STAGE 2 ### bsbScales = BsbScales(Resources.indir) sortList = bsbScales.getKapsSortedByScale(".zxy") for errorBsbFile in Resources.lstBsbErrorFiles: if sortList.__contains__(errorBsbFile + ".zxy"): sortList.remove(errorBsbFile + ".zxy") sortList.reverse() Resources.numChartsMerge = len(sortList) if Resources.numChartsMerge > 0: moPath = Resources.getTempDir() + "/mergeorder.txt" if os.path.isfile(moPath): os.remove(moPath) moFile = open(moPath, "w") for line in sortList: if os.path.isdir(Resources.getTempDir() + "/" + line): moFile.write(Resources.getTempDir() + "/" + line + "\n") else: pass #print "missing tileset: " + line moFile.close() Merge(Resources.getTempDir() + "/merge", moPath) if pleaseContinue: wx.PostEvent(app, InThreadEvent(advance=True))
def __init__(self, regiondir, kapDir, tileDir, pFilter=None): ##get merge order bsbScales = BsbScales(kapDir, pFilter) sortList = bsbScales.getKapsSortedByScale(".zxy") sortList.reverse() #only reverse if you are rendering 2 zoom levels moPath = regiondir + "/mergeorder.txt" if not os.path.isdir(regiondir): os.mkdir(regiondir) if os.path.isfile(regiondir + "/mergeorder.txt"): os.remove(moPath) moFile = open(moPath, "w") shouldExit = False for line in sortList: if os.path.isdir(tileDir + "/" + line): moFile.write(tileDir + "/" + line+"\n") else: print "missing tileset: " + line shouldExit = True moFile.close() if shouldExit: sys.exit() logfile = regiondir + "/mergelog.txt" log = open(logfile, "wb") #log = None command = "python %stiles_merge_simple.py -l %s %s/merge" %(Env.tilersToolsDir, moPath, regiondir) print command print "merging", sortList.__len__(), "tile sets..." #print command thisone = subprocess.Popen(shlex.split(command), stdout=log) thisone.wait() log.close()