[Openstreetmap-dev] Feasibility of clients of the OpenStreetMap 0.2 API, and Freemap

Immanuel Scholz immanuel.scholz at gmx.de
Mon Nov 28 20:12:02 GMT 2005


Hi,

> Now that the OSM 0.2 API supports keys and values, I am more or less in a
> position to transfer all my Freemap data to the OSM database. My original
> intention was to rewrite Freemap so that it requests data from OSM by means
> of the API. My only concern is it takes quite a bit of time to retrieve the
> XML data if there are significant numbers of nodes and segments in the
> current area, so if Freemap was rewritten to request OSM data via the API
> then draw the map, it could be quite a slow process.

If it is too slow for freemap, it is too slow for almost any offline
application. In this case, we could abandon any public data interface at
all and only develop an intern renderer application with direct access
to the database.

I think the way "server gives the data, you render the map" is good. If
performance is a real concern, there are ways of dealing with that
without loosing the seperation. 


> Maybe gzipping would speed this up acceptably though.

As example this is a good start for performance case :).

However, if the freemap server resides on the same machine, ziping and
unziping to localhost slows down.


> I am concerned about the speed of fetching large amounts of OSM XML
> data from other web applications.

I am not. 
Well, not really - if the interface improve a bit. Currently it could
become a problem, but if the property information is seperated from the
required data, you can skip them as needed.

Say if you only want to transfer geographic informations (without any
property) to just draw a map, you have about 5-10 bytes of entropy per
node. Say 10. A segment is about 3 times the node and a track about 5
times.

So to transfer 2000 Nodes, 2000 Segments and 500 Tracks (which is a far
big map), it should be about 100k (or 1-2 seconds) only.


> Or is it better if I pursue my original plan to have Freemap as an OSM
> client, fetch OSM data via the API, and draw the maps with the XML thus
> returned?

This is a fundamental question to me and I'd like to discuss this a bit
more general: 

What is the *main* goal for the OSM server and is this the currently
state of the server code?

a) Provide a data server for clients to modify map data in a wiki like
style

b) Provide a web-client for users to modify map data in a wiki like
style

c) Both: a and b. (This leads to a more complex, error prone and
probably inperformant server).

Ciao, Imi.






More information about the dev mailing list