#mapnik log: Friday 29, January 2010

2010 | 01

previous | next
00:00:25 <Ldp__> http://www.openseamap.org/
00:00:46 <Ldp__> though I don't know if their stylesheet is available
00:01:02 <Ldp__> english: http://www.openseamap.org/index.php?id=opnseamap&L=1
00:01:59 <StormTide> oh, cool, they even have the cans
00:02:38 <Ldp__> but beware, their tagging scheme is highly convoluted, the project is run entirely top-down, and some other things you may find out :)
00:03:04 <StormTide> k thanks for the warning ;)
00:03:37 <Ldp__> whereas OSM is just about 'tag whatever and however you feel like, but use these tags if you want it to make sense to others'
00:03:49 <StormTide> from the demo on the page, their map doesnt seem to focus on depth/hydro layers much
00:04:06 <Ldp__> openseamap seems to be: "use this tagging or else, but not right now, because we haven't finished every little intricate tagging detail in our scheme'
00:04:26 <Ldp__> it looks to be surface only, for now
00:04:44 <StormTide> im lucky, in that the NOAA ENC data is easily accessible and the canadian data is licenseable
00:04:44 <Ldp__> don't think submarines are their target audience :)
00:05:04 <StormTide> heh, all boaters need to know about rocks ;)
00:11:47 <StormTide> springmeyer, what do the dx and dy values do
00:12:06 <springmeyer> displace by x,y
00:12:15 <springmeyer> so shift the anchor point of the label
00:12:20 <StormTide> ah
00:12:58 <springmeyer> Qnik jambs them in there based on the guess that you want to label text next to points
00:16:28 <StormTide> is zoom 18 high or low i think i might be backwards here
00:16:42 <StormTide> minscale = 1000 is full zoomed in or out?
00:17:04 <springmeyer> high/in
00:17:39 <springmeyer> at this point TileLite becomes more useful
00:17:53 <springmeyer> because it serves tiles based on the zoom level scheme
00:18:06 <springmeyer> you can launch it against your xml stylesheet
00:18:08 <StormTide> ah
00:18:15 <StormTide> gotcha
00:18:17 <springmeyer> then zoom in using the sample OpenLayers file
00:18:26 <springmeyer> then right click and grab a tile
00:18:27 <StormTide> cuz what im doing here looks like ass haha
00:18:45 <springmeyer> I then create a bunch of tabs in the browser with different tiles
00:18:57 <springmeyer> and flip between them
00:19:04 <springmeyer> editing the styles in the background
00:19:19 <springmeyer> and depending, restarting the server process
00:19:27 <StormTide> editing this xml and reloading the map in qnic seems to be working for the immediate
00:19:35 <StormTide> im just trying to put together a proof of concept at this point
00:19:38 <springmeyer> yep
00:19:42 <StormTide> rather than actually doing anything production-ready
00:19:52 <StormTide> http://www.phpriot.com/2645 <-- what i tried for fonts
00:19:54 <StormTide> looks terrible
00:20:12 <springmeyer> I'll trust you :)
00:20:21 <StormTide> ;)
00:20:41 <StormTide> anyway, im gonna leave you alone now ;)
00:20:44 <StormTide> thanks for all the help today
00:20:48 *** jctull has quit ()
00:20:51 <springmeyer> yep
00:21:49 <springmeyer> I charge a steep price for on demand Mapnik support for my business
00:22:02 <springmeyer> but if you find bugs.....
00:22:35 <StormTide> ya, i know the deal ;)
00:22:42 <StormTide> i can send you a php book *grin*
00:22:43 <springmeyer> yep, sense you do
00:22:52 <cmarqu> StormTide: FWIW; there seems to be a project idea about bathymetry, but I'm not sure anybody is working on it right now: http://wiki.openstreetmap.org/wiki/FOSSGIS/Server/Projects/Bathymetrie-GEBCO
00:23:12 *** D3f0 has quit (Read error: 110 (Connection timed out))
00:23:37 <StormTide> springmeyer, im basically trying to make a marine mapkit, and the overlay some social-web stuff on it...
00:23:40 <cmarqu> And it's all German, sorry
00:24:05 <springmeyer> StormTide: sounds good
00:24:23 <StormTide> im sure its pretty simple to the gis crew but the most complex stuff i end up doing most days is distance() sql queries on zipcodes haha
00:25:04 <StormTide> cmarqu, sounds interesting, but i cant read german ;)
00:25:05 <springmeyer> yep
00:27:47 <StormTide> anyway, thanks, i'm sure i'll be back later to drive you guys nuts
00:31:58 <springmeyer> yep, you are welcome StormTide
00:52:55 *** springmeyer has quit (Read error: 60 (Operation timed out))
00:56:39 *** springmeyer (n=springme@c-76-28-156-154.hsd1.wa.comcast.net) has joined #mapnik
01:10:47 *** Komzzpa has quit (Read error: 104 (Connection reset by peer))
01:28:43 *** cgs_bob has quit (Read error: 54 (Connection reset by peer))
01:31:19 <StormTide> i think i might have found another bug in the render... sometimes numbers are being turned from like 9.3 to 9.3000000000001
01:32:43 <springmeyer> yep, that one is known #430
01:32:44 <nikq> Ticket #430: Label of float8 data shows to many digits, http://trac.mapnik.org/ticket/430
01:33:05 <StormTide> aha, any workaround to format the number?
01:33:26 <Ldp__> you could do it in SQL?
01:33:34 <springmeyer> probably but I've not given it much consideration
01:33:35 <StormTide> comes from shp
01:33:58 <Ldp__> hm
01:36:03 <StormTide> www.stormtide.ca/ValuesWorkQgis.png and www.stormtide.ca/ValuesBrokeMapnik.png respectively
01:37:08 <Ldp__> the Text/ShieldSymbolizers could do with a maximum_precision argument
01:37:49 <Ldp__> ie "0.01" could show your 8.199999999999 as 8.20
01:38:36 <Ldp__> guess you'd want to drop trailing 0s as well?
01:39:26 <Ldp__> would be good to know if this happens outside of quantumnik as well, on a plain render from the shapefile
01:40:10 <StormTide> id be happy to try but ive not figured out how to generate a one-off image yet ;)
01:51:04 <springmeyer> Ldp__: ya, it will. Its a Mapnik bug, should not have anything to do with Qnik
01:52:45 <nikq> Mapnik Trac: Ticket #504 (Support for Pointzm broken in shapefile driver) updated | http://trac.mapnik.org/ticket/504#comment:2
01:54:16 <nikq> Mapnik Trac: Changeset [1595]: formatting | http://trac.mapnik.org/changeset/1595
01:59:48 *** tcb has quit ()
01:59:53 <nikq> Mapnik Trac: Changeset [1596]: fix broken support for pointz as code assumed pointzm - closes #504 | http://trac.mapnik.org/changeset/1596
02:00:24 <nikq> Mapnik Trac: Ticket #504 (Support for Pointzm broken in shapefile driver) closed | http://trac.mapnik.org/ticket/504#comment:3
02:00:54 <nikq> Mapnik Trac: Ticket #504 (Support for Pointzm broken in shapefile driver) reopened | http://trac.mapnik.org/ticket/504#comment:4
02:16:03 *** cgs_bob (n=bob@122.135-78-65.ftth.swbr.surewest.net) has joined #mapnik
03:21:06 *** D3f0 (n=D3f0@190.177.81.33) has joined #mapnik
04:06:20 *** D3f0 has quit ("Saliendo")
04:32:22 *** Ldp__ has quit ()
06:06:21 *** HounD (n=HounD@unics1.grfc.ru) has joined #mapnik
06:23:46 *** mperry_ (n=mperry@c-67-164-175-65.hsd1.co.comcast.net) has joined #mapnik
06:23:46 *** mperry has quit (Read error: 54 (Connection reset by peer))
06:23:51 *** mperry_ is now known as mperry
06:31:16 *** myselfhimself has quit ("ChatZilla 0.9.86 [Firefox 3.0.13/2009080315]")
07:57:37 *** mperry_ (n=mperry@c-67-164-175-65.hsd1.co.comcast.net) has joined #mapnik
07:57:37 *** mperry has quit (Read error: 104 (Connection reset by peer))
07:57:42 *** mperry_ is now known as mperry
10:20:17 *** cgs_bob has quit (Read error: 104 (Connection reset by peer))
10:21:03 *** cgs_bob (n=bob@122.135-78-65.ftth.swbr.surewest.net) has joined #mapnik
10:36:39 *** cgs_bob has quit (Remote closed the connection)
10:37:30 *** cgs_bob (n=bob@122.135-78-65.ftth.swbr.surewest.net) has joined #mapnik
11:02:07 *** Ldp__ (n=thid@82.95.188.86) has joined #mapnik
11:19:17 *** cgs_bob has quit (Read error: 110 (Connection timed out))
11:48:21 *** mperry_ (n=mperry@c-67-164-175-65.hsd1.co.comcast.net) has joined #mapnik
11:48:21 *** mperry has quit (Read error: 104 (Connection reset by peer))
11:48:26 *** mperry_ is now known as mperry
13:26:43 *** HounD has parted #mapnik ()
13:30:26 *** HounD1 (n=HounD@unics1.grfc.ru) has joined #mapnik
13:44:30 *** mishok13 has quit ("Leaving")
14:03:05 *** HounD1 has parted #mapnik ()
14:03:35 *** HounD (n=HounD@unics1.grfc.ru) has joined #mapnik
15:13:23 *** HounD has parted #mapnik ()
15:21:44 *** tomhughe` (n=tom@gate.compton.nu) has joined #mapnik
15:38:22 *** tomhughes has quit (Read error: 101 (Network is unreachable))
15:50:58 *** tomhughes (n=tom@gate.compton.nu) has joined #mapnik
15:51:33 *** tomhughe` has quit (Read error: 101 (Network is unreachable))
16:28:40 *** cgs_bob (n=bob@122.135-78-65.ftth.swbr.surewest.net) has joined #mapnik
16:29:32 *** springmeyer_ (n=springme@c-76-28-156-154.hsd1.wa.comcast.net) has joined #mapnik
16:29:32 *** springmeyer has quit (Read error: 104 (Connection reset by peer))
16:29:50 *** springmeyer_ is now known as springmeyer
16:53:21 *** tomhughe` (n=tom@gate.compton.nu) has joined #mapnik
17:02:39 *** tomhughes has quit (Read error: 101 (Network is unreachable))
17:24:10 *** cgs_bob has quit (Read error: 110 (Connection timed out))
17:32:36 <StormTide> springmeyer, if i wanted to go in and fix ticket 430... any idea where to start?
17:32:37 <nikq> Ticket #430: Label of float8 data shows to many digits, http://trac.mapnik.org/ticket/430
17:33:25 <StormTide> is there a contrib howto around?
17:35:51 *** tcb (n=tcarobru@adsl-75-10-247-30.dsl.pltn13.sbcglobal.net) has joined #mapnik
17:36:49 *** cgs_bob (n=bob@213.sub-75-208-224.myvzw.com) has joined #mapnik
17:37:08 <springmeyer> morning StormTide
17:37:18 <StormTide> morning ;)
17:37:40 <springmeyer> there is not a contrib how to, unfortunetly
17:40:03 <springmeyer> I think a proper fix for #430 is a bit distant
17:40:04 <nikq> Ticket #430: Label of float8 data shows to many digits, http://trac.mapnik.org/ticket/430
17:40:22 <springmeyer> as the precision of the data field is not being passed along the rendering chain
17:40:41 <springmeyer> but I bet you can brute for fix the problem for your purposes
17:40:58 <springmeyer> change `setprecision(16)` here: http://trac.mapnik.org/browser/tags/release-0.7.0/include/mapnik/value.hpp#L558
17:41:06 <springmeyer> to something like (4)
17:41:23 * springmeyer assumes you are running Mapnik 0.7.0 now?
17:41:28 <StormTide> i am
17:42:54 <StormTide> hrm, would it be easier you think to add another rendering option, like a precision="4" option to the textsymbolizer?
17:43:11 <StormTide> rather than fixing the chain of precision
17:43:47 <springmeyer> yes I do, I think we should read field precision, and allow passing of desired precision
17:43:56 <springmeyer> the latter being more useful certainly
17:44:29 <StormTide> ok i'll see if i cant figure out how to make that happen then
17:44:37 <StormTide> unfamiliar codebases suck tho ;(
17:45:36 <StormTide> anyone have an eclipse .project file?
17:45:43 <springmeyer> ya, this would seem like an easy fix but good knowledge of boost visitor patterns and C++ templates are involved
17:46:14 <springmeyer> I've never heard eclipse mentioned in theses parts :)
17:46:26 <StormTide> http://trac.mapnik.org/wiki/DebuggingMapnik <---
17:46:34 <StormTide> but ok, what do you use then
17:46:48 <springmeyer> ah, nice, happily surprised :)
17:48:02 <StormTide> i'm a developer, and not unfamiliar with contributing to oss projects... so that part doesnt scare me. I figure theres probably a lot of similar code already in the parser.. should just be a matter of cloning and reworking a bit im guessing....
17:48:33 <springmeyer> right on
17:49:15 <StormTide> just gotta figure out the build tools for this project ;)
17:49:19 <springmeyer> note that aspects of the parsing logic in trunk have just been re-written and require latest boost release
17:49:52 <StormTide> i think i built trunk yesterday... *checks*... so i should have that i think
17:50:23 <StormTide> ah, no... i built 0.7.0 branch
17:50:31 <StormTide> lemme grab head and see if that'll compile fer me
17:50:43 <springmeyer> it will not without boost built from source
17:51:37 <StormTide> k
17:51:43 <springmeyer> and ensure that you link boost_regex properly to ICU
17:52:00 <StormTide> any docs on that by chance?
17:52:06 <springmeyer> yep
17:52:10 <springmeyer> `Mapnik2
17:52:10 <nikq> http://trac.mapnik.org/wiki/Mapnik2
17:52:27 <StormTide> excellent
17:52:28 <StormTide> thx
17:56:41 <StormTide> do you recommend building boosts trunk or the patched method?
17:57:31 <springmeyer> trunk
17:57:38 <StormTide> k kew
18:04:56 <StormTide> hrm, a lot of crap on ubuntu seems to depend on the packaged boost
18:06:57 <StormTide> what linux are you using for dev? ... wonder if i can snipe some boost packages from upstream without breaking all these apps
18:07:46 <springmeyer> I do dev on osx
18:08:04 <springmeyer> what depends on packaged boost? I've not seen that before...
18:08:16 <StormTide> akregator kdepimlibs5 libakonadiprivate1 libboost-date-time1.38.0 libboost-filesystem1.38.0 libboost-graph1.38.0 libboost-iostreams1.38.0 libboost-math1.38.0 libboost-program-options1.38.0
18:08:16 <StormTide>   libboost-python1.34.1 libboost-regex1.38.0 libboost-serialization1.38.0 libboost-signals1.38.0 libboost-system1.38.0 libboost-test1.38.0 libboost-thread1.38.0 libboost-wave1.38.0 libboost1.38-doc
18:08:16 <StormTide>   libkdepim4
18:08:29 <StormTide> akregator being the main one i dont want to nuke
18:08:44 <StormTide> but i have no idea what kdepimlibs does for example
18:08:47 <springmeyer> huh, so just a few
18:09:05 <springmeyer> well install boost trunk in a custom spot and link to it there?
18:09:49 <StormTide> isn't mapniks reliance on it via python tho?
18:09:58 <StormTide> eg wont it find the system one even if linked
18:10:02 <StormTide> resulting in a coredump
18:10:36 <StormTide> blah, whatev, i'll nuke these libs and akregator
18:10:43 <StormTide> *crosses fingers*
18:10:51 <springmeyer> libmapnik.so uses various boost libs, and mapnik's python bindings use boost_python.so
18:16:50 *** drewby (n=dfaubion@128-8-138-156.umd.edu) has joined #mapnik
18:16:54 <drewby> finally!
18:17:00 <springmeyer> !
18:17:20 <StormTide> springmeyer, is a lot of warnings/issues normal for a boost compile?
18:17:23 <drewby> makin' some real problem on the lines jumping around a bunch
18:17:35 <springmeyer> drewby: cool
18:17:48 <springmeyer> StormTide: pointer stuff?
18:18:07 <StormTide> mostly strict alias rules stuff
18:18:15 <springmeyer> ah, ya thats what I meant
18:18:16 <springmeyer> yes
18:18:17 <StormTide> defined but not used
18:18:26 <StormTide> location of the previous declaration
18:18:27 <StormTide> etc
18:18:35 <springmeyer> yep
18:18:36 <StormTide> k
18:19:15 <springmeyer> drewby: got a screenshot of before/after?
18:20:48 <StormTide> springmeyer, do i need to clean out the old mapnik (0.7.0) which i built from src before redoing the trunk install?
18:21:04 <StormTide> is there a make clean equiv?
18:21:10 <springmeyer> good idea ya, we don't currently have a make distclean option
18:21:41 <springmeyer> rm -rf /usr/local/lib/mapnik/
18:21:52 <springmeyer> rm  /usr/local/lib/libmapnik*
18:22:47 <StormTide> crap
18:23:02 <StormTide> i installed boost from trunk... but... .sconf_temp/conftest_32: error while loading shared libraries: libboost_system.so.1.42.0: cannot open shared object file: No such file or directory
18:23:05 <drewby> springmeyer: I will probably tomorrow, I've got to go to class soon
18:23:18 <springmeyer> drewby:  you a prof?
18:23:27 <drewby> springmeyer: no, student
18:23:34 <springmeyer> wow, cool, enoy
18:23:59 <springmeyer> StormTide: did you install in custom spot?
18:24:23 <StormTide> nope
18:24:25 <drewby> yeah thanks.  It's not a class I'm excited about.  Circuit simulation lab, but since I've been working on some circuit simulation software on the side for five or six months now it should be pretty enlightening
18:24:33 <StormTide> prob need a ldconfig... i'ma trace it down
18:25:57 <StormTide> ya was just a missing ldconfig in the instructions
18:32:06 <StormTide> springmeyer, bad news bears :(
18:32:31 <springmeyer> ruh roh
18:32:38 <StormTide> http://www.phpriot.com/2646
18:32:54 <StormTide> the configure seemed to think my icu ver was ok
18:33:23 <StormTide> i have icu 4.x
18:33:44 <StormTide> ii  libicu-dev                            4.0.1-2ubuntu2                             Development files for International Componen
18:35:15 <springmeyer> ya, we've yet to add a configure check for the correct ICU in trunk
18:35:34 <springmeyer> partly because I'm not sure about the min version yet
18:35:55 <StormTide> im pretty sure im not going to be able to upgrade icu easily as sooo much depends on it...
18:36:11 <springmeyer> that error seems to indicate icu_40 is not enough
18:36:13 <StormTide> my php compiles for example...
18:36:17 <springmeyer> sure
18:36:40 <StormTide> can mapnik use an uninstalled ver of icu to link against?
18:36:50 <springmeyer> ideally we can make the dependence on that ICU functionality optional
18:37:05 <springmeyer> probably
18:38:41 <StormTide> hrm
18:39:24 <StormTide> know of anyone building trunk on ubuntu?
18:40:06 <springmeyer> yes, I've done so on Karmic
18:40:48 <StormTide> how'd you bump up your icu ver then?
18:41:09 <springmeyer> don't remember :) but others have do it as well
18:42:09 <StormTide> the apt-rdepends on libicu40 is basically the entire system ;)
18:44:27 <nikq> Mapnik Trac: Ticket #482 (Check for ICU library version >= 4.x) updated | http://trac.mapnik.org/ticket/482#comment:1
18:45:07 <StormTide> looks like libicu4.2 is coming with lucid (ubuntu 10.04)
18:46:09 <nikq> Mapnik Trac: Ticket #482 (Check for ICU library version >= 4.x) updated | http://trac.mapnik.org/ticket/482#comment:2
18:46:39 <nikq> Mapnik Trac: Ticket #482 (Check for ICU library version >=4.1.4) updated | http://trac.mapnik.org/ticket/482#comment:3
18:53:47 <nikq> Mapnik Trac: InstallationTroubleshooting edited | http://trac.mapnik.org/wiki/InstallationTroubleshooting?version=36
18:54:46 <StormTide> eeps, im not sure id recommend apt-get removing libicu* haha
18:55:45 <StormTide> that will uninstall your entire system
18:55:54 <StormTide> 279 packages
18:56:54 <springmeyer> ya, I saw that too ;)
18:57:01 <springmeyer> not sure who wrote it
18:57:15 <StormTide> installing a new icu to the system is probably a really bad idea too
18:57:29 <StormTide> as you're gonna be in coredump city as the so is loaded by apps not meant for it
18:58:11 <StormTide> what i dont see here is a way to link mapnik into a non-installed version of icu
18:58:17 <springmeyer> StormTide: looks like we can use 'U_ICU_VERSION_SHORT' in unicode/uversion.h
18:58:17 <StormTide> (eg what you do to install php dev builds)
18:58:39 <springmeyer> to disable the regex support if the latest version is not found
18:58:42 <springmeyer> can you test?
18:58:46 <StormTide> sure
18:58:53 <StormTide> if it saves me from upgrading icu im happy ;)
18:58:55 <springmeyer> e.g. don't uninstall anything yet :)
18:58:58 <springmeyer> good
19:03:58 *** drewby has quit ("Leaving.")
19:07:55 <StormTide> so in mapnik2... names become [name] ... is that how i read this upgrade script essentially?
19:11:45 <Ldp__> yes
19:13:43 <dodobas> yello
19:14:21 <dodobas> same people, hmm, what day is today? :)
19:22:25 <nikq> Mapnik Trac: Changeset [1597]: quick fix to allow compiling without unicode regex support to enable  ... | http://trac.mapnik.org/changeset/1597
19:22:33 <springmeyer> StormTide: give that a shot
19:22:39 <StormTide> k
19:22:40 <StormTide> sec
19:22:58 <StormTide> trying r 1597
19:24:10 <StormTide> tis compiling
19:24:17 <StormTide> really wish this used all four cores haha
19:24:21 <StormTide> so sllooww
19:24:37 <nikq> Mapnik Trac: Ticket #482 (Check for ICU library version >=4.1.4) updated | http://trac.mapnik.org/ticket/482#comment:4
19:24:47 <springmeyer> JOBS=4 ?
19:25:12 <StormTide> before scons?
19:25:19 <StormTide> k next compile i try that ;)
19:25:40 <springmeyer> python scons/scons.py install JOBS=4
19:29:12 <StormTide> can i paste 5 lines?
19:29:15 <StormTide> it err'd out
19:29:52 <StormTide> unicode/uvernum.h wasnt found
19:31:08 <springmeyer> bugger
19:31:33 <StormTide> g++ -o src/expression_string.os -c -DHAVE_LIBXML2 -DHAVE_CAIRO -DHAVE_PYCAIRO -ansi -Wall -pthread -ftemplate-depth-200 -DLINUX -DBOOST_SPIRIT_THREADSAFE -DMAPNIK_THREADSAFE -DSVN_REVISION=1597 -O3 -finline-functions -Wno-inline -DNDEBUG -DSHAPE_MEMORY_MAPPED_FILE -fPIC -D_REENTRANT -Iagg/include -Iinclude -I. -I/usr/include -I/usr/local/include -I/usr/include/freetype2 -I/usr/include/libxml2 -I/usr/include/cairomm-1.0 -I/usr/include
19:31:33 <StormTide> /cairo -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/pixman-1 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/gdal -I/usr/include/postgresql -I/usr/include/pycairo src/expression_string.cpp
19:31:33 <StormTide> src/expression_string.cpp:27:29: error: unicode/uvernum.h: No such file or directory
19:31:34 <StormTide> scons: *** [src/expression_string.os] Error 1
19:31:36 <StormTide> scons: building terminated because of errors.
19:31:57 <springmeyer> can you look in /usr/include?
19:32:17 <StormTide> i have a uversion.h
19:32:21 <springmeyer> and grep inside /usr/include/unicode/ for...
19:32:25 <springmeyer> ah okay
19:32:36 <springmeyer> can you paste that somewhere?
19:33:15 <StormTide> the contents?
19:33:15 <StormTide> sure
19:34:09 <StormTide> sec its too big for my nopaste thing
19:34:13 <StormTide> i'll push the file to my webserver
19:34:52 <StormTide> www.stormtide.ca/uversion.h
19:36:29 <springmeyer> ah, sneeky
19:37:03 <StormTide> ?
19:37:20 <springmeyer> ya, so just try:
19:37:23 <springmeyer> -#include <unicode/uvernum.h>
19:37:23 <springmeyer> +#include <unicode/uversion.h>
19:37:37 <springmeyer> in src/expression_string.cpp
19:37:42 <StormTide> sure
19:37:42 <StormTide> sec
19:38:50 <StormTide> its building again
19:38:55 <StormTide> what does rasterlite do btw
19:39:02 <StormTide> it says its not building with it ;)
19:39:22 <springmeyer> stores spatial bitmaps inside of sqlite
19:39:28 <StormTide> looks like expression_string compiled ok
19:39:52 <springmeyer> k
19:39:54 <springmeyer> thats what we want
19:40:32 <nikq> Mapnik Trac: Changeset [1598]: gah, use the version header that actually exists for older versions of icu | http://trac.mapnik.org/changeset/1598
19:42:26 *** jctull (n=jctull@ppp-71-142-138-235.dsl.renocs.pacbell.net) has joined #mapnik
19:43:49 *** springmeyer has quit (Read error: 104 (Connection reset by peer))
19:44:07 *** springmeyer (n=springme@c-76-28-156-154.hsd1.wa.comcast.net) has joined #mapnik
19:44:22 <StormTide> wh00t built
19:44:26 <StormTide> installin'r
19:45:59 <StormTide> sweet, ok trunk is working for me
19:46:12 <StormTide> now to figure out this codebase
19:46:47 <StormTide> does reissuing the scons command recompile/reinstall properly... or do you have to nuke to clean and continue fresh each time
19:48:16 <springmeyer> scons is pretty smart
19:48:45 <StormTide> kew, any tips about working with this codebase?
19:48:51 <springmeyer> so, you make a change to a cpp or hpp and rerun `scons install` and it will recompile and overwrite needed files
19:49:17 <StormTide> kew, that works
19:49:36 <springmeyer> do note that editing a file like include/value.hpp will prompt the recompile of a lot of files
19:49:48 <StormTide> k
19:49:54 <springmeyer> tips:
19:50:38 <springmeyer> 1) hpp include actual code, so things like 'feature_style_processor.hpp' is actually where much of the rendering logic kicks off
19:50:57 <springmeyer> (which is not where most would look)
19:51:50 <springmeyer> 2) trunk recently got borked with tabs/spaces so watch out
19:52:04 <springmeyer> (we need to fix to just use spaces)
19:52:58 <StormTide> *grumbles something about indent sensitive languages*
19:54:12 <StormTide> also, will  qnic's reload pickup a new version of mapnik, or does it need a full shutdown of qgis and relaunch
19:54:35 <springmeyer> 3) helpful docs: http://www.boost.org/doc/libs/1_41_0/doc/html/variant.html
19:54:47 <springmeyer> shutdown and restart of QGIS
19:55:20 <StormTide> thatsux, any faster way to just do a sanity test on a change?
19:55:40 <StormTide> ive still not got my head around the mapnik cli usage yet
19:57:46 <springmeyer> ya, just save out the XML to the filesystem
19:58:08 <springmeyer> and then use nik2img.py to get a quick re-render without having to start QGIS up
19:58:28 <StormTide> ah like the cmd commented in the end of the xml file
19:58:30 <StormTide> that makes sense
19:58:41 <springmeyer> but you'll need to grab that script from svn
19:58:48 <springmeyer> to be compatible with mapnik trunk
19:59:20 <StormTide> well i nuked the old mapnik stuff... so should be svn ver now i think?
19:59:31 <springmeyer> ya
19:59:38 <springmeyer> but nik2img is third-party
19:59:44 <springmeyer> svn co http://mapnik-utils.googlecode.com/svn/trunk/nik2img/
19:59:47 <springmeyer> cd nik2img
19:59:53 <springmeyer> sudo python setup.py install
20:07:14 <StormTide> do you know who wrote http://trac.mapnik.org/wiki/DebuggingMapnik
20:09:01 <springmeyer> http://trac.mapnik.org/wiki/DebuggingMapnik?action=history
20:09:48 <StormTide> hrm
20:12:09 <StormTide> i cant seem to get rundemo to build
20:12:10 <StormTide> owell whatever
20:12:18 <StormTide> would have been nice to be able to use the debugger
20:12:23 <StormTide> but prob not needed
20:16:47 <StormTide> ok i have nik2img etc working... but its not colorized...
20:17:04 <StormTide> the out.png isnt what i see in qgis...
20:17:31 <StormTide> i used the nik2img command found at the bottom of the live xml output and saved the xml to a mapnik.xml file...
20:21:10 <springmeyer> you sure it is the right XML? there should not be a difference
20:22:44 <StormTide> i exported the xml... hrm
20:22:47 <StormTide> i can try again
20:23:49 <StormTide> the data is wrong too... hrm
20:23:53 <StormTide> maybe a relative path
20:24:55 <StormTide> nope the paths are good
20:24:59 <StormTide> ya im sure its the right xml
20:25:02 <StormTide> and im in the right dir
20:25:29 <StormTide> i put mapnik.xml in the mapnik src ball directory... telling nik2img to export
20:25:37 <StormTide> and i get a colorless png with wrong attribute data
20:26:47 <springmeyer> $ python -c "import mapnik;print mapnik.mapnik_version()"
20:27:11 <StormTide> 800
20:27:15 <springmeyer> hrm
20:27:47 <StormTide> nik2img.py mapnik2.xml out3.png -d 1414 770 -e -123.315617574 48.4163850028 -123.23047107 48.4636485282
20:27:50 <StormTide> was the cmd
20:27:56 <StormTide> i can post the xml file that exported if it helps
20:28:35 <springmeyer> sure
20:28:39 <StormTide> http://www.phpriot.com/2647 <-- tis all on one line for some reason
20:28:54 <StormTide> but that was the result of the export func
20:29:00 *** ajturner (n=ajturner@209.155.228.129) has joined #mapnik
20:30:10 <springmeyer> ah lovely
20:30:14 <StormTide> www.stormtide.ca/out3.png
20:30:22 <StormTide> is the produced image
20:30:32 <springmeyer> looks like the xml serialization in trunk is broken
20:30:46 * springmeyer sigh
20:31:01 <StormTide> apparently im mr bug finder
20:31:03 *** jctull has quit ()
20:32:01 *** mperry_ (n=mperry@c-67-164-175-65.hsd1.co.comcast.net) has joined #mapnik
20:32:10 <StormTide> is it on the qnic output side, or on the mapnik side?
20:32:24 <StormTide> if its the former i can work without the qnik output
20:34:26 <springmeyer> latter
20:36:58 <StormTide> hrm are you sure...
20:37:00 <StormTide> i think its the former
20:37:06 <StormTide> i just tried a custom file ive been working with
20:37:09 <StormTide> and it worked
20:38:03 <StormTide> http://www.phpriot.com/2650 worked
20:39:55 <springmeyer> certainly it seems that way
20:40:12 <springmeyer> what is happening is that Qnik is exporting broken XML now that you are running Mapnik trunk
20:40:46 <springmeyer> as Qnik uses mapnik internally to serialize the XML format and a bunch of stuff has been commented out in that code
20:41:10 <springmeyer> so, reading XML should work fine with nik2img.py
20:41:23 <springmeyer> just not XML that you've exported since upgrading to trunk
20:41:42 <StormTide> ah
20:42:33 <StormTide> i notice that the live xml view is no longer nicely formatted
20:42:37 <StormTide> like it used to be
20:45:11 *** springmeyer_ (n=springme@c-76-28-156-154.hsd1.wa.comcast.net) has joined #mapnik
20:45:43 *** springmeyer has quit (Read error: 104 (Connection reset by peer))
20:46:22 *** springmeyer_ is now known as springmeyer
20:46:51 *** mperry has quit (Read error: 110 (Connection timed out))
20:46:52 *** mperry_ is now known as mperry
20:46:53 <StormTide> im curious how the qnic display is working in that scenario. does the display not read its own internal xml file?
20:47:14 <StormTide> and pass that along to mapnik, returning some sort of image ... etc
20:47:25 <StormTide> cuz the qnic view is colored/working for the new xml files
20:48:46 <StormTide> for example if i load the new exported file using qnics load xml feature... it works and is colored.... its only that nik2img output that doesnt work
20:49:31 <springmeyer> thats not possible ;)
20:50:24 <springmeyer> you are saying you load that __single line__ XML in QGIS and it looks right?
20:50:30 <StormTide> yes
20:50:33 <StormTide> i'll do it again
20:50:33 <StormTide> sec
20:52:13 <StormTide> oh wait
20:52:13 <StormTide> hrm
20:52:37 <StormTide> i have one thats like 3 or 4 lines
20:52:37 *** rcoup (n=rcoup@ip-118-90-36-235.xdsl.xnet.co.nz) has joined #mapnik
20:52:39 <StormTide> that works
20:52:47 <StormTide> the one line one doesnt
20:55:16 <StormTide> no you're right it doesnt work
20:55:27 <StormTide> im not sure how i made this file work
20:57:52 <StormTide> ah, figured out how it appeared to work.... if i do this:
20:57:58 <StormTide> open the shp project
20:58:01 <StormTide> create canvas
20:58:09 <StormTide> view live xml... or whatever..
20:58:17 <StormTide> export xml...
20:58:28 <StormTide> those produce the one-line or 3-line forms
20:58:36 <StormTide> if i then 'load mapnik xml'.
20:58:44 <StormTide> with that open, the loaded file appears to work
20:59:02 <StormTide> but if i start a new qgis from scratch and just load that same file, it doesnt work
21:29:24 *** drewby (n=dfaubion@128-8-138-156.umd.edu) has joined #mapnik
21:31:52 *** jctull (n=jctull@ppp-71-142-138-235.dsl.renocs.pacbell.net) has joined #mapnik
21:45:37 <StormTide> springmeyer, so....
21:47:27 *** rcoup has quit ()
21:47:57 <springmeyer> StormTide: ya?
21:49:02 <StormTide> well i was going to look into this attribute thing... but are you going to be working on the xml parsing? I wouldnt want to create a bunch of conflicts
21:49:26 <springmeyer> you can certainly work on that
21:49:31 <StormTide> k
21:49:47 <springmeyer> just use an older XML that was produced with 0.7.0
21:49:52 <springmeyer> when testing
21:49:54 <StormTide> k
21:49:58 <StormTide> that i can do
21:52:36 <StormTide> is there any reference info about the codebase... like ive found text_symbolizer.cpp etc... and it mostly makes sense, but im not sure how it relates to the other mechanisms
21:56:13 <springmeyer> nothing developer oriented
21:56:24 <StormTide> k
21:56:31 <StormTide> will just hack at it then ;)
21:56:35 <springmeyer> big picture its good to understand the object model
21:57:13 <springmeyer> which is a pretty good relationship to what the XML stores
21:57:42 <springmeyer> so the map contains two things: 1) ordered layers, and 2) unordered named styles
21:57:44 <StormTide> ya where to add the properties for that in the cpp/hpp seems pretty straightforward...
21:57:53 <springmeyer> yep
21:58:10 <springmeyer> so styles contain rules (which in cpp are feature_type_rules or something)
21:58:31 <springmeyer> which contain symbolizers
21:59:17 <springmeyer> the proper approach would be to add a property on the text_symbolzer called 'precision'
21:59:23 <springmeyer> (which you likely already did)
21:59:31 <StormTide> yep
21:59:36 <StormTide> got that far
21:59:39 <springmeyer> then take a look at agg_renderer.cpp
21:59:45 <StormTide> aha
22:00:06 <springmeyer> in trunlk there is a new framework for expressions
22:00:15 <springmeyer> which makes this a bit complicated
22:00:37 <springmeyer> because now you can not only pull a value from a datasource attribute
22:00:43 <springmeyer> but also manipulate it
22:01:05 <StormTide> manipulate it? sounds like what im doing could be an expression then?
22:01:22 <springmeyer> well, potentially yes
22:01:31 <StormTide> is the expression engine essentially a lambda ?
22:01:35 <springmeyer> something like:
22:01:56 <springmeyer> name = 'precision([value],3)'
22:02:08 <springmeyer> could be what you could expose to users
22:02:48 <StormTide> so the expression engine is explicit... eg not python evaluating?
22:02:55 <springmeyer> details: http://mapnik.org/news/2009/dec/08/future_mapnik2/
22:03:01 <springmeyer> its just been added
22:04:17 <springmeyer> actually noticing the user syntax might rather be `[attribute].precision(N)`
22:05:02 <StormTide> where is this engine implemented?
22:05:06 <StormTide> boost?
22:05:29 <springmeyer> it uses boost::spirit2
22:05:53 <springmeyer> look in mapnik/include/expression*
22:14:37 <StormTide> damn, so close, thought the regex engine might do captures ;)
22:15:25 <StormTide> ok so, looking at this, what im going to suggest is adding an additional type of grammer
22:15:38 <StormTide> so that it can use a python lambda function
22:15:45 <StormTide> do you see any issue with that
22:15:56 <StormTide> im pretty sure ive seen python do self-evaluative code before....
22:17:04 <StormTide> like if we can do a ([attr]).lamda('....'); syntax
22:17:13 <StormTide> that should allow for precision and whatever other transforms
22:17:21 <StormTide> without having to add each one every time right?
22:19:17 <springmeyer> honestly, not following ya...
22:19:54 <springmeyer> you mean, "like" a python lambda or actually evaluating python code?
22:19:55 <StormTide> sorry... what im saying is why implement precision as its own property/operator/expression... when we can just implement python's eval ability into it instead
22:20:02 <StormTide> actual evaluating python code
22:20:21 <StormTide> there's an eval() mechanism
22:20:23 <springmeyer> hmm, not sure how that would work
22:20:28 <StormTide> so we can work on a string
22:20:38 <springmeyer> from C++?
22:21:24 <StormTide> should be able to call out to the python interpreter
22:21:30 <springmeyer> many mapnik users use Mapnik + XML without python so although that could be slick I don't think its going to fly
22:21:32 <StormTide> lemme see if i can find a c++ binding for that
22:21:41 <StormTide> oh?
22:21:46 <StormTide> i thought py was a dependency
22:21:49 <StormTide> drats
22:21:53 <springmeyer> optional
22:21:57 <StormTide> still, could conditionally compile it in as support
22:22:35 <StormTide> it would be a lot more powerful to be able to say [attr].python('somelambdafunctionreturningastring');
22:22:42 <StormTide> than a writing a lot of precision grammar
22:23:04 <StormTide> and as far as i can see, aside from the python call out, would be the same amount of work for me here
22:23:31 * springmeyer sees you attacking problem the hard way :)
22:23:39 <springmeyer> cool idea though
22:23:43 <StormTide> ;)
22:23:45 <StormTide> i like to do that
22:23:59 <springmeyer> roger
22:24:33 <StormTide> lemme poke around looking for the c++->pythong interpretive part of it... if I can solve that part, any chance I can get your help on adding it to mapnik? you clearly know the codebase better
22:35:29 <springmeyer> better than what? ;)
22:35:31 <springmeyer> boost python supported passing python objects back to C++
22:35:59 <springmeyer> but I'll be no help figuring that out as I've never tried such a thing
22:36:05 <StormTide> k
22:38:27 <nikq> Mapnik Trac: MacInstallationSource edited | http://trac.mapnik.org/wiki/MacInstallationSource?version=13
22:39:33 <StormTide> so mapnik is or isn't dependent on boost.python at current?
22:40:56 <StormTide> cuz from what i can see if thats the case its just a matter of boost::python::call<t>(func, arg1, arg2,...) where func is of type PyObject*
22:46:53 <springmeyer> is not
22:47:03 <springmeyer> only the python bindings use boost_python
22:47:19 <StormTide> ok
22:47:28 <springmeyer> the python bindings are required for things like Qnik, but some users build without them
22:47:34 <StormTide> gimme a few this looks pretty simple really
22:48:32 *** aude (n=chatzill@128.241.235.189) has joined #mapnik
22:49:36 <nikq> Mapnik Trac: InstallationTroubleshooting edited | http://trac.mapnik.org/wiki/InstallationTroubleshooting?version=37
22:52:03 *** chad_burt has quit (Remote closed the connection)
22:52:33 *** chad_burt (n=chad_bur@mm-01.msi.ucsb.edu) has joined #mapnik
22:53:17 *** chad_burt has quit (Remote closed the connection)
22:59:34 <StormTide> whoever wrote the python bindings knows exactly how to move data from c++ to python and back
23:01:03 *** drewby has parted #mapnik ()
23:01:08 <StormTide> who is 'dane'
23:03:49 <nikq> Mapnik Trac: MacInstallationSource edited | http://trac.mapnik.org/wiki/MacInstallationSource?version=14
23:05:42 * springmeyer <-- dane
23:06:17 <springmeyer> i just maintain em, I didn't write em
23:06:34 <StormTide> ah
23:09:37 *** ajturner has quit ()
23:22:10 <StormTide> springmeyer, http://www.boost.org/doc/libs/1_41_0/libs/python/doc/tutorial/doc/html/python/embedding.html ... i'm still looking for a concrete implementation example... but essentially it appears to be a pretty simple call to eval()
23:22:30 <springmeyer> okay
23:28:13 <StormTide> do you know who wrote the boost stuff in the first place?
23:28:24 <springmeyer> artem
23:28:55 <StormTide> ever see em around irc?
23:29:41 <springmeyer> yes, but he's not been around in a few weeks
23:30:01 <springmeyer> he'll see Q's posted to mapnik-devel
23:30:25 <StormTide> k
23:30:29 <StormTide> will post it there then
23:46:30 *** springmeyer has quit (Read error: 104 (Connection reset by peer))
23:46:42 *** springmeyer (n=springme@c-76-28-156-154.hsd1.wa.comcast.net) has joined #mapnik
23:56:21 <StormTide> k posted to the listserv
23:56:31 <StormTide> i think thats it for me till monday :)
23:56:34 <nikq> Mapnik Trac: Changeset [1599]: fix unused variable warning | http://trac.mapnik.org/changeset/1599
23:56:43 <StormTide> again, thanks for all the help getting everything rigged up
23:57:03 <springmeyer> cheers StormTide
23:58:41 <springmeyer> btw StormTide - did you subscribe? mail won't go until you subscribe
23:58:48 <StormTide> i did ya
23:58:53 <StormTide> but its awaiting moderator approval
23:59:17 <springmeyer> gocha, k