Beispiel #1
0
def exportBuildings(settlements, distance):
    unnamed = 1
    places = []
    for node in settlements.nodes:
        locCoord = (float(node.lat), float(node.lon))
        placeName = "unnamed"
        if "name:en" in node.tags:
            placeName = node.tags["name:en"]
        elif "name" in node.tags:
            placeName = node.tags["name"]
        else:
            placeName += str(unnamed)
            unnamed += 1
        try:
            buildings = ox.buildings_from_point(point=locCoord,
                                                distance=distance)
            ox.save_gdf_shapefile(buildings,
                                  filename=placeName,
                                  folder="SHP/Buildings")
            places.append(placeName)
        except KeyError as e:
            print('error on ' + placeName)
        except:
            print('I got another exception')
    return places
Beispiel #2
0
def make_plot(place,
              point,
              network_type='drive',
              bldg_color='orange',
              dpi=40,
              dist=805,
              default_width=4,
              street_widths=None):
    gdf = ox.buildings_from_point(point=point, distance=dist)
    gdf_proj = ox.project_gdf(gdf)
    fig, ax = ox.plot_figure_ground(point=point,
                                    dist=dist,
                                    network_type=network_type,
                                    default_width=default_width,
                                    street_widths=street_widths,
                                    save=False,
                                    show=False,
                                    close=True)
    fig, ax = ox.plot_buildings(gdf_proj,
                                fig=fig,
                                ax=ax,
                                color=bldg_color,
                                set_bounds=False,
                                save=True,
                                show=False,
                                close=True,
                                filename=place,
                                dpi=dpi)
Beispiel #3
0
def make_plot(place,
              point,
              network_type="drive",
              edge_color="#FFD500",
              bldg_color="#3B14AF",
              bg_colour="#082368",
              dpi=40,
              dist=805,
              default_width=4,
              street_widths=None):
    gdf = ox.buildings_from_point(point=point, distance=dist)
    gdf_proj = ox.project_gdf(gdf)
    fig, ax = ox.plot_figure_ground(point=point,
                                    dist=dist,
                                    network_type=network_type,
                                    default_width=default_width,
                                    street_widths=street_widths,
                                    edge_color=edge_color,
                                    bgcolor=bg_colour,
                                    save=False,
                                    show=False,
                                    close=True)
    fig, ax = ox.plot_buildings(gdf_proj,
                                fig=fig,
                                ax=ax,
                                color=bldg_color,
                                set_bounds=False,
                                save=True,
                                show=False,
                                close=True,
                                filename=place,
                                dpi=dpi)
Beispiel #4
0
def exportNumberOfBuildings(settlements, distance):
    buildingsNumber = []
    for node in settlements.nodes:
        locCoord = (float(node.lat), float(node.lon))
        buildings = ox.buildings_from_point(point=locCoord, distance=distance)
        if not buildings.empty:
            buildingsNumber.append(buildings.size)
        else:
            buildingsNumber.append(0)
    return buildingsNumber
Beispiel #5
0
def exportBuildingCoordinates(point, name):
    # point must be a tuple (lat,long)
    buildings = ox.buildings_from_point(point=point, distance=1800)
    centroidList = buildings.centroid
    placeCoordCSV = open(name + "_LatLongs.csv", "w")
    for i in centroidList:
        placeCoordCSV.write(str(i.y) + ',' + str(i.x) + '\n')
    placeCoordCSV.close()
    network = ox.graph_from_point(point, distance=1800)
    ox.save_graphml(network, filename=name + '.grpahml', folder='network')
    ox.save_graph_shapefile(network, filename=name, folder='network')
Beispiel #6
0
def exportSettlements(code, settlements):
    outFile = open(code + '_coordinates.csv', 'w')
    outFile.write('Longitude,Latitude,Buildings\n')
    for node in settlements.nodes:
        locCoord = (float(node.lat), float(node.lon))
        buildings = pd.DataFrame()
        try:
            buildings = ox.buildings_from_point(point=locCoord, distance=2500)
        except KeyError as e:
            print('error on')
        if not buildings.empty:
            outFile.write(
                str(node.lon) + ',' + str(node.lat) + ',' +
                str(buildings.size) + '\n')
        else:
            outFile.write(str(node.lon) + ',' + str(node.lat) + ',0\n')

    outFile.close()
Beispiel #7
0
def download_buildings_cached_for(city_name,
                                  cities_dict,
                                  radius_m,
                                  load_in_memory=True):
    cache_dir = Path(__file__).parent.parent / "cache"
    cache_dir.mkdir(exist_ok=True)

    cache_file = cache_dir / f"{city_name}_{radius_m}.bin"

    if cache_file.exists():
        if not load_in_memory:
            return None
        return pickle.load(cache_file.open("rb"))

    blds = ox.buildings_from_point(cities_dict[city_name],
                                   radius_m,
                                   retain_invalid=True)

    pickle.dump(blds, cache_file.open("wb"))
    if not load_in_memory:
        return None
    return blds
Beispiel #8
0
import osmnx as ox, geopandas as gpd
ox.config(log_file=True, log_console=True, use_cache=True)
location_point = (-17.1010286, 145.7753749)

# create network from point, inside bounding box of N, S, E, W each 750m from point
G2 = ox.graph_from_point(location_point,
                         distance=5000,
                         distance_type='bbox',
                         network_type='drive')
G2 = ox.project_graph(G2)
fig, ax = ox.plot_graph(G2, node_size=30, node_color='#66cc66')

import osmnx as ox, geopandas as gpd
ox.config(log_file=True, log_console=True, use_cache=True)
location_point = (-17.1010286, 145.7753749)
gdf = ox.buildings_from_point(point=location_point, distance=5000)
gdf_proj = ox.project_gdf(gdf)
bbox = ox.bbox_from_point(point=location_point,
                          distance=5000,
                          project_utm=True)
fig, ax = ox.plot_buildings(gdf_proj)

import osmnx as ox, geopandas as gpd
ox.config(log_file=True, log_console=True, use_cache=True)

place_names = ['Gordonvale, Queensland, Australia']
east_bay = ox.gdf_from_places(place_names)
ox.save_gdf_shapefile(east_bay)
east_bay = ox.project_gdf(east_bay)
fig, ax = ox.plot_shape(east_bay)
    fig, ax = ox.plot_figure_ground(point=point,
                                    dist=dist,
                                    network_type=network_type,
                                    default_width=default_width,
                                    street_widths=None,
                                    save=False,
                                    show=False,
                                    close=True)
    fig, ax = ox.plot_buildings(gdf_proj,
                                fig=fig,
                                ax=ax,
                                color=bldg_color,
                                set_bounds=False,
                                save=True,
                                show=False,
                                close=True,
                                filename=place,
                                dpi=dpi)


clArguments = sys.argv[1:]
# Location #######################################################

locCoord = (float(clArguments[1]), float(clArguments[2]))

placeName = clArguments[0]
distance = int(clArguments[3])
size = 1000
# Buildings ######################################################
buildings = ox.buildings_from_point(point=locCoord, distance=distance)
Beispiel #10
0
Created on Thu Jul 27 15:32:11 2017

@author: yangjinyue
"""

import osmnx as ox
from IPython.display import Image
ox.config(log_file=True, log_console=True, use_cache=True)

img_folder = 'images'
extension = 'png'
size = 600

point = (35.691502, 139.703481)
dist = 2000
gdf = ox.buildings_from_point(point=point, distance=dist, retain_invalid=True)
gdf_proj = ox.project_gdf(gdf)
bbox = ox.bbox_from_point(point=point, distance=dist, project_utm=True)
fig, ax = ox.plot_buildings(gdf_proj,
                            bgcolor='#333333',
                            color='w',
                            figsize=(8, 8),
                            bbox=bbox,
                            save=True,
                            show=False,
                            close=True,
                            filename='paris_bldgs',
                            dpi=150)
Image('{}/{}.{}'.format(img_folder, 'paris_bldgs', extension),
      height=size,
      width=size)
Beispiel #11
0
# -*- coding: utf-8 -*-
import os
import subprocess

import osmnx

# configure logging/caching
osmnx.config(log_console=True, use_cache=True)

# configure the image display
size = 256

# load buildings from about 1.5km² around UCL
point = (51.524498, -0.133874)
dist = 612
gdf = osmnx.buildings_from_point(point=point, distance=dist)

# preview image
gdf_proj = osmnx.project_gdf(gdf, to_crs={'init': 'epsg:3857'})
fig, ax = osmnx.plot_buildings(gdf_proj,
                               bgcolor='#333333',
                               color='w',
                               figsize=(4, 4),
                               save=True,
                               show=False,
                               close=True,
                               filename='test_buildings_preview',
                               dpi=600)

# save
test_dir = os.path.dirname(__file__)