We propose a 3D ray cloud based method for estimating the canopy density of vineyards and orchards that have been scanned by a vehicle-mounted mobile 3D spinning LiDAR (AgScan3D). The method is composed of two parts. Firstly, the AgScan3D data is processed through a Continuous-Time SLAM algorithm into a globally registered 3D ray cloud. The global ray cloud is a canonical data format (a digital twin) from which we can compare vineyard snapshots over multiple times within a season and across seasons. Secondly, the vineyard rows are automatically extracted from the ray cloud and a novel density calculation is performed to estimate the maximum likelihood canopy densities of the vineyard. This combination of digital twinning, together with the accurate extraction of canopy structure information, allows entire vineyards to be analysed and compared, across the growing season and from year to year. The proposed method is evaluated both in simulation and field experiments. Field experiments were performed at four sites, which varied in vineyard structure and vine management, over two growing seasons, resulting in a total traversal of 160 kilometres, 42.4 scanned hectares of vines with a combined total of approximately 93000 of scanned vines. The field datasets and ray cloud library will be released publicly.