Summing up the answers I got via wikidata-tech:
* Arbitrary precision values are supported deliberately. The motivation
for this is to be able to capture the precision given in external
sources accurately. I think this means that in the future it should also
at some point be possible to edit this data through the UI.
* Null values for precision are illegal, as are negative and zero
values. The current (relatively recent) code will default to 1/3600
degree (one arcsecond) in such cases.
In response to these insights Wikidata Toolkit will be changed to
support arbitrary precisions, apply the same default for invalid values,
and change all of its coordinate data to floating point numbers
(currently using long as fixed precision decimal numbers).
Cheers,
Markus
On 11.01.2015 02:15, Markus Krötzsch wrote:
Hi,
Does anybody know the current documentation of the precision of the
globe coordinate datatype? This precision was introduced after the
original datamodel discussions.
I used to believe that it was a rough, informal indication of a
precision based on an (easy-to-process but necessarily rather
inaccurate) bounding box. After all, the UI only allows for a small
number of predefined settings.
However, the data contains many values with precision value "null". What
is this supposed to mean and how should consumers treat it? The
precision of a measure cannot be "0" (and in any case, 0 is none of the
supported constants in the UI).
In addition, the data also contains some seemingly arbitrary numbers as
precision, such as a precision of 10.372851422071 degrees for the
location of Oceania (Q538). Now given the fact that the Earth is not
flat and Oceania is not a square, I fail to see the possible utility of
such an extremely detailed custom precision value. My point is that the
area (bounding box) that any such tolerance describes on Earth depends
on the location of the center point, and is hardly capturing our exact
amount of uncertainty in any strong sense. So why bother with such
custom values?
At first I thought this would be an error in the data, but the UI has a
special handling for it (quite literally: it shows the word "special"
with the precision in parentheses). However, I cannot edit this value as
a user without resetting it to one of the predefined values. This seems
a huge limitation, which would require a very good reason for supporting
such odd values at all. Or is the behaviour of the UI just a way of
recovering from an error while avoiding to simply fix it by itself?
Should we have a bot that corrects such cases to the nearest existing
precision setting?
Cheers,
Markus
_______________________________________________
Wikidata-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-l
_______________________________________________
Wikidata-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-l