01:46:56 *** rcoup (n=rcoup@ip-118-90-17-24.xdsl.xnet.co.nz) has joined #mapnik 02:01:15 *** cremaster (i=blotanic@vpn-wireless-client-pool-245-15.cpmc.columbia.edu) has joined #mapnik 02:24:49 *** cremaster has quit (Read error: 110 (Connection timed out)) 02:54:07 *** rcoup has quit () 03:13:05 <dukeku> csv2shp is amazing 03:49:50 *** cremaster (i=blotanic@vpn-wireless-client-pool-245-2.cpmc.columbia.edu) has joined #mapnik 04:21:14 *** rcoup (n=rcoup@ip-118-90-17-24.xdsl.xnet.co.nz) has joined #mapnik 04:37:26 *** rcoup has quit () 04:48:10 *** cremaster has quit (Read error: 104 (Connection reset by peer)) 04:52:52 *** cremaster (i=blotanic@vpn-wireless-client-pool-245-27.cpmc.columbia.edu) has joined #mapnik 07:28:22 *** cremaster has quit (Read error: 110 (Connection timed out)) 08:54:35 *** rcoup (n=rcoup@ip-118-90-17-24.xdsl.xnet.co.nz) has joined #mapnik 11:05:11 *** rcoup has quit () 11:41:16 *** tomhughes has quit ("Coyote finally caught me") 11:41:22 *** tomhughes (n=tom@gate.compton.nu) has joined #mapnik 12:05:08 *** tomhughes has quit ("Coyote finally caught me") 12:07:52 *** tomhughes (n=tom@gate.compton.nu) has joined #mapnik 13:55:11 *** sanjiv (n=chatzill@59.180.147.79) has joined #mapnik 14:04:48 *** sanjiv has quit (Read error: 104 (Connection reset by peer)) 14:05:35 *** sanjiv (n=chatzill@59.180.147.79) has joined #mapnik 14:28:54 *** kunitoki (n=kraken@host217-241-dynamic.44-79-r.retail.telecomitalia.it) has joined #mapnik 14:31:19 *** sanjiv has quit ("ChatZilla 0.9.84 [Firefox 3.0.6/2009020911]") 16:52:07 *** artem (n=artem@i-83-67-142-225.freedom2surf.net) has joined #mapnik 16:52:53 <artem> kunitoki: hey there 17:00:38 *** artem has quit () 17:13:57 *** sanjiv (n=chatzill@59.180.128.180) has joined #mapnik 17:17:11 *** springmeyer (n=dane@c-24-19-50-92.hsd1.wa.comcast.net) has joined #mapnik 17:28:13 <cmarqu> springmeyer: Hi! 17:28:34 <springmeyer> hello 17:29:11 <cmarqu> springmeyer: liteserv.py gives me "prj = <mapnik.Projection object at 0x1e92b50>" in the informational output at the beginning, is that intended? 17:29:21 <cmarqu> I would have expected a string maybe 17:29:29 <springmeyer> exactly. 17:29:32 <springmeyer> i noticed that too 17:29:51 <springmeyer> essentially the mapnik.Projection object has no __str__ method I guess 17:30:11 <cmarqu> Ok. No big deal of course. 17:30:21 <springmeyer> I think we should probably add it to map __str__ to print .params() 17:31:36 <cmarqu> In the cfg file: "cache_mode = on" should maybe be "caching = on", since there is no real mode to set anymore, just a boolean. 17:31:59 <springmeyer> yes, i agree. great 17:34:01 <springmeyer> mapnik.Envelope() seems to have a string repr... looking at how that works 17:37:43 <springmeyer> aha, it is done via the _injector in that sneaky __init__.py file 17:37:45 <springmeyer> http://trac.mapnik.org/browser/trunk/bindings/python/mapnik/__init__.py#L55 17:39:02 <cmarqu> What would make tilelite to throw away a cached tile and render a new one? A style file newer than the tiles? 17:42:13 <cmarqu> Hmm, apparently not. 17:42:51 <springmeyer> no, there is no fancy logic like that currently 17:43:18 <springmeyer> either caching, not caching, or regenerating the cache 17:43:31 <cmarqu> Ok 17:43:46 <springmeyer> we talked about the /tmp being unique to a session, but I've not done that yet :) 17:44:08 <springmeyer> just need to use a unique temp directory I figure 17:44:26 <cmarqu> Yes, that could also work. 17:45:02 <cmarqu> FWIW, since I rebooted now, I had exactly the problem that I anticipated, in that Cascadenik's icons in /tmp were gone :) 17:45:10 <cmarqu> Filed a bug for that. 17:45:17 <springmeyer> :) yup 17:45:20 <springmeyer> cool, thx 17:46:08 <cmarqu> Mike doesn't seem to have time right now, with the new CloudMade styles maybe, and http://hci.stanford.edu/cs547/abstracts/08-09/090220-migurski.html 17:47:01 <springmeyer> yes, he is on a serious tear - its awesome 17:50:38 *** crschmidt has quit (brown.freenode.net irc.freenode.net) 17:51:06 *** crschmidt (n=crschmid@59.176.232.72.static.reverse.ltdomains.com) has joined #mapnik 18:05:59 *** adakkak (n=adakkak@gres110.lis.illinois.edu) has joined #mapnik 18:09:41 <cmarqu> Mapnik doesn't seem to put two interleaved ShieldSymbolizers on the same way. I set spacing and min_distance to different values, even taking collisions into account, I should see them interleaved at least *sometimes*. 18:22:37 <nikq> Mapnik Trac: Changeset [950]: + add string representation for Projection object in python | http://trac.mapnik.org/changeset/950 18:31:04 <CIA-23> mapnik: dane * r950 /trunk/bindings/python/mapnik/__init__.py: + add string representation for Projection object in python 18:37:39 *** artem (n=artem@i-83-67-142-225.freedom2surf.net) has joined #mapnik 18:46:07 <springmeyer> hey artem: I just added a __str__ method for a projection in 950 18:46:21 <springmeyer> should it instead be a __repr__ ? 18:47:15 <artem> __str__ sounds good to me. what does it do? returns "+proj=xx ..." ? 18:47:28 <springmeyer> It seems logical to me to have the __repr__ return the obj also for env, coord... 18:47:40 <springmeyer> yes, returns the proj4 literal or +init=espg.... 18:48:52 * artem checking .. 18:49:28 <artem> >>> c = Coord(200,200) 18:49:28 <artem> >>> c 18:49:28 <artem> Coord(200.0,200.0) 18:49:28 <artem> >>> repr(c) 18:49:29 <artem> 'Coord(200.0,200.0)' 18:49:29 <artem> >>> str(c) 18:49:31 <artem> 'Coord(200.0,200.0)' 18:49:35 <artem> >>> 18:52:39 <artem> is this good ? 18:54:56 <springmeyer> I'm thinking that repr(c) should return... 18:55:07 <springmeyer> <mapik.Coord ....> 18:55:27 <springmeyer> so the user know that there are methods available on that object 18:55:46 <artem> ah. ok. this is easy to mend 18:56:22 <artem> btw, give "pgsql2sqlite" a go - It will change your perception of GIS forever :) 18:56:24 <springmeyer> yes, super easy - i figure just switching __repr__ to string like the Projection object. 18:56:31 <springmeyer> :) cool 18:56:49 <springmeyer> how do you build? $ bjam ? 18:56:57 <artem> yes 18:57:18 <artem> bjam release 18:57:29 <Berteun> I think a repr(c) that yields Coord(200.0,200.0) is valid behaviour. 18:57:44 <springmeyer> ah cool Berteun 18:57:45 <Berteun> The idea is that repr(c) gives something that can be passed to eval() 18:57:56 <Berteun> And, this should yield the same object. 18:58:10 <springmeyer> okay. makes sense 18:58:17 <Berteun> If that's not an option you can alternatively use <mapik.Coord ... > 18:58:43 <Berteun> But usually Python does that by itself.. 18:58:59 <springmeyer> so Berteun: is __repr__ the fallback for printing an object in a python interpreter when __str__ is absent, perhaps? 18:59:31 <Berteun> I'm not quite sure about that, I would think so though. 19:00:21 <Berteun> str() can yield something that cannot be passed to eval, but is useful to humans to 'visualise' the object. 19:00:54 *** kunitoki has quit ("Lost terminal") 19:01:43 <Berteun> Yeah, the interpreter first tries str() and if that doesn't work repr() 19:02:14 <springmeyer> okay. ya good to know the actual reason behind repr 19:02:25 <springmeyer> so all I am getting at is that doing: 19:02:40 <springmeyer> >>> c 19:02:46 <springmeyer> Coord(200.0,200.0) 19:03:57 <springmeyer> seems to me like it would be more intuative to return <mapnik Coor...> since c.forward, .inverse exist. etc 19:04:41 <springmeyer> but no need to change that behavior if a the proper use of repr is being used here 19:04:48 <dukeku> does Coord() use (lat,lon) or (lon,lat)? 19:05:02 <springmeyer> lon,lat 19:05:31 <Berteun> springmeyer: But the same can be set of standard dicts. 19:05:39 <springmeyer> cmarqu: take a look at the tilelite fix just now 19:05:40 <dukeku> thanks 19:05:54 <Berteun> From {a:b, c:d} you cannot deduce it has items/values/keys, etc. methods 19:06:02 <springmeyer> Berteun: yes :) 19:06:30 <Berteun> You usually use help(...) if you want that information. 19:06:54 <springmeyer> okay, sounds good. i guess the difference here is that is makes sense to potentially eval a Coord 19:07:20 <cmarqu> springmeyer: I now see *changed which is cool, but it doesn't proint prj at all now, if you mean that :) 19:07:35 <springmeyer> vs. geodjango or shapely geometry objects (which is what i am thinking about here as returning the obj) don't need to get evaled 19:08:21 <springmeyer> cmarqu: right, I just switched the debug output to __only__ output class attribute the user should actually mess with 19:08:58 <springmeyer> cmarqu: do you see a reason a user would want to change the projection? 19:09:14 <dukeku> springmeyer: are you going to be around for most of today? ;) 19:09:21 <springmeyer> cmarqu: note the support for variable tile sizes was easy to add :) 19:09:34 <cmarqu> springmeyer: No, I was just stating what I saw 19:09:38 <cmarqu> springmeyer: Ah, nice. 19:09:41 <springmeyer> dukeku: ya 19:09:45 <springmeyer> ah, okay, thx! 19:10:03 <dukeku> springmeyer: coolios. i'm trying PointSymbolizer for the first time and i'm having a few issues 19:10:25 * springmeyer looks both ways ;) 19:10:54 <dukeku> i think i'm just plain Doing It Wrong 19:11:05 <springmeyer> artem: 'Unable to load Boost.Build: could not find "boost-build.jam" 19:11:08 <dukeku> i thought the data might not overlay like i thought it would...but they look beautiful in qgis 19:11:17 <springmeyer> quick way to install boost build? 19:11:29 <springmeyer> i guess it does not come with boost proper... 19:11:40 <springmeyer> dukeku: k 19:12:23 <cmarqu> springmeyer: in tilelite.cfg, the comment "buffer_size: 0 - 256" now should be "buffer_size: 0 - size" I guess? 19:12:31 * springmeyer downloads boost build 2.0 19:12:59 <springmeyer> cmarqu: :) yes yes 19:14:37 * springmeyer also add 'size' comment 19:16:02 <dukeku> do i _have_ to use an image for PointSymbolizer? 19:16:10 <cmarqu> Damn browser caching! 19:16:12 <dukeku> or can i just draw a damn box 19:16:24 *** rcoup (n=rcoup@ip-118-90-33-180.xdsl.xnet.co.nz) has joined #mapnik 19:16:33 <springmeyer> damn 19:16:46 <cmarqu> springmeyer: Don't swear! 19:16:52 <cmarqu> Without reason that is! 19:16:53 <springmeyer> ups 19:17:27 <cmarqu> dukeku: In the source, I read //default point symbol is black 4x4px square 19:17:34 <cmarqu> src/point_symbolizer.cpp 19:17:37 <dukeku> hrm 19:18:16 <dukeku> just using PointSymbolizer() isn't drawing anything for me 19:18:20 * springmeyer has a hunch that default is lost when using mapnik via python binding, but has yet to confirm 19:18:26 <dukeku> yeah :) 19:19:29 <dukeku> i tried to specify the filename as none, type as none 19:19:34 <dukeku> and then setting just the height/width 19:19:39 <dukeku> but that doesn't match signature etc 19:21:31 <cmarqu> springmeyer: The text describing the layers in openlayers.html should mention the tiles size each layers is for. 19:22:26 <springmeyer> cmarqu: registered at bitbucket? 19:22:45 <cmarqu> I knew that question would come! 19:22:47 <cmarqu> :) 19:22:52 <springmeyer> :) lol 19:23:52 <cmarqu> No, I'm not, and I don't particularly want to. I could collect such things as patches though. 19:24:12 <springmeyer> k. sounds fine :) 19:24:52 <cmarqu> With a tile size (and buffer) of 512, my text-cut-off-at-tile-boundary problem seem to be gone. 19:25:06 <springmeyer> nice! 19:25:56 <cmarqu> So I'd need a buffer > size for smaller sizes. 19:28:42 <dukeku> barrule.symbols.append(PointSymbolizer("black.png","png",16,16)) 19:29:12 <dukeku> nothing's showing up in the layer that's using that pointsymbolizer 19:29:17 <dukeku> did i miss something completely obvious/ 19:29:18 <dukeku> ? 19:29:36 <dukeku> oh god, hold on 19:30:53 <dukeku> ok, i *am* drawing the layer, nothing's happening anyways 19:31:01 <dukeku> http://dpaste.com/123729/ 19:32:02 <springmeyer> dukeku: try at the end of your script... 19:32:16 <springmeyer> save_map(m,'test.xml') 19:32:38 <springmeyer> I find that is a helpful way of catching otherwise hard to notice problems 19:33:14 <dukeku> http://dpaste.com/123731/ 19:33:40 <dukeku> style looks OK to me 19:34:16 *** adakkak has quit ("Ex-Chat") 19:35:38 <springmeyer> yup. me too 19:36:58 <springmeyer> have you tried using the absolute path to the symbol? 19:38:01 <dukeku> could it be that black.png is just 1x1 and they're showing up absolutely tiny? :) 19:38:10 <dukeku> i changed the size a bit and they're kind of reappearing and disappearing 19:38:51 <springmeyer> is black a symbol you are using? or is black this hidden default we were talking about? 19:39:03 <dukeku> symbol 19:39:07 <dukeku> just a 1x1 black png 19:39:15 <dukeku> i resized it to be 1000% bigger and now they're showing up 19:39:18 <dukeku> strange 19:39:23 <springmeyer> yes 19:39:32 <springmeyer> the size does not scale the image 19:39:38 <springmeyer> it must match it 19:40:04 <dukeku> makes sense 19:40:16 <springmeyer> #155 19:40:17 <nikq> Ticket #155: Extend PointSymbolizer to support image scaling, http://trac.mapnik.org/ticket/155 19:42:39 <dukeku> what filetypes are available? 19:42:45 <dukeku> for use with pointsymbolizer 19:43:07 <springmeyer> not sure, I've only tried png 19:43:11 <dukeku> ah 19:43:15 <dukeku> well, time to experiment :) 19:43:22 <dukeku> i'll give svg a shot 19:45:38 <dukeku> do you use cairo frequently? 19:46:13 <springmeyer> recreationally 19:47:01 <dukeku> any reasons why you'd favor raster rendering vs vector? 19:47:28 <springmeyer> for symbols or in general? 19:47:51 <dukeku> in general 19:48:41 <springmeyer> note: cairo can render to raster surfaces 19:49:01 <springmeyer> in general... vector file sizes of rendered maps are larger 19:49:27 <springmeyer> when scalable resolution is desired thats excellent 19:49:46 <springmeyer> but when small sizes and nice antialiasing are needed, raster is perfect 19:49:56 <springmeyer> that what you mean? 19:52:33 <dukeku> basically 19:59:38 <artem> springmeyer: get boost.build.v2 from http://prdownloads.sourceforge.net/boost/boost-build-2.0-m12.tar.bz2 19:59:49 <artem> then : 20:00:06 <artem> export BOOST_BUILD_PATH=/path/to/boost-build 20:00:16 <artem> and finally : bjam release 20:00:35 <artem> (you should also modify Jamfile to match you system ) 20:01:46 <springmeyer> great, thx 20:06:44 <springmeyer> ...patience... :) 20:13:37 <artem> latest win32 with ICU (shape,sqlite,postgis) : http://media.mapnik.org/mapnik_win32_py25-20090222.zip 20:18:56 <springmeyer> artem: cool 20:19:06 <springmeyer> artem: ideas on this? http://dpaste.com/123743/ 20:19:41 <artem> yep 20:20:16 <artem> in Jamfile add : 20:20:30 <artem> <include>/path/to/icu 20:21:02 <artem> <include>/path/topostgresql/includes 20:21:32 <artem> there must be in some strange loc on your machine 20:21:41 <springmeyer> yup, I have the postgres includes in (not sure why that is not working) 20:21:51 <springmeyer> adding ICU fixed the unicode error - thx! 20:22:16 <artem> fine where you have :libpq-fe.h 20:22:25 <artem> find 20:23:04 <springmeyer> ack. was spelling it wrong ;) q vs g 20:23:23 <artem> yes I get this quit often 20:23:26 <artem> quite 20:23:36 <springmeyer> ...updated 1 target! 20:23:37 <artem> pgsql vs libpq :) 20:23:49 <springmeyer> exactly :) 20:24:55 <springmeyer> upps, almost... 20:25:04 <artem> ?? 20:25:07 <springmeyer> ld: unknown option: -R 20:25:18 <springmeyer> collect2: ld returned 1 exit status 20:25:41 <artem> are you on mac by any chance ? 20:25:43 <springmeyer> probably need toolkit--macos or something perhaps 20:25:45 <springmeyer> yes 20:25:53 <artem> ok :) 20:26:02 <artem> bjam --toolset=darwin release 20:26:07 <springmeyer> ah ha 20:27:26 <springmeyer> ...updating 7 targets! 20:27:30 <springmeyer> works! 20:27:42 <springmeyer> ack 20:28:02 <springmeyer> tab complets pgsql2shp, grrr 20:28:24 <springmeyer> ah, there we go :) 20:28:32 <artem> if you run with -h you should get list of options 20:28:45 <springmeyer> got em - looking cool 20:29:03 *** sanjiv has quit ("ChatZilla 0.9.84 [Firefox 3.0.6/2009020911]") 20:29:04 <artem> i'll add some more soon 20:30:27 * springmeyer goes to find rtree http://dpaste.com/123749/ 20:30:59 * springmeyer has never even installed sqlite on mac 20:31:11 <artem> it is very easy 20:31:12 <springmeyer> i figure it is finding the version that comes via the system 20:31:30 <artem> yep, that version hasn't got r*tree 20:32:34 <artem> wget -c http://www.sqlite.org/sqlite-amalgamation-3.6.11.tar.gz 20:32:36 <springmeyer> and looks like disabled by default in their own binary installers... 20:32:53 <artem> yep, just add : 20:33:22 <artem> -DSQLITE_ENABLE_RTREE=1 20:33:33 <artem> to DEFS in Makefile 20:33:52 * artem wonders if we should dist sqlite source 20:34:03 <artem> (only 3 files :) 20:34:30 *** artem has quit () 20:35:19 <nikq> Mapnik Trac: Changeset [951]: improved boundary behaviour (though still needs attention...) for ... | http://trac.mapnik.org/changeset/951 20:39:27 *** artem (n=artem@i-83-67-142-225.freedom2surf.net) has joined #mapnik 20:41:02 <springmeyer> artem: hum, build sqlite with rtree support and then rebuild pgsql2sqlite, but seems my rtree is still not happy ? 20:41:03 <springmeyer> http://dpaste.com/123752/ 20:41:54 <springmeyer> or its that lack of finding the geom column value perhaps 20:42:10 <artem> springmeyer : hmm.. lets see 20:42:30 <artem> have you got : geometry_columns ? 20:42:37 <artem> in postgresql 20:42:54 <springmeyer> yes 20:43:46 <artem> and what do you get : "select * from geometry_columns where f_table_name='osm_bayarea_roads'; ? 20:44:17 <springmeyer> http://dpaste.com/123753 20:44:32 * springmeyer is checking if I have an entry in spatial_ref_sys for 9000913 20:44:36 <springmeyer> er 900913 20:45:04 <springmeyer> hum, i do 20:45:36 <artem> looks like you're facing a software bug 20:45:55 * artem checking .. 20:48:10 <nikq> Mapnik Trac: Ticket #244 (Support interleaved ShieldSymbolizers on a way) created | http://trac.mapnik.org/ticket/244 20:48:48 <springmeyer> artem: ) 20:49:00 <springmeyer> I was leaving out the --dbname option 20:49:23 * springmeyer <-- idiot 20:49:59 <springmeyer> processed 10365 features 20:50:01 <springmeyer> Done! 20:50:27 <artem> to, try sqlite.input let me commit a small change .. 20:50:51 <springmeyer> http://dpaste.com/123754 < --- looks good other than the ????? 20:51:10 <artem> yep, debug printing should go away 20:51:34 <artem> it's sql for prepared statement 20:51:40 * springmeyer goes to rebuilt mapnik sqlite input since he'd got a new sqlite version 20:51:40 <springmeyer> k 20:51:50 <artem> wait a sec .. 20:52:02 <springmeyer> okay 20:52:02 <artem> I'll need to commit that change first 20:52:46 <artem> atm sqlite.input is using _non_ standard WKB. I think we should stick with OGC on this one 20:53:55 <nikq> Mapnik Trac: Changeset [952]: + use standard WKB by default | http://trac.mapnik.org/changeset/952 20:54:12 <artem> okey, it all should just work now - say good by to a shapefile :) 20:54:25 <springmeyer> ! 20:54:33 <artem> goodbye 20:54:53 <springmeyer> so should I switch out the osm.xml for sqlite and test then? 20:55:07 <springmeyer> (assuming the SELECT queries will stay the same?) 20:56:25 <artem> sqlite needs some more work to handle complex sql (aka OSM) I'll be working on this next week 20:56:44 <springmeyer> okay, I can image :) 20:57:08 <springmeyer> imagine 20:58:01 <artem> but, yes, for SF bay area sqlite should rocks 20:58:05 <artem> rock 20:58:42 <artem> so far I created the whole europe *sqlite ~3.6GB 20:59:08 <CIA-23> mapnik: nickw * r951 /trunk/plugins/input/osm/ (demo/MapSource.cpp demo/MapSource.h osmparser.cpp): improved boundary behaviour (though still needs attention...) for easymapnik 20:59:09 <CIA-23> mapnik: artem * r952 /trunk/plugins/input/sqlite/sqlite_featureset.cpp: + use standard WKB by default 21:01:48 <springmeyer> ah, very cool 21:04:03 <springmeyer> ya, its actually all of washington state (I just keep my tables named osm_bayarea since I'm too lazy to adapt my cascadenik stylesheets) 21:04:05 <springmeyer> :) 21:04:30 <artem> lol, WA should be fine 21:04:45 <springmeyer> yup, looks tiny ~124 MB 21:05:06 <artem> usb key 21:05:12 <springmeyer> ! 21:06:03 * springmeyer looks forward to writing that tutorial :) 21:06:38 <springmeyer> artem: what do you think about an optional flag to load_map() to tell mapnik to look for the path to a datasource relative to the XML file 21:06:49 <springmeyer> rather than relative to where you are running the script from? 21:07:26 <artem> would be nice 21:07:28 <springmeyer> seems like something like that could ease the distribution of xml styles alongside a datasource 21:07:39 <artem> exactly 21:08:04 * artem spent to much time replacing paths in osm.xml 21:08:30 <springmeyer> :) 21:08:56 <springmeyer> ya, relative paths, and relative_to the xml would be really slick for sqlite 21:09:10 <artem> +1 21:09:30 <springmeyer> :) 21:10:20 * springmeyer goes to log a ticket (since he knows nothing about boost filesystem) :) 21:10:40 <nikq> Mapnik Trac: Ticket #245 (Support reading of datasource paths relative to xml location) created | http://trac.mapnik.org/ticket/245 21:10:52 <artem> great, tnx 21:11:42 * springmeyer sees on the horizon a day when you load up a shapefile datasource... 21:12:06 <springmeyer> print 'Shapefiles are deprecated, please upgrade to the future' 21:12:25 <springmeyer> and then topology, and... ;) 21:13:06 * artem is not sure what is after topology ... 21:13:30 <springmeyer> lol (me neither) 21:22:55 *** ChanServ has quit (shutting down) 21:24:25 <springmeyer> artem: is there a way to check for the availabilty of a plugin via the python bindings? 21:24:52 <artem> not sure. if not we should add this 21:25:53 <artem> file a ticket and I'll add something similar to FontEngine.face_names() 21:26:20 <springmeyer> ah excellent 21:28:45 <nikq> Mapnik Trac: Ticket #246 (python: add function to test for available plugins) created | http://trac.mapnik.org/ticket/246 21:29:05 <nikq> Mapnik Trac: Ticket #246 (python: add function to test for available plugins) updated | http://trac.mapnik.org/ticket/246#comment:1 21:29:53 *** ChanServ (ChanServ@services.) has joined #mapnik 21:33:55 <springmeyer> awesome: just got an osm render from the converted sqlite db 21:36:17 <springmeyer> artem: fyi: these are the few errors i get with the pasted xml: http://dpaste.com/123766/ 21:36:41 <nikq> Mapnik Trac: Changeset [953]: + change (table,t) option to specify output table + add support for SQL ... | http://trac.mapnik.org/changeset/953 21:37:25 <springmeyer> cool that it renders despite seemingly not finding rtree (line 17) 21:38:03 <artem> yep, it needs some work (sqlite.input) 21:43:54 <artem> ok, pgsql2sqlite can now accept "select .." sql e.g : 21:43:58 <artem> ./bin/darwin-4.0.1/debug/pgsql2sqlite -d osm -q "select world_adm0.the_geom from world_adm0 , germany_poly where world_adm0.the_geom && germany_poly.the_geom" -f /tmp/test.sqlite -t germany 21:46:49 <artem> or even better : 21:47:33 <artem> pgsql2sqlite -d osm -q "select world_adm0.the_geom from world_adm0,germany_poly where intersects(world_adm0.the_geom,germany_poly.the_geom) and world_adm0.the_geom && germany_poly.the_geom" -f /tmp/test.sqlite -t germany 21:48:35 <dukeku> is there some mass migration from postsql to sqlite? 21:49:06 <artem> dukeku: lol 21:49:22 <dukeku> obviously i'm missing something again :) 21:49:38 <artem> dukeku : csv2shp -> shp2pgsql -> pgsql2sqite 21:50:07 <dukeku> has osm always been based around sqlite? i've never looked at it in that much detail 21:50:29 <artem> dukeku : nope, not at all 21:50:35 <crschmidt> dukeku: OSM, when you're working with 'the whole world', will never use sqlite 21:50:47 <crschmidt> dukeku: but for setting up little rendering databases, sqlite is more easy to get setup 21:50:51 <dukeku> ah. 21:50:53 <crschmidt> rather than installing postgis everywhere 21:51:13 <crschmidt> and sqlite geodatabases are becoming somewhat well supported by other tools (like GDAL/OGR< MapGuide, etc.) as well 21:51:24 <dukeku> sqlite is nifty, but it's slow as all hell sometimes 21:51:50 <crschmidt> Which is why you wouldn't use it for the dozens-of-gigabytes OSM databases 21:52:00 <dukeku> understandable :) 21:52:03 <crschmidt> but you could easily use it to allow rendering of a pre-convertd town on a dozen laptops without installing postgis 21:52:25 <dukeku> artem: are you using the c-based csv2shp or some mangled other thing? 21:53:05 <artem> dukeku : no, I'm not using csv2shp at all - sorry, I'm a bit verbose tonight 21:53:10 <dukeku> hehe 21:53:39 <dukeku> i used it yesterday before realizing postgis had the capability to create geom from points 21:54:02 <artem> dukeku : starting from 3.6.x sqliite3 has support for R*Tree index which makes it very very fast 21:54:39 <dukeku> is it a hilbert r-tree? 21:55:17 <dukeku> ah, r*tree is its own variant 21:56:01 <artem> I think hilbert space partitioning is a bit different 21:56:07 <dukeku> it is 21:58:24 <CIA-23> mapnik: artem * r953 /trunk/utils/pgsql2sqlite/ (main.cpp pgsql2sqlite.hpp): 21:58:24 <CIA-23> mapnik: + change (table,t) option to specify output table 21:58:24 <CIA-23> mapnik: + add support for SQL select statement (query,q) 21:58:24 <CIA-23> mapnik: + if output table is not specified, use table name extracted from input query 22:02:15 <springmeyer> ah, artem: looks like my sqlite.input is still linked against the system sqlite without rtree: 22:02:15 <springmeyer> http://dpaste.com/123770/ 22:03:07 <artem> well, we need something like SQLITE_INCLUDES/LIBS to control this 22:04:30 <artem> i'm thinking about including sqlite source as most ditros won't have rtree enabled . what do you think ? 22:04:40 <artem> distros 22:05:03 <springmeyer> we do have the Scons paths... http://trac.mapnik.org/browser/trunk/SConstruct#L176 22:05:14 <artem> ha 22:05:24 <springmeyer> but my sense is that SCons does not allow you to control linking very well 22:06:16 <springmeyer> if the system sqlite is in /usr/lib then it will be found there even if you point SQLITE_INC/LIBS somewhere else because that path will be in the env['LIBS'] from some other lib 22:06:28 <artem> so, you're saying that despite specifying SQLITE_LIBS=/my/custom/.. it links agains /usr/lib ? 22:06:51 <springmeyer> yes. that is my hunch 22:06:59 * springmeyer will confirm that now... 22:07:19 <artem> try rm .scons* trick 22:08:26 * artem can't wait when boost.build will be re-written in Python and everyone will be happy again 22:08:32 <springmeyer> k. rebuilding 22:10:00 <artem> springmeyer : http://zigzag.lvk.cs.msu.su/boost.build/milestone/M15%20-%20Python%20port 22:10:35 <artem> i meant : http://zigzag.lvk.cs.msu.su/boost.build/wiki/PythonPort 22:17:36 <artem> springmeyer : I have sqlite3.6.10 compiled from source in /usr/local and everything seem to work (on 10.5.6) 22:18:40 <artem> I think : export DYLD_LIBRARY_PATH=/path/to/sqlite/lib will help 22:19:17 * springmeyer returns 22:19:27 <springmeyer> ah boost build in python - facinating 22:19:40 <springmeyer> k, yes for me still links against system 22:19:49 <springmeyer> trying a scons -c and rebuild now 22:19:59 <artem> only couple milestones away :) 22:34:40 <nikq> Mapnik Trac: Changeset [954]: + remove -simplify,s option as it can be specified in input query e.g ... | http://trac.mapnik.org/changeset/954 22:36:53 <nikq> Mapnik Trac: Changeset [955]: + small cleanup | http://trac.mapnik.org/changeset/955 22:40:25 <springmeyer> ugh, scons still links against system sqlite after cleaning and exporting DYLD_LIBRAYR_PATH=/usr/local/lib 22:40:27 <springmeyer> http://dpaste.com/123776/ 22:41:13 <springmeyer> i figure it must be happening because /usr/lib is listed first in the g++ flags 22:41:16 <springmeyer> '-L/usr/lib -L/usr/local/lib' 22:41:40 <springmeyer> and the symlinks for sqlite 3 are the same in both /usr/lib and /usr/local/lib 22:42:18 <artem> good call. 22:42:42 * springmeyer has no formal instruction in linking however :) 22:44:11 <artem> springmeyer : that long line with -Lagg etc looks worrying 22:44:36 <springmeyer> yes. i agree 22:44:40 <artem> we shouldn't link to all those libraries 22:45:01 <artem> I though there was some logic to remove them .. 22:45:11 <springmeyer> i think it is happening because of our use of Scons with darwin 22:45:25 <springmeyer> http://trac.mapnik.org/browser/trunk/plugins/input/sqlite/SConscript#L35 22:45:43 <springmeyer> for my my icu libs point to /usr/lib 22:45:50 <springmeyer> since I have not changed the defaults 22:45:57 <artem> ok, I see why we need icu 22:46:00 <springmeyer> and those get appended there 22:46:22 <artem> yep hmm.. 22:46:51 <springmeyer> why do we ICU libs only on darwin? 22:47:18 <artem> my ICU is in /usr/local and it works but this is not good 22:47:49 <artem> darwin has different linker from linux 22:49:04 <artem> it needs to see symbols at linking time 22:49:27 <springmeyer> okay 22:50:06 <artem> darwing doesn't trust you as a developer! linux does :) 22:50:16 <springmeyer> :) 22:50:52 <springmeyer> hum, now after pointing ICU_INCLUDES/LIBs at opt/local/ where they actually are I still get -L/usr/lib attached to that linker line 22:51:57 <artem> I have : 22:53:14 <artem> http://dpaste.com/123781/ 22:57:24 <springmeyer> okay, looks pretty much the same there 22:58:05 <springmeyer> I have the default SCons PathVariables for boost, tiff, png, and jpeg all pointing to /usr/lib and it seems that although they don't even exist there 22:58:38 <springmeyer> because they are found by CheckLibWithHeader due to other libs putting the right paths in scope 22:58:59 <springmeyer> I never had/have to set those paths manually 22:59:35 <CIA-23> mapnik: artem * r954 /trunk/utils/pgsql2sqlite/ (main.cpp pgsql2sqlite.hpp): 22:59:35 <CIA-23> mapnik: + remove -simplify,s option as it can be specified in input query e.g 22:59:35 <CIA-23> mapnik: "select simplify(the_geom,300) as the_geom from world" 22:59:35 <CIA-23> mapnik: + fixed table_from_sql to handle multiple table_names 22:59:35 <CIA-23> mapnik: artem * r955 /trunk/utils/pgsql2sqlite/main.cpp: + small cleanup 23:00:21 <artem> here is my link : http://dpaste.com/123783/ 23:00:22 <springmeyer> I've now set them all to /opt/local/lib and this prompted Scons to rebuilt everthing and I can see that '/usr/lib' is not in any of the g++ linker lines.... 23:01:09 <artem> fingers crossed 23:04:05 <springmeyer> yup, that did it 23:04:14 <springmeyer> http://dpaste.com/123785/ 23:05:10 <artem> ok, great! so having all these default paths /usr/lib is not a good idea 23:06:13 *** weizhuo (n=chatzill@nat/yahoo/x-1c491bd5c2274ce5) has joined #mapnik 23:07:27 <springmeyer> whoops, I meant env['LIBPATH'] not env['LIBS']... 23:07:43 <springmeyer> yes artem perhaps... 23:08:01 <springmeyer> sure makes it hard to get your self installed version 23:10:10 <springmeyer> maybe we need to at least only permanently add a path to env['LIBPATH'] right after CheckLibWithHeader succeeds 23:23:07 <artem> back 23:24:24 <artem> ok, makes sense. 23:25:26 <springmeyer> these guys have a slick way of cloning the environment, adding a path for a given lib, checking a test program, and then restoring the environment from a backup if it fails... 23:25:28 <springmeyer> http://svn.gna.org/svn/wesnoth/trunk/scons/python_devel.py 23:25:55 <springmeyer> but while I think refactoring scons like this could be an improvement 23:26:06 <springmeyer> in this case I feel like we're a bit doomed 23:26:34 <springmeyer> since we are also using pkgconfig parsing and for me this will add paths like '/usr/lib' automatically which any control 23:28:25 <springmeyer> for example, on mac osx... 23:28:26 <springmeyer> $ /usr/bin/xml2-config --libs --cflags 23:28:26 <springmeyer> -L/usr/lib -lxml2 -lz -lpthread -licucore -lm 23:28:26 <springmeyer> -I/usr/include/libxml2 23:31:06 <springmeyer> anway artem: thanks for your help in understanding this stuff, and good news is that I get no more 'can't find rtree errors' :) 23:34:46 <artem> no probs, glad it works for you after all :) 23:35:12 <artem> interesting to see libxml2 linked to ICU on mac osx 23:35:38 <artem> i mean not to iconv 23:35:58 * artem is thinking about libxml2 on win33 23:36:02 <artem> win32 :) 23:36:08 <springmeyer> :) 23:47:15 <artem> ok, see you later 23:47:18 *** artem has quit ()