def main(config): """Read shapes, plot map """ output_file = os.path.join(config['paths']['figures'], 'admin-map.png') ax = get_axes() plot_basemap(ax, config['paths']['data']) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, config['paths']['data'], include_regions=True) save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-water-map.png') water_edge_file = os.path.join(data_path, 'network', 'port_edges.shp') water_node_file = os.path.join(data_path, 'network', 'port_nodes.shp') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=True) colors = { 'Waterway': '#045a8d', 'Port': '#54278f' } # edges edges = geopandas.read_file(water_edge_file) ax.add_geometries( list(edges.geometry.buffer(0.02)), crs=proj_lat_lon, edgecolor='none', facecolor=colors['Waterway'], zorder=4 ) # nodes nodes = geopandas.read_file(water_node_file) nodes = nodes[nodes['name']!='none'] ax.scatter( list(nodes.geometry.x), list(nodes.geometry.y), transform=proj_lat_lon, facecolor=colors['Port'], s=4, zorder=5 ) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-air-map.png') air_edge_file = os.path.join(data_path, 'network', 'air_edges.shp') air_node_file = os.path.join(data_path, 'network', 'air_nodes.shp') # air_usage_file = os.path.join(data_path, 'usage', 'air_passenger.csv') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) colors = {'Air route': '#252525', 'Airport': '#d95f0e'} # edges edges = geopandas.read_file(air_edge_file) ax.add_geometries(list(edges.geometry), crs=proj_lat_lon, linewidth=1.5, edgecolor=colors['Air route'], facecolor='none', zorder=4) # edges merged with usage # usage = pandas.read_csv(air_usage_file) # edges_with_usage = edges.merge(usage[['id', 'passengers_2016']], on='id') # nodes nodes = geopandas.read_file(air_node_file) ax.scatter(list(nodes.geometry.x), list(nodes.geometry.y), transform=proj_lat_lon, facecolor=colors['Airport'], s=12, zorder=5) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-road-map.png') road_edge_file_national = os.path.join(data_path, 'network', 'road_edges_national.shp') road_edge_file_provincial = os.path.join(data_path, 'network', 'road_edges_provincial.shp') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) colors = {'National': '#ba0f03', 'Provincial': '#e0881f'} # edges edges_provincial = geopandas.read_file(road_edge_file_provincial) ax.add_geometries(list(edges_provincial.geometry), crs=proj_lat_lon, linewidth=1.25, edgecolor=colors['Provincial'], facecolor='none', zorder=4) edges_national = geopandas.read_file(road_edge_file_national) ax.add_geometries(list(edges_national.geometry), crs=proj_lat_lon, linewidth=1.25, edgecolor=colors['National'], facecolor='none', zorder=5) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] # data output_file = os.path.join(config['paths']['figures'], 'network-rail-map.png') rail_edge_file = os.path.join(data_path, 'network', 'rail_edges.shp') rail_node_file = os.path.join(data_path, 'network', 'rail_nodes.shp') # basemap proj_lat_lon = ccrs.PlateCarree() ax = get_axes() plot_basemap(ax, data_path) scale_bar(ax, location=(0.8, 0.05)) plot_basemap_labels(ax, data_path, include_regions=False) colors = {'Railway': '#006d2c', 'Station': '#003312'} # edges edges = geopandas.read_file(rail_edge_file) ax.add_geometries(list(edges.geometry), crs=proj_lat_lon, linewidth=1.25, edgecolor=colors['Railway'], facecolor='none', zorder=4) # nodes nodes = geopandas.read_file(rail_node_file) ax.scatter(list(nodes.geometry.x), list(nodes.geometry.y), transform=proj_lat_lon, facecolor=colors['Station'], s=4, zorder=5) # legend legend_handles = [ mpatches.Patch(color=color, label=label) for label, color in colors.items() ] plt.legend(handles=legend_handles, loc='lower left') # save save_fig(output_file)
def main(config): """Read shapes, plot map """ data_path = config['paths']['data'] zones_file = os.path.join(data_path, 'boundaries', 'economic_od_zones.shp') od_file = os.path.join(data_path, 'usage', 'economic_od.csv') od = pandas.read_csv(od_file) zones = geopandas.read_file(zones_file) all_prod = od.groupby(['sector', 'from_zone']).sum() all_attr = od.groupby(['sector', 'to_zone']).sum() for sector in od.sector.unique(): print(" >", sector) productions = all_prod.loc[sector, :] productions = zones.merge(productions, left_on='id', right_on='from_zone') attractions = all_attr.loc[sector, :] attractions = zones.merge(attractions, left_on='id', right_on='to_zone') norm = Normalize(vmin=min(productions.value.min(), attractions.value.min()), vmax=max(productions.value.max(), attractions.value.max())) label = "Commodity ({}) productions".format(sector) plot(productions, norm, data_path, label) save_fig( os.path.join(config['paths']['figures'], 'od_{}_orig_map.png'.format(sector))) label = "Commodity ({}) attractions".format(sector) plot(attractions, norm, data_path, label) save_fig( os.path.join(config['paths']['figures'], 'od_{}_dest_map.png'.format(sector)))