Network
- class compas.datastructures.Network(name=None, default_node_attributes=None, default_edge_attributes=None)[source]
Bases:
compas.datastructures.graph.graph.Graph
Geometric 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_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.
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).