[OSM-talk] Tiles at Home client update

J.D. Schmidt jdsmobile at gmail.com
Sun Mar 4 21:54:40 GMT 2007

Frederik Ramm skrev:
> Hi,
>  > But if it's the former, due to it being implemented now, instead of
>  > sending it through a plenum session and 24 subcommitees, then just
>  > remember : OSM isn't a Democratic project as in everybody has to sign
>  > of on things implemented, it's more like an Anarchy with some
>  > overseers.
> And that's why some restraint is required of people with write access to 
> SVN. I think that bezier curves are in general a nice thing to have. I 
> haven't studied the aesthehic quality of the solution and have nothing 
> to say about that; I guess it looks right.
> But I dislike the way this was done. If you propose a solution and 
> others say: "Wait, that might cause problems, let's do this another 
> way", then you really should not simply go ahead with a "well this works 
> and I don't care what the others say" attitude. If too many people do 
> that, we'll one day have to drop the current policy that anyone can get 
> write access to everything.
> Sometimes, doing something in a quick and dirty way is good, "better 
> than nothing". Sometimes it complicates searching for and implementing a 
> good solution.
> Jochen an 80n have been the major Osmarender contributors and both still 
> feel responsible for it, it seems. You have put a post-processing step 
> behind Osmarender's output which makes many assumptions about the 
> structure of that output - assumptions that are in no way inherent to SVG.
> For example:
> * You assume that paths always have an id attribute of "way_..." or
>    "area_..."
> * You assume that XML tags for paths are always in one line and with
>    the attributes ordered like this:
>    <path id="..." d="...">
> That's just what I saw from a quick look, but I believe there will be 
> other things deeper down the logic path. Now, what you've done is you 
> have basically put the resriction on Jochen and 80n to make sure they 
> don't change Osmarender's output in a way that will break your curves
> script (because, obviously, everyone would point their finger at them, 
> not at you, if they released a new Osmarender that doesn't work with 
> tiles at home) - even though until now, it was perfectly at their 
> discretion how they name their paths and such. You are relying on 
> certain internal workings of Osmarender without having explicitly said 
> so, or having asked the Osmarender developers whether these internal 
> workings can be taken for granted. (Or have you?)

No I haven't (or rather Barry hasn't).
If the id attribute changes, what will happen is that the tile won't 
have beziercurve hinting.

Tested by taking osmarender.xsl and changed every occurence of "way_" to 
"road_" and every occurrence of "area_" into "landuse_", then run the 
T at H client. The resulting output.svg was the same as the temp.svg used 
as input for the beziercurve stage of the T at H, ergo not bezierized.

No breakage of the T at H client in anyway. Same goes if there are new 
attributes introduced, the beziercurvehinting process will just output 
the lines without changing them, to the result SVG file.

> Now this is all not a big deal, but something *did* go wrong here and it 
> would be desirable to do it in a better way next time. If either of the 
> Osmarender developers was ill-tempered, they'd just comment out the 
> bezier stuff from tilesGen.pl and voila, we have a nice little edit war 
> and can discuss about who started it...

Well, I'm sure that wouldn't happen, since IMHO T at H, O at H and Osmarender 
are different projects. T at H and O at H just utilizes Osmarender, and now 
utilizes the Beziercurve hinting that Barry made. If there are changes 
in Osmarender, then it's T at H & O at H that adapts to them, since they are 
the ones utilizing them. Same goes with the lines2curves.pl script. It's 
not the other way around.

The Osmarender developers are not constrained by what T at H, O at H & the 
lines2curves hinting does, it's the other way around.
If and when the day comes that Osmarender has a OSM-XML beziercurve 
preprocessor, you can bet that I am the first to use it. Untill then, 
this method works.

Again, I say it is a Non-Issue. The beziercurve hinting has been 
implemented this way, people have an option of using it or not. At the 
moment it looks like it is being used by the majority of the T at H 
renderers, and probably with beziercurve hinting enabled on all except 
one client (sxperts), since that is the default. Actually I currently 
only see one Agadir client, while the rest are Bangkok clients, on 
http://dev.openstreetmap.org/~ojw/Log/ which means that around 7 clients 
+ my 3 dual-cpu clients = 13 clients generate beziercurvehinted tiles, 
vs 2 clients that doesn't. Thats a ratio of 13 to 2 beziercurve hinted 
tiles. I can live with that, eventhough there are few tiles that doesn't 
match completely due to the different clients. It still enhances the 
estethics of the map considerably.
If others can't live with that, then they should come up with, AND 
implement a better solution.

It all boils down to : Do we want the beziercurve hinting now with the 
current minor flaws, or do we want to wait an undetermined period of 
time, untill there has been developed a better method ?

Finally, I did not go and just implement it on a spur of the moment 
whim. I saw the lines2curves.pl announcement, checked how it worked, 
mentioned to OJW (almien) that I might take a look at it for O at H, while 
at the same time changing O at H to use osmarender4, and he said go for it.

When it turned out to be easy to make it work together (2 hours where 
most where spent learning the perl syntax), and worked great on the O at H 
client after Barry had squashed two bugs in the lines2curves.pl script, 
I mentioned that it would be nice to have in T at H on IRC.

Again Oliver said go for it. After having tested it, and shown the 
results to Oliver and any others on IRC who wanted to see it, I asked 
Oliver if he could commit it to SVN. He said due to timeconstraints on 
his part, I should get SVN access and do it myself.
IMHO Oliver (whether he likes it or not) is one of the "Anarchy 
overseers" when it comes to T at H and O at H, just like I see Jochen as one 
of the "Anarchy overseers" of Osmarender, and Artem as one of the 
"Anarchy overseers" of Mapnik.
If he says go for it, then IMHO I'm good to go.

J.D. "Dutch" Schmidt

More information about the talk mailing list