Geodesy for the Layman
I recently republished Geodesy For The Layman for the web. It’s a book originating from the US government which covers the basics of geodesy—the study of the figure of the Earth. The last printing was in the mid ’80s, and all that’s available online are crappy scans.
Some notes from republishing the book.
Content
Aside from a few grammatical errors, I didn’t change much of the book; it’s pretty much in its original form. The lack of rewriting means the information in the book is pretty much what was known in the ’80s. The utility of the book for learning in the present day is debatable, but I think there’s still valuable information in there.
Where did I get the text from?
Instead of manually transcribing word by word, I found the NOAA had transcribed the document into a ’90s-era webpage. Of course there were some mistakes in there and the figures looked pretty bad, so I couldn’t just copy-paste.
Markup
I worked on the book entirely in HTML. I didn’t use compiled markup languages; I just edited all the html tags and contents by hand.
Pure HTML is very versatile. Want a different styling for a list? With HTML, simply slap a class="roman"
on it and now the list has roman numerals.
Tools like Markdown which compile to HTML naturally are restricted to a subset of HTML, making variations in styling impossible.
Markup language requirements
When I publish another book, I will probably use a markup language like Typst or Pollen. I haven’t looked into either of those languages, but they look capable from the surface.
Some features I would like:
- Good table support. Markdown supports only a small subset of HTML tables’ capabilities.
- Good description list support (I love these things).
- Decent math support
- Optional equation numbering and linking
- Figure numbering and linking
- Chapter/section numbering and linking
- Table of contents generation
- Customizability and macros
Figures
The hardest part of the project by far was getting all the figures. Geodesy for the Layman contains fifty-some figures, all of which needed to be touched up or otherwise digitally recreated. Originally, I had the idea of recreating all the figures in either Inkscape, MatPlotLib, or TikZ, but I soon abandoned that after recreating a small few.
Given that I’m a novice with TikZ, each figure took about an hour to recreate. A quick bit of math shows that I would have to spend more than 50 hours just recreating figures. Instead, I decided to purchase a copy of the book off ebay so I could make my own scans. You see, all the scans available on the internet were either low-quality or unavailable for reuse (Google Books). So, with a flatbed scanner and much patience, I scanned each figure at a stupid-high DPI.
Touching up each scanned image took around ten minutes, which is still took quite a bit of time at ~8 hours. Overall, working with figures was the biggest pain in this project. It took much more time then formatting the text of the book, which I finished in an afternoon. For the next book I publish, I’ll probably take the easiest possible approach to figures and images. Unless the figures are completely destroyed or I’m in a team with a graphic artist, I’ll probably just scan the figures and call it a day.
Notes on Removing Halftoning
Halftoning is difficult to remove, especially CMYK halftoning. If you look very close at printed images, you will see small cyan, magenta, yellow, and black dots which combine to make colors. These can be annoying when scanned because they tend to create Moiré patterns.

The way I chose to remove these patterns is using Gimp with the G’MIC plugin:
- Open high quality scan in gimp.
- Decompose colored image into CMYK Layers (skip if image is grayscale)
- Run G’MIC’s Descreen filter on the layers (You may have to do this twice)
- Recompose CYMK channels into image (skip if image is grayscale)
- Do standard image touchups.
In theory, a better result could be obtained by manually tweaking the Frequency Domain for the image using ImageJ, but I think that’s a waste of time. I spent a while trying to make it work but gave up.
Blurring then sharpening is commonly suggested online as a method to remove halftoning. This works but I think it’s produces lousy results for anything other than portraits.
Notes on Optimizing Figures
- SVG vector images can be shrunk greatly using Scour
- GIFs are surprisingly efficient for grayscale images with few colors. Just make sure you reduce the color palette in them to something like 4 or 8 colors. PNG seems to be more efficient than GIF Beyond ~20 colors. Gimp can reduce the color palette easily.
- Make images lazy loaded. Lazily loaded images won’t be downloaded until they’re near view.
Copyright
Generally it’s not a good look to publish anything without “legal permission.” When you do, lawyers tend to show up sternly describing some esoterica called “Copyright.”
In my case, Geodesy for the Layman was written and published by the U.S. Federal government which generally means it’s in the public domain. Additionally, a note inside disclaimed any copyright, so I shouldn’t have anything to worry about.
Is my republishing considered a “work,” and therefor copyrightable, or is it still legally in the public domain? I have no idea! But I’m assuming I have copyright over it. I could be a jerk and say “all rights reserved” and call it a day, but I do like the idea of things being in the open. So I’ve licensed my version of Geodesy for the Layman under Creative Commons. Specifically, the Creative Commons Attribution-ShareAlike license because under it:
(This is not a legal statement; read the full legal text for that)
- Anyone can use or republish the work (as long as they properly provide credit).
- If anyone publishes modifications to the work, they must also license those modifications under the same license (ensuring the work always stays free and available, even in derivative forms)