<p>I have an application where a Hilbert R-Tree <a href="http://en.wikipedia.org/wiki/Hilbert_R-tree" rel="noreferrer">(wikipedia)</a> <a href="http://citeseer.comp.nus.edu.sg/84580.html" rel="noreferrer">(citeseer)</a> would seem to be an appropriate data structure.  Specifically, it requires reasonably fast spatial queries over a data set that will experience a lot of updates.</p>

<p>However, as far as I can see, none of the descriptions of the algorithms for this data structure even <em>mention</em> how to actually calculate the requisite <strong>Hilbert Value</strong>; which is the distance along a <a href="http://en.wikipedia.org/wiki/Hilbert_curve" rel="noreferrer">Hilbert Curve</a> to the point.</p>

<p>So any suggestions for how to go about calculating this?</p>

Fun question!
I did a bit of googling, and the good news is, I've found an implementation of Hilbert Value.
The potentially bad news is, it's in Haskell...
http://www.serpentine.com/blog/2007/01/11/two-dimensional-spatial-hashing-with-space-filling-curves/
It also proposes a Lebesgue distance metric you might be able to compute more easily.