Roger, here, often going by rec or recri.
I found this project
mentioned on the opencpn
website yesterday afternoon, read through the thread yesterday evening, registered, and entered a few charts last night.
This is great! It's just awesome what you've accomplished. I'm sorry I didn't stumble in sooner so I could help with the tile assembly.
One question, though maybe I missed the answer while scanning the thread: why are we using the wrong pixel locations for the chart corners?
Every longitude and latitude line on the charts that I can see is drawn so the center of the line marks the coordinate. The labeled corners of the chart are at the point where the centers of the edge lines meet, not the inside corner, not the outside corner. By using the inside corners as georeferencing points we're guaranteeing that every chart is going to be a little off. How much off depends on how thick the border lines are at the map scale and how consistently the corners get picked.
One can argue that the error is negligible, and sure, it's small, but it's a systematic error which means that the projection computed from corner coordinates can never exactly agree with projections computed from interior
intersections of meridians and parallels.
Or, more simply, the problem is that if we digitize corner coordinates the way we are and redraw the map edge lines according to the projection we compute, then the new edge lines lines all move inward from their original positions on the chart image, about half a line thickness, more or less. If we measured at the edge line centers and redrew according to the projection computed, then the new edge lines would go over their original positions on the chart image, at least when the edge lines are actually straight lines.
Line centers are also easier to consistently align onto. When positioning cross hairs it's much easier to center in the black density, which is finding a maximum, than it is to pick where black becomes the chart background color, which is choosing some arbitrary point on a slope which has been fuzzed out by ink bleed and jpeg compression
and eyes tired of looking at blurry magnified pixels.
I apologize for bringing a harsh word like "wrong" as my first contribution. But I've made some bonehead decisions as a programmer myself and had to go back and fix them. Better sooner than later, especially with all the contributors involved here and the potential consequences of errors.
And it's entirely possible that I missed something essential and I'm actually "wrong" about this, too.
-- rec --