I'm working on a shapefile on QGIS 2.8.6, on Debian Jessy. Its attribute table contains two columns (real 8,6) for longitude and latitude coordinates. When working from QGIS I'm able to write normal values, i.e :
- longitude;latitude
- 1.153303;43.834765
- 1.136567;43.822574
However when I try to open the dbf file with LibreOffice Calc, strange things occur : the data type is set to "N,9,6" instead of 8,6 and about 80% of the values are rounded, i.e. :
- longitude;latitude
- 1.000000;43.000000
- 0.000000;43.000000
This phenomenon is the same when I try with OpenOffice or Microsoft Excel (with one exception : with OpenOffice I was able to get the correct values but only once).
Same goes when I try to save the shapefile from QGIS in a CSV file ; values get "lost in translation".
This seems totally random to me, as I'm unable to explain this behaviour. I tried copying values from longitude and latitude columns in text columns in QGIS, and then opening the dbf : in this case the original longitude and latitude all appear with the correct value (however with real 9,6 and 7,6 this time!).
Does someone have an explanation ? Does this come from QGIS itself or is this a problem when reading the dbf file ?
Edit : I wonder if the problem could come from the decimal mark ? I used the comma which is the decimal mark used in my country but it seems that some softwares are waiting points. Could it be a reason ?
Edit2 : I found a way to export a CSV of the attribute table and getting the correct values, by using the MMQGIS plugin (as proposed in this answer), which allows you to explicitely state the decimal mark. It works where the native option in QGIS didn't.
This is not an explanation nor a solution to my initial problem though, but I guess it could be useful to some people.