I’ve done a number of fixes for the coastal matching algorithms in Gee-Oh! Viewer, which will obviously contribute to the map quality in Gee-Oh! Tile Server, so I hope to be in a position to sort out the base land/water map for the entire globe shortly.
Above, you can see a little video to demonstrate how that particular code works, and a couple of before/after stills are shown below.
My next tasks, specifically related to coastal matching, are:
- Solve the issue where the selected polygon node indexes actually cycle back to zero
- Need a clever way to ensure that the required node removal/insertion still works
- Prove that, for islands that don’t already have a base area associated, we can add a new area and have it matched to the coast
That’s about it, to be honest. Doesn’t seem much. With the code in good shape, I will be looking to ensure the following countries are sorted first:
- Mainland Europe
Anything else after that, I will just play by ear. Right, best crack on!
Yesterday I finished work on the roadnames rendering (for now), and I’m pretty happy with the results. I’ve ensured that any text rendered “offscreen” will flow correctly into the appropriate square, once that is requested.
Pretty happy with this so far. My next tasks are:
Get placenames rendered
- Fix “empty square” bug
- Implement monitoring APIs, database, web admin, etc.
- Process and save base land/water map
Add extra input in the URL to include ‘version’
After that, Gee-Oh! Tile Server v1.0 will be done, and I can return to MakingTracksGPS to get the maps plugged in. Good stuff.
NOTE: Edited to remove two tasks I have already completed. Will update tomorrow, or as soon as I can.
As you can see from the before/after images above, I’ve managed to smooth off those horrible text outline artifacts that have basically plagued me for years. I should really back-port this into DiagramBuilder, when I get the chance…
The fix was simple, I just changed this line:
((Graphics2D) g).setStroke(new BasicStroke(2.0f));
((Graphics2D) g).setStroke(new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
Note that I am aware it looks horrible with all those “too small to read” road names – I am currently working on cutting out any road names that are below a certain size. I shall keep you all updated…
Having posted an update yesterday, I noticed that – despite taking water areas into consideration – the Birkenhead docks were apparently missing. I had a look into this, and discovered that there was another tag that is used for bodies of water… waterway.
I quickly made the changes, incorporating docks, boatyards, riverbanks and derelict_docks, and it looks a lot better now.
Thought I’d include one of the Runcorn Bridge area while I’m here…
Just thought I’d show how the map quality is coming along. I’ve implemented a semi-auto method for matching the land polygons to the accurate OSM coastal data, and it’s looking pretty good for the small area I’ve done so far.
I shall keep you updated.