Network

class compas.datastructures.Network[source]

Bases: compas.datastructures.network.core.network.BaseNetwork

Methods

__init__()

Initialize self.

add_edge(u, v[, attr_dict])

Add an edge and specify its attributes.

add_node([key, attr_dict])

Add a node and specify its attributes (optional).

clear()

Clear all the network data.

complement([cls])

Generate the complement network of a network.

connected_edges(key)

Return the edges connected to a node.

copy([cls])

Make an independent copy of the datastructure object.

degree(key)

Return the number of neighbors of a node.

degree_in(key)

Return the numer of incoming neighbors of a node.

degree_out(key)

Return the number of outgoing neighbors of a node.

delete_edge(u, v)

Delete an edge from the network.

delete_node(key)

Delete a node from the graph.

edge_attribute(key, name[, value])

Get or set an attribute of an edge.

edge_attributes(key[, names, values])

Get or set multiple attributes of an edge.

edge_coordinates(u, v[, axes])

Return the coordinates of the start and end point of an edge.

edge_direction(u, v)

Return the direction vector of an edge.

edge_length(u, v)

Return the length of an edge.

edge_midpoint(u, v)

Return the location of the midpoint of an edge.

edge_point(u, v[, t])

Return the location of a point along an edge.

edge_vector(u, v)

Return the vector of an edge.

edges([data])

Iterate over the edges of the network.

edges_attribute(name[, value, keys])

Get or set an attribute of multiple edges.

edges_attributes([names, values, keys])

Get or set multiple attributes of multiple edges.

edges_where(conditions[, data])

Get edges for which a certain condition or set of conditions is true.

edges_where_predicate(predicate[, data])

Get edges for which a certain condition or set of conditions is true using a lambda function.

from_data(data)

Construct a datastructure from structured data.

from_edges(edges)

from_json(filepath)

Construct a datastructure from structured data contained in a json file.

from_lines(lines[, precision])

Construct a network from a set of lines represented by their start and end point coordinates.

from_networkx(graph)

from_nodes_and_edges(nodes, edges)

Construct a network from nodes and edges.

from_obj(filepath[, precision])

Construct a network from the data contained in an OBJ file.

get_any_edge()

Get the identifier of a random edge.

get_any_edges(n)

Get the identifiers of a set of random edges.

get_any_node()

Get the identifier of a random node.

get_any_nodes(n[, exclude_leaves])

Get a list of identifiers of a random set of n nodes.

gkey_key([precision])

Returns a dictionary that maps geometric keys of a certain precision to the keys of the corresponding nodes.

has_edge(u, v[, directed])

Verify if the network contains a specific edge.

has_node(key)

Verify if a specific node is present in the network.

index_key()

Returns a dictionary that maps the indices of a node list to keys in a node dictionary.

index_uv()

Returns a dictionary that maps edges in a list to the corresponding vertex key pairs.

is_connected()

Verify that the network is connected.

is_leaf(key)

Verify if a node is a leaf.

is_node_connected(key)

Verify if a specific node is connected.

key_gkey([precision])

Returns a dictionary that maps node dictionary keys to the corresponding geometric key up to a certain precision.

key_index()

Returns a dictionary that maps node dictionary keys to the corresponding index in a node list or array.

leaves()

Return all leaves of the network.

neighborhood(key[, ring])

Return the nodes in the neighborhood of a node.

neighbors(key)

Return the neighbors of a node.

neighbors_in(key)

Return the incoming neighbors of a node.

neighbors_out(key)

Return the outgoing neighbors of a node.

node_attribute(key, name[, value])

Get or set an attribute of a node.

node_attributes(key[, names, values])

Get or set multiple attributes of a node.

node_coordinates(key[, axes])

Return the coordinates of a node.

node_laplacian(key)

Return the vector from the node to the centroid of its 1-ring neighborhood.

node_neighborhood_centroid(key)

Compute the centroid of the neighboring nodes.

nodes([data])

Iterate over the nodes of the network.

nodes_attribute(name[, value, keys])

Get or set an attribute of multiple nodes.

nodes_attributes([names, values, keys])

Get or set multiple attributes of multiple nodes.

nodes_where(conditions[, data])

Get nodes for which a certain condition or set of conditions is true.

nodes_where_predicate(predicate[, data])

Get nodes for which a certain condition or set of conditions is true using a lambda function.

number_of_edges()

Compute the number of edges of the network.

number_of_nodes()

Compute the number of nodes of the network.

shortest_path(start, end)

Find the shortest path between two nodes of the network.

smooth([fixed, kmax, damping, callback, …])

Smooth a network by moving every free node to the centroid of its neighbors.

split_edge(u, v[, t])

Split and edge by inserting a node along its length.

summary()

Print a summary of the graph.

to_data()

Returns a dictionary of structured data representing the data structure.

to_json(filepath[, pretty])

Serialise the structured data representing the datastructure to json.

to_lines()

Return the lines of the network as pairs of start and end point coordinates.

to_networkx()

to_nodes_and_edges()

Return the nodes and edges of a network.

to_obj()

Write the network to an OBJ file.

to_points()

Return the coordinates of the network.

transform(transformation)

Transform a network.

transformed(transformation)

Transform a copy of network.

unset_edge_attribute(key, name)

Unset the attribute of an edge.

unset_node_attribute(key, name)

Unset the attribute of a node.

update_dea([attr_dict])

Update the default edge attributes.

update_default_edge_attributes([attr_dict])

Update the default edge attributes.

update_default_node_attributes([attr_dict])

Update the default node attributes.

update_dna([attr_dict])

Update the default node attributes.

uv_index()

Returns a dictionary that maps edge keys (i.e.

validate_data()

Validate the data of this object against its data schema (self.DATASCHEMA).

validate_json()

Validate the data loaded from a JSON representation of the data of this object against its data schema (self.DATASCHEMA).