[Qgis-developer] Field Calculator "permanence"

Zoltan Szecsei zoltans at geograph.co.za
Mon Nov 10 07:46:38 PST 2014


Hi Andreas
On 2014/11/08 18:34, Andreas Neumann wrote:
> Hi Zoltan,
>
> There are many other file formats besides shapes, including many 
> databases. So people should stop thinking that the universe only 
> circles around shapefiles.
Yes. I know. That's exactly what I am banging my head about.
Do you know that some 15 years back, I had to spend vast amounts of 
energy explaining to some of my clients that SHP file format does NOT 
support topology!!
But I supposed I have been spoilt.
In 1984 when I started Geograph, I had a Mainframe (you know what that 
is? :-)  ) based GIS package (called SICAD) and in 1984 I could write 
scripts, crawl up and down the data structure and do almost anything 
because it had a fully topologically connected spatial data structure.
I ditched that in 1989 in favour of Unix based Genamap (now Linux) [and 
gone bung, but the SW still works], also FULL topology and full 
script-ability, and I still use that unless my clients demand that I use 
their software (and then they provide the licensing for the project).
So, I have mostly by-passed the rigorous requirements of conformity.
>
> With these other file formats it is not very common to ship other 
> files along with the main file.
Ha ha ha... tell that to the masses.
Guess what format our friendly RSA mapping office gives out their Vector 
Data in?
>
> Why do you think that drag/drop or "add layer" is unintuitive. Those 
> are the normal ways to load a layer in QGIS.
Well, not so much the 'drag & drop', but the way Layer Definition Files 
are loaded:
Because I never thought of it as an option (yes, that's my failure), but 
also because intuitively it should be on the "Add Layer" button or list, 
and not as a separate item slightly further down.
If it appeared on the addlayer button, it would be noticed, and people 
would be more likely to check what that option does (and learn). It is 
in fact just another way to load a "map type".
So, I'm not at all grumbling, just suggesting that maybe that way of 
loading a layer should be on the Add Layer button/dropdown. (and not 
separately on the layer dropdown list)

Anyway, thanks for your input,
Regards,
Zoltan
>
> Andreas
>
>
> On 07.11.2014 18:49, Zoltan Szecsei wrote:
>> On 2014/11/07 19:19, Zoltan Szecsei wrote:
>>> Thanks for the pointer to 'Save Layer Definition file' - I've never 
>>> noticed that, so I'll play with that for a bit.
>>>
>>>
>>> On 2014/11/07 18:59, Andreas Neumann wrote:
>>>>
>>>> However, if you save a layer definition file along with the 
>>>> shapefile and re-add that, they are preserved. So you can just 
>>>> store the layer definition file along with the shape and you are 
>>>> fine to share the data with your colleagues, preserving virtual 
>>>> fields ;-)
>> Hi,
>> OK - not very intuitive, (to have to either drag and drop the qlr 
>> file into the layer panel, or to "add layer from definition file")
>>
>> Any reason that QGIS can't be made to look for qlr files when opening 
>> the SHP file "the normal way"?
>>
>> Regards & thanks for the help.
>> Zoltan
>>
>>>>
>>>> Andreas
>>>>
>>>> On 07.11.2014 17:32, Zoltan Szecsei wrote:
>>>>> Hi Andreas,
>>>>> I'll fiddle with the Postgis idea - thanks.
>>>>> The orange part below:
>>>>> I closed the shapefile, deleted from legend and re-opened it - but 
>>>>> could not see my virtual field, nor the expression I used to 
>>>>> create it.
>>>>> Have I missed a trick somewhere?
>>>>>
>>>>> Regards,
>>>>> Z
>>>>>
>>>>> On 2014/11/07 18:25, Andreas Neumann wrote:
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>>
>> -- 
>>
>> ===========================================
>> 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
>
>
>
> _______________________________________________
> 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-6115323     www.geograph.co.za
===========================================

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


More information about the Qgis-developer mailing list