Re: [OSM-dev] List of Questions
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
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
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
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
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)
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
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
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
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