Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions growbikenet/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -567,10 +567,11 @@ def remove_edge_overlaps(edges_in):
grown_net = MultiLineString()
for row in edges_in.itertuples():
grown_net_new = grown_net | row.geometry # Union
if grown_net_new.length > grown_net.length:
edges_out.loc[row.Index, ['geometry']] = grown_net_new - grown_net # Difference
else: # There was nothing added, so we delete the row
grown_net_diff = grown_net_new - grown_net
if grown_net_diff.is_empty: # There was nothing added, so we delete the row
edges_out.drop(index=row.Index, inplace=True)
else:
edges_out.loc[row.Index, ['geometry']] = grown_net_diff # Difference
grown_net = grown_net_new
return edges_out

Expand Down
7 changes: 5 additions & 2 deletions growbikenet/growbikenet.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ def growbikenet(

### Compute edge attributes
print("Computing edge attributes..")
# The ranking=="random" case has no edge attributes and is handled in rank_df
if ranking == "betweenness_centrality":
# Add betweenness attributes to edges
bc_values = nx.edge_betweenness_centrality(
Expand All @@ -216,6 +217,7 @@ def growbikenet(
cc_values = node_to_edge_attributes(cc_values_nodes, A.edges)
nx.set_edge_attributes(A, cc_values, name="closeness_centrality")


### Export attributes to gdfs:

# Create dataframe and add method as edge attribute
Expand All @@ -237,10 +239,11 @@ def growbikenet(

# Remove edge overlaps
if not allow_edge_overlaps:
a_edges = remove_edge_overlaps(a_edges)
print("Removing edge overlaps..")
a_edges = remove_edge_overlaps(a_edges) # Can take a while, could be sped up.
overlap_string = ""
else:
overlap_string = "_overlap"
overlap_string = "_with-overlaps"

# Add lengths and cumulative lengths, rounded to integer meters
a_edges['length'] = a_edges.geometry.length
Expand Down
Loading