I need a function that takes an address of a burning man camp and returns the lat long of that camp.
The city looks like this – http://www.burningman.com/preparation/maps/11_maps/BRC2011_070611.jpg
Burning man addresses are specified like Anniversary & 6:15. There are streets every 15 minutes on the clock lines, but sometimes people specify their address as 6:05 or 6:10 to specify where they are on that block.
From the burning man website – “The distance from the inner-most Esplanade street to the Man is 2400 feet. This means all blocks from Esplanade to Graduation are wider between the clock streets. Esplanade to Anniversary Street, curb to curb, is 400 feet deep. Other double-deep blocks are 430 feet deep. The remaining blocks are 200 feet deep.”
I think that means that the streets are 30 ft wide, and the blocks are generally 200 ft wide, except for the first large block. And it’s 2400 feet from the center to the inner edge of Esplanade, 2430 feet to the start of the first block.
The center of the circle is at {40.782920000000004, -119.20903000000001} and the 4:30 street is due North.
For testing (these are only roughly accurate):
40.77574, -119.20334 is 3:30 & Birthday
40.77521, -119.20879 is 4:30 & Anniversary
40.78579, -119.22369 is 8:00 & Graduation
I wrote the iBurn app for burning man, if I can get this function today, I can hopefully add more data to the app before the event starts.
This calculation is called solving the "direct geodesic problem", and this is discussed in C.F.F. Karney’s article "Algorithms for geodesics, 2012. I originally suggested the Vincenty formula, but the algorithms Karney presents in the article are more numerically robust than the Vincenty formula.