Re: [OSM-dev] multipolygons - dealing with topology errors

2009-07-23 Thread Tels
On Tuesday 21 July 2009 09:59:29 Jochen Topf wrote:
> On Mon, Jul 20, 2009 at 10:36:21PM -0400, Ben Supnik wrote:
> > Two things about multipolygons:
> >
> > 1. My software now detects topologically broken multipolygons, e.g.
> > cases where I can't form rings out of the node list.  Is this
> > useful, or is this information already generated by things like
> > pgsql?
> >
> > 2. While looking at one test set of data, I found a lake where one
> > island (modeled as a hole in the lake multipolygon) had not been
> > "sealed".
> >
> > Mapnik simply ignored the island, but osmarender had linked the
> > start and end of the ways to form the island.
> >
> > I have learned from experience that it isn't useful for me to ask
> > "what's the spec"...OSM is its own spec, etc. etc.
> >
> > So I'll just ask: any comments?  Is one interpretation considered
> > better or worse than the other?
>
> Depends on what you are doing. When you are generating a map that OSM
> mappers will see, its probably better not to draw anything, to
> encourage people to fix it. When using the data for maps not related
> to OSM directly, it might be better to automagically fix things,
> because people wont fix it anyway.

With Temap, I found it is much better to draw such things in bright red, 
that way they get fixed much much faster than when you just drop them - 
out of the sight, out of the mind :)

All the best,

Tels

-- 
 Signed on Thu Jul 23 09:39:03 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 "A witty saying proves nothing."

  -- Voltaire


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Fw: [Geowanking] [Fwd: [Ann] LinkedGeoData.org]

2009-07-18 Thread Tels
On Friday 17 July 2009 02:26:11 andrzej zaborowski wrote:
> 2009/7/15 Mikel Maron :
> > From discussion about linkedgeodata.org/ on geowanking...
> >
> > From: Sean Gillies 
> > To: geowank...@geowanking.org
> >
> >> I'm skeptical about RDF too, but the linked geodata folks are
> >> adding some extra value (at least for a particular group of
> >> users): hypertext, so that you or your software can follow your
> >> nose through
> >> linked nodes and ways without having to know an API specific to
> >> OSM, and persistent URIs. I'm not knocking OSM's API, but
> >>
> >> http://api.openstreetmap.org/api/0.6/node/264695865
> >>
> >> isn't meant to be a "cool URI" for the Cafe B'liebig, is it?
> >> Requests for the version 0.5 URIs like
> >> http://api.openstreetmap.org/api/0.5/node/1 return a 403, which
> >> suggests to me that I shouldn't get too
> >> attached to the 0.6 ones. Of course, URIs like
> >>
> >> http://linkedgeodata.org/triplify/node/264695865
> >>
> >> have their own issue. Stamping the name of the semantic web
> >> framework you happen to be using today on the URIs you want to
> >> make future-proof isn't a cool thing to do.
> >
> > Sean has a very good point here about the permanence of URIs.
> > Permalinks to OSM objects permits integration of these identifiers
> > into other systems. At the moment, we don't have permalinks,
> > because the API version is included in the URL. Perhaps the API
> > could also support read-only, permalinks for objects, like
> > http://api.openstreetmap.org/api/node/264695865
>
> I don't believe linking to a XML snippet defining an object in osm is
> extremely useful, but I can see other uses for objects in OSM being
> universally "addressable" in the URL space (e.g. comparing whether
> two objects are the same).  In that case the word "api" probably
> shouldn't appear in the URL either and also there's no point in it
> being a http URL, so why not define something like
> osm://openstreetmap.org/node/XXX as being the URL of a node in OSM. 
> This could then be easily translated by client into a http URL for
> the xml snippet or the history web page for the object.

It would still pose the problem that nobody/nothing prevents the node 
moved 100km south-west, all tags renamed/removed/rewritten, and a new 
node created at the old place with the same tags instead...

All the best,

Tels

-- 
 Signed on Sat Jul 18 17:46:52 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 "... [the wireless lightbulb] rivals the invention of the cordless
 lightsaber. Luke Skywalker used to lose a LOT of battles until he
 ditched that awful extension cord. Kept getting his feet tangled up.
 And Count Doofus would laugh as he yanked on it and watched Luke fall
 on his ass. Also, sometimes opponents would pull the plug out of the
 wall socket and snicker at Luke's bewilderment. Yoda would just smack
 his head and say 'Duh-oh! The Force is not especially smart in this
 young one! Save up for Duracell adapter, he must.'" Walt Dismal
 (534799) on /. 2007-06-08



signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] A consistent format for the multipolygon relation

2009-06-16 Thread Tels
On Tue 16/06/09 10:45 , Andreas Kalsch andreaskal...@gmx.de sent:
> I don't like this way of discussion. It leads to nowhere ...

While you are right about the tone that seems to have developed, I think it is
actually a very useful and important discussion.

Sorry for intruding here, I wanted to reply to Wolfgang directly, but thanx to
the crappy webmail interface I can't find his email so I am replying to this
email instead :)

> The point I wanted to demonstrate was to start an initiative to get 
> multipolygons into the right format because the quality of OSM data is 
> crucial for all projects which use it. To get a more consistent 
> definition of multipolygons is an important step to make it easier for 
> everyone (including the map renderers) to build on top of the data. I 
> don't want any silver plates, too, but bite-sized data.
> 
> Pretty easy, huh?

That is a very noble goal, and I fully support it. Unfortunately, it seems that
OSm is heading into the opposite direction :(

Instead of getting more consistent and easy-to-interpret-and-use data, all we 
get
is more and more garbage, duplicated information (attribution="blah" on every
node!), badly designed data structures (multipolygons, I look at you!) and
inconsistencies (fuzzy logic like "true, false, 0, 1, -1, maybe, yes, not 
today")
and so on with every passing week.

I might be biased because I am a "user" of the OSM data (see
http://bloodgate.com/wiki/map) and I am not happy about the current state of
affairs when I see what is all in the DB. However, I am *also* a mapper and I am
not happy about the current editing/tagging helps, either. 

You never really know how to tag something right (the map features wiki pages is
highly incomplete and sometimes outright conflicts with the real world usage), 
it
always takes time to find out sometimes even simple things, and everytime I map,
I just cry when I see the mistakes of others, then wondering, should I correct
them? Or better not? What if I accidentily destroy something?

"Making it easy for mappers" is certainly not a reality on OSM, unless you are
already an experienced mapper. People who are new to OSM struggle even more. 

Also, letting the mappers design the data structures only leads to the situation
where "data entry" is easy, but "data extraction" is hard. Since "data entry"
happens only once, and "data extraction" multiple times, this is exact the
opposite on what you would design around!

If we follow this train of thought to the end, we better create a "write-only"
OSM editor, so mappers have it absolutely easy, and no-one needs to worry about
making something out  of the data later :) Sure, without mappers there is no
data, but without any applications using that data there are no users, and
without users, the entire project becomes a moot point, anyway.

Anyway, in closing I think that the OSM data representation and structures as
well as their documentation leave a lot to be desired and improving them would 
be
benefit us all, mappers, coders and most importantly, users (as in "using the 
map
to find places") alike.

And now I am back to programming :)

Tels

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] JSON/GeoJSON output format for 0.6 api

2009-06-04 Thread Tels
On Thursday 04 June 2009 19:48:30 you wrote:
> 2009/5/31 Frederik Ramm :
> > Hi,
> >
> > Tels wrote:
> >> Well, one could fetch the data at z17, see it is below some
> >> $ARBITRARY_THRESHOLD, zoom out to z16m, fetch again, and if still
> >> below $THRESHOLD, repeat it until either there is too much data
> >> (display message) or the user-requested zoomlevel was reached.
> >
> > I think the ti...@home folks already keep a database that says how
> > complex each level-12 tile is. So if we were not so busy telling
> > them how they're technologically backwards and how their whole
> > project is rubbish, they might just give us that.
>
> Each t...@h user uploads a tileset at z12, which is indeed a pretty good
> indicator of the complexity of the area, see this heatmap rendering
> of the world at z12 from the t...@h data:
>
> http://u.nix.is/~avar/osm-heatmap-black.png
>
> I made if after requesting the z12 tileset sizes on the t...@h list:
>
> http://lists.openstreetmap.org/pipermail/tilesathome/2009-May/005859.
>html
>
> The code to generate it is under applications/rendering/tah-heatmap
> in SVN:
>
> http://trac.openstreetmap.org/browser/applications/rendering/tah-heat
>map/README
>
> In particular the parse-filesize.pl script in that directory converts
> ls -R format provided by spaetz to an easy-to-use CSV format, e.g.:
>
>   ,1042   158211
>   ,1043   203915
>   ,1055   172469
>   ,1056   80728
>
> t...@h currently has around a million z12 tiles, or ~5.6% of potential
> z12 tiles:
>
>   $ wc -l tile-sizes.dat
>   937254 tile-sizes.dat
>
> It would be easy to make a web service which kept these tile sizes in
> a hash table and told e.g. Potlatch whether or not the z13 tile it's
> requesting is part of a z12 area that's say 10 times bigger than the
> median z12 tile. Which should cover the yellow/read areas on the
> above heatmap.

If such a webservice is made public, I could use it to determine wether 
an area of 0.1° or 1° should be requested.

However, getting a server that can respond to API requests in real-time 
(e.g. saturate the download link) would be the preferable situation - 
after all, all the data needs to be downloaded for rendering, anyway. 
(Rendering only half the area the user wants to see is useless :)

All the best,

Tels

-- 
 Signed on Thu Jun  4 21:36:19 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 "I live the way I type; fast, with a lot of mistakes."

  -- Unknown


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] JSON/GeoJSON output format for 0.6 api

2009-05-28 Thread Tels
On Wednesday 27 May 2009 15:20:26 Richard Fairhurst wrote:
> Ed Loach wrote:
> > Is there anywhere though that z13 Yahoo imagery is of any use?
>
> Sure. It's ok for lakes, woods, built-up areas, that sort of thing.
> I'm just looking at somewhere near Rhayader and it's pretty useful.
>
> > I like Shaun's suggestion of defaulting to z17 and let users zoom
> > out.
>
> So would I, if I too lived somewhere with more people than sheep. The
> problem with that is when (say) you want to edit a lake somewhere in
> mid-Wales, you navigate to it using View as per usual, then click
> "Edit", and that zooms in to somewhere with absolutely no data. At
> which point you send a message to talk@ saying "where has the data
> gone I blame Potlatch pls to revert the changeset omgwtfbbq" - I'm
> not joking - and we all get a headache.
>
>  From a usability point of view the View and Edit tabs should be
> equivalent - i.e. wherever you're viewing, clicking 'Edit' preserves
> the bbox.
>
> We currently have a JS alert at z1-z10 saying "zoom in to edit map",
> and we italicise the tab to show that it's not clickable. (It should
> really be z1-z12, I'm not sure why it isn't.)
>
> This is good. If it were context-sensitive depending on the amount of
> data in the area, it would be wonderful.

Well, one could fetch the data at z17, see it is below some 
$ARBITRARY_THRESHOLD, zoom out to z16m, fetch again, and if still below 
$THRESHOLD, repeat it until either there is too much data (display 
message) or the user-requested zoomlevel was reached.

Might fetch more data (double fetching) in a few cases, but might spare 
huge requests for dense areas.

All the best,

Tels

-- 
 Signed on Thu May 28 18:33:50 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Memory is like an orgasm. It's a lot better if you don't have to fake
 it."

  -- Seymore Cray, on virtual memory


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] JSON/GeoJSON output format for 0.6 api

2009-05-27 Thread Tels
On Wednesday 27 May 2009 14:22:27 Richard Fairhurst wrote:
> Tom Hughes wrote:
> > Richard Fairhurst wrote:
> >> Out of interest, do we have any stats on the proportion of server
> >> load caused by each client?
> >> (not sure I really want to ask that question...)
> >
> > I'm not sure you did either ;-)
>
> Heh.
>
> I suspect a lot of the Potlatch load is caused by people trying to
> edit large areas at z13.
>
> We pretty much have to keep offering z13 because for most of the
> world, it's the only level at which Yahoo imagery is available. What
> would be good (we discussed this on IRC) would be if Potlatch - or
> the Rails site, which is after all the code that actually tells
> Potlatch "edit this at this zoom, this latitude and this longitude" -
> could access some metric or other to find out how dense an area is,
> and then zoom in accordingly if there'll be too much to edit. One for
> the hack weekend maybe...

I was thinking about this problem, too. My code currently fetches areas 
of 0.1° * 0.1° but this can be a pain when the area is dense, and 
wastes time when the area is very sparse.

So, is there any way to access somehow how dense one area is?

All the best,

Tels

-- 
 Signed on Wed May 27 14:34:45 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 "The Palmer proposal. What ever happened to that?"



signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] API 0.6 returns 403 forbidden

2009-05-14 Thread Tels
On Thursday 14 May 2009 18:40:54 you wrote:
> Tels - I'd like to reiterate my offer of a hosted machine with lots
> of bandwidth and space for a planet dump for our applications. But i
> also agree that another solution might be better long-term.
> For the short term, are you interested in working with me to get a
> dump running and serving... JSON?

Of course!

Sorry that I didn't reply the last days, I was extremely busy and had 
not a lot of time to work on OSM :(

Getting a dump up and running is probably something we both need anyway.

I'll send you an off-list email in 10 seconds :)

All the best,

Tels

-- 
 Signed on Thu May 14 18:52:28 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Karate is a form of martial arts in which people who have had years
 and years of training can, using only their hands and feet, make some
 of the worst movies in the history of the world."

  -- Dave Barry


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] API 0.6 returns 403 forbidden

2009-05-14 Thread Tels
Moin,

On Thursday 14 May 2009 18:35:32 Tels wrote:
> Moin,
>
> On Thursday 14 May 2009 09:31:56 Tom Hughes wrote:
> > Jeffrey Warren wrote:
> > > Hi, I suddenly started getting "403 - Forbidden" from my any
> > > machine. I also get a 403 when i simply go to
> > > "www.openstreetmap.org
> > > <http://www.openstreetmap.org>" in a browser (just discovered
> > > this...). Have I been blacklisted or is this an outage?
> >
> > I suspect you're the person I blocked last night because you were
> > apparently trying to scrape map data from the API with a large
> > number of presumably automated map calls.
> >
> > If you are the person I blocked then in the last four days you've
> > made a total of 8186 map calls, an average of about 1.5 a minute.
> >
> > If you want bulk data, please use the planet dump not the API to
> > get it.
>
> I presume my own application (http://bloodgate.com/wiki/map) will
> then be blocked, too.
>
> Using the "plant dump + diffs" sounds easy, but is in fact impossible
> for me. My online server does not have the capacity to store the
> entire world, and I do not have the computing power and time to
> convert it up-front, either. (Not to mention do upload the converted
> data to my server from my home DSL line :(
>
> (There is also the question what happens if importing an hourly diff
> takes regulary longer than 60 minutes. So far the only data I have on
> that is someone mentioning that it "takes between 40 and 70 minutes
> with a fast harddisk"...)
>
> Also, to download the whole dump, update it with minute diffs and
> pregenerate a huge database is vastly more complicated and uses a lot
> more processing power than just to fetch (and cache for X days) the
> few areas someone is actually looking at.

I know it's bad style to reply to yourself, but :)

* took out api.openstreetmap.org from osmapi at bloodgate.com for now
* the API server is waay to slow, in any case, so I am looking at the 
planet dump method, but it will take quite a while to developt the 
converter and I am not sure it will actually work

Still, it would be good to know what the plans for the future are and 
how one could help to improve the situation. How expensive would it be 
to run an XAPI server like xapi.informationfreeway.org?

All the best,

Tels

-- 
 Signed on Thu May 14 18:41:06 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Un bon mot ne prouve rien."

  -- Voltaire


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] API 0.6 returns 403 forbidden

2009-05-14 Thread Tels
Moin,

On Thursday 14 May 2009 09:31:56 Tom Hughes wrote:
> Jeffrey Warren wrote:
> > Hi, I suddenly started getting "403 - Forbidden" from my any
> > machine. I also get a 403 when i simply go to
> > "www.openstreetmap.org
> > <http://www.openstreetmap.org>" in a browser (just discovered
> > this...). Have I been blacklisted or is this an outage?
>
> I suspect you're the person I blocked last night because you were
> apparently trying to scrape map data from the API with a large number
> of presumably automated map calls.
>
> If you are the person I blocked then in the last four days you've
> made a total of 8186 map calls, an average of about 1.5 a minute.
>
> If you want bulk data, please use the planet dump not the API to get
> it.

I presume my own application (http://bloodgate.com/wiki/map) will then 
be blocked, too.

Using the "plant dump + diffs" sounds easy, but is in fact impossible 
for me. My online server does not have the capacity to store the entire 
world, and I do not have the computing power and time to convert it 
up-front, either. (Not to mention do upload the converted data to my 
server from my home DSL line :(

(There is also the question what happens if importing an hourly diff 
takes regulary longer than 60 minutes. So far the only data I have on 
that is someone mentioning that it "takes between 40 and 70 minutes 
with a fast harddisk"...)

Also, to download the whole dump, update it with minute diffs and 
pregenerate a huge database is vastly more complicated and uses a lot 
more processing power than just to fetch (and cache for X days) the few 
areas someone is actually looking at.

So, how will OSM handle this situation in the future? Will there be a 
fast API server (plus a few "shadow", copy servers) than can deliver 
tile data in (semi) real-time, or will each and every person that wants 
to create a "view" of the data have to go to the hassle of dealing with 
the entire "download dump, update it and convert it" scheme?

The latter seems like it will rule out quite a few applications just 
because it places a really high burden on each and every project to 
duplicate the same work. And that is without the small detail that next 
year the dump might be easily twice as large :)

All the best,

Tels

-- 
 Signed on Thu May 14 18:26:38 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 ". . . my work, which I've done for a long time, was not pursued in
 order to gain the praise I now enjoy, but chiefly from a craving after
 knowledge, which I notice resides in me more than in most other men.
 And therewithal, whenever I found out anything remarkable, I have
 thought it my duty to put down my discovery on paper, so that all
 ingenious people might be informed thereof."

  -- Antony van Leeuwenhoek. Letter of June 12, 1716


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-10 Thread Tels
Moin,

On Thursday 07 May 2009 01:46:36 you wrote:
> d) oh, and localStorage. I've partially implemented that but haven't
> had much testing... other work... ugh. So caching on a few levels,
> basically.

Ah, I think I get it now. (yeah, took a long time :) localstorage could 
be used when you are offline, so you can load a map, store it, 
diconnect and then go into the wilderness and still view your map?

That would be cool, because currently one would need to install my proxy 
locally to keep the proxy-side data and that is cumbersome.

All the best,

Tels

-- 
 Signed on Mon May 11 08:19:16 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 Neulich in Dresden gehört: "Gundach. Schbindadoni. Isvleisch
 dadidada?"

  -- Ex-Kahl-Libur


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


[OSM-dev] Finding water vs. land

2009-05-09 Thread Tels
Moin,

my renderer downloads data for tiles (currently in the 0.1° grid) and 
then renderes these.

This works fine, except for coastlines, where I have two problems:

* The coastlines are just open lines, but I need closed areas for 
rendering
* When I download data in the middle of the ocean, no coastline crosses 
the tile and I do not know that the current tile must be filled 
completely with water

That there is some coastline data for mapnik, but I don't quite 
understand how that process works.

So how would I:

* figure out that a certain area is water-covered?
* get a complete, closed coast line (possible for the entire world?)

and both best via some HTTP request :)

All the best,

Tels

-- 
 Signed on Sat May  9 14:43:52 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 "I'm not a vegetarian, but I eat animals who are"

  -- Groucho Marx


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-09 Thread Tels
Moin,

On Friday 08 May 2009 22:09:17 you wrote:
> Great, this is a good discussion. I've put up a wiki page with some
> of the things we've covered, with pros/cons. I hope we can continue
> to talk about our approaches and as we optimize for different
> problems post some of it back up here:
> http://code.google.com/p/cartagen/wiki/FeatureTradeoff
>
> I put in what I could gather about Temap, but feel free to update and
> add more pros and cons... this is just my thought process so far. We
> might also add a "status" column so we can annotate what we learn
> from each approach.

Ah, interesting. Since I don't have a google account, I reply here 
instead:

* Server-side proxy and filter   Yes ? 

Temap has a server side proxy and filer, called "osmapi" and it is 
running at http://bloodgate.com/cgi-bin/osmapi :)

* loading data live & direct from an API server 

Makes editor possible: I think that editing would be even possible if 
you do not load live from the API server, because you could: A: 
instruct the proxy to bypass its cache and reload from the API server 
again, and then upload the changes back to the proxy, which in turn 
uploads to the API server. (Due to cross-domain security the JS cannot 
talk to the API server directly unless a bit of JS is served from 
there, too. (There is a possibility, but it only works in Firefox 3.5 
IIRC)

* Pruning datasets before handing to JavaScript 
Under cons "Looses important metadata" - I would say "non-important 
metadata". The only real con is that if you need that metadata (f.i. 
for editing), you need to download it for the features the user wants 
to touch and edit. Or in other words, you do not need to download 
every "FIXME" and "attribution" just to render the map, but when the 
user inspects features, you need the data.

Like the live-loading above, I think basically it will boil down to 
hybrid approaches. E.g. you load the bulk in a pruned way from the 
proxy, but if the user wants to change a street, you download the data 
for that street directly and 100%, then upload the change.

* Serve reduced polygons for lower zoom levels 

I would add "unclear how much it speeds things up". I might be that the 
entire coastline of Europe is less data than lets say the inner parts 
of Washington DC :)

* use localStorage to persist a cache in the browser 

Again, I don't see what localStorage adds over the traditional browser 
cache - if I download 7.3,50.4,7.4,50.4.json.gz it will get cached and 
the browser will fetch it from the cache next time (when the server 
says the data is not too old). That automatically limits the storage 
(user settable!), validates the freshness of the data etc. The 
traditional cache is very good at solving these things, so implementing 
it manually in localstorage seems like re-inventing the wheel to me. 
(You can prove me wrong, tho :)

Con: Doesn't work in all browsers (which ones do have it btw?)

* Request plots filtered by tag  Yes ? 

temap does this, it loads reduced datasets for zoom level 11, and for 10 
and below. When you zoom in, it loads the full data set. (What it 
doesn't is reduce the dataset, once you have a certain level of data, 
zooming out will just reduce the data during rendering by skipping 
things. That's because I figured that pre-filtering the data client 
side would be as much as work as jus skipping parts. However, that 
might be able to be improved upon.


In summary I would also like to add that all these 
various "pre-computation" and "caching" strategies are quite nice and 
helpful, but they are also all "premature" optimizations in the sense 
that I'd first get it to work at all, then toy around reducing the 
work. E.g. rendering labels on a canvas is problem that is not solved 
in all browsers, and no matter how much or little you cache, it won't 
change the fact that Opera 9.6 has no labels on the map :(

Btw, jeffry:

> > > > * There is a talk I proposed for State of the Map and I don't
> > > > want to spoil everything before :)
> > >
> > > yes, me too! so if you want to discuss off-list that's fine.
> >
> > Heh, you have a talk scheduled, too? :) That sounds like fun :)

Will you be at the conference? :)

All the best,

Tels

-- 
 Signed on Sat May  9 13:37:44 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Build a man a fire, and he'll be warm for a day. Set a man on fire,
 and he'll be warm for the rest of his life."

  -- Terry Pratchett


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-08 Thread Tels
On Friday 08 May 2009 15:34:13 Tels wrote:
> Moin,
>
> > But you're right, it's a challenge. I'm impressed that you rendered
> > a whole city like Berlin - do you have some code online so I can
> > see, or a screenshot? I bet it looks great...
>
> http://www.bloodgate.com/wiki/index.php?title=Temap_-_Screenshots :)
>
> Actually, I managed to render Bonn, Germany, but Berlin, Germany is
> out because the amount of data exceeds Firefox stack limit. Oops.
>
> I'll upload a new screenshot soon.

Done:

http://www.bloodgate.com/wiki/index.php?title=Temap_-_Screenshots

The page also contains a few detals to the data size and timings.

The red areas were features where I had missing render rules, fixed a 
few of them now. The rest are wrongly or untagged ways.

All the best,

Tels

-- 
 Signed on Fri May  8 21:02:52 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Wo die Schoschonen schön wohnen."



signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-08 Thread Tels
 threw together yesterday, based on the tags of measured
> width instead of on a width rule:
>
> http://map.cartagen.org?gss=http://unterbahn.com/cartagen/width.gss
>
> A more fully-rendered screenshot is here:
>
> http://www.flickr.com/photos/jeffreywarren/3510685883/

Yeah, that is what I have in mind, too. But so many things to do, so 
little time :)

> Anyways, thanks for sharing; one thought I had was that besides
> sharing ideas and solutions online, we should try *different*
> approaches, so that we try all the possibilities. I think multiple
> projects working on the same problem can sometimes be redundant, but
> more often it's beneficial for all parties since there's a diversity
> of approaches to a problem. Let's take advantage of that by
> specifically attempting different solutions to the problems we face,
> and discussing the results... if you're willing. If one of us tries a
> technique and it doesn't work, we can all learn from the attempt.

Sure, I am working on my ideas, anyway :) A few things you might find 
interesing:

* no dashed lines on canvas, need to roll your own
* rendering 6 lines/areas takes a long time (>1minute), which means 
you need a sort of "slippy tiles" setup like I have currently. That 
allows the user to pan the map in real-time and the renderer can only 
render tiles off-screen.

All the best,

Tels

-- 
 Signed on Fri May  8 20:47:12 2009 with key 0x93B84C15.
 Get one of my photo posters: http://bloodgate.com/posters
 PGP key on http://bloodgate.com/tels.asc or per email.

 "If Duke Nukem Forever is not out in 2001, something's very wrong."

  -- George Broussard, 2001 (http://tinyurl.com/6m8nh)


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-08 Thread Tels
On Thursday 07 May 2009 02:51:34 you wrote:
> Jeffrey Warren wrote:
> Since an area will always be closed any segment can be taken to be
> build upon [as start point]. Even without the routing data the object
> can be fully connected, based on the start and endpoints.

How does that scheme deal with multipolygons? (e.g. areas with holes in 
it, as these seem to be getting popular :)

All the best,

Tels

-- 
 Signed on Fri May  8 15:35:17 2009 with key 0x93B84C15.
 View my photo gallery: http://bloodgate.com/photos
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Sacrificing minions: Is there any problem it CAN'T solve?"

  -- Lord Xykon


signature.asc
Description: This is a digitally signed message part.
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-08 Thread Tels
Moin,

On Thursday 07 May 2009 01:46:36 you wrote:
> Hi, Tels -
>
> > > It's not been optimized yet, so loading is a little slow, but I'm
> > optimistic
> > > that it will scale.
> >
> > Based on my experience, I can tell you right away it won't scale :)
> > Not to discourage you, but:
> >
> > * the amount of data is really huge. Throwing a few dozend megabyte
> > XML or even
> > JSON at the browser will bring it to its knees. Not to mention the
> > data you need
> > to render even a small city.
> > * re-rendering everything takes a long time. You want to avoid that
> > :)
>
> I was actually talking about server-side load time. I'm running it
> off the 0.6 API, so it packs up XML, sends it to my server, i unpack,
> re-encode to JSON, send to the browser, render. Obviously that's
> SUPER inefficient, so I'm looking forward to cutting a lot of that
> out in the next week or so.

Heh, that sounds like my setup :)

My client requests data in (currently) 0.1° tiles, like 7.4,50.1 - 7.5, 
50.2 from a proxy. The public proxy runs at 
http://bloodgate.com/cgi-bin/osmapi and serves these requests as 
gzipped JSON. It is also possible to run one locally so you don't need 
internet access.

(I intend to document it, please give me a day or two).

* The proxy receives XML from the api or xapi server. Currently it 
requests the full dataset. 
* Then it removes unnec. tags (like note, fixme, attribution and a whole 
bunch of others that are not needed for rendering). Some of them are 
very minor, but 1 nodes with "attribution=veryvery long string 
here" can make up like 40% of all the data, and just clog the line and 
browser :)
* The data is then converted into a structure that is easier to work 
with (nodes as hash, ways as list, multipolygon ways attached to the 
outer polygon to avoid issues with the render order etc.).
* The data is then pruned into (currently 3) levels and stored in a 
cache:
  * level 0 - full
  * level 1 - no POI, no paths, streams, tracks etc. used for zoom 11
  * level 2 - no tertiary roads etc. used for zoom 10 and below
* The client is served the level it currently requested as JSON.gz.

That scheme can surely be improved but it works for now.

The problem with that scheme is that:

* There are three servers in the list (api.openstreetmap, 
xapi.informationfreeway and tagwatch) and a lot of them do not complete 
the request (internal error, not implemented etc. etc.). It can take a 
lot of retries to finally get the data.
* Even when you get the data, it takes seconds (10..40 seconds 
is "normal") to minutes - upwards to 360 seconds just to serve one 
request.

So currently all received data is stored in the cache for 7 days to 
avoid the very very long loading times.

Ideas of fetching the full dataset and pre-computing the cache simple 
don't work because I don't have a big enough machine and no big enough 
online account to store the resulting JSON :(

> Actually, rendering in the browser's been pretty good - for example
> this page loaded with no noticeable slowdown, and I haven't even
> begun optimizing:
>
> http://www.flickr.com/photos/jeffreywarren/3476532351/
>
> But you're right, it's a challenge. I'm impressed that you rendered a
> whole city like Berlin - do you have some code online so I can see,
> or a screenshot? I bet it looks great...

http://www.bloodgate.com/wiki/index.php?title=Temap_-_Screenshots :)

Actually, I managed to render Bonn, Germany, but Berlin, Germany is out 
because the amount of data exceeds Firefox stack limit. Oops.

I'll upload a new screenshot soon. 

> What I'm looking at now is:
>
> a) rendering only some tags per zoom-level, so no rendering footpaths
> and buildings as you zoom out... but that's dependent on the xapi,
> which I haven't been able to fetch from reliably (help anyone?)

I already have that implemented, the render rule specifies for which 
zoom level that feature applies. Plus a few other hard-coded rules 
like "no borders from zoom X upwards", but these should be pushed into 
the ruleset, just like the default map background should be pushed 
there. (Nice idea :)

> b) cutting the API out of the loop and running direct from a
> planet.osm, but then you can't use it to view live edits, like you
> can here: http://vimeo.com/4435969

Also, somehow processing 150 Gbyte XML into JSON will prove to be a 
challange :)

> c) trying to serve partial polygons... I'd like to try plotting only
> every 3rd or 10th node... do the polygons collapse? Can i cull nodes
> in a more intelligent way? Someone on this list or geowanking pointed
> to a company that can serve lower-res polys over an API. I'm sure
> folks have worked on this in til

Re: [OSM-dev] Cartagen - client-side vector based map renderer, dynamic maps

2009-05-06 Thread Tels
Moin,

2009/4/25 Jeffrey Warren :
> I'm working on a Javascript map renderer, non tile-based. It's really
> early-stage alpha, and not publicly released yet, but I'd love some feedback
> from folks as I'm continuing to develop it.

Sorry for not replying directly or earlier, I wasn't subscribed to this list
until 5 minutes ago :)

Initially I didn't want to spread my project to far, as it was (and is) still
quite beta. However, now that so many people start pursing the same idea... ;)

Jeffrey, you wrote:

> It's not been optimized yet, so loading is a little slow, but I'm optimistic
> that it will scale.

Based on my experience, I can tell you right away it won't scale :) Not to
discourage you, but:

* the amount of data is really huge. Throwing a few dozend megabyte XML or even
JSON at the browser will bring it to its knees. Not to mention the data you need
to render even a small city.
* re-rendering everything takes a long time. You want to avoid that :)

My app has already quite a few optimizations, and it still chokes at big cities
like Berlin or London. However, I am confident that things can be improved :)

(Browser limitations non-withstanding. Single-threaded dead-slow JS and
incomplete Canvas spec without dashe I hate thee... :(

Regarding the rule sets and CSS:

I've already considered adding a different rule-set (just to show that it can be
done). However, from a technical viewpoint, that is not that spectacular. As 
long
as the renderer is flexible enough to handle the wanted features, it doesn't
really matter in what format the rules are (CSS, GSS, JSON, XML, you name it) or
where they come from (hard-coded, web, URI, user input), as long as you can 
load,
parse and convert them, it can display them.

In my eyes the much bigger impact is that you no longer need different sets of
tiles or tile providers - just the data and the rules to display it and the map
can morph in real-time from mapnik to cyclemap to whatever-you-want. And one 
more
button click and the user can save it locally. That's at least my vision I work
towards :)

All the best,

Tels

___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev