def __smushToporamaThumbnails(pathtofiles, pathout, noneImage): def smush(ntsId): return "".join(ntsId).lower() for tile in nts.tilesByBounds(nts.SCALE_250K, Bounds(-144.1, -47.99, 40.1, 87.99)): ntsId250 = nts.ntsId(nts.SCALE_250K, tile) tiles50k = nts.__tiles50ByTile250(tile) filenames = [] ntsIds = [] notFound = 0 if ntsId250[0] is not None: print ntsId250 for tile50k in tiles50k: ntsId = nts.ntsId(nts.SCALE_50K, tile50k) ntsIds.append(smush(ntsId)) filename = pathtofiles + ("toporama_%s_tn.jpg" % (smush(ntsId))) if not os.path.isfile(filename): filename = noneImage notFound += 1 filenames.append(filename) if notFound != len(tiles50k): filenameIndex = 0 bigImage = QImage(600, 480, QImage.Format_ARGB32) for imageX in range(4): for imageY in range(4): pxOffsetX = 150 * imageX pxOffsetY = 480 - 120 * imageY tn = QImage(filenames[filenameIndex]) for pxX in range(tn.width()): for pxY in range(tn.height()): bigImage.setPixel(pxOffsetX + pxX, pxOffsetY - 120 + pxY, tn.pixel(pxX, pxY)) filenameIndex += 1 bigFileName = pathout + ("toporama_%s.png" % (smush(ntsId250),)) bigImage.save(bigFileName) print "Saved" + bigFileName
def __smushToporamaSeries(pathtofiles, pathout, noneImage): def smush(ntsId): return "".join(ntsId).lower() for tile in nts.tilesByBounds(nts.SCALE_SERIES, nts.BOUNDS): seriesId = nts.ntsId(nts.SCALE_SERIES, tile) print seriesId notFound = 0 filenames = [] tiles250k = nts.__tiles250ByTileSeries(tile) for tile250k in tiles250k: ntsId = nts.ntsId(nts.SCALE_250K, tile250k) filename = pathtofiles + ("toporama_%s.jpg" % smush(ntsId)) if not os.path.isfile(filename): filename = noneImage notFound += 1 filenames.append(filename) if notFound != len(tiles250k): filenameIndex = 0 if tile[1] >= 7: mapsWidth = 2 else: mapsWidth = 4 bigImage = QImage(mapsWidth * 600, 1920, QImage.Format_RGB32) for imageX in range(mapsWidth): for imageY in range(4): pxOffsetX = 600 * imageX pxOffsetY = 1920 - 480 * imageY tn = QImage(filenames[filenameIndex]) for pxX in range(tn.width()): for pxY in range(tn.height()): bigImage.setPixel(pxOffsetX + pxX, pxOffsetY - 480 + pxY, tn.pixel(pxX, pxY)) filenameIndex += 1 bigFileName = pathout + ("toporama_%s.jpg" % seriesId) bigImage.scaled(180 * mapsWidth, 480).save(bigFileName) print "Saved" + bigFileName