00:02:50 <nikq> Mapnik Trac: Ticket #313 (buffer parameter for PolygonSymbolizer) updated | http://trac.mapnik.org/ticket/313#comment:1 00:19:26 <nikq> Mapnik Trac: Ticket #313 (buffer parameter for PolygonSymbolizer) updated | http://trac.mapnik.org/ticket/313#comment:2 00:20:04 <IvanSanchez> springmeyer: before I spam the trac with useless tickets O:-) : Has per-layer opacity been discussed? 00:20:24 <springmeyer> I like tickets :) 00:20:31 <IvanSanchez> he he 00:20:42 <springmeyer> per-layer opacity? hmmm 00:20:45 <IvanSanchez> yeah 00:21:12 <IvanSanchez> I'm thinking "google-like semi-transparent overlay with semi-transparent streets with no artifacts for the casing and opaque text overlay" 00:22:08 <springmeyer> hum, well opacity operates at the symbolizer level 00:22:20 <springmeyer> what would you get at the layer level? 00:22:21 <IvanSanchez> unless I can apply some (very) funky compositing rules to "de-opacify" a fully opaque cased road, I see no alternative way of doing this (besides hacking an ImageMagick script afterhand) 00:22:45 <springmeyer> "de-opacify" a fully opaque cased road 00:22:47 <springmeyer> hum 00:22:55 <IvanSanchez> I'm thinking that, for every layer, you get a canvas 00:23:12 <IvanSanchez> and every layer gets an opacity and a compose-mode parameter 00:23:16 <springmeyer> ya, I think I'm following 00:23:19 <IvanSanchez> so you compose all the canvases 00:23:20 <springmeyer> right 00:23:42 <IvanSanchez> I'll file a ticket right away :-) 00:23:47 <springmeyer> so casing + symbolizer-level opacity does not play well 00:24:05 <springmeyer> sounds fine 00:24:10 <IvanSanchez> not only that 00:24:37 <IvanSanchez> think about a crossroads: the opacity of the crossroads would be higher than the opacity of each of the streets 00:24:49 <springmeyer> right 00:24:54 <IvanSanchez> (as you're painting several semi-transparent symbolizers on top of one another) 00:25:46 <springmeyer> perhaps in the ticket you could provide some mockups of what you'd like crossroads to look like :) 00:25:58 <IvanSanchez> yeah 00:26:33 <IvanSanchez> BTW, do you spell "composing" or "compositing"? 00:26:33 <springmeyer> an you are just talking about potential crossroads within the same actual layer 00:27:18 <IvanSanchez> "potential" crossroads? heck, every place where two lines cross, overlap, join, or begin-and-end would display an artifact 00:28:29 <springmeyer> right, thats what I am challenging you on. Then you are talking about map level (accumulate) opaciy logic 00:28:40 <springmeyer> surely not a ticket for that ;) 00:30:34 <IvanSanchez> You've lost me there 00:33:34 <springmeyer> just saying that I'm not quite sure whether you are talking about avoiding artifacts of opacity at the layer level or across layers (map level) 00:33:41 <springmeyer> this is cool looking: http://www.antigrain.com/demo/line_patterns.gif 00:33:52 <Ldp__> IvanSanchez: it sure does. I'm doing overlays with 0.5 opacity elements, and where they touch/cross/overlap, you get less opaque elements in return 00:34:27 <Ldp__> but I wouldn't want the ShieldSymbolizers in that same Map to be opaque 00:34:44 <Ldp__> so: per-layer opacity would be fine 00:34:47 <IvanSanchez> Ldp__: shields would go in a different layer (a fully opaque one) 00:35:07 <Ldp__> s/less opaque/more opaque/ 00:35:14 * springmeyer heads off for a bit 00:35:20 <springmeyer> great ideas guys 00:35:21 <Ldp__> IvanSanchez: yes, that's what I meant 00:35:29 * springmeyer was looking at: http://www.antigrain.com/demo/index.html 00:35:29 <IvanSanchez> Ldp__: do you have any screenshots of thar overlapping? 00:35:38 <Ldp__> yes, hold on 00:35:56 <Ldp__> lemme see if my osm2pgsql has finished, and I can show you a slippy map 00:36:12 <IvanSanchez> that'd be great 00:36:17 <springmeyer> aha, opacity intersection options... 00:36:18 <springmeyer> http://www.antigrain.com/demo/scanline_boolean.gif 00:36:23 * springmeyer really heads out now :) 00:36:53 <Ldp__> still running, hold on IvanSanchez, won't be long now 00:37:15 <Ldp__> I'm not importing the whole planet ;) 00:37:17 * IvanSanchez whatches springmeyer wanting to stop viewing examples 00:40:41 <Ldp__> http://osm.xs4all.nl/ofk/?zoom=13&lat=51.16896&lon=4.4067&layers=B0FFTFFFFF 00:40:52 <Ldp__> dsl warning 00:41:14 <IvanSanchez> oh, osm-nl :-) 00:41:15 <Ldp__> basically, anywhere where 2 lines cross, the colour deepens 00:41:35 <Ldp__> yeah, nl :) 00:41:41 <IvanSanchez> we'll meet this june, I guess 00:41:41 <Ldp__> we have a reputation? :) 00:41:54 <Ldp__> I didn't get tickets (yet) 00:42:14 <IvanSanchez> you guys imported AND, and all the other countries hate you for that :-P 00:42:32 <Ldp__> long before my time 00:42:38 <Ldp__> but that was some good stuff 00:43:55 <Ldp__> those route lines are all <CssParameter name="stroke-opacity">0.5</CssParameter> 00:48:19 <nikq> Mapnik Trac: Ticket #314 (Per-layer opacity and compositing) created | http://trac.mapnik.org/ticket/314 00:48:20 <IvanSanchez> OK, got the screenshot 00:49:10 <nikq> Mapnik Trac: transparent_artifacts.png attached to Ticket #314 | http://trac.mapnik.org/attachment/ticket/314/transparent_artifacts.png 00:49:44 <Ldp__> my case could probably be solved with butt caps for the cases where 2 roads connect 00:49:52 <Ldp__> but not for crossroads 00:49:53 <IvanSanchez> no 00:50:06 <IvanSanchez> if two roads connect in an angle, you're screwed anyway 00:51:41 <Ldp__> you're probably right 00:51:52 <Ldp__> I didn't actually try it 00:55:27 <Ldp__> http://osm.xs4all.nl/ofk/?zoom=13&lat=51.16896&lon=4.4067&layers=B0FFFFFTFF 00:55:45 <Ldp__> this would make a better screenshot, with only 1 colour route involved 00:58:50 <Ldp__> or the lcn layer, if you don't want the distances 01:00:26 <IvanSanchez> I think that the current one is OK - you get both same-color and different-color artifacts 01:02:40 <Ldp__> ok 01:03:14 <Ldp__> most of these in-route artifacts are actually caused by route processing in osm2pgsql 01:03:34 <Ldp__> probably where forward/backward roles are involved 01:03:42 <Ldp__> but that's outside mapnik's scope 01:28:21 *** IvanSanchez has parted #mapnik ("Kopete 0.11.1 : http://kopete.kde.org") 02:17:44 *** Ldp__ has quit () 04:48:58 <CIA-14> mapnik-utils: dane.springmeyer * r640 /sandbox/point_opacity/ (styles.xml amenity=school.png): add forgotten symbol 07:32:33 *** kets (n=fear@87.251.152.50) has joined #mapnik 09:01:24 *** IvanSanchez (n=ivan@74.3.222.87.dynamic.jazztel.es) has joined #mapnik 10:57:21 *** Ldp__ (n=thid@osm.xs4all.nl) has joined #mapnik 11:33:34 <ser> it looks i can successfully run ogcserver through mod_cache instead of tilecache 11:55:44 <ser> so i have poor-man wms-c ;) 12:21:13 *** kets_ (n=fear@87.251.152.50) has joined #mapnik 12:21:19 *** kets has quit (Read error: 104 (Connection reset by peer)) 12:36:34 <ser> ?request=GetCapabilities - it does not work in ogcserver? 12:49:15 *** kets_ has quit ("Ex-Chat") 12:49:18 *** kets_ (n=fear@87.251.152.50) has joined #mapnik 12:54:41 <ser> yes, it works of course using ?version=1.1.1&service=WMS&request=GetCapabilities 12:57:25 <kets_> Someone mapnik compiling with support for Oracle? 13:02:16 <ser> i cannot understand this question, sorry 13:02:47 <ser> support for occi is in alpha stage, you can turn it on during compilation and test it out 13:03:25 <ser> of course we are talking about oracle spatial 13:03:26 <kets_> i can't compile 13:03:39 <kets_> yes, oracle spatial 13:03:47 <kets_> sorry for my english 13:04:01 <ser> i cannot help you as i do not have oracle 13:04:49 <kets_> understandable, but still very much 13:06:09 <ser> i hope you have read http://trac.mapnik.org/wiki/OCCI 13:06:24 <kets_> yes 13:07:07 <ser> so python scons/scons.py DEBUG=y shows shows you ociei library? 13:07:19 <kets_> The problem is 13:07:50 <kets_> mapnik not find library Oracle 13:09:00 <ser> so you have to read how to include it for C++, of course i hope you have it installed 13:09:23 <kets_> of course 13:15:06 <kets_> I have written parameters OCCI_INCLUDES, OCCI_LIBS 13:15:42 <kets_> but scons/scons.py write ociei not found 13:16:54 <kets_> i have ubuntu 8.10 13:17:03 <kets_> oracle xe client 13:41:09 *** synax (n=synax@24.222.57.182) has joined #mapnik 13:41:20 <synax> good morning, gurus 13:42:20 <synax> when using PostGIS data as the datasource for a layer, does the layer's SRS need to be specified? 13:43:39 <synax> I'm converting a script I recently got working that used shapefiles to generates tiles to use a PostgreSQL DB instead and am having issues 13:44:11 <synax> when specifying the SRS for the layer, the expected output isn't generated 13:44:35 <synax> when removing the layer's SRS the expected output is generated, but my tiles are all blank 13:46:12 *** kets_ has quit (Remote closed the connection) 13:46:47 <synax> actually, my tiles are blank in both cases 14:00:02 *** tomhughes has quit (brown.freenode.net irc.freenode.net) 14:00:02 *** nikq has quit (brown.freenode.net irc.freenode.net) 14:00:05 *** tomhughes (n=tom@gate.compton.nu) has joined #mapnik 14:00:30 *** nikq (n=nikq@li21-121.members.linode.com) has joined #mapnik 14:02:08 *** kets (n=fear@87.251.152.50) has joined #mapnik 14:07:51 *** kets has quit (Remote closed the connection) 14:34:33 <springmeyer> kets_ is gone... 14:34:48 <springmeyer> gotta look a the 'config.log' to see the details on errors 14:36:08 <springmeyer> synax: yes the srs of the layer must always be specified no matter the datasource if: 14:36:54 <springmeyer> 1) the layer is not in wgs84 (lon/lat) 14:37:06 <springmeyer> (since it defaults to that if you specify nothing) 14:37:11 <springmeyer> >>> import mapnik 14:37:11 <springmeyer> m>>> m = mapnik.Map(45,45) 14:37:11 <springmeyer> >>> m.srs 14:37:11 <springmeyer> '+proj=latlong +datum=WGS84' 14:37:18 <springmeyer> (both layer and map) 14:37:54 <springmeyer> or 2) if the map srs differs from the layer srs 14:39:04 <synax> ok 14:39:33 <springmeyer> I realize that may be confusing/not help :) 14:39:41 <synax> no, completely clear 14:39:59 <synax> I think my issue was related to the Filter I was using on the shapefile that did not port over to the DB 14:41:14 <synax> although now my script seems to hang indefinitely :( 14:43:18 <springmeyer> ya, filter KEYS are undercase for postgres 14:43:25 <springmeyer> hangs? not good 14:54:53 <synax> mapnik.render is the cause 15:18:15 *** sanjiv (n=sanjiv@59.180.128.190) has joined #mapnik 15:34:42 <springmeyer> jburgess or tomhughes: do you guys know how I can download the patches against mapnik for fedora? 15:35:17 <springmeyer> I'm wanting to see the actual changes to the source code made, but I'm lost wandering around circular links on the koji pages 15:36:01 <springmeyer> .startrss 15:36:02 <nikq> Okay, I'll start rss fetching... 15:36:03 <nikq> Mapnik Trac: PackageBuilding edited | http://trac.mapnik.org/wiki/PackageBuilding?version=2 15:36:17 <tomhughes> springmeyer: grab the srpm and install it is easiest 15:36:38 <tomhughes> do you have a koji link for the one you're interested in? 15:37:09 <springmeyer> :) ya, I don't have a fedora instance 15:37:29 <springmeyer> srpm is the source rpm? 15:37:43 <springmeyer> was looking at this most recently: http://koji.fedoraproject.org/koji/packageinfo?packageID=6670 15:39:14 <tomhughes> if you have rpm2cpio available you can use it to strip the header and get an archive that cpio will unpack 15:39:52 <tomhughes> http://koji.fedoraproject.org/koji/rpminfo?rpmID=1135132 will let you get the files 15:40:15 <tomhughes> just click through on the one you want in that list and then "info" for the src rpm 15:40:54 <tomhughes> hmm that only give you info on the file, not the contents 15:41:36 <springmeyer> okay, interesting 15:42:12 <tomhughes> looks like the only patches are for gcc 4.4 compatibility and to use the system fonts instead of the mapnik ones 15:42:35 <springmeyer> ya, seems so 15:42:45 <springmeyer> are you able to view the patch on that site? 15:42:57 <tomhughes> no, but I've downloaded the srpm and extracted them 15:43:18 <springmeyer> if I click on the say, gcc 4.4 patch link it takes me to a fully unhelpful page that just lists the sh256 and size 15:43:30 <springmeyer> and links back to the pages I came from 15:43:36 <tomhughes> yeah, koji doesn't seem to let you get the individual files 15:43:50 <tomhughes> can alien not unpack an rpm on debian/ubuntu? 15:43:56 <springmeyer> okay, so I feel less dumb then! 15:44:02 * springmeyer is currently on mac os 15:44:21 <tomhughes> I can mail them to you if you want 15:44:31 <springmeyer> I have been trying to get a fedora install going in virtual box, I'll try that again 15:44:53 <springmeyer> okay, cool, would be helpful to get a sense 15:45:00 <springmeyer> dane.springmeyer@gmail.com 15:45:45 <tomhughes> on the way 15:45:49 <springmeyer> thx! 15:46:03 <springmeyer> I was thinking the patches were major given the bug tracker discussions ;) 15:46:32 <tomhughes> well I think some things (like using the system libagg) I added to scons 15:46:48 <springmeyer> yes, that seemed key 15:47:27 <tomhughes> yeah, fedora generally requires that packages don't have their own versions of things the system already has 15:47:42 <springmeyer> right 15:47:48 <springmeyer> cool, just got the email 15:48:02 <springmeyer> very small patches, perfect 15:48:20 <springmeyer> just fonts, great 15:48:45 <springmeyer> so between your libagg fix a while back and me adding the SYSTEM_FONTS variable to point to the packaged location 15:48:48 <springmeyer> looks good 15:49:08 <springmeyer> thanks tomhughes 15:51:07 <springmeyer> ah, except that... 15:51:08 <springmeyer> +#include <stdint.h> 15:51:25 <tomhughes> which we'll probably need as soon as somebody tries gcc 4.4 15:51:25 <springmeyer> in mapnik/include/mapnik/octree.hpp 15:51:58 <springmeyer> okay, so harmless to add them now? 15:53:20 <tomhughes> I imagine so - I don't have a gcc 4.4 to hand to try it 15:54:18 <springmeyer> k, I'll keep in mind 15:58:59 <springmeyer> tomhughes: when you guys talk about vector symbols, are you thinking about the ability to read in svg files? 16:00:00 <springmeyer> or more along the lines of having support for contructing scalable shapes using symbolizer parameters? 16:00:35 <tomhughes> the ability to use svg files for shield and point symbolizers 16:00:57 <springmeyer> right, okay 16:00:59 <tomhughes> so that the symbols scale nicely in vector output formats 16:01:57 <springmeyer> okay, so you would just provide an svg file and and size dimensions... 16:02:48 <springmeyer> and cairo would maintain the svg as a vector and agg would rasterize? 16:05:03 <Ldp__> I imagine having different scaling for horizontal and vertical would be a plus 16:05:24 <Ldp__> to stretch a shield only horizontally to fit the text 16:05:59 <springmeyer> hmm, yes 16:06:05 <tomhughes> yes, a scale to fit feature of some sort for shields would be nice, so that the image is scaled to the text size 16:06:06 <Ldp__> although that could give thicker vertical lines if it scales everyting :/ 16:07:16 <springmeyer> tomhughes: overall I helped encourage work on #155 and now after looking over the patch and thinking a bit more about it 16:07:18 <nikq> Ticket #155: Extend PointSymbolizer to support image scaling, http://trac.mapnik.org/ticket/155 16:07:29 <springmeyer> I realize its off track 16:08:12 <springmeyer> (and the patch has a bunch of little problems I've mostly fixed) 16:09:27 <springmeyer> with OSM the PointSymbolizer is only/or overwhelmingly used to render bitmap symbols, right? 16:10:27 <tomhughes> that's the only thing it can render isn't it? 16:11:24 <springmeyer> well, it can also render a square Image32 if you pass no arguments of file/width/size to the contructor 16:11:37 <springmeyer> and then with this patch you can essentially color and resize that Image32 16:11:43 <tomhughes> ah right 16:11:50 <tomhughes> no, we don't do that at all as far as I know 16:12:04 <Ldp__> I don't think so, either 16:12:16 <springmeyer> ... which gets at functionality that I would really like to see in Mapnik for thematic/proportional symbol mapping 16:12:19 <springmeyer> right, okay 16:12:35 <springmeyer> but the issue here I see is that: 16:13:37 <springmeyer> 1) it confusing/non intuative to have the PointSymbolizer have very different behavior based on number/set of arguments 16:14:39 <springmeyer> 2) we should really be scaling and coloring with agg graphics rather than starting with a black 4x4 Image32 and resampling (ugly) to get say a larger green square 16:14:50 <springmeyer> :) 16:18:26 <springmeyer> does that make sense to you guys? 16:18:38 <Ldp__> 1) yes 16:18:42 <springmeyer> that we may need a separate set of Symbolizers 16:18:44 <Ldp__> 2) sure 16:19:09 <springmeyer> like ProportialPointSymbolizer or something that accepts something like 16:19:52 <springmeyer> <ProportialPointSymbolizer shape="circle" size="10" fill="green" stroke="blue"> 16:20:00 <springmeyer> or 16:20:26 <Ldp__> that looks to be better solved with an SVG? 16:20:36 <springmeyer> <ProportialPointSymbolizer shape="square" width="5" height="10"> 16:21:00 <springmeyer> Ldp__: ya it would essentially be writing svg-ish syntax 16:21:02 <Ldp__> which gives a lot more freedom than the constraints of a set of tags you code for in this ProportionalPointSymbolizer 16:21:19 <springmeyer> okay, but how would it be solved by SVG? 16:21:38 <Ldp__> how would what be solved? scaling? 16:21:59 <springmeyer> because the idea here is that the shape/width/color/ etc are all changing dynamically based on the Feature 16:22:15 <springmeyer> so you can't read in SVG files (if that is what you mean) 16:23:07 <springmeyer> what I'm getting at is the ability to do something like this: 16:23:09 <springmeyer> http://gis.csde.washington.edu:8080/ 16:25:10 <Ldp__> ah, right 16:25:33 <springmeyer> the folks helping with the patch are the team behind maps like this: 16:25:35 <springmeyer> http://maker.geocommons.com/maps/4178 16:26:14 <Ldp__> if you have a svg for that, and scale it, the stroke/border would scale as well, which is not what you want in this case 16:26:23 <springmeyer> whereby the little yellow flags would be svg read in from the filesystem while the circles ideally could be contructed dynamically from symbolzer arguments 16:27:02 <springmeyer> right, so you'd want to be able to control the stroke and fill at the symbolizer level I figure 16:27:17 <Ldp__> for basic geometric shapes, this could work 16:27:26 <springmeyer> maybe just <ProportionalSymbolizer /> 16:27:39 <springmeyer> right, basic geometric shapes 16:27:45 <Ldp__> but as you say, the flags would be svg, so if you want different coloured flags, you're using different svgs 16:27:50 <springmeyer> thats all I'm after 16:27:53 <springmeyer> right 16:28:04 <springmeyer> cool, thanks for thinking it through with me :) 16:28:52 <springmeyer> so tomhughes: do you think this warrents a new symbolizer? (and would muddy things if smashed into the PointSymbolizer?) 16:32:55 *** kets (n=fear@87.251.152.50) has joined #mapnik 16:40:25 <Ldp__> springmeyer: I have another scenario that I would some thoughts about, to see if this is already possible in the current version, and maybe you know 16:40:32 <Ldp__> It's about highway shields (yes, again :-) ) 16:40:44 <Ldp__> Let's say you have a road where 2 routes converge and then split up again. So this stretch is part of 2 routes, and is signed with 2 shields/numbers. 16:40:51 <Ldp__> Current practice in OSM is to separate with ;, and I've got a query built that will split this up in different ways, each with it's own ref. 16:40:55 <springmeyer> kets: http://dpaste.com your 'config.log' file 16:40:58 <Ldp__> Using a ShieldSymbolizer Rule for these, causes only the Shield of the first one to pop up, and the rest is lost because of collisions. 16:41:06 <Ldp__> What I would like to see is a way to say on a Rule: "if you cannot place this shield at this exact location, try it some n amount of pixels later" 16:41:08 <ser> small question: can i kindly ask WMS for all layers but not a few of them? 16:41:11 <Ldp__> or "try it just next to an already rendered shield". Effectively shifting the starting location, and causing the spacing to be calculated from this offset too. 16:41:14 <Ldp__> .. 16:43:28 <springmeyer> Ldp__: hmm, possible with textsymbolizer partly 16:43:39 <springmeyer> but likely not sheilds 16:44:22 <springmeyer> ya, nope 16:44:35 <Ldp__> too bad 16:44:53 <springmeyer> sounds like you are talking about a displacement value 16:44:55 <Ldp__> osm_id | ref | ref_length | ref | length | way 16:44:56 <Ldp__> ---------+--------+------------+-----+--------+-------------------------------------------------------------------------------------------- 16:44:56 <Ldp__> 6674937 | A1;A35 | 6 | A1 | 2 | 010200002031BF0D0002000000666666E621C82641CDCCCC6C1C275A418FC2F52838C82641666666261A275A41 16:44:57 <Ldp__> 6674937 | A1;A35 | 6 | A35 | 3 | 010200002031BF0D0002000000666666E621C82641CDCCCC6C1C275A418FC2F52838C82641666666261A275A41 16:45:00 <Ldp__> that's what I have 16:45:12 <Ldp__> the same way geometry, but different shields to render 16:45:24 <springmeyer> er tolerance I mean, sorry 16:45:29 <Ldp__> and I'd like to group them, or at least render them all, on the same way 16:46:16 <Ldp__> yes, tolerance sounds like the right thing 16:46:23 <springmeyer> hmm, ya beyond what is supported with sheilds 16:46:42 <springmeyer> Ldp__: I would look in two places to see how easy it might be to port from the text symbolizer: 16:46:56 <Ldp__> the way it is now, it wants to render all shields at the same spots, dropping all after the first one is rendered 16:47:06 <springmeyer> take a look at the options for the TextSymbolizer here: http://trac.mapnik.org/browser/trunk/src/text_symbolizer.cpp 16:48:24 <Ldp__> label_position_tolerance ? 16:48:30 <springmeyer> ya 16:48:30 <springmeyer> then the logic here: http://trac.mapnik.org/browser/trunk/src/agg_renderer.cpp#L760 16:49:19 <Ldp__> ok, I'll see if I can nicely render these multiple ref fields with the TextSymbolizer, and then see how to continue 16:49:29 <Ldp__> probably a ticket, since I don't think I'm game yet to hack the source :) 16:50:25 <springmeyer> oh wait, perhaps with template fancyness those are in fact exposed for shields... 16:50:26 <springmeyer> http://trac.mapnik.org/browser/trunk/src/placement_finder.cpp#L52 16:50:48 <Ldp__> example of what I'm trying to achieve: http://maps.google.nl/?ie=UTF8&ll=52.300737,6.720243&spn=0.022071,0.052357&z=15 16:51:12 <springmeyer> Ldp__: can you try adding label_position_tolerance as a sheild option? 16:51:29 <springmeyer> yes, gocha. 16:51:40 <springmeyer> a screenshot of that on a ticket would be helpful 16:52:02 <Ldp__> label_position_tolerance="40" for instance? 16:52:30 <springmeyer> sure 16:52:32 *** springmeyer has parted #mapnik () 16:52:43 *** springmeyer (n=dane@c-24-19-50-92.hsd1.wa.comcast.net) has joined #mapnik 16:52:45 <springmeyer> see: http://trac.mapnik.org/wiki/TextSymbolizer 16:53:06 <Ldp__> "defaults to 1/2 min_distance" 16:53:26 <Ldp__> osm.xml has min_distance="30" there... that might cut it too low indeed 16:58:02 <Ldp__> it's not doing much, still getting only the first shield rendered 17:04:39 <johto> anyone know of an open source tool for projecting shapefiles? 17:05:20 <springmeyer> ogr2ogr (GDAL command line utitlity) 17:05:38 <springmeyer> ser: LAYERS=__all__ 17:06:39 <ser> springmeyer: yes, but i want __all__ - one 17:07:12 <springmeyer> then nope 17:07:38 <springmeyer> I would use __all__ in the request but in your XML make a few layers status='off' 17:08:45 <ser> ok, thanks for a tip! 17:16:20 <springmeyer> .startrss 17:16:21 <nikq> Okay, I'll re-start rss... 17:17:00 <ser> related question: can i get two layers in one WMS question? 17:23:17 *** nikq has quit (Remote closed the connection) 17:23:26 <springmeyer> .startrss 17:23:27 *** nikq (n=nikq@li21-121.members.linode.com) has joined #mapnik 17:23:29 <springmeyer> .startrss 17:23:29 <nikq> Okay, I'll start rss fetching... 17:23:32 <nikq> Mapnik Trac: point_symbolizer_scaling2_springmeyer.patch attached to Ticket #155 | http://trac.mapnik.org/attachment/ticket/155/point_symbolizer_scaling2_springmeyer.patch 17:24:27 <springmeyer> ser: in OpenLayers do: 17:24:28 <springmeyer> {layers:['layer1','layer2'],styles:['','']} 17:28:21 <nikq> Mapnik Trac: Ticket #155 (Extend PointSymbolizer to support image scaling) updated | http://trac.mapnik.org/ticket/155#comment:14 17:29:57 <ser> It means I can turn off status for few layers in XML but later turn them all in openlayers? 17:30:24 <ser> using one xml file and one wms server? 17:31:08 <springmeyer> listing layers is the standard way in WMS to 'turn on' such that they get rendered 17:31:14 <springmeyer> the __all__ is a hack :) 17:31:44 <springmeyer> if layers are listed(requested) by openlayers but 'off' in the XML, I can't recall what happens 17:31:51 <springmeyer> you tell me :) 17:32:05 <ser> yes, i will tell you soon, thanks :) 17:32:10 <springmeyer> thx! 17:33:43 *** ajturner (n=ajturner@209.155.228.129) has joined #mapnik 17:33:57 <springmeyer> hey ajturner: ya its #155 17:33:58 <nikq> Ticket #155: Extend PointSymbolizer to support image scaling, http://trac.mapnik.org/ticket/155 17:34:01 <ajturner> hey springmeyer - on the right channel now 17:34:26 <springmeyer> cool :) 17:34:36 *** semprebon (n=semprebo@209.155.228.129) has joined #mapnik 17:35:01 <ajturner> thanks for the feedback - the patch was written quite quickly in december 17:35:10 <ajturner> semprebon's been the good one on pulling it out as a patch and fixing it up 17:35:11 <springmeyer> you are welcome 17:35:37 <springmeyer> I didn't know a lick of C++ in december, but I'm keen to help now :) 17:36:12 <semprebon> I haven't touched C++ in 20 years until last week... 17:36:16 <springmeyer> been learning quickly 17:36:19 <springmeyer> heh! 17:36:56 <springmeyer> good stuff semprebon :) 17:37:00 <ajturner> clearing away all the cobwebs 17:37:21 <ajturner> mapnik definitely utilizes some of hte intricacies of the language (mmm. templates) 17:37:43 <ajturner> fortunately - semprebon also knows ruby - so is adding the bindings 17:37:48 <springmeyer> ya, lots of magic 17:37:53 <springmeyer> oh, wicked 17:37:56 <semprebon> I am? 17:38:01 <springmeyer> ! 17:40:38 <semprebon> Maybe in time... 17:52:14 <synax> springmeyer: what are you using to learn C++? 17:52:19 <synax> I haven't touched it since University 17:52:32 <synax> my understanding of C++ now is about on par with my literacy of Chinese 17:52:47 <springmeyer> boost docs 17:53:13 <synax> yeah, so you're just one of those super programmer then 17:53:26 <synax> some people can just pick stuff up 17:53:38 <synax> I'm not (typcially) one of those people ;) 17:53:47 <springmeyer> but mostly just looking at mapnik patterns 17:54:01 <springmeyer> i'm not sure if that means super programmer as much as 17:54:10 <springmeyer> just learning by example 17:55:05 <springmeyer> I remember really getting a grip on python for the first time by looking at django/geodjango source code 17:55:13 <synax> so you must have been a Python programmer to get into Mapnik then? 17:55:39 <ser> springmeyer: no, switched off layer is unvisible of course as mapnik does not see it 17:56:06 <springmeyer> well, ya, I stared with python (which attracted me to Mapnik) 17:56:26 <springmeyer> then have learned javascript and a little C++ 17:56:30 <springmeyer> thats about it 17:56:49 <springmeyer> ser: would be easy to have the ogcserver turn on those invisible layers though 17:57:00 <springmeyer> its not that mapnik does not see them 17:57:15 <springmeyer> its rather than mapnik loads them and then does a pass when rendering 17:57:36 <springmeyer> lyr.active = True # if that were inserted into the ogcserver then they would show up 17:57:58 <ser> let me check the code, please 17:59:13 <synax> hrmm.... calling m.zoom_all() and then mapnik.render or mapnik.render_to_file is causing my python script to hang 17:59:33 <synax> # We have to manually zoom out since the buffered layer's envelope is not properly read by Mapnikm.zoom(-5) 17:59:43 <synax> is that the issue? 18:01:45 <springmeyer> syntax: is that a code comment I wrote? :) 18:02:18 <springmeyer> either way that should not be happending - I've never had a rendering hang except if mapnik crashes 18:02:31 <springmeyer> synax: can you http://dpaste.com your code? 18:02:52 <synax> springmeyer: I nabbed that comment from http://mapnik-utils.googlecode.com/svn/example_code/postgis/postgis_geometry.py 18:03:14 <ser> co currently we have lyr.active = obj.active 18:05:22 <springmeyer> ser: if you want to 'force' activation of any requested layer... 18:05:28 <springmeyer> you would add 18:05:41 <springmeyer> layer.active = True 18:05:54 <ser> ok, add you mean replace lyr.active = obj.active 18:05:58 <springmeyer> around line 412 or before: 18:06:04 <springmeyer> http://trac.mapnik.org/browser/trunk/bindings/python/mapnik/ogcserver/common.py 18:06:32 <springmeyer> er 413 18:06:37 <springmeyer> layer.active = True 18:06:39 <springmeyer> m.layers.append(layer) 18:06:59 <ser> checking 18:07:50 <ser> i have a different file locally, <checkout> 18:08:41 *** stamf has quit (Read error: 110 (Connection timed out)) 18:21:23 *** racicot has quit ("ChatZilla 0.9.84 [Firefox 2.0.0.21pre/2009020912]") 18:23:12 <ser> springmeyer: it works, indedd! 18:23:57 <ser> now when i am asking for _all__ i cannot see this layer, but when i am asking for him explictely, it shows up! 18:25:16 <ser> does it mean it should be done by default in ogcserver? 18:32:17 <ser> btw, i switched off "roads" layer in OSM and the map looks really funny now :-) 18:37:46 *** wonxly (i=9e931426@gateway/web/ajax/mibbit.com/x-21bc5fe4fb287f92) has joined #mapnik 18:38:52 <wonxly> anyone have any ideas how i could debug mapnik not working with the shape input plugin but it works fine with the postgis plugin? 18:40:07 <wonxly> is there an easy way to just load the world boundary data into postgres with shp2pgsql and modify my osm.xml file to use that? 18:40:51 <IvanSanchez> wonxly: how did you compile it? Did you review the compile-time options for gdal stuff? 18:41:29 <ser> wonxly: eveything you ask is decribed on Mapnik page on wiki.openstreetsmap.org 18:43:41 <wonxly> i'm not currently using gdal...i didn't install gdal...is that required for the shape input plugin to work? 18:44:15 <ser> as well with a readme file which you can get here: http://svn.openstreetmap.org/applications/rendering/mapnik 18:45:36 <springmeyer> wonxly: what is not working? 18:45:43 <wonxly> thanks for your response ser but i opened that readme file and just searched for shp2pgsql and it is not even there? 18:46:09 <wonxly> it appears that mapnik is not able to render the data from the shapefiles 18:46:17 <wonxly> i only get data that i have loaded into postgres 18:46:21 <ser> wonxly: install.txt 18:46:29 <springmeyer> and these are the coastline shapefiles used with OSM? 18:47:01 <ser> wonxly: each step, line under line 18:47:06 <wonxly> yes springmeyer...the other day you recommended me removing the .index files...i tried that but then it just ran forever at 100% CPU 18:47:44 <wonxly> thanks ser...i will give that a try ;) 18:47:47 <springmeyer> wonxly: mapnik version? 18:48:24 <springmeyer> and how are you rendering tiles? 18:50:04 <wonxly> it is an svn version...a little before .6 was released...i was sticking with that because i got it working on solaris 10 X86...and now i was trying to repeat the process on a sparc 18:50:23 <wonxly> but i am thinking something does not work correctly on this different architecture 18:50:28 <springmeyer> oh, you got it working on solaris, cool 18:50:42 <springmeyer> wonxly: post your SConstruct patch, not matter how hairy 18:51:08 <springmeyer> wonxly: ya shapefile reading has only ever been a problem on PPC macs 18:51:13 <springmeyer> so that sounds likely 18:51:24 <springmeyer> arch issue we've yet seen 18:51:50 <springmeyer> wonxly: and you can confirm that the shapefiles (paths etc) are being found? 18:51:55 <wonxly> ok i'll post that...yeah i saw some posts on that for PPC 18:52:12 <springmeyer> if so, then loading the shapefile with shp2pgsql is a good option 18:52:18 <wonxly> yeah i can confirm that ;) 18:52:22 <springmeyer> or trying to read it with the new ogr driver 18:52:37 <springmeyer> but ogr may not have been added by the revision you are using 18:54:20 <springmeyer> $ shp2pgql -s 900913 world_borders_m.shp coastlines | psql osm -U postgres 18:54:36 <springmeyer> a command like that should load the shapefile into postgis 18:55:06 <wonxly> ok cool thanks...is there anything i have to do special in the xml file? i notice the other postgis layers have SQL as params... 18:55:18 <springmeyer> no, just do 18:55:26 <springmeyer> table="coastlines" 18:55:39 <wonxly> ok cool thanks 18:55:41 <springmeyer> and use the same extent="" param 18:56:02 <springmeyer> wonxly: is your database in mercator? e.g. osm2pgsql -m ? 18:56:09 <wonxly> yeah 18:56:27 <springmeyer> cool, then 900913 should be in there and that command should work 18:56:44 <wonxly> awesome...thanks again for your help 18:57:15 <springmeyer> np, I'll watch for you tickets 18:59:51 <IvanSanchez> springmeyer watches for *all* tickets 19:03:49 <synax> does this SConscript line mean it can't find PostGIS libs? Checking for pg_config... error: no result 19:04:18 <springmeyer> kinda :) 19:04:29 <springmeyer> means you need the development headers for postgres 19:04:41 <synax> postgres-devel ? 19:04:42 <springmeyer> which provide the 'pg_config' program 19:04:57 <springmeyer> or means that that program did not get put on your path 19:05:14 <springmeyer> so you can do PG_CONFIG=/path/to/pg_config 19:06:30 <synax> thanks, got it now 19:06:53 <springmeyer> ah crap 19:07:16 <springmeyer> synax: you don't have postgres installed :) 19:07:33 <synax> yeah, I was missing the development headers 19:07:35 <springmeyer> mapnik hanging if you don't have postgres installed, ugh, that is not good 19:07:42 <synax> springmeyer: no no 19:07:47 <synax> the hanging is unrelated 19:07:59 <synax> my dev box has been f***ed all day 19:08:07 <synax> which is why I'm on another machine now 19:08:10 <springmeyer> synax: oh different box, okay 19:08:13 <springmeyer> whew... 19:08:16 <synax> ;) 19:08:23 <synax> sorry for the heart palpatations 19:08:32 <springmeyer> synax: we do have a bug with postgis though 19:08:34 <springmeyer> you can do 19:08:41 <springmeyer> >>> from mapnik import PostGIS 19:08:48 <springmeyer> >>> pg = PostGIS() 19:08:57 <springmeyer> e.g. instantiate with no options 19:09:03 <springmeyer> and you don't get an error 19:09:07 <springmeyer> which is not right :) 19:09:24 <synax> good to know 19:10:18 <synax> well S.O.B.... now this new box is hanging 19:10:43 <springmeyer> synax: rebuild with DEBUG=True 19:10:44 <synax> maybe it is related, and maybe it's causing problems outside of the script process 19:10:57 <springmeyer> and then see where you get in the debug output 19:11:44 <synax> can I manually edit the config.py file to include DEBUG = True ? 19:12:06 <springmeyer> sure, but then you have to run 19:12:15 <synax> yeah 19:12:17 <springmeyer> python scons/scons.py configure to pick it up 19:12:17 <synax> cool 19:12:33 <springmeyer> putting as an option with configure also works 19:12:54 <synax> rebuilding... 19:13:13 <synax> I have a bad feeling that it's probably an issue with the actual data... 19:13:26 <synax> hopefully I'll get some meaningful debug output 19:13:32 <springmeyer> is it really large? 19:13:40 <synax> yes 19:13:43 <synax> 170k rows 19:14:15 <springmeyer> have you tried... 19:14:32 <springmeyer> select distinct(isvalid(the_geom)) from your_table; ? 19:15:44 <synax> running the query... 19:16:07 <springmeyer> that just a curiosity 19:16:21 <synax> looks like it's going to return a bunch of rows 19:16:35 <springmeyer> general approach here would be to try to get at the query mapnik is sending to postgres 19:16:36 <synax> t (1 row) 19:16:48 <synax> what is the query it defaults to? 19:16:54 <springmeyer> and then grab it and try it within psql 19:16:56 <synax> the above? 19:17:05 <springmeyer> no the query that mapnik debug will show 19:17:10 <synax> ah 19:17:13 <springmeyer> or that you could find in your postgres logs 19:17:21 <springmeyer> mapnik query will be something like: 19:17:36 <springmeyer> Select AsBinary(geometry) from your_table; 19:20:47 <synax> here we go: SELECT AsBinary("geom") AS geom from map_shape WHERE "geom" && SetSRID('BOX3D(44.41685599399469 -64.45014190697725,45.27580374720466 -62.09521102887238)'::box3d,2038) 19:21:06 <synax> that looks about right 19:21:25 <springmeyer> ya, seems fine 19:21:34 <synax> so it's hung (atm) on that 19:21:54 <synax> I'll wait a few minutes and see if it's just because it's a large dataset 19:22:00 <springmeyer> ya 19:22:01 <springmeyer> have you build spatial indexes? 19:22:52 <synax> I didn't insert the data, but yes, it looks like there are indexes 19:23:01 <synax> "map_shape_geom_idx" gist (geom) 19:23:19 <springmeyer> k 19:23:57 <synax> btw, is there a flag/option to supress the debug output when running scripts? 19:24:13 <springmeyer> no 19:29:59 *** racicot (n=chatzill@dsl-209-166-85-189.whidbey.net) has joined #mapnik 19:30:10 *** sanjiv has quit (Success) 19:32:20 *** sanjiv (n=sanjiv@59.180.132.173) has joined #mapnik 19:33:32 <synax> gah, no erroneous postgres logs are being generated either 19:38:46 <synax> until tomorrow, I guess 19:38:51 *** synax has quit () 20:22:40 *** wonxly has quit ("http://www.mibbit.com ajax IRC Client") 20:43:12 <IvanSanchez> hhmm... mapnik doesn't accept a non-integer value for TextSymbolizer size? 20:44:42 *** sanjiv has quit ("ChatZilla 0.9.84 [Firefox 3.0.8/2009032711]") 20:46:40 <springmeyer> right if you mean for font size 20:47:07 <IvanSanchez> any particular reason? I'm half-way filing a ticket 20:49:30 <springmeyer> not that I'm aware of 20:49:40 <IvanSanchez> ok, then the ticket goes in 20:49:53 <springmeyer> I've filed a ticket for fractional width halos as well 20:50:15 <IvanSanchez> ticket #? 20:50:27 <IvanSanchez> oh, 93 20:51:09 <nikq> Mapnik Trac: Ticket #315 (non-integer values for TextSymbolizer size) created | http://trac.mapnik.org/ticket/315 20:51:29 <nikq> Mapnik Trac: Ticket #93 (Allow for 'halo_radius' to be set as float value) updated | http://trac.mapnik.org/ticket/93#comment:4 21:20:56 *** semprebon has quit () 21:21:42 *** stamf (n=stamf@116.73.233.220.exetel.com.au) has joined #mapnik 21:26:14 <nikq> Mapnik Trac: Ticket #300 (Improve tests) updated | http://trac.mapnik.org/ticket/300#comment:5 21:38:40 *** stamf has quit (Read error: 104 (Connection reset by peer)) 22:24:27 *** stamf (n=stamf@116.73.233.220.exetel.com.au) has joined #mapnik 22:30:09 *** w0lfie_ has quit ("This computer has gone to sleep") 22:46:53 *** rcoup (n=rcoup@ip-118-90-23-233.xdsl.xnet.co.nz) has joined #mapnik 22:54:56 *** w0lfie_ (n=wolf@cpe-67-49-133-78.hawaii.res.rr.com) has joined #mapnik 23:05:32 *** IvanSanchez has quit ("Kopete 0.11.1 : http://kopete.kde.org") 23:22:07 <nikq> Mapnik Trac: Changeset [1098]: catch error and raise UserWarning if an input plugin cannot be found ... | http://trac.mapnik.org/changeset/1098 23:23:38 <nikq> Mapnik Trac: Ticket #302 (load_map is silent when a PostGIS layer is used if the postgis input ...) closed | http://trac.mapnik.org/ticket/302#comment:1 23:24:18 <ser> hello springmeyer! 23:25:14 <ser> so could you please tell me what is the required behavior - switched off layer should be visible by ogcserver or not? 23:25:59 <ser> i mean should i always modify ogcserver to have such an option? 23:26:15 <springmeyer> hey ser 23:26:33 <springmeyer> I'm not sure 23:27:03 <ser> for me it is perfectly useful, as i do not need to have two xml files and two wms instances 23:27:18 <springmeyer> seems like the most reasonable thing would be to allow it 23:27:24 <ser> to have a few layers of the same map 23:28:12 *** ajturner has quit () 23:28:15 <ser> does it mean ogcserver will report these "hidden" layers via getfeature reuest or not? 23:28:45 <ser> if not, information should be safe 23:28:49 <springmeyer> well depends 23:29:04 <springmeyer> where you hacked in forced activation was only in GetMap 23:29:26 <springmeyer> so GetFeatureInfo and GetCapabilities will likely no report the layer 23:29:37 <springmeyer> although we should confirm that 23:29:44 <ser> i can understand, so maybe it is a desired solution, is not it? 23:30:31 <springmeyer> maybe post a patch to a ticket and email the list about thoughts 23:30:35 <ser> ok, so should i create create a ticket? 23:30:41 <springmeyer> sure 23:30:46 <ser> hah, i wrote the same in the same time :) 23:30:53 <springmeyer> :) 23:31:00 <ser> ok, thanks a lot 23:31:12 <springmeyer> I'm not too versed in WMS spec to know if that has ramifications here 23:31:23 <ser> i will deploy it first to show the positive aspects of this solution 23:31:42 <springmeyer> but we do want to avoid adverstising that Mapnik has a WMS compliant server if it has security holes :) 23:32:20 <ser> yes, indeed, it may be a hole if someone knows the layer name :-( 23:32:42 <ser> hmm 23:34:48 <nikq> Mapnik Trac: Changeset [1099]: rename and make non-executable for ease of use with nosetests | http://trac.mapnik.org/changeset/1099 23:35:39 <nikq> Mapnik Trac: Ticket #301 (Mapnik does not issue a UserWarning when a bad (or no) datasource type is ...) updated | http://trac.mapnik.org/ticket/301#comment:2 23:36:40 <nikq> Mapnik Trac: Ticket #300 (Improve tests) updated | http://trac.mapnik.org/ticket/300#comment:6 23:37:21 <springmeyer> milestone 0.6.1 23:37:22 <nikq> 39 open tickets in Milestone 0.6.1: Add python docstrings to boost:python bindings, Basic Translations of Mapnik tutorials, Provide return value policy in doc strings, Support for overviews in gdal input plug-in, modserver.py (mod_python WMS handler) cannot hardcode 'onlineresource', Setup of Sphinx for Docs, Case insensitivity with Field name lookup in Symbolizers, Allow ability to read datasourc... 23:37:24 <nikq> http://trac.mapnik.org/query?status=new&status=assigned&status=reopened&milestone=0.6.1&order=priority 23:37:25 <nikq> Milestone Roadmap: http://trac.mapnik.org/milestone/0.6.1 23:40:18 <springmeyer> ser: it would be cool if you could test loading the ogcserver WMS into Quantum GIS using the fcgi wrapper 23:40:27 <springmeyer> if it works for you then we can close #243 23:40:28 <nikq> Ticket #243: wms 1.1.1 getcaps doesn't include xlink:href for getmap URL, http://trac.mapnik.org/ticket/243 23:41:14 <nikq> Mapnik Trac: Ticket #277 (modserver.py (mod_python WMS handler) cannot hardcode 'onlineresource') updated | http://trac.mapnik.org/ticket/277#comment:2 23:41:55 <nikq> Mapnik Trac: Ticket #218 (Fix transparency handling for point symbolizers) updated | http://trac.mapnik.org/ticket/218#comment:7 23:44:37 <nikq> Mapnik Trac: Ticket #286 (save_map() serializes colors as RGB tuples irregardless of how they were ...) updated | http://trac.mapnik.org/ticket/286#comment:1 23:54:33 <springmeyer> ping rcoup 23:56:21 <rcoup> springmeyer: yo 23:56:41 <ser> springmeyer: i can try 23:56:59 <springmeyer> hey: any reason why the postgis plugin should allow no arguments to the contructor? :) 23:57:02 <ser> i did not use it for some time 23:57:19 <springmeyer> or blank params for table or dbname that you see? 23:58:11 <springmeyer> currently it does and I'm about to change that to enforce values for 'table' and 'dbname' 23:58:18 <springmeyer> curious if you see any problem with that