# create a range of descending zoomlevels zoomlevels = range(upperzoom,lowerzoom,-1) # track number of tiles N = 0 # loop through zoom levels for j in range(len(zoomlevels)): level = zoomlevels[j] # grab correct quadkey string based on zoom level data.loc[:,'quadkey'] = data['quadkey'].map(lambda x: x[0:level]) # group dataframe by quadkey groups = data.groupby('quadkey') # get list of unique quadkeys and length quadtree = data['quadkey'].unique() tiles = tiles.union(set(quadtree)) n = len(quadtree) # loop through quadkeys for i in range(comm.rank, n, comm.size): # line 3 quadkey = quadtree[i] # generate tile function, 1 means append to tile tile.generate_tile(groups.get_group(quadkey), quadkey, level, 1, int(state_fips) ) # line 4 comm.Barrier() if comm.rank == 0: t6 = time.time() print("Creating {} png files took {:.1f}s".format(len(tiles),t6-t5)) print("Total time {:.1f}".format(t6-start_time)) print("")
# create a range of descending zoomlevels zoomlevels = range(upperzoom,lowerzoom,-1) # track number of tiles N = 0 # line 2 comm = MPI.COMM_WORLD # loop through zoom levels for j in range(comm.rank, len(zoomlevels), comm.size): # line 3 level = zoomlevels[j] # grab correct quadkey string based on zoom level data.loc[:,'quadkey'] = data['quadkey'].map(lambda x: x[0:level]) # group dataframe by quadkey groups = data.groupby('quadkey') # get list of unique quadkeys and length quadtree = data['quadkey'].unique() n = len(quadtree) # loop through quadkeys for i in range(n): quadkey = quadtree[i] # generate tile function tile.generate_tile(groups.get_group(quadkey), quadkey, level) # keep count of tiles N += n # line 4 comm.Barrier() t3 = time.time() print("Creating {} png files took {:.1f}s".format(N,t3-t2)) print("Total time {:.1f}".format(t3-t0))