from datautils import permute_values import shapefile import pandas as pd from mapdrawer import MapDrawer, ShapeFileIterator regidx = [2, 4, 11, 5, 6, 8, 16, None, 14, 1, 12, 13, 7, None, 3, 9, 10] stats_folder = "C:/Users/Glenn/Documents/Stats/Housing/" dfopen = pd.read_csv(stats_folder + "Bonds Lodged by region.csv", skiprows=0) dfopen.set_index('Month', inplace=True) dfclose = pd.read_csv(stats_folder + "Bonds Closed by region.csv", skiprows=0) dfclose.set_index('Month', inplace=True) df = dfopen.subtract(dfclose) df.rename(pd.to_datetime, inplace=True) df = df.groupby(df.index.year).mean() shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shp_iter = ShapeFileIterator(shp_folder + "REGC2016_GV_Clipped.shp") shades = permute_values(regidx, df.loc[2016]) print shades map1 = MapDrawer(dimensions=(475, 480)) img = map1.draw(shp_iter, shades, title="Net New Bonds Lodged (2016)", legend_header="(New Bonds)", exclude_regions=[17], colour_profile=((255, 0, 0), (0, 255, 0))) img.save("net-bonds-lodged-2016.png", "PNG")
stats_folder = "C:/Users/Glenn/Documents/Stats/Housing/" df_income = pd.read_csv( "nzis-jun2015qtr-regional.csv", skiprows=10, names=['Region', 'Unused', '2011', '2012', '2013', '2014', '2015'], nrows=13).drop('Unused', axis=1) shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shp_iter = ShapeFileIterator(shp_folder + "REGC2016_GV_Clipped.shp") rentals = permute_values(rental_regions, df_rents.iloc[285, 1:]) income = permute_values(income_regions, df_income['2015']) shades = [] for ii in range(0, len(rentals)): if income[ii] == None or rentals[ii] == None: shades.append(None) else: shades.append(income[ii] - (rentals[ii])) print income print rentals print shades map1 = MapDrawer(dimensions=(475, 480)) img = map1.draw(shp_iter, shades, title="Median Income After Rent", legend_header="($)", use_divisor=False, exclude_regions=[17], colour_profile=((0, 255, 0), (255, 0, 0))) img.save("income-after-rent.png", "PNG")
from datautils import permute_values import shapefile import pandas as pd from mapdrawer import MapDrawer, ShapeFileIterator #df = pd.read_csv("DPE389701_population-by-region.csv", skiprows=1) #df.rename(columns={'Unnamed: 0':'Date'}, inplace=True) regidx = [2, 4, 11, 5, 6, 8, 16, None, 14, 1, 12, 13, 7, None, 3, 9, 10] stats_folder = "C:/Users/Glenn/Documents/Stats/Housing/" df = pd.read_csv(stats_folder + "Active Bonds by region.csv", skiprows=0) df.set_index('Month', inplace=True) shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shp_iter = ShapeFileIterator(shp_folder + "REGC2016_GV_Clipped.shp") shades = permute_values(regidx, df.loc['2016-10-01']) print shades map1 = MapDrawer(dimensions=(475, 480)) img = map1.draw(shp_iter, shades, title="Active Bonds (Oct 2016)", legend_header="(Qty)", exclude_regions=[17], colour_profile=((255, 0, 0), (0, 255, 0))) img.save("bonds-active.png", "PNG")
import shapefile import pandas as pd from mapdrawer import MapDrawer, ShapeFileIterator from datautils import permute_values regions = [1,2,3,4,[5,6],7,8,9,[14,15,16,10],11,12,13] stats_folder = "C:/Users/Glenn/Documents/Stats/Housing/" df = pd.read_csv("nzis-jun2015qtr-regional.csv", skiprows=10, names=['Region','Unused', '2011', '2012', '2013', '2014', '2015'],nrows=13).drop('Unused', axis=1) shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shp_iter = ShapeFileIterator( shp_folder + "REGC2016_GV_Clipped.shp") shades = permute_values(regions, df['2015']) print shades map1 = MapDrawer(dimensions=(475,480)) img = map1.draw(shp_iter, shades, title="Median Income (June 2015)", legend_header="($)", exclude_regions=[17], colour_profile=((0,255,0),(255,0,0))) img.save("income-regional.png", "PNG")
import shapefile import pandas as pd from mapdrawer import MapDrawer #shp_folder = "C:/Users/Glenn/Documents/Stats/ShapeFiles/" #shpf = shapefile.Reader(shp_folder + "REGC2016_GV_Full.shp") shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shpf = shapefile.Reader(shp_folder + "REGC2016_GV_Clipped.shp") fields = shpf.fields for name in fields: print name records = shpf.records() geom = shpf.shapes() shades = [] polygons = [] bboxes = [] for fidx, feature in enumerate(geom): cnt = sx = sy = 0 for x, y in feature.points: sx += x sy += y cnt += 1 print(sx / cnt, sy / cnt) map = MapDrawer() map.draw(polygons)
dfpop = pd.read_csv("DPE389701_population-by-region.csv", skiprows=1, nrows=21) dfpop.rename(columns={ 'Unnamed: 0': 'Date', 'New Zealand': 'Population' }, inplace=True) dfpop = dfpop.set_index('Date') dfpop.apply(pd.to_numeric) popidx = [1, 2, 3, 4, 5, 6, 7, 8, 9, None, 14, 16, 10, 11, 12, 13, None] popvalues = permute_values(popidx, dfpop.loc['2015']) shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shp_iter = ShapeFileIterator(shp_folder + "REGC2016_GV_Clipped.shp") bondvalues = permute_values(regidx, df.loc['2016-10-01']) shades = [] for ii in range(len(popvalues)): if bondvalues[ii] and popvalues[ii]: v = float(popvalues[ii]) / bondvalues[ii] else: v = None shades.append(v) print shades map1 = MapDrawer(dimensions=(475, 480)) img = map1.draw(shp_iter, shades, title="Population per Net Bonds", legend_header="(Pop/Bond Ratio)", exclude_regions=[17], colour_profile=((255, 0, 0), (0, 255, 0))) img.save("pop-per-net-bonds.png", "PNG")
#shp_folder = "C:/Users/Glenn/Documents/Stats/ShapeFiles/" #shpf = shapefile.Reader(shp_folder + "REGC2016_GV_Full.shp") shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shpf = shapefile.Reader(shp_folder + "CB2016_GV_Clipped.shp") fields = shpf.fields for name in fields: print name records = shpf.records() geom = shpf.shapes() shades = [] polygons = [] bboxes = [] for fidx, feature in enumerate(geom): parts = [] for idx in range(len(feature.parts)-1): pidx1 = feature.parts[idx] pidx2 = feature.parts[idx+1] parts.append(feature.points[pidx1:pidx2-1]) parts.append(feature.points[feature.parts[-1]:]) polygons.append(parts) bboxes.append(feature.bbox) map1 = MapDrawer() img = map1.draw(polygons, shades, draw_legend = False, bboxes=bboxes, title="Community Boards") img.save("community-boards.png", "PNG")
import shapefile import pandas as pd from mapdrawer import MapDrawer, ShapeFileIterator df = pd.read_csv("DPE389701_population-by-region.csv", skiprows=1) df.rename(columns={'Unnamed: 0': 'Date'}, inplace=True) regidx = [1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 11, 0, 12, 0] nztot = 1569900.0 #df.iloc[19,19].astype(float) shp_folder = "C:/Users/Glenn/Documents/Stats/2016 Digital Boundaries Generalised Clipped/" shp_iter = ShapeFileIterator(shp_folder + "REGC2016_GV_Clipped.shp") shades = [] for idx in range(0, len(regidx)): if regidx[idx] == 0: v = 0 else: v = df.iloc[19, regidx[idx]] shades.append(v) map1 = MapDrawer() img = map1.draw(shp_iter, shades, title="Population Distribution of NZ (2015)", legend_header="(million)", use_divisor=True) #map1.number_regions() #img = map1.draw(polygons, shades, bboxes=bboxes, legend_header="(million)") img.save("nz-pop.png", "PNG")