[Qgis-developer] Field Calculator "permanence"

Andreas Neumann a.neumann at carto.net
Fri Nov 7 08:25:09 PST 2014


Hi,

What you probably ask for are database triggers combined with storage. 
This is not what virtual fields are for. If they were stored - they 
wouldn't be called virtual ;-)

You can do that f.e. with Postgis. With shapefiles not. However, if you 
share the project with the other PC, the virtual fields work fine.

Andreas

On 07.11.2014 17:21, Zoltan Szecsei wrote:
> Hi Matthias,
> Thanks for the quick answer.
> The virtual field acts just like I want it to, except that it does not 
> permanently store the column in the attribute table.
> I tried getting clever by then adding a second 'Field Calculation' to 
> update the existing 'Sheet' field from the virtual field, but that 
> won't do it either.
>
> So, for me there are two shortcomings:
>
>  1. To be able to store and recall the 'Expression' and not lose it
>     after closing the Field Calculator
>  2. To be able to add the virtual fields that you create, into the
>     attribute table.
>  3. (And then of course to re-open the Shape file on another PC and
>     have these Field Calculations still functional)
>
> Any further possibilities I can try?
>
> Regards & thanks again,
> Zoltan
>
>
> On 2014/11/07 18:01, Matthias Kuhn wrote:
>> Hi Zoltan,
>>
>> Since QGIS 2.6 this possibility exists. It is called "Virtual Field".
>> You must not create the attribute when creating the shapefile. Just open
>> the field calculator, create a new field in there and check the "virtual
>> field" checkbox.
>>
>> Regards,
>> Matthias
>>
>> On 07.11.2014 16:54, Zoltan Szecsei wrote:
>>> Hi,
>>> I'm using QGIS 2.6.0 on Win 7 x64 - installed via OSGEO4w
>>>
>>> Is there a way to store your field calculator expression to always
>>> process and update that specific field, should geometry be edited or
>>> created for that Layer?
>>>
>>> Let's say I want to create a blank POINT shape file, with a text
>>> attribute called "Sheet".
>>> Whenever a POINT is created or moved, I want this field to be
>>> dynamically updated with:
>>>
>>>       tostring(abs(toint($y)))+tostring(abs(toint($x)))
>>>
>>> For testing thus far have:
>>>
>>>    * created 2 points
>>>    * Opened the field calculator, clicked 'Update Existing Field' and
>>>      put in the expression.
>>>    * The two existing points now have the correct TEXT values in the
>>>      Sheet field
>>>    * I close the Field calculator
>>>    * Create a new point in my layer
>>>    * open the attribute table to find that the 'Sheet' field for this
>>>      new point is blank
>>>    * I open the Field Calculator and I cannot even find a way to call
>>>      back the previous expression I used.
>>>
>>>
>>> Am I using the correct QGIS functionality to achieve what I need to,
>>> and if so, where am I going wrong?
>>>
>>> Thanks & regards,
>>> Zoltan
>>>
>>>
>>> -- 
>>>
>>> ===========================================
>>> Zoltan Szecsei PrGISc [PGP0031]
>>> Geograph (Pty) Ltd.
>>> GIS and Photogrammetric Services
>>>
>>> P.O. Box 7, Muizenberg 7950, South Africa.
>>>
>>> Mobile: +27-83-6004028
>>> Fax:    +27-86-6115323www.geograph.co.za
>>> ===========================================
>>>
>>>
>>> _______________________________________________
>>> Qgis-developer mailing list
>>> Qgis-developer at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
> -- 
>
> ===========================================
> Zoltan Szecsei PrGISc [PGP0031]
> Geograph (Pty) Ltd.
> GIS and Photogrammetric Services
>
> P.O. Box 7, Muizenberg 7950, South Africa.
>
> Mobile: +27-83-6004028
> Fax:    +27-86-6115323www.geograph.co.za
> ===========================================
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20141107/4b5af278/attachment-0001.html>


More information about the Qgis-developer mailing list