[OSM-dev] osm pre-processing API. Was: Re: Intelligent fitting street names in OSMarender
Barry Crabtree
barry.crabtree at gmail.com
Sat Mar 10 12:58:19 GMT 2007
Hi
On 3/10/07, Robert Hart <Robert.Hart at burohappold.com> wrote:
>
>
> Barry/tiles at home crowd,
>
> Inspired by your lines2curves, I have hacked together a proof-of-concept
> script to fix up names to fit in the ways they are on.
>
> Basically for each text path, it tries to abbreviate the text so that it
> will fit into the way, or if it can't it hides the text.
>
Neat!
As it works in basically the same way as lines2curves, and needs much of
> the same info, I created a single unified script.
>
> See http://wiki.openstreetmap.org/index.php/Osmarender/TextFitting
>
> Issues:
>
> * needs code to read osmarender styles - currently hard coded to default
> style
> * needs calibration - I assume each character is equal to the fontsize in
> width
>
I thought you could ask for the lengh of a piece of text somewhare
* needs non-anglo centric abbreviations, and probably separate conf file
> for abbreviations
> * can't deal with XML-escaped text. May not be UTF-8 safe either.
> * ugly perl.
>
Yep, guess there are a few things to do yet :-)
Rob
>
> p.s. there's a bug in your regex when run on non-uploaded OSM (hint way
> ids can be negative).
>
This is what happens when you (I) make post-process assumptions.....
Which leads to the bigger question about pre/post processing.
I've been discussing offline with 80n & Jochen about making lines2curves a
preprocessor option to osmarender to add 'hints' to the osm file - so far
it's likely to look something like this:
<osm xmlns:bez=" http://wiki.openstreetmap.org/index.php/User:Dotbaz/bezier"
...
<way id='4059458' timestamp='2006-12-07 19:28:11' bezier="yes">
<seg id='17559084' bez:cp1="node1" bez:cp2="node2" />
<seg id='17559085' bez:cp1="node3" bez:cp2="node4" />
<tag k='highway' v='unclassified' />
<tag k='created_by' v='JOSM' />
</way>
</osm>
Anyway, the advantage of having this as a preprocessing step as has been
pointed out by Frederick, Jochen is that it removes any dependancy on the
format of the osmarender svg. As a pre-process step, it also removes the
dependancy of osmarender as a renderer as well, so other renderers might
make use of it.
I guess what I'm getting at is that lines2curves is likely to appear as a
preprocessing step fairly soon, so what I would like to see happen is a more
general purpose pre-processing plugin setup so that osm data can be passed
through a number of selectable pre-processing 'hinting' steps so that it
gets to osmarender (or whatever application) with a useful set of addtional
attributes/hints added. For example I can see that renderers might want
bezier hints or text size hints, but they would be of no help to a routing
algorithm.
Would it make sense to update the api so that it could do this kind of thing
(or is it in place already!).
Cheers. Baz
--
Live as if you were to die tomorrow. Learn as if you were to live
forever. - Gandhi.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/dev/attachments/20070310/0dcc9c76/attachment.html>
More information about the dev
mailing list