[Qgis-developer] Update datumTransformEntries on layerCrsChanged ?
Hi Dev, One of our customer discovered a bug in the couple QGIS / QGIS-Server. He discovered that the element layer_coordinate_transform_info, child of mapcanvas element, was not updated after a layer CRS changed and project saved. This causes some troubles in QGIS-Server, because it uses this element to defined CRS transformation. I proposed a Pull-Request https://github.com/qgis/QGIS/pull/1971 If my proposed patch is accepted, I propose to backport it to 2.8 for a 2.8.2 version. Thanks for review. Regards, René-Luc ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Temporal data (was QGIS GRASS Plugin Upgrade Crowdfunding)
On Mon, Mar 30, 2015 at 11:17 AM, Nyall Dawson nyall.daw...@gmail.com wrote: On 30 March 2015 at 18:47, Radim Blazek radim.bla...@gmail.com wrote: Hi again. I am getting convinced that the temporal data visualization support should be added to QGIS core. A single time navigation toolbar (from/to, start/stop, previous/next) and temporal support in data providers (QgsVectorDataProvider::getFeatures, QgsRasterDataProvider::block). That would allow simultaneous animation of temporal data from various sources in different formats (time frame defined by band, layer or attribute). There are already 3 plugins for temporal data management [1][2][3], writing another one seems misconception and wasting of resources. +1 from me. I've also given this a lot of thought, and think that the best solution would be in QGIS core. I think porting the functionality from Time Manager would be a good start, but what I would really like to see would be for QgsDataDefined to be extended to handle animation support. This is already possible by a combination of scale_linear and Time Manager's current time expressions, but a better solution would be for QgsDataDefined/QgsDataDefinedButton to allow for properties of symbols/labels/composer items to be animated. For instance, smoothly vary the symbol size between 2 and 4 mm between these two datetime values. I am not sure if QgsDataDefined is the right place. Isn't it too high level? There are at least 3 possibilities how to store temporal vector data: 1. single layer with timestamp (and possibly non unique id) field (record per timestamp) 2. single layer with multiple fields (field per timestamp) 3. multiple sublayers (sublayer per timestamp) These differences should be hidden in provider, I believe. The timestamp is just another dimension and it should be added to QgsFeatureRequest as a new member beside mFilterRect. If the format allows to do geometry or value interpolation (i.e. 1. with id field or 2.), it should be done in provider. The timestamp member would be added to QgsMapSettings and set by time navigation toolbar. This way, everything (e.g. table, feature info) may easily use current timestamp (table updated on QgsMapSettings.timestampChanged signal, feature info passing current timestamp to getFeatures()). Radim I'd be willing to assist in coding this, but can't take the lead due to time constraints. Nyall ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Temporal data (was QGIS GRASS Plugin Upgrade Crowdfunding)
On 31 March 2015 at 20:05, Radim Blazek radim.bla...@gmail.com wrote: On Mon, Mar 30, 2015 at 11:17 AM, Nyall Dawson nyall.daw...@gmail.com wrote: On 30 March 2015 at 18:47, Radim Blazek radim.bla...@gmail.com wrote: Hi again. I am getting convinced that the temporal data visualization support should be added to QGIS core. A single time navigation toolbar (from/to, start/stop, previous/next) and temporal support in data providers (QgsVectorDataProvider::getFeatures, QgsRasterDataProvider::block). That would allow simultaneous animation of temporal data from various sources in different formats (time frame defined by band, layer or attribute). There are already 3 plugins for temporal data management [1][2][3], writing another one seems misconception and wasting of resources. +1 from me. I've also given this a lot of thought, and think that the best solution would be in QGIS core. I think porting the functionality from Time Manager would be a good start, but what I would really like to see would be for QgsDataDefined to be extended to handle animation support. This is already possible by a combination of scale_linear and Time Manager's current time expressions, but a better solution would be for QgsDataDefined/QgsDataDefinedButton to allow for properties of symbols/labels/composer items to be animated. For instance, smoothly vary the symbol size between 2 and 4 mm between these two datetime values. I am not sure if QgsDataDefined is the right place. Isn't it too high level? I wasn't proposing storing this data in QgsDataDefined - what I'm thinking is that QgsDataDefined could be extended to allow for users to control animations. I think this would fit well into QgsDataDefined, as it's basically just another method for overriding symbol/label/composer properties. So the request/provider changes would be a prerequisite, but QgsDataDefined/QgsDataDefinedButton would then be extended to allow users to specify how the property will react to the time variable. Think keyframes, tweening, etc... Nyall There are at least 3 possibilities how to store temporal vector data: 1. single layer with timestamp (and possibly non unique id) field (record per timestamp) 2. single layer with multiple fields (field per timestamp) 3. multiple sublayers (sublayer per timestamp) These differences should be hidden in provider, I believe. The timestamp is just another dimension and it should be added to QgsFeatureRequest as a new member beside mFilterRect. If the format allows to do geometry or value interpolation (i.e. 1. with id field or 2.), it should be done in provider. The timestamp member would be added to QgsMapSettings and set by time navigation toolbar. This way, everything (e.g. table, feature info) may easily use current timestamp (table updated on QgsMapSettings.timestampChanged signal, feature info passing current timestamp to getFeatures()). Radim I'd be willing to assist in coding this, but can't take the lead due to time constraints. Nyall ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Re : [Qgis-user] Pyqt4 : which signal is sent when dialog comes to foreground?
You should get a parameter containing the composer that is being deleted with composerWillBeRemoved signal. Try to use that to infer which composer has been removed. As the signal name indicates, at the time it is emitted, the composer is not deleted yet. As an alternative you may make the connection with Qt.QueuedConnection. It is possible that with this connection style you will receive the signal after deletion and are able to continue using your current update method. Best Matthias On 03/31/2015 02:04 PM, Junior Delaz wrote: Matthias, Thanks. I just give it a try it and all goes well with composerAdded. But not really well with composerWillBeRemoved signal. The first deletion in the composer manager does nothing and deleting a second composer does remove the first one in my list. and so on... My update function should be rewritten I think. I'll try to see how improving it and may (surely) ask again for help (if needed). While seeking information about composerWillBeRemoved, I found a composerRemoved [1] [2] signal (that doesn't appear in the API doc) and without being able to use it. :( [1] https://github.com/qgis/QGIS/blob/master/src/app/composer/qgscomposermanager.cpp (line 48 [2] https://github.com/qgis/QGIS/blob/master/src/app/qgisapp.cpp (line 5601) Another thing that may not be related : what the deletePrintComposers function (https://github.com/qgis/QGIS/blob/master/src/app/qgisapp.cpp line 5698) is for? Thanks again for the clue. 2015-03-31 9:43 GMT+02:00 Matthias Kuhn matth...@opengis.ch mailto:matth...@opengis.ch: QgisInterface (iface) has a composerAdded and composerWillBeRemoved signal. Did you try to connect to these? Best, Matthias On 03/31/2015 09:34 AM, Junior wrote: Hi all, Luca Thanks for answering. But i already have an update function that I linked to an update list button. I even linked it to the icon on the toolbar so that when user calls foreground the dialog it's already updated. The case I'd like to manage: user can open plugin dialog and composer manager. The two dialogs are visible (to the eyes) even though composer manager is the one at foreground. He makes changes and directly clicked on the plugin dialog. He should update list but if he forgets and executes, this may lead to bug I don't want to / can't yet manage. Reason why I want to ensure that list is always up to date when he interacts with the dialog Envoyé depuis mon HTC - Reply message - De : Luca Manganelli luc...@gmail.com mailto:luc...@gmail.com Pour : Cc : qgis-u...@lists.osgeo.org mailto:qgis-u...@lists.osgeo.org qgis-u...@lists.osgeo.org mailto:qgis-u...@lists.osgeo.org, qgis-developer qgis-developer@lists.osgeo.org mailto:qgis-developer@lists.osgeo.org Objet : [Qgis-developer] [Qgis-user] Pyqt4 : which signal is sent when dialog comes to foreground? Date : mar., mars 31, 2015 07:56 On Mon, Mar 30, 2015 at 6:12 PM, Junior Delaz del...@gmail.com mailto:del...@gmail.com wrote: I've read about defining a custom showEvent function but can't understand where to put it and what inside. If somebody can give some tips... You could add a Update list button ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org mailto:Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org mailto:Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org mailto:Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer signature.asc Description: OpenPGP digital signature ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer
Re: [Qgis-developer] Re : [Qgis-user] Pyqt4 : which signal is sent when dialog comes to foreground?
Matthias, Thanks. I just give it a try it and all goes well with composerAdded. But not really well with composerWillBeRemoved signal. The first deletion in the composer manager does nothing and deleting a second composer does remove the first one in my list. and so on... My update function should be rewritten I think. I'll try to see how improving it and may (surely) ask again for help (if needed). While seeking information about composerWillBeRemoved, I found a composerRemoved [1] [2] signal (that doesn't appear in the API doc) and without being able to use it. :( [1] https://github.com/qgis/QGIS/blob/master/src/app/composer/qgscomposermanager.cpp (line 48 [2] https://github.com/qgis/QGIS/blob/master/src/app/qgisapp.cpp (line 5601) Another thing that may not be related : what the deletePrintComposers function (https://github.com/qgis/QGIS/blob/master/src/app/qgisapp.cpp line 5698) is for? Thanks again for the clue. 2015-03-31 9:43 GMT+02:00 Matthias Kuhn matth...@opengis.ch: QgisInterface (iface) has a composerAdded and composerWillBeRemoved signal. Did you try to connect to these? Best, Matthias On 03/31/2015 09:34 AM, Junior wrote: Hi all, Luca Thanks for answering. But i already have an update function that I linked to an update list button. I even linked it to the icon on the toolbar so that when user calls foreground the dialog it's already updated. The case I'd like to manage: user can open plugin dialog and composer manager. The two dialogs are visible (to the eyes) even though composer manager is the one at foreground. He makes changes and directly clicked on the plugin dialog. He should update list but if he forgets and executes, this may lead to bug I don't want to / can't yet manage. Reason why I want to ensure that list is always up to date when he interacts with the dialog Envoyé depuis mon HTC - Reply message - De : Luca Manganelli luc...@gmail.com luc...@gmail.com Pour : Cc : qgis-u...@lists.osgeo.org qgis-u...@lists.osgeo.org qgis-u...@lists.osgeo.org qgis-u...@lists.osgeo.org, qgis-developer qgis-developer@lists.osgeo.org qgis-developer@lists.osgeo.org Objet : [Qgis-developer] [Qgis-user] Pyqt4 : which signal is sent when dialog comes to foreground? Date : mar., mars 31, 2015 07:56 On Mon, Mar 30, 2015 at 6:12 PM, Junior Delaz del...@gmail.com del...@gmail.com wrote: I've read about defining a custom showEvent function but can't understand where to put it and what inside. If somebody can give some tips... You could add a Update list button ___ Qgis-developer mailing listQgis-developer@lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/qgis-developer ___ Qgis-developer mailing listQgis-developer@lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/qgis-developer ___ 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
[Qgis-developer] Proxy Settings with QGIS Server, possible?
Hi, I've configuret QGIS Server to read the QGIS2.ini file (with QGIS_OPTIONS_PATH envrionment variable). In the QGIS2.ini I've put the [proxy] section with the variables filled in. But it seems that QGIS Servers ignores these settings, is it the normal behaviour? ___ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer