#QGIS IRC Log - 2009-04-16

For logs after Feb 3, 2007, all times are GMT-8. Prior logs are GMT-9.
Back to Logs
01:27:12 macho: hi all - back again from abroad ..
02:49:08 jef: macho: wb
02:51:08 doktoreas: jef, is there a problem with translation in current svn?
02:51:11 doktoreas: [ 61%] Generating qgis_de.qm
02:51:11 doktoreas: lrelease error: Parse error at /usr/src/qgis_unstable/i18n/qgis_de.ts:3183:14: Opening and ending tag mismatch.
02:51:28 doktoreas: qt4.5 here
02:55:52 CIA-53: jef * r10576 /trunk/qgis/i18n/qgis_de.ts: fix german translation
02:55:59 jef: doktoreas: not that I know ; )
02:56:17 doktoreas: oh yes, my fault :d
02:56:36 sigq: tracfeed: Changeset [10576]: fix german translation <https://trac.osgeo.org/qgis/changeset/10576>
06:09:46 strk: jef: where should I start to get to the point Layers ( postgis ones ) get their name for the legend ?
06:31:55 jef: strk: in QgsDbSourceSelect assigns the full conninfo and QgsVectorLayer beautifies it.
06:33:26 jef: strk: you did see http://trac.osgeo.org/qgis/changeset/10511, did you?
06:33:28 sigq: Title: Changeset 10576 - Quantum GIS - Trac ( at trac.osgeo.org )
06:34:40 strk: oh : )
06:37:19 jef: sigq: 10576?
06:37:20 : * strk tries to build trunk
06:38:16 strk: ../core/libqgis_core.so.1.1: undefined reference to `GEOSPolygonizer_getCutEdges
06:38:27 jef: strk: geos <3?
06:38:31 strk: guess wrong geos flags
06:38:44 strk: I'm lost with 'make' output ( too terse )
06:38:51 strk: where can I find geos flags ?
06:39:02 strk: it's geos trunk
06:39:50 jef: strk: cmake/FindGEOS.cmake
06:40:49 strk: GSL_CONFIG=GSL_CONFIG-NOTFOUND
06:41:27 strk: ok, one thing first, geos..
06:41:44 strk: I have a 3.0.0 installed system-wide, but I'd like to try building qgis against geos-trunk, which is installed in it's own directory
06:42:28 jef: strk: -D GEOS_INCLUDE_DIR=... -D GEOS_LIBRARY=.../libgeos_c.a
06:42:53 jef: strk: when calling cmake. debian/rules for an example.
06:48:03 strk: /usr/bin/ld: /extra/geos-trunk/lib/libgeos_c.a( libgeos_c_la-geos_c.o ): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
06:48:53 strk: uhm
06:49:27 strk: how can I check ( or add ) -fPIC to LDFLAGS of qgis build ?
06:53:07 strk: -D CMAKE_VERBOSE_MAKEFILE=true did it
06:53:38 strk: -fPIC seems to be used by qgis too ..
06:59:30 strk: linking against the shared library seemed to work
07:00:21 strk: but, the layer name doesn't seem to work
07:00:55 strk: At revision 10576.
07:02:22 : * FrankW reviews the new open vector layer dialog and discovers it has all hard coded knowledge of drivers and parameters.
07:02:27 : * FrankW sighs.
07:03:38 jef: strk: hm, you must have missed the window where it did - looking.
07:04:24 FrankW: The layer selection aspect works very nicely though!
07:04:31 strk: jef: anyway, I've a pointer now
07:04:40 strk: QString lName = stuff[1]; // <---
07:04:49 strk: QString lName = stuff[1] + "." + stuff[2]; // should it read like this ?
07:05:18 strk: it'd work fine for me
07:05:37 strk: yeah, confirmed
07:06:40 strk: http://foo.keybit.net/~strk/tmp/qgis-r10576-postgresLayerName.patch
07:07:41 strk: jef: I don't get the lName.length( ) conditional
07:08:16 jef: strk: "qualify default postgres layer name with column, if there would be a layer by the same name otherwise"
07:08:32 strk: mmm
07:08:42 strk: you can't predict what the user will do next
07:09:07 jef: strk: that regex should match schema, table and column. wonder why it doesn't anymore.
07:09:37 strk: it does, just the table name ( stuff[2] ) is only appended IFF lanem.length( ) == 3 ( !? )
07:09:55 strk: no, wait
07:10:15 strk: yes, confirmed
07:10:56 jef: ouch
07:11:04 strk: ok
07:11:06 strk: that's one thing
07:11:29 strk: the other is I'm not sure appending the column name should be based on the amount of layers with same name being loaded
07:12:26 strk: oh, the *existance* of another layer with same name
07:12:33 strk: maybe yes, I can live with that after all
07:12:42 strk: justu the first one loaded will never have a qualification
07:12:45 jef: I should test with 'spam' and 'eggs' and not 'foo'
07:13:37 strk: I think after all it'd be better to always append the column
07:13:52 strk: and eventually use that loop to add some other modifier to avoid duplicated names
07:14:01 strk: which might still be there for custom queries maybe ?
07:14:32 CIA-53: jef * r10577 /trunk/qgis/src/core/qgsvectorlayer.cpp: fix r10511
07:14:42 sigq: tracfeed: Changeset [10577]: fix r10511 <https://trac.osgeo.org/qgis/changeset/10577>
07:16:40 strk: yes, that's confirmed too
07:16:55 strk: ok, I'll look at your patch first
07:17:50 strk: ah, no changes
07:17:55 strk: so, tell me if you agree on this setup:
07:18:17 strk: 1 ) qualify layer name with column name <table>.<column>
07:19:16 strk: 2 ) iff another layer with that name exist, append a suffix
07:19:22 strk: EOF
07:20:36 strk: to be honest, I don't even think 2 is important
07:21:32 jef: strk: the whole "postgres" part should be moved to QgsDbSourceSelect anyway. but 2 might be useful in QgsVectorLayer.
07:31:41 strk: anyway, this does 1 and 2: http://foo.keybit.net/~strk/tmp/qgis-r10576-postgresLayerName.patch2
07:31:48 strk: from the same location
07:31:50 strk: appends an underscore
07:36:00 strk: oops, forget ( 2 ) is still broken in my patch
07:36:01 jef: strk: that I don't like. point for checking for the same names was to retain the original behaviour for most cases. if we always qualify we don't need that at all or an underscore isn't enough.
07:36:30 strk: mmm
07:37:04 strk: what makes the original behaviour good, apart from "being used to it" ?
07:37:40 strk: I've to admit I'm not an everyday postgis user, so might be missing something
07:38:30 jef: strk: in most cases there's only one geometry column.
07:41:29 jef: strk: I suppose - at least I would have expected more complaints, if that wasn't the case.
07:42:03 strk: makes sense
07:42:17 strk: still, handling of the minority isn't satisfactory : )
07:42:38 strk: could also be nobody felt like complaining ( I didn't "complain" either : )
07:43:05 strk: I'm thinking, you may have multiple columns for multiple levels of simplification
07:43:12 strk: for lines and polygons
07:44:39 strk: or a column for the envelope, one for the centroid, one for the actual polygon...
07:44:47 strk: I see many possible uses for multiple geom columns
07:44:53 strk: the geometry_columns also accounts for that
07:45:25 strk: actually, to extend the picture, one could even add the schema ( and catalogue, if it's to follow geometry_columns )
07:45:42 strk: mydb.myschema.mytable.mycolumn
07:46:03 strk: gets pretty long, and still doesn't catch other cases ( different hosts, ports, user-defined queries )
07:46:27 strk: maybe schema.table.col is a good compromise for 2009 :>
07:48:48 jef: sometimes a feature freeze comes in handy ; )
07:55:11 macho: who called 1.1.0 "Pan"?
07:58:38 jctull: macho: Tim I assume
07:59:33 jctull: http://en.wikipedia.org/wiki/Pan_\( moon\ )
10:38:37 sigq: tracfeed: Ticket #1470 ( bug closed ): Build error in 1.0.0 ( linguist problem in French translation ), Qt 4.5.0 beta1 <https://trac.osgeo.org/qgis/ticket/1470#comment:8>
11:25:11 springmeyer: crashes in qgis 1.0.1 on mac os when I try to load a postgres layer:
11:25:12 springmeyer: http://dpaste.com/34489/
11:25:14 sigq: Title: dpaste: #34489 ( at dpaste.com )
11:25:39 springmeyer: in the logs I get:
11:25:41 springmeyer: '[0x0-0x7f07f].org.qgis.qgis[5747]: row number 0 is out of range 0..-1'
11:26:56 springmeyer: where are the postgreSQL connections stored between upgrades, between qgis apps installed?
11:26:56 jef: spacedman: what does postgis_version( ) give, when you run it in psql?
11:27:17 jef: oops, springmeyer that is.
11:27:47 springmeyer: heh
11:28:14 springmeyer: just reinstalled williams frameworks and it looks like trouble : )
11:28:27 springmeyer: http://dpaste.com/34491/
11:28:28 sigq: Title: dpaste: #34491 ( at dpaste.com )
11:28:55 jef: springmeyer: not sure on mac. I suppose ~/.config/QuantumGIS/
11:29:00 springmeyer: so, I'll got remedy that here and then come back : )
11:29:03 springmeyer: okay, thx
11:31:53 springmeyer: ack, william changed his directory structure for geos framework
11:32:00 : * springmeyer goes to reinstall postgis
11:41:28 macho: good luck
11:42:38 springmeyer: awesome, running again : )
11:42:48 springmeyer: macho: your luck must be good stuff!
11:43:31 springmeyer: okay, so geos lib error was tripping up postgis and as such QGis was crashing in an impossible attempt to talk to a stalled postgis
11:43:38 springmeyer: qgis is happy again now
11:45:42 macho: fine
11:54:42 CIA-53: jef * r10578 /trunk/qgis/src/providers/postgres/qgspostgresprovider.cpp: handle broken postgis installations more traceful
11:55:15 sigq: tracfeed: Changeset [10578]: handle broken postgis installations more traceful <https://trac.osgeo.org/qgis/changeset/10578>
11:55:29 jef: sigh. "traceful". can we edit log messages?
11:58:36 macho: what should it mean?
11:58:38 macho: careful?
11:58:50 jef: macho: graceful.
11:59:29 jef: a typocal off-by-one.
11:59:38 macho: oh - the g is next to t - common typo ; )
12:00:43 springmeyer: cool, nice fix jef
12:02:11 springmeyer: so, any reason why the 'dbname' attribute is not available via python?
12:02:15 springmeyer: e.g.....
12:02:17 springmeyer: >>> u = QgsDataSourceURI( p.dataSourceUri( ) )
12:02:17 springmeyer: >>> u.username( )
12:02:17 springmeyer: postgres
12:02:17 springmeyer: >>> u.dbname( )
12:02:17 springmeyer: exceptions.AttributeError: dbname
12:02:52 springmeyer: so I really need to parse if from the u.connectionInfo( ) string ?
12:05:57 wildintellect: that does seem kinda silly
12:06:54 wildintellect: try u.schema( )
12:07:11 springmeyer: empty
12:08:57 wildintellect: your right looking at the docs everything but database is accessible
12:09:13 wildintellect: file a bug, that should be an easy fix to expose that
12:10:13 wildintellect: when you return the full connection string, is it a string or a list?
12:11:07 springmeyer: connectionInfo( ) is a Qstring
12:12:01 CIA-53: jef * r10579 /trunk/qgis/ ( 3 files in 2 dirs ): add QgsDataSourceURI::database( )
12:12:09 sigq: tracfeed: Changeset [10579]: add QgsDataSourceURI::database( ) <https://trac.osgeo.org/qgis/changeset/10579>
12:12:24 wildintellect: thanks jef
12:13:14 jef: np
12:15:31 : * springmeyer writes some fragile code and dashes on... : )
12:17:15 springmeyer: hmm, password, where you be - esth?
12:24:21 springmeyer: the password for the postgres connect looks fully unexposed in python
12:24:25 springmeyer: is that intential?
12:24:53 springmeyer: can't let a third-party plugin get access to a postgres password can we?
12:25:41 springmeyer: also, 'host' and 'port' seem unaccessible - is that right?
13:42:40 springmeyer: okay, got the postgres providor working without know the pass, port, host....
13:43:10 springmeyer: thusly, progress from day 2 of this mapnik renderer:
13:43:15 springmeyer: http://dbsgeo.com/tmp/qgis2mapnik_osm1.png
13:43:18 springmeyer: http://dbsgeo.com/tmp/qgis2mapnik_osm2.png
13:45:29 springmeyer: 1250 line qgis project --> 165 line mapnik sld-ish xml file
13:45:58 springmeyer: http://dpaste.com/34540/ -- > http://dpaste.com/34541/
13:46:00 sigq: Title: dpaste: #34540 ( at dpaste.com )
14:02:46 sigq: tracfeed: Changeset [10580]: fix #1371 <https://trac.osgeo.org/qgis/changeset/10580>
14:02:46 CIA-53: jef * r10580 /trunk/qgis/src/providers/grass/qgsgrassprovider.cpp: fix #1371
14:03:47 sigq: tracfeed: Ticket #1371 ( bug closed ): if I open a project file and the grass mapset is no longer there, qgis terminates <https://trac.osgeo.org/qgis/ticket/1371#comment:4>
14:06:01 CIA-53: jef * r10581 /trunk/qgis/ ( 3 files in 2 dirs ): complete QgsDataSourceURI( ) methods
14:06:03 sigq: tracfeed: Changeset [10581]: complete QgsDataSourceURI( ) methods <https://trac.osgeo.org/qgis/changeset/10581>
14:06:41 springmeyer: brilliant, thx jef
16:38:17 wildintellect: springmeyer, are you working in a version control system on that plugin?
16:47:02 springmeyer: wildintellect: yes, mercurial
16:48:03 wildintellect: good, just wanted to make sure you were using something
16:48:31 wildintellect: I'm scheming about a qgis community version control to help facilitate plugin developments
16:51:16 springmeyer: btw, I've not played with pylons or mapfish too much, but do quite a bit in geodjango
16:51:47 wildintellect: ah, were you reading my email on the python list
16:51:49 springmeyer: ( re: your Q on the py-communty list )
16:54:13 wildintellect: does django have a permission administration interface the I can just import?
16:57:58 : * springmeyer back
16:58:07 springmeyer: ah, import?
16:58:19 springmeyer: you mean >>> import ? : )
16:58:54 springmeyer: django has a very mature built in permissions framework known as the 'auth' app
16:59:49 springmeyer: the other very mature, feature-rich part of django is an admin interface for adding/editing data based around that permissions system
17:00:31 springmeyer: ie, you can launch it and then have an interface to add more users, give them permissions to add, edit, or delete or just view certain postgres tables
17:03:40 : * springmeyer just looked back at your email.
17:04:11 springmeyer: ya, so with your permissions system as a basic you can control who sees/edits what from any part of your site
17:05:32 springmeyer: http://docs.djangoproject.com/en/dev/topics/auth/#methods
17:05:33 sigq: Title: Django | User authentication in Django | Django Documentation ( at docs.djangoproject.com )
17:09:51 wildintellect: hmm, I guess that would work since my editable layers would all be postgis tables
17:26:01 wildintellect: springmeyer, I think I'm going to have to build a basic app with both to figure out which is the better choice for me
17:26:06 wildintellect: ah so much work
17:28:17 springmeyer: sure, sounds like a good plan
17:28:32 springmeyer: on the django side you might bookmark:
17:28:33 springmeyer: http://code.google.com/p/geodjango-basic-apps/
17:28:34 sigq: Title: geodjango-basic-apps - Google Code ( at code.google.com )
17:30:19 springmeyer: my sense is that django is a bit more wrapped up together, while pylons/turbogears practice looser coupling
17:30:54 springmeyer: so that may mean that django is a bit faster to get going with, while less flexible
17:31:16 springmeyer: but my sense would be that does not hold because the geo support in django is supreme
17:31:25 wildintellect: ya I kinda liked the pylons used sqlalchemy
17:31:35 springmeyer: right, standalone project
17:31:59 wildintellect: well, except that I only need the site to provide a map and digitizing
17:32:06 springmeyer: but geodjango is essnetially an extension of the django orm ( which == sqlalchemy ) and wrapps postgis
17:32:26 springmeyer: while sqlalchemy knows nothing about postgis AFAIK
17:32:40 wildintellect: it looked like the django orm was != sqlalchemy
17:32:47 springmeyer: anyway, ya lots of consider because the python web world is getting really good
17:33:13 wildintellect: well I also have to be careful in case they want to randomly pick a different database for me to talk to
17:33:15 springmeyer: == in terms of generall compents, ie they let you talk to you db in python syntax in powerful ways
17:33:29 wildintellect: right I can see that
17:33:43 wildintellect: tough choice, hence why I emailed the group
17:33:50 springmeyer: sure, that is a shared principle, that an ORM hypothetically lets you swtich out the db at any time
17:33:58 wildintellect: hmm, I can probably use the mapfish client in django
17:34:40 springmeyer: sure, mapfish client is just OL+ Ext
17:34:45 wildintellect: guess I'll be busy the next couple of weeks building some test sites
17:35:00 springmeyer: anyway, I gotta roll, just one more thought...
17:35:04 springmeyer: http://werkzeug.pocoo.org/documentation/tutorial/
17:35:06 sigq: Title: Werkzeug Tutorial // Werkzeug ( at werkzeug.pocoo.org )
17:35:22 springmeyer: werkzeug is a minimalist framework
17:35:23 wildintellect: thanks
17:35:33 springmeyer: I'm not recommending using it as much as saying that...
17:35:53 springmeyer: playing with it a while back had immesureably value in helping me understand
17:36:12 springmeyer: how django works and how it differs from other stuff in the python space
17:36:36 springmeyer: anyway, good luck : )
18:12:37 jctull: gsherman: hi
18:12:42 jctull: how's qgis on iphone coming?
18:12:43 gsherman: hi jctull
18:12:50 jctull: ; )
18:13:02 gsherman: all, done, gold CD cut and we shipped it to manufacturing
18:13:16 jctull: with the new license I hope
18:13:24 gsherman: yup
18:16:24 springmeyer: hey gsherman: just headed out, but thought to mention to you that I've started on a qgs2mapnik plugin
18:16:44 springmeyer: and I started with qgis2mapserver but at least for now I'm going with using the python bindings
18:16:55 springmeyer: rather than xml parsing
18:17:20 springmeyer: but, hopefully will swing back and figure out how to do that as well at some point
18:18:59 gsherman: i saw that
18:19:31 gsherman: i was trying to decide if it was a good thing or just showcasing how awful qgis output looks in your screen shots : )
18:19:40 springmeyer: k. ya the python bindings are working well so far
18:21:15 springmeyer: heh, well thats not the intention, but surely collision avoidance helps with some datasets
18:21:17 gsherman: this for you talk at the conference?
18:21:56 springmeyer: ya, conferences/workshops exactly
18:22:02 gsherman: cool stuff
18:22:26 springmeyer: past time I put some effort in to make things a bit easier to use on the mapnik side
18:23:19 gsherman: the downside for me is/was the install, but i never checked back after you dropped me a hint
18:23:40 springmeyer: anyway, one goal will be packaged export. so bundling of all datasources, reprojection, repacking with relative pahs
18:23:55 springmeyer: so qgis -> drag and drop to www
18:24:10 springmeyer: should thing about how to make that generic for the mapserver stuff as well...
18:24:19 springmeyer: ah the mapnik install?
18:24:28 gsherman: yes
18:24:49 springmeyer: ya for about a year with anything but trunk it has been unbearable
18:25:06 springmeyer: but with 0.6.0 is much more friendly
18:25:22 gsherman: that's good news
18:29:03 jctull: gsherman: do you know if it is possible to store svg symbols in a permanent location ( not in the app bundle ) on OS X so they are picked up by the app?
18:29:14 jctull: something like /usr/share/qgis on unix systems
18:29:51 jctull: similar to http://forum.qgis.org/viewtopic.php?f=2&t=471&p=1845
18:29:52 sigq: Title: Quantum GIS Forum View topic - Symbols and rotation ( at forum.qgis.org )
18:30:50 jctull: currently, I added them to Qgis.app/Contents/Resourcs/svg
18:41:20 gsherman: jctull, it should be possible but will require a user configurable option so the app knows where to look
18:41:55 jctull: it would be nice to set it in ~/.qgis/svg or something.
18:41:55 : * gsherman finishes his serving of humble pie... http://blog.qgis.org/node/131
18:42:15 jctull: WHAT! The outrage! ; )
19:11:09 gsherman: FrankW, i assume if qgis queries the ogr driver set we can construct suitable file filters for the vector dialog?
19:11:39 FrankW: I'm afraid not.
19:11:58 FrankW: Unfortunately the OGR driver model is substantially weaker than that for GDAL and does not include anything like set of preferred extensions.
19:12:16 gsherman: did i misread your comment from earlier today?
19:12:39 FrankW: It was not specifically about extensions.
19:12:55 : * gsherman looks back at the logs
19:12:58 FrankW: It was more related to hardcoding all sorts of assumptions about what drivers are files, directories, databases, etc. and what parameters they take.
19:13:06 gsherman: ah
19:13:19 FrankW: In fact, there isn't necessarily a good way of doing this dynamically, but I'm still saddened that it comes to this.
19:13:20 gsherman: so you would rather it be more transparent
19:13:43 FrankW: I guess I'd prefer it didn't try to provide so much guidance.
19:14:00 FrankW: But it should be sufficient to provide a backdoor to provide arbirary datasource strings.
19:14:05 gsherman: ah
19:15:24 FrankW: What is the "encoding" field on Add Vector Layer supposed to be doing?
19:15:53 gsherman: FrankW, i have no idea---i haven't followed the development/implementation of the new dialog
19:15:58 FrankW: ok
19:16:08 FrankW: It was written by?
19:16:13 gsherman: just now trying to get back into the swing of things
19:16:19 FrankW: ( I should already know )
19:16:35 gsherman: now you are just trying to embarass me : )
19:17:00 FrankW: lol
19:17:27 gsherman: time for svn blame i guess
19:17:40 FrankW: In any event, I'll try to provide some constructive feedback to the author.
19:17:45 gsherman: ok, thanks
19:18:01 FrankW: The new work is certainly progress, especially the support for selecting layers from the datasource.
19:18:17 gsherman: agreed
20:49:57 CIA-70: dassau * r10582 /docs/branches/1.0.0/polish/ ( 839 files in 37 dirs ): created new qgis 1.0.0 polish translation branch for Robert Szczepanek
20:51:17 sigq: tracfeed: Changeset [10582]: created new qgis 1.0.0 polish translation branch for Robert Szczepanek <https://trac.osgeo.org/qgis/changeset/10582>
23:08:41 sigq: tracfeed: Ticket #1639 ( enhancement created ): New vector layer SRS <https://trac.osgeo.org/qgis/ticket/1639>