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 the identifier of a random edge.
Get the identifiers of a set of random edges.
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.
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.
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.
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.
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.
Compute the number of edges of the network.
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.
Return the nodes and edges of a network.
to_obj
()Write the network to an OBJ file.
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 the data of this object against its data schema (self.DATASCHEMA).
Validate the data loaded from a JSON representation of the data of this object against its data schema (self.DATASCHEMA).