<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Sans'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="font-family: Helvetica; font-size: 12px; "><br class="khtml-block-placeholder"></div><div style="font-size: 12px; font-family: Helvetica; ">Yup! Osmarender seems to produce SVG, and I guess SVG is an intermediate stage in producing the bitmap T@H tiles, but</div><div style="font-size: 12px; font-family: Helvetica; ">what I am suggesting should be considered is a server that would deliver tiles in SVG format instead of/as an alternative to bitmap tiles. Could this be done simply (as if anything was ever simple :-) caching the SVG between running Osmarender and converting SVG to bitmaps?</div></span></span></span></span></span></span></span></span></span></span> </div><br><div><div>On 21 Apr 2008, at 18:00, 80n wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><div class="gmail_quote">On Mon, Apr 21, 2008 at 2:33 PM, elvin ibbotson <<a href="mailto:elvin.ibbotson@poco.org.uk">elvin.ibbotson@poco.org.uk</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div style=""><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="font-family: Helvetica; font-size: 12px;"> <font color="#a0a0a0" size="5" face="Lucida Grande"><span style="font-size: 18px; color: rgb(160, 160, 160);"><span style="color: rgb(160, 160, 160); font-size: 18px;"><span style="color: rgb(160, 160, 160); font-size: 18px;"><span style="color: rgb(160, 160, 160); font-size: 18px;"><span style="color: rgb(160, 160, 160); font-size: 18px;">poco</span></span></span></span></span></font><font color="#18bbb8" size="5" face="Lucida Grande"><span style="font-size: 18px; color: rgb(24, 187, 184);"><span style="color: rgb(24, 187, 184); font-size: 18px;"><span style="color: rgb(24, 187, 184); font-size: 18px;"><span style="color: rgb(24, 187, 184); font-size: 18px;"><span style="color: rgb(24, 187, 184); font-size: 18px;">.</span></span></span></span></span></font><font color="#c0c0c0" size="5" face="Lucida Grande"><span style="font-size: 18px; color: rgb(192, 192, 192);"><span style="color: rgb(192, 192, 192); font-size: 18px;"><span style="color: rgb(192, 192, 192); font-size: 18px;"><span style="color: rgb(192, 192, 192); font-size: 18px;"><span style="color: rgb(192, 192, 192); font-size: 18px;">org</span></span></span></span></span></font><font color="#18bbb8" size="5" face="Lucida Grande"><span style="font-size: 18px; color: rgb(24, 187, 184);"><span style="color: rgb(24, 187, 184); font-size: 18px;"><span style="color: rgb(24, 187, 184); font-size: 18px;"><span style="color: rgb(24, 187, 184); font-size: 18px;"><span style="color: rgb(24, 187, 184); font-size: 18px;">.</span></span></span></span></span></font><font color="#e0e0e0" size="5" face="Lucida Grande"><span style="font-size: 18px; color: rgb(224, 224, 224);"><span style="color: rgb(224, 224, 224); font-size: 18px;"><span style="color: rgb(224, 224, 224); font-size: 18px;"><span style="color: rgb(224, 224, 224); font-size: 18px;"><span style="color: rgb(224, 224, 224); font-size: 18px;">uk</span></span></span></span></span></font></div> <div style="font-family: Helvetica; font-size: 12px;"><br></div><div style="font-size: 12px; font-family: Helvetica;"><span style="font-family: Helvetica; font-size: 12px;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;">I have developed a mobile-phone Java app (called 'mom') to navigate OSM maps and save GPX tracks (amongst other things) which will soon be out there for people to download. It uses mapnick PNG tiles at 5 of OSM's scales (3, 6, 9, 12 & 15) which look nice but are quite big files to download to a phone (typically 12kB-15kB for scale 15) so take a significant amount of time and eat into a user's data allowance to fetch.</span></span></span></span></span></span></span></span></span></div> <div style="font-size: 12px; font-family: Helvetica;"><br></div><div style="font-size: 12px; font-family: Helvetica;">I considered using the compact binary downloads aimed at mobile apps, but this is raw data and the graphics limitations of mobile Java mean the maps drawn from it would not look very pretty.</div> <div style="font-size: 12px; font-family: Helvetica;"><br></div><div style="font-size: 12px; font-family: Helvetica;">I am fairly ignorant of OSM data structures and back-room software but I understand SVG is used in producing bitmap tiles. As I understand it, the idea of SVG is not only to give nice, scalable, graphics, but to do so using smaller file/download sizes than bitmaps. Many/most of the newest mobile phones are able to draw SVG graphics in Java, as are browsers, and desktop Java will soon include SVG graphics, so it looks to me like the way forward. If tiles were available as SVG I am sure it would be relatively easy to substitute them for bitmap tiles in slippy maps or apps like mine. Not only would downloads be faster but a smaller range of scales would be needed, with the same data set and appearance being used for a range of scales and scaling of the SVG image used for intermediate (or infinitely adjustable) scales.</div> <div style="font-size: 12px; font-family: Helvetica;"><br></div><div style="font-size: 12px; font-family: Helvetica;">I had been intending to get round to mailing this list enquiring if SVG downloads were possible/available when the Export tab appeared. My initial delight** was slightly diminished when I exported a map in two formats - SVG and PNG - and found the SVG version was 340kB while the PNG file was 132kB. A glance at the SVG data suggests that text is actually drawn (sometimes more than once (for background then again for the text itself) using long, elaborate paths and shape definitions of every character at every orientation and size, rather than just using the SVG text element!!! I suspect it also incorporates bitmap images as icons rather than using SVG definitions. I think SVG is the way forward, but not if the file sizes end up almost three times bigger than bitmaps!</div> <div style="font-size: 12px; font-family: Helvetica;"></div></span></span></span></span></span></span></span></span></span></span></div></div></blockquote><div><br>Take a look at Osmarender. This creates proper SVG. Details here: <a href="http://wiki.openstreetmap.org/index.php/Osmarender">http://wiki.openstreetmap.org/index.php/Osmarender</a><br> <br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span style="border-collapse: separate; color: rgb(0, 0, 0); font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><div style="font-size: 12px; font-family: Helvetica;"> <br></div><div style="font-size: 12px; font-family: Helvetica;">I suggest that, if has not already been done and is hidden somewhere I haven't looked, that a server should be dedicated to scalable map tiles using a compact and efficient implementation of SVG coding.</div> <div style="font-size: 12px; font-family: Helvetica;"><br></div><div style="font-size: 12px; font-family: Helvetica;">**Hats off to those involved, by the way < :-)</div><div style="font-family: Helvetica; font-size: 12px;"> <br></div><div style="font-family: Helvetica; font-size: 12px;"><span style="font-family: Helvetica; font-size: 12px;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><span style="font-family: Helvetica;"><a href="mailto:elvin.ibbotson@poco.org.uk" target="_blank">elvin.ibbotson@poco.org.uk</a></span></span></span></span></span></span></span></span></span></div> <div style="font-family: Helvetica; font-size: 12px;"><br></div><div style="font-size: 11px;"><br></div><font color="#606040" size="3" face="Helvetica"></font></span></span></span></span></span></span></span><br></span></span></span><br> </div><br></div><br>_______________________________________________<br> talk mailing list<br> <a href="mailto:talk@openstreetmap.org">talk@openstreetmap.org</a><br> <a href="http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk" target="_blank">http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk</a><br> <br></blockquote></div><br></blockquote></div><br></body></html>