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)
示例#2
0
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)
示例#4
0
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)
示例#6
0
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)))