Re: [Qgis-developer] Remember to look at dash after committing
On Mon, Jul 16, 2012 at 11:15:51PM +0200, Tim Sutton wrote: Just a friendly reminder to those pushing into the master branch - please remember to run the tests and also check on the dash that they pass on all platforms. Doing this help can prevent regressions early in the process. http://dash.orfeo-toolbox.org/index.php?project=QGISdate=2012-07-15 Is it possible for dashboard to send an email to whoever breaks the tests ? It'd be easier to know when you break something. --strk; ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Remember to look at dash after committing
Hi Sandro, On Tue, 17. Jul 2012 at 09:26:11 +0200, Sandro Santilli wrote: Is it possible for dashboard to send an email to whoever breaks the tests ? It'd be easier to know when you break something. I think, we don't have control of that server. But anyway, how does a test know who broke it? Jürgen -- Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31 Dipl.-Inf. (FH) Rheinstraße 13Fax. +49-4931-918175-50 Software Engineer D-26506 Norden http://www.norbit.de committ(ed|ing) to Quantum GIS IRC: jef on FreeNode -- norBIT Gesellschaft fuer Unternehmensberatung und Informationssysteme mbH Rheinstrasse 13, 26506 Norden GF: Jelto Buurman, HR: Amtsgericht Emden, HRB 5502 ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] [Qgis-user] GPS Tools strange behavior
Anyone confirm? Should I open a ticket? I confirm, I have a garmin 60cs and used to work just fine under Linux and now I see that it behaves like you describe. cheers -- Giovanni -- ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Remember to look at dash after committing
No way of knowing directly - but perhaps it could send an email to the authors of the commits that were applied the day before the test was first broken - not sure if it's easy to write. Etienne On Tue, Jul 17, 2012 at 4:52 AM, Jürgen E. j...@norbit.de wrote: Hi Sandro, On Tue, 17. Jul 2012 at 09:26:11 +0200, Sandro Santilli wrote: Is it possible for dashboard to send an email to whoever breaks the tests ? It'd be easier to know when you break something. I think, we don't have control of that server. But anyway, how does a test know who broke it? Jürgen -- Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31 Dipl.-Inf. (FH) Rheinstraße 13Fax. +49-4931-918175-50 Software Engineer D-26506 Norden http://www.norbit.de committ(ed|ing) to Quantum GIS IRC: jef on FreeNode -- norBIT Gesellschaft fuer Unternehmensberatung und Informationssysteme mbH Rheinstrasse 13, 26506 Norden GF: Jelto Buurman, HR: Amtsgericht Emden, HRB 5502 ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Remember to look at dash after committing
This should probably be easy to do - it looks like CDash supports this [1] - although this might generate some noise [1] http://www.cmake.org/Wiki/CDash:EmailSettingsOverview On the createProject.php page, the E-mail tab. These settings are documented on http://public.kitware.com/Wiki/CDash:Administration (search the page for email). [ ] Email submission failures (this means when there are config/build/test warnings or errors) 9/17/2011 in svn trunk: added Email committers checkbox to email people who committed/authored on a per-group basis even if they are not registered with CDash (assuming we can grok their email address from the commit info... (we can with git based projects)) On Tue, Jul 17, 2012 at 8:11 AM, Etienne Tourigny etourigny@gmail.com wrote: No way of knowing directly - but perhaps it could send an email to the authors of the commits that were applied the day before the test was first broken - not sure if it's easy to write. Etienne On Tue, Jul 17, 2012 at 4:52 AM, Jürgen E. j...@norbit.de wrote: Hi Sandro, On Tue, 17. Jul 2012 at 09:26:11 +0200, Sandro Santilli wrote: Is it possible for dashboard to send an email to whoever breaks the tests ? It'd be easier to know when you break something. I think, we don't have control of that server. But anyway, how does a test know who broke it? Jürgen -- Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-31 Dipl.-Inf. (FH) Rheinstraße 13Fax. +49-4931-918175-50 Software Engineer D-26506 Norden http://www.norbit.de committ(ed|ing) to Quantum GIS IRC: jef on FreeNode -- norBIT Gesellschaft fuer Unternehmensberatung und Informationssysteme mbH Rheinstrasse 13, 26506 Norden GF: Jelto Buurman, HR: Amtsgericht Emden, HRB 5502 ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] user-defined symbology defaults + project templates
On Mon, Jul 16, 2012 at 11:49 PM, Nathan Woodrow madman...@gmail.com wrote: On Tue, Jul 17, 2012 at 1:19 AM, Etienne Tourigny etourigny@gmail.com wrote: I'm glad others see this as useful! Any idea when these changes will be available, and if should I wait before adding my changes to master? In the meantime, I could perhaps push what I have done. Currently, the button changes the selected symbol, but it could be modified to open the symbol lists. I just thought this way was a bit faster. The reasons I suggested not using a combobox is because with long names the combobox grows and pushes the size of the dialog box out, although with a button you are going to have the same issue I guess. I'm happy for a commit of what you have so far and then we can rework it once the GSoC stuff is in master. Right, it's pretty simple anyway so not hard to modify afterward. I'll just make sure the combobox does not grow if the names are long. Cheers I like the idea of multiple templates to choose from, but I would still like a way to change the global defaults (see answer to Denis). +1 as long it is obvious that the defaults have been changed. Any idea on how to manage the template list from a UI perspective? Just have a file sector and have the user place/save the files there, and then a dynamic menu which lists these files? I would have a folder called 'project_templates in the .qgis folder and the list could be read from there by default, you could also have a place in the global settings where you could define other folders to look for templates. I might store projects on a network folder so that other people can access them so it would be good to be able to tell QGIS to look in there too. - Nathan ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
[Qgis-developer] Side by side install on Ubuntu.
Hi All, I'm running QGIS 1.8 from installed package on Ubuntu 11.04, as well as trying to build and run dev master from a custom installed directory e.g /home/user/dev/qgis-install. Version 1.8 seems to run well and I can compile and install the master version. However running master (directly calling the qgis binary) causes me issues in a few cases: 1/ Fatal: ASSERT: myResult == 0 in file /home/jpalmer/Dev/qgis/Quantum-GIS/src/app/qgsoptions.cpp, line 999. I read that this is due to other versions of the qgis core lib being present i.e 1.8 http://lists.osgeo.org/pipermail/qgis-developer/2012-February/018375.html 2/ Some python plugins do not load. e.g Couldn't load plugin cadtools due an error when calling its classFactory(). Or pgversion: NameError: name 'localePath' is not defined 3/ Plugin installer does not see any of my installed plugins and won't let me download and install new plugins. Is there some sort of environment setup or qgis runtime config I have forgotten to do to make this stuff work? Cheers, Jeremy This message contains information, which is confidential and may be subject to legal privilege. If you are not the intended recipient, you must not peruse, use, disseminate, distribute or copy this message. If you have received this message in error, please notify us immediately (Phone 0800 665 463 or i...@linz.govt.nz) and destroy the original message. LINZ accepts no responsibility for changes to this email, or for any attachments, after its transmission from LINZ. Thank You. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Side by side install on Ubuntu.
Hi Jeremy On Tue, Jul 17, 2012 at 7:35 PM, Jeremy Palmer jpal...@linz.govt.nz wrote: Hi All, I'm running QGIS 1.8 from installed package on Ubuntu 11.04, as well as trying to build and run dev master from a custom installed directory e.g /home/user/dev/qgis-install. Version 1.8 seems to run well and I can compile and install the master version. However running master (directly calling the qgis binary) causes me issues in a few cases: 1/ Fatal: ASSERT: myResult == 0 in file /home/jpalmer/Dev/qgis/Quantum-GIS/src/app/qgsoptions.cpp, line 999. I read that this is due to other versions of the qgis core lib being present i.e 1.8 http://lists.osgeo.org/pipermail/qgis-developer/2012-February/018375.html 2/ Some python plugins do not load. e.g Couldn't load plugin cadtools due an error when calling its classFactory(). Or pgversion: NameError: name 'localePath' is not defined 3/ Plugin installer does not see any of my installed plugins and won't let me download and install new plugins. Have you tried setting LD_LIBRARY_PATH to e.g. /home/user/dev/qgis-install/lib before launching master? export LD_LIBRARY_PATH=/home/user/dev/qgis-install/lib /home/user/dev/qgis-install/bin/qgis Regards Tim Is there some sort of environment setup or qgis runtime config I have forgotten to do to make this stuff work? Cheers, Jeremy This message contains information, which is confidential and may be subject to legal privilege. If you are not the intended recipient, you must not peruse, use, disseminate, distribute or copy this message. If you have received this message in error, please notify us immediately (Phone 0800 665 463 or i...@linz.govt.nz) and destroy the original message. LINZ accepts no responsibility for changes to this email, or for any attachments, after its transmission from LINZ. Thank You. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] user-defined symbology defaults + project templates
I've pushed to a slightly modified version of both features. 1) Added default vector transparency for projects ; ui tweaks Would there be any thing else to add to vector defaults? Also, how about raster defaults? Perhaps the entire Rasters section from the main options dialog? 2) Save the default template to $HOME/.qgis/default.qgs (see UI in Options-General-Project Files) Next would be to implement a template folder (both saving and loading) and UI for custom template folder(s) - perhaps a single folder is good enough to make it simple? cheers, Etienne On Tue, Jul 17, 2012 at 8:44 AM, Etienne Tourigny etourigny@gmail.com wrote: On Mon, Jul 16, 2012 at 11:49 PM, Nathan Woodrow madman...@gmail.com wrote: On Tue, Jul 17, 2012 at 1:19 AM, Etienne Tourigny etourigny@gmail.com wrote: I'm glad others see this as useful! Any idea when these changes will be available, and if should I wait before adding my changes to master? In the meantime, I could perhaps push what I have done. Currently, the button changes the selected symbol, but it could be modified to open the symbol lists. I just thought this way was a bit faster. The reasons I suggested not using a combobox is because with long names the combobox grows and pushes the size of the dialog box out, although with a button you are going to have the same issue I guess. I'm happy for a commit of what you have so far and then we can rework it once the GSoC stuff is in master. Right, it's pretty simple anyway so not hard to modify afterward. I'll just make sure the combobox does not grow if the names are long. Cheers I like the idea of multiple templates to choose from, but I would still like a way to change the global defaults (see answer to Denis). +1 as long it is obvious that the defaults have been changed. Any idea on how to manage the template list from a UI perspective? Just have a file sector and have the user place/save the files there, and then a dynamic menu which lists these files? I would have a folder called 'project_templates in the .qgis folder and the list could be read from there by default, you could also have a place in the global settings where you could define other folders to look for templates. I might store projects on a network folder so that other people can access them so it would be good to be able to tell QGIS to look in there too. - Nathan ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] New adv labeling freeze-thaw tools
I've updated and extensively tested this new tool (not all platforms) and it works very well. I have sent in a pull request: https://github.com/qgis/Quantum-GIS/pull/193 Again, here's the intro video: http://vimeo.com/dakotacarto/freezethawlabels (Note: I haven't had much sleep, so the video is a bit rough.) As an unexpected added bonus (well, unexpected to me), the tool helps greatly with slow label rendering options, like a polygon layer's 'free' and 'horizontal' modes. After the PAL labeling engine finishes with those modes during a canvas refresh (sometimes taking several minutes), just use the freeze label tool on the result. The subsequent canvas refreshes are magnitudes faster. Marco H., thank you for your help on this, and thanks to sourcepole and Martin for doing such a great job of coding the advanced labeling engine. I would have never been able to produce this tool had it not been for the excellent existing and flexible code. Regards, Larry Shaffer Dakota Cartography Black Hills, South Dakota On Mon, Jul 16, 2012 at 9:45 AM, Marco Hugentobler marco.hugentob...@sourcepole.ch wrote: Hi Larry If you have the time to look at the constructor for QgsMapToolFreezeLabels (the FIXME), you'll notice I could not find a way to make the signal/slot connections from there. Currently they are in qgisapp.cpp, but I would prefer to not pollute that core file with any more of my tool's code than necessary. What's the simplest way to create the connections from inside my QObject-inherited tool instead? The slot methods need to be declared as slots in the header file, like this: public slots: //! Update frozen label highlights on canvas render finished void updateFrozenLabels(); //! Render rectangles around frozen labels void highlightFrozenLabels(); Currently, they are just normal public methods. Regards, Marco Am 16.07.2012 11:35, schrieb Larry Shaffer: On Mon, Jul 16, 2012 at 2:18 AM, Marco Hugentobler marco.hugentob...@sourcepole.ch wrote: Hi Larry Excellent work, thank you! The freeze/thaw tool will be a great addition to the label tool bar. I wonder if the tool could also be active if x/y is data defined and rotation not (currently, x/y/rotation need to be data defined to use the tool). Yes, that is an unnecessary restriction. I'll make the rotation field optional. On a detail level, in QgsMapToolFreezeLabels::highlightLabel you could probably use QgsMapRenderer::mapToLayerCoordinates to transform the rectangle (instead of mCoordTransform ). Will make the change. Thanks. If you have the time to look at the constructor for QgsMapToolFreezeLabels (the FIXME), you'll notice I could not find a way to make the signal/slot connections from there. Currently they are in qgisapp.cpp, but I would prefer to not pollute that core file with any more of my tool's code than necessary. What's the simplest way to create the connections from inside my QObject-inherited tool instead? Regards, Larry Am 16.07.2012 05:31, schrieb Larry Shaffer: Hi, The current large-format project I'm working on requires me to layout, for print, thousands of labels. So I spent the last couple of days making two new tools for the advanced labeling toolbar that allow the user to interactively 'freeze' (write coords and rotation info to attribute table) and 'thaw' (revert from data-defined to dynamic) any rendered labels. *Show Frozen Labels* This tool highlights frozen labels for all visible layers. Blue highlighted labels are frozen, green are frozen and editable (parent layer's in edit mode). *Freeze/Thaw Labels* This tool allows the user to interactively choose, by single or marquee selection, labels to freeze or thaw. The in-memory attribute table is immediately updated and results shown to user. This tool allows the user to interactively manipulate the PAL labeling engine to find the best solutions for their frozen labels. Since the topic and how the tool interacts with the labeling engine is more complicated, I made an intro video. (Note: I haven't had much sleep recently, so it's a bit rough.) http://vimeo.com/dakotacarto/freezethawlabels This is my first C++ project, so I'd be really happy if someone audited the code before I squash the commits and send a pull request: https://github.com/dakcarto/Quantum-GIS/tree/feature_freeze-thaw-labels Only tested on Mac, as of now. Nothing platform-specific about it though. Regards, Larry Shaffer Dakota Cartography Black Hills, South Dakota ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Dr. Marco Hugentobler Sourcepole - Linux Open Source Solutions Weberstrasse 5, CH-8004 Zürich, Switzerland marco.hugentob...@sourcepole.ch http://www.sourcepole.ch Technical Advisor QGIS Project Steering Committee
Re: [Qgis-developer] New adv labeling freeze-thaw tools
I look forward to seeing this in trunk. Thanks for the great contribution. John On Jul 17, 2012, at 2:28 PM, Larry Shaffer wrote: I've updated and extensively tested this new tool (not all platforms) and it works very well. I have sent in a pull request: https://github.com/qgis/Quantum-GIS/pull/193 Again, here's the intro video: http://vimeo.com/dakotacarto/freezethawlabels (Note: I haven't had much sleep, so the video is a bit rough.) As an unexpected added bonus (well, unexpected to me), the tool helps greatly with slow label rendering options, like a polygon layer's 'free' and 'horizontal' modes. After the PAL labeling engine finishes with those modes during a canvas refresh (sometimes taking several minutes), just use the freeze label tool on the result. The subsequent canvas refreshes are magnitudes faster. Marco H., thank you for your help on this, and thanks to sourcepole and Martin for doing such a great job of coding the advanced labeling engine. I would have never been able to produce this tool had it not been for the excellent existing and flexible code. Regards, Larry Shaffer Dakota Cartography Black Hills, South Dakota On Mon, Jul 16, 2012 at 9:45 AM, Marco Hugentobler marco.hugentob...@sourcepole.ch wrote: Hi Larry If you have the time to look at the constructor for QgsMapToolFreezeLabels (the FIXME), you'll notice I could not find a way to make the signal/slot connections from there. Currently they are in qgisapp.cpp, but I would prefer to not pollute that core file with any more of my tool's code than necessary. What's the simplest way to create the connections from inside my QObject-inherited tool instead? The slot methods need to be declared as slots in the header file, like this: public slots: //! Update frozen label highlights on canvas render finished void updateFrozenLabels(); //! Render rectangles around frozen labels void highlightFrozenLabels(); Currently, they are just normal public methods. Regards, Marco Am 16.07.2012 11:35, schrieb Larry Shaffer: On Mon, Jul 16, 2012 at 2:18 AM, Marco Hugentobler marco.hugentob...@sourcepole.ch wrote: Hi Larry Excellent work, thank you! The freeze/thaw tool will be a great addition to the label tool bar. I wonder if the tool could also be active if x/y is data defined and rotation not (currently, x/y/rotation need to be data defined to use the tool). Yes, that is an unnecessary restriction. I'll make the rotation field optional. On a detail level, in QgsMapToolFreezeLabels::highlightLabel you could probably use QgsMapRenderer::mapToLayerCoordinates to transform the rectangle (instead of mCoordTransform ). Will make the change. Thanks. If you have the time to look at the constructor for QgsMapToolFreezeLabels (the FIXME), you'll notice I could not find a way to make the signal/slot connections from there. Currently they are in qgisapp.cpp, but I would prefer to not pollute that core file with any more of my tool's code than necessary. What's the simplest way to create the connections from inside my QObject-inherited tool instead? Regards, Larry Am 16.07.2012 05:31, schrieb Larry Shaffer: Hi, The current large-format project I'm working on requires me to layout, for print, thousands of labels. So I spent the last couple of days making two new tools for the advanced labeling toolbar that allow the user to interactively 'freeze' (write coords and rotation info to attribute table) and 'thaw' (revert from data-defined to dynamic) any rendered labels. *Show Frozen Labels* This tool highlights frozen labels for all visible layers. Blue highlighted labels are frozen, green are frozen and editable (parent layer's in edit mode). *Freeze/Thaw Labels* This tool allows the user to interactively choose, by single or marquee selection, labels to freeze or thaw. The in-memory attribute table is immediately updated and results shown to user. This tool allows the user to interactively manipulate the PAL labeling engine to find the best solutions for their frozen labels. Since the topic and how the tool interacts with the labeling engine is more complicated, I made an intro video. (Note: I haven't had much sleep recently, so it's a bit rough.) http://vimeo.com/dakotacarto/freezethawlabels This is my first C++ project, so I'd be really happy if someone audited the code before I squash the commits and send a pull request: https://github.com/dakcarto/Quantum-GIS/tree/feature_freeze-thaw-labels Only tested on Mac, as of now. Nothing platform-specific about it though. Regards, Larry Shaffer Dakota Cartography Black Hills, South Dakota ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Dr. Marco Hugentobler Sourcepole - Linux Open Source Solutions
Re: [Qgis-developer] Side by side install on Ubuntu.
Hi Tim, Yes I tried that. Didn't make any difference to the issues below :( Cheers, Jeremy -Original Message- From: Tim Sutton [mailto:li...@linfiniti.com] Sent: Wednesday, 18 July 2012 7:19 a.m. To: Jeremy Palmer Cc: qgis-developer@lists.osgeo.org Subject: Re: [Qgis-developer] Side by side install on Ubuntu. Hi Jeremy On Tue, Jul 17, 2012 at 7:35 PM, Jeremy Palmer jpal...@linz.govt.nz wrote: Hi All, I'm running QGIS 1.8 from installed package on Ubuntu 11.04, as well as trying to build and run dev master from a custom installed directory e.g /home/user/dev/qgis- install. Version 1.8 seems to run well and I can compile and install the master version. However running master (directly calling the qgis binary) causes me issues in a few cases: 1/ Fatal: ASSERT: myResult == 0 in file /home/jpalmer/Dev/qgis/Quantum- GIS/src/app/qgsoptions.cpp, line 999. I read that this is due to other versions of the qgis core lib being present i.e 1.8 http://lists.osgeo.org/pipermail/qgis- developer/2012-February/018375.html 2/ Some python plugins do not load. e.g Couldn't load plugin cadtools due an error when calling its classFactory(). Or pgversion: NameError: name 'localePath' is not defined 3/ Plugin installer does not see any of my installed plugins and won't let me download and install new plugins. Have you tried setting LD_LIBRARY_PATH to e.g. /home/user/dev/qgis-install/lib before launching master? export LD_LIBRARY_PATH=/home/user/dev/qgis-install/lib /home/user/dev/qgis-install/bin/qgis Regards Tim Is there some sort of environment setup or qgis runtime config I have forgotten to do to make this stuff work? Cheers, Jeremy This message contains information, which is confidential and may be subject to legal privilege. If you are not the intended recipient, you must not peruse, use, disseminate, distribute or copy this message. If you have received this message in error, please notify us immediately (Phone 0800 665 463 or i...@linz.govt.nz) and destroy the original message. LINZ accepts no responsibility for changes to this email, or for any attachments, after its transmission from LINZ. Thank You. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) == Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net == This message contains information, which is confidential and may be subject to legal privilege. If you are not the intended recipient, you must not peruse, use, disseminate, distribute or copy this message. If you have received this message in error, please notify us immediately (Phone 0800 665 463 or i...@linz.govt.nz) and destroy the original message. LINZ accepts no responsibility for changes to this email, or for any attachments, after its transmission from LINZ. Thank You. ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] shapefile editing memory issue
Thanks for the quick response. Since my previous post, I have modified the code to eliminate all the calls to startEditing() and commitChanges(). I thought the memory problems might have been related to memory leaks in those functions. Now, I'm implementing changeAttributeValues() through the vector data provider to modify the attribute table directly without messing with the layer editing buffer, as recommended here: http://lists.osgeo.org/pipermail/qgis-developer/2011-July/015385.html However, some major memory leaks remain. As recommended in the previous post, I implemented my plug-in under valgrind on a Linux machine. Some output below highlights the changeAttributeValues() function as a possible culprit: 500,000 bytes 'definitely' lost with only a couple iterations of my algorithm. It's easy to see how gobs of memory can be lost after many thousand iterations. Any suggestions for a better way to update an attribute table repeatedly without losing so much memory? Thanks, Kelly ==31858== 576,500 (23,040 direct, 553,460 indirect) bytes in 360 blocks are definitely lost in loss record 14,582 of 14,586 ==31858==at 0x4A059DC: operator new(unsigned long) (vg_replace_malloc.c:220) ==31858==by 0x86CB51D: SHPReadOGRFeature(SHPInfo*, DBFInfo*, OGRFeatureDefn*, int, SHPObject*) (in /usr/lib64/libgdal.so.1.14.3) ==31858==by 0x86A99D4: OGRShapeLayer::GetFeature(long) (in /usr/lib64/libgdal.so.1.14.3) ==31858==by 0x19A72375: QgsOgrProvider::changeAttributeValues(QMapint, QMapint, QVariant const) (in /usr/lib64/qgis/libogrprovider.so) ==31858==by 0x1F002421: ??? (in /usr/lib64/python2.7/site-packages/qgis/core.so) ==31858==by 0x1BFE665A: PyEval_EvalFrameEx (in /usr/lib64/libpython2.7.so.1.0) ==31858==by 0x1BFE771C: PyEval_EvalFrameEx (in /usr/lib64/libpython2.7.so.1.0) ==31858==by 0x1BFE771C: PyEval_EvalFrameEx (in /usr/lib64/libpython2.7.so.1.0) ==31858==by 0x1BFE771C: PyEval_EvalFrameEx (in /usr/lib64/libpython2.7.so.1.0) ==31858==by 0x1BFE804C: PyEval_EvalCodeEx (in /usr/lib64/libpython2.7.so.1.0) ==31858==by 0x1BF6EC61: ??? (in /usr/lib64/libpython2.7.so.1.0) ==31858==by 0x1BF45FC2: PyObject_Call (in /usr/lib64/libpython2.7.so.1.0) -Original Message- From: Tim Sutton [mailto:li...@linfiniti.com] Sent: Thursday, July 12, 2012 12:59 PM To: Thorp, Kelly Cc: qgis-developer@lists.osgeo.org Subject: Re: [Qgis-developer] shapefile editing memory issue Hi On Thu, Jul 12, 2012 at 8:00 PM, Thorp, Kelly kelly.th...@ars.usda.gov wrote: Hello List: I am developing a QGIS plug-in for the purpose of running simulation models for unique land units, as represented by polygons in a polygon shapefile. Essentially, the plug-in uses spatial information in the polygon layer to write a simulation model input file. It then uses Python's 'subprocess' module to call the model executable and run the simulation. It then reads an output file generated by the model, sets the polygon shapefile to be editable, changes some attributes based on the model output, and then commits those changes. Then repeating this in a loop for each feature in the polygon shapefile. I've also included an optimization routine for the purpose of model calibration. This essentially means doing the above procedures repeatedly tens or hundreds of thousands of times. After each model simulation, the updated 'simulated' attribute values are compared with other attributes that contain 'observed' data. The optimization then repeatedly adjusts the model parameters until simulated and observed data are in best agreement. This process can take many hours or days, while I am repeatedly editing the shapefile and commiting the edits. However, I am not adding or removing any features or attributes. Problem is the memory slowly creeps up and if the optimization takes too long, I'll run out of memory and QGIS will crash. I notice that if my optimization routine does finish, I can completely shut down my plugin's dialog window, but the memory usage remains high. This makes me think the problem is not in my plug-in. Any ideas for me? You would probably need to run your plugin under a memory profiler like valgrind to see where the leaks are occurring. My apologies if that is too low level an answer. Regards Tim Thanks, Kelly ~ Kelly Robert Thorp, Ph.D., P.E. Research Agricultural Engineer USDA-ARS U.S. Arid Land Agricultural Research Center 21881 N Cardon Lane Maricopa, AZ 85138 520-316-6375 (Phone) 520-316-6330 (Fax) kelly.th...@ars.usda.gov ~ This electronic message contains information generated by the USDA solely for the intended recipients. Any unauthorized interception of this message or the use or disclosure of the information it contains may violate the law and subject the violator to civil or criminal penalties. If you believe
[Qgis-developer] Tests for sextante qgis providers.
Hello all, I have had some difficulty with implementing the tests for Sextante, in particular, using QgsProviderRegistry. cf: http://code.google.com/p/sextante/source/browse/trunk/soft/bindings/qgis-plugin/src/sextante/tests/qgis_interface.py The providers seem not to load. Note that the qgis interface stub is initialized after a call to QgsApplication.initQgis(). If you have any pointers on what I could be doing wrong, it would be very much appreciated. Thank you regards, Camilo ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer