  In this article, Temperley's bijection between spanning trees of the square
grid on the one hand, and perfect matchings (also known as dimer coverings) of
the square grid on the other, is extended to the setting of general planar
directed (and undirected) graphs, where edges carry nonnegative weights that
induce a weighting on the set of spanning trees. We show that the weighted,
directed spanning trees (often called arborescences) of any planar graph G can
be put into a one-to-one weight-preserving correspondence with the perfect
matchings of a related planar graph H.
  One special case of this result is a bijection between perfect matchings of
the hexagonal honeycomb lattice and directed spanning trees of a triangular
lattice. Another special case gives a correspondence between perfect matchings
of the ``square-octagon'' lattice and directed weighted spanning trees on a
directed weighted version of the cartesian lattice.
  In conjunction with results of Kenyon, our main theorem allows us to compute
the measures of all cylinder events for random spanning trees on any (directed,
weighted) planar graph. Conversely, in cases where the perfect matching model
arises from a tree model, Wilson's algorithm allows us to quickly generate
random samples of perfect matchings.
