Example #1
0
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))
Example #2
0
 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()