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
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)
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)
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
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')
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()
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
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)
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)
# -*- 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__)