code: def to_edgelist(self):
          
          # save cleaned edges
          export = []
          # loop through (node, node, edge attributes)
          for edge in nx.to_edgelist(self.transforms):
              a, b, c = edge
              # geometry is a node property but save it to the
              # edge so we don't need two dictionaries
              if 'geometry' in self.transforms.node[b]:
                  c['geometry'] = self.transforms.node[b]['geometry']
              # save the matrix as a float list
              c['matrix'] = np.asanyarray(c['matrix'], dtype=np.float64).tolist()
              export.append((a, b, c))
          return export
docs: Export the current transforms as a list of edge tuples, with
          each tuple having the format:
          (node_a, node_b, {metadata})
  
          Returns
          -------
          edgelist: (n,) list of tuples