3

I have a table with id and date

Users are not really IT-literate so anything involving a join might be too complicated for them, but they love Excel. They can easily change their spreadsheets but doing it on QGIS may cause errors.

Is there any easy way of updating the table? Ideally a user would just import their CSV with ids and dates, and the corresponding ids would get the dates in the CSV

  • Do you mean changing data in QGIS and updating it in a csv-file? – Taras Jun 17 at 13:56
  • @Taras no, people take the data from qgis and then work on their csvs, but then are not bright enough to put those changes back onto qgis – Luffydude Jun 17 at 14:22
3

With the GDAL/OGR Virtual Format you have another option to import your Excel table into QGIS. Create the VRT file (see below) in the same directory as your Excel and set the filename, tablename and layer srs accordingly:

<OGRVRTDataSource>
    <OGRVRTLayer name="test">
        <SrcDataSource relativeToVRT="1">test.xlsx</SrcDataSource>
        <SrcLayer>Table1</SrcLayer>
        <GeometryType>wkbPoint</GeometryType>
        <LayerSRS>EPSG:3857</LayerSRS>
        <GeometryField encoding="PointFromColumns" x="x" y="y"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

You can also use "WKT" encoding in GeometryField, in case you have line or polygon data.

Simply drag&drop the VRT into your map canvas. If you update the Excel table, you have to manually refresh QGIS (press F5).

| improve this answer | |
2

If your users are able to update the data within excel, they can edit csv files within excel, just make sure that they don't work within a .xlsx .

Then within Qgis you can import those CSV files using the "add delimited text layer".

Down at the bottom, you can tick the "Watch file" option. This will allow the changes in the csv file to be added within Qgis. The user can then either redraw the canvas or use the F5 key to show the changes.

If you set up your joins properly within the Qgis project, with a basic csv file loaded, the relationships between your tables should also be updated.

import window

| improve this answer | |
  • 2
    So, with this a user would have to add a csv, and then do the join, and then do the update? This is what I was trying to avoid. – Luffydude Jun 17 at 13:52
  • You can set up a "dummy" csv with basic data and the joins in Qgis, then tell the user to update directly the csv file with the real data in excel. Then when you open Qgis, the new data will be automatically integrated. – Kantan Jun 18 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.