Re: [OSM-dev] List of Questions

2009-05-06 Thread Sam Mor


We use postGIS with postgresql,.. what do we need shapefile or..?
and obviously We dont have it.

We will check the second part of your message, because we have no idea..
thank you Ivan



From: Iván Sánchez Ortega 
To: dev@openstreetmap.org
Sent: Thursday, 7 May, 2009 11:51:28 AM
Subject: Re: [OSM-dev] List of Questions

El día Thursday 07 May 2009 03:32:27, Sam Mor dijo:
> We dont want to load the world boundaries map, I would like to have a map
> for Russia, what do we have to change to load Russia map instead of world
> boundaries

Well, the first step is to get yourself a shapefile (or a GML, or a postGIS 
DB) with the russian border. Do you have it?

The second step would be editing osm-template.xml with a text editor and have 
a look at the part where the world boundaries shapefiles are loaded. Then 
change them to load your own data source for the russian boundaries. IIRC, 
the Mapnik wiki has some documentation on the XML format.


Cheers,
-- 
Iván Sánchez Ortega 

Un ordenador no es una televisión ni un microondas: es una herramienta 
compleja.

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



  Enjoy a better web experience. Upgrade to the new Internet Explorer 8 
optimised for Yahoo!7. Get it now.___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] List of Questions

2009-05-06 Thread Iván Sánchez Ortega
El día Thursday 07 May 2009 03:32:27, Sam Mor dijo:
> We dont want to load the world boundaries map, I would like to have a map
> for Russia, what do we have to change to load Russia map instead of world
> boundaries

Well, the first step is to get yourself a shapefile (or a GML, or a postGIS 
DB) with the russian border. Do you have it?

The second step would be editing osm-template.xml with a text editor and have 
a look at the part where the world boundaries shapefiles are loaded. Then 
change them to load your own data source for the russian boundaries. IIRC, 
the Mapnik wiki has some documentation on the XML format.


Cheers,
-- 
Iván Sánchez Ortega 

Un ordenador no es una televisión ni un microondas: es una herramienta 
compleja.

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


Re: [OSM-dev] List of Questions

2009-05-06 Thread Sam Mor
We were testing making a slippy map

we just followed some tutorials on the net for Mr Richard, great tutorials 
actually, thanks for that

We dont want to load the world boundaries map, I would like to have a map for 
Russia,
what do we have to change to load Russia map instead of world boundaries

Many thanks to all open source people
Sincerely

Sam



  Enjoy a safer web experience. Upgrade to the new Internet Explorer 8 
optimised for Yahoo!7. Get it now.___
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-06 Thread Stefan de Konink
Jeffrey Warren wrote:
  > 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 tile systems, so if you know anything about it and are 
> willing to share, I'm all ears. This becomes really relevant as you zoom 
> out... don't want to render every node for the coast of Argentina, for 
> example.

I have currently an alternative data format storing the Planet. I 
personally consider it the best method to store data for rendering and 
routing and only requires a single table table to store all geoconcepts.

The basic functionality is build on the concept we had here, in OSM, 
before called segments. Each segment is materialized by the database, 
thus will return a segment that can be directly plotted. For all *non* 
areas this is sufficient. If you want on the other hand render an area 
you will be forced to create a list of the results that come back. [In 
GIS terms a circular linestring]. Using the data also used for routing 
the exact sequence can be restored by the renderer.

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.


For the visual people:

n1---n2

n1 is stored as lat,long
n2 is stored as lat,long


For a renderer this is more than enough. The extra database features 
come with constraints to make the following possible:


n1v-n2
   |
   |
   |
   |
   |
  n3

Where v is actually a constraint that line n3 is constrainted to the 
center (50%) of line n1..n2.


...what is available is done in plain SQL. [Commercial break]Ofcourse 
MonetDB was used for storing the data[/Commercial break].


I was looking at implementing native rendering using javascriptsockets 
(aka just fetch tuples directly from the database), because I want live 
editing :)



Stefan

___
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-06 Thread Jeffrey Warren
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.

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...

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?)

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

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 tile systems, so if you know anything about it and are willing to
share, I'm all ears. This becomes really relevant as you zoom out... don't
want to render every node for the coast of Argentina, for example.

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.

What strategies have you employed, if you're willing to share?

Also agreed that GSS is not technically spectacular - the driving motivation
is that it is legible to those new to mapping, being CSS-like. So really an
adoption decision, though the JavaScript-ability of it is a nice bonus -
dynamic rules are fun.

Anyways, I'm excited to hear you've been working on this kind of stuff too.
I'm happy to collaborate or just share information, the whole codebase is
at http://code.google.com/p/cartagen/.

Best,
Jeff



>
> 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
>
___
dev mailing list
dev@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev


Re: [OSM-dev] (no subject)

2009-05-06 Thread SteveC
try dev@

On 6 May 2009, at 03:20, Ben Dauphinee wrote:

> Saw that, but I was thinking more of the default tile set, not one  
> that has to be turned on to see, since those are also the tiles that  
> my Maemo Mapper software downloads by default.
>
> From: SteveC 
> To: Ben Dauphinee 
> Sent: Tuesday, May 5, 2009 12:22:06 PM
> Subject: Re:
>
> hi see http://wiki.openstreetmap.org/wiki/Tiles%40home
>
> On 5 May 2009, at 03:24, Ben Dauphinee wrote:
>
> > Hello Steve
> >
> > I am a mapper on OSM, and I had an idea the other day to maybe  
> make the service better. I notice that the turnaround time on new  
> map tiles is a bit high for the work I am doing, and it got me to  
> thinking about this.
> >
> > If I had a program that I could run on my computer to process new  
> tiles for my area, I would be more than happy to donate some  
> computer time to rendering new map tiles to get my area updated  
> quicker.
> >
> > Let me know if this is something that your group would consider  
> building.
> >
> > Thanks
> > Ben Dauphinee
>
> Best
>
> Steve
>
>

Best

Steve


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


[OSM-dev] openlayers/tiling server

2009-05-06 Thread Mohamad Ali
 Hi guys,

After I build a test server for rendering maps, I edit this example to point
to my tiling server

http://openlayers.org/dev/examples/sundials-spherical-mercator.html

it became like below,

 

in this example I tried to put two markers on the map at 2 different couple
of lon and lat,

what I get is only  one  marker and not centered where it should be,

 

what I have done wrong?

 

Thanks

 

 



var lon = 144;

var lat = -37;

var zoom = 5;

var map;

 

function init(){

var options = {

projection: new OpenLayers.Projection("EPSG:900913"),

displayProjection: new OpenLayers.Projection("EPSG:4326"),

units: "m",

maxResolution: 156543.0339,

maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,

 20037508.34, 20037508.34)

};

map = new OpenLayers.Map('map', options);

var mapnik = new OpenLayers.Layer.TMS(

"OpenStreetMap (Mapnik)",

"http://192.168.1.79/tiles/";,

{

type: 'png', getURL: osm_getTileURL,

displayOutsideMaxExtent: true,

attribution: 'http://openstreetmap.org/";>OpenStreetMap'

}

);

 

map.addLayers([mapnik]);

 

var markers = new OpenLayers.Layer.Markers( "Markers" );

map.addLayer(markers);

  

 

var size = new OpenLayers.Size(50,50);

calculateOffset = function(size) {

return new OpenLayers.Pixel(-(size.w/2), -size.h);
};



var icon = new OpenLayers.Icon(

'http://boston.openguides.org/markers/AQUA.png',

size, null, calculateOffset);

  

  à  markers.addMarker(

new OpenLayers.Marker(new OpenLayers.LonLat(144,-37),
icon));

  à  markers.addMarker(

new OpenLayers.Marker(new OpenLayers.LonLat(-37,144),
icon));

  map.addControl(new OpenLayers.Control.LayerSwitcher());

 

map.zoomToExtent(

new OpenLayers.Bounds(

68.774414, 11.381836, 123.662109, 34.628906

).transform(map.displayProjection, map.projection)

);

}

function onPopupClose(evt) {

select.unselectAll();

}

   



function osm_getTileURL(bounds) {

var res = this.map.getResolution();

var x = Math.round((bounds.left - this.maxExtent.left) / (res *
this.tileSize.w));

var y = Math.round((this.maxExtent.top - bounds.top) / (res *
this.tileSize.h));

var z = this.map.getZoom();

var limit = Math.pow(2, z);

 

if (y < 0 || y >= limit) {

return OpenLayers.Util.getImagesLocation() + "404.png";

} else {

x = ((x % limit) + limit) % limit;

return this.url + z + "/" + x + "/" + y + "." + this.type;

}

}



 

___
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-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


Re: [OSM-dev] Minute Diffs Broken

2009-05-06 Thread Steve Singer
On Wed, 6 May 2009, Brett Henderson wrote:

> On second thoughts, a queueing mechanism may not be appropriate.  A queue 
> would be great if the queue contained all the data needed for replication but 
> that isn't likely to be the case.

You could

A. Have a trigger put the entire row contents in the queue (extra write IO)

B. Have rails put the data for the entire upload into the queue  (not using
triggers, the queue doesn't even have to be postgresql based you could even
look at using some opensource queuing system like activemq).  The downside 
of this is that it does introduce some additional failure scenarios and 
software components. Also if the queue is persisted on disk (it might not 
have to be) you'd again be paying write IO penalty.

C. As you sudgest put the id's in the queue and do bulk selecting with a 
large IN(..). I have a vague recollection of slony using this technique for 
selecting data. You could also structure things so you could join the node 
table to your queue table.  I'm not sure if PgQ is structured to allow this 
or not.






>
> If a trigger was applied to the node table for instance, then the trigger 
> would log the node id and version for the replication process to pick up. 
> Once the replication process picks up that id then it can retrieve the node 
> and associated tags to be replicated.  What I have to avoid is running select 
> statements per node, I need to pick them up in a large batch.  I could do 
> SELECT statements with large numbers of ids in a "WHERE node.id IN []" clause 
> but that doesn't scale very far.  It would be much nicer if I could do a join 
> to a table containing the ids I want to retrieve.  A queue is serialising 
> events which then have to be merged into a large set again for retrieval.  I 
> can't do one-by-one processing if I want to remain efficient.
>
> The second problem is that I don't always want all records in the queue.  I'd 
> still like to be able to break up records into time intervals rather than 
> grabbing everything available in the order it was logged.  However this 
> mightn't be an issue in the central database, it's more of an issue in the 
> distribution database.  So the main retrieval daemon could just grab 
> everything (or bound it by an object count limit) and dump into the 
> distribution database where time-based chunks could be extracted.
>
> Brett
>
>


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