Network
- class compas.datastructures.Network(name=None, default_node_attributes=None, default_edge_attributes=None)[source]
Bases:
compas.datastructures.graph.graph.GraphGeometric implementation of an edge graph.
- Parameters
name (str, optional) – The name of the graph. Defaults to “Graph”.
default_node_attributes (dict, optional) – Default values for node attributes.
default_edge_attributes (dict, optional) – Default values for edge attributes.
Methods
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).
adjacency_matrix([rtype])Creates a node adjacency matrix from a Network datastructure.
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.
connectivity_matrix([rtype])Creates a connectivity matrix from a Network datastructure.
copy([cls])Make an independent copy of the data object.
Count the number of crossings (pairs of crossing edges) in the network.
degree(key)Return the number of neighbors of a node.
degree_in(key)Return the numer of incoming neighbors of a node.
degree_matrix([rtype])Creates a node degree matrix from a Network datastructure.
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_sample([size])Get the identifiers of a set of random edges.
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.
embed_in_plane([fixed, straightline])Embed the network in the plane.
Identify all pairs of crossing edges in a network.
find_cycles([breakpoints])Find the faces of a network.
from_data(data)Construct an object of this type from the provided data.
from_edges(edges)from_json(filepath)Construct an object from serialized data contained in a JSON file.
from_jsonstring(string)Construct an object from serialized data contained in a JSON string.
from_lines(lines[, precision])Construct a network from a set of lines represented by their start and end point coordinates.
from_networkx(graph)Create a new graph instance from a NetworkX DiGraph instance.
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.
gkey_node([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.
Verify if a network has crossing edges.
is_leaf(key)Verify if a node is a leaf.
is_node_connected(key)Verify if a specific node is connected.
Check if the network is planar.
Verify that a network is embedded in the plane without crossing edges.
is_xy()Verify that a network lies in the XY plane.
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.
laplacian_matrix([normalize, rtype])Construct a Laplacian matrix from a Network datastructure.
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.
network_adjacency_matrix([rtype])Creates a node adjacency matrix from a Network datastructure.
network_connectivity_matrix([rtype])Creates a connectivity matrix from a Network datastructure.
network_degree_matrix([rtype])Creates a node degree matrix from a Network datastructure.
network_embed_in_plane([fixed, straightline])Embed the network in the plane.
Check if the network is planar.
Verify that a network is embedded in the plane without crossing edges.
network_laplacian_matrix([normalize, rtype])Construct a Laplacian matrix from a Network datastructure.
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_gkey([precision])Returns a dictionary that maps node dictionary keys to the corresponding geometric key up to a certain precision.
node_laplacian(key)Return the vector from the node to the centroid of its 1-ring neighborhood.
Compute the centroid of the neighboring nodes.
node_sample([size])Get a list of identifiers of a random set of n 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()Convert an object to its native data representation.
to_json(filepath[, pretty])Serialize the data representation of an object to a JSON file.
to_jsonstring([pretty])Serialize the data representation of an object to a JSON string.
to_lines()Return the lines of the network as pairs of start and end point coordinates.
Create a new NetworkX graph instance from a graph.
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 object's data against its data schema (self.DATASCHEMA).
Validate the object's data against its json schema (self.JSONSCHEMA).