On 03/03/14 15:50, addshorewiki wrote:
This should probably be directed at
https://github.com/Wikidata/Wikidata-Toolkit/issues ?

Yes, details related to the ongoing development of Wikidata Toolkit should be discussed elsewhere. In this particular case, part of the problem can probably be solved by having a look at the documentation of the code [1].

Anyway, part of the question is also about the Wikibase data model for globe coordinates and the related JSON. I can say something about this:

* GlobeCoordinates store numbers for latitude, longitude, and precision.
* The "precision" value is restricted: only a small number of values are allowed (the ones that one can enter through the UI). This probably needs more documentation [2]. * The accuracy of coordinates is inherently limited (you cannot meaningfully define locations beyond a certain precision). This is in contrast to the Quantity type where we have arbitrary precision decimals. * The exact format of the numbers is not completely fixed yet. The current proposal is to measure all values in degrees with a guaranteed accuracy of 9 digits (that means: "up to nanodegrees"). This should be enough for all practical purposes. (Note that I am talking about the accuracy of the decimal numbers here, not about the GlobeCoordinates' "precision" value, which is also a number of the same accuracy.) * Most programming languages do not have a "9 digit fixed precision decimal" datatype that could exactly capture this. To represent such a number you can store integer values that give the amount in nanodegrees (the degree value multiplied by 10^9); overflows are unlikely in 64bit integers since latitude and longitude cannot be very large numbers. With 9 decimal digits, one could also use double without significant errors. These two views can easily be converted back and forth. * The current JSON (internal and external) gives the numbers as serialisations of floating point values (in rare cases even using e notation). In the future, these should be decimal values (can still be read as floats but won't use e notation).

A definite clarification of this issue will be provided soon, but the above is the current status.

Markus

[1] https://github.com/Wikidata/Wikidata-Toolkit/blob/master/wdtk-datamodel/src/main/java/org/wikidata/wdtk/datamodel/interfaces/GlobeCoordinatesValue.java
[2] https://bugzilla.wikimedia.org/show_bug.cgi?id=62105



Addshore


On 3 March 2014 15:45, Fredo Erxleben <fredo.erxle...@tu-dresden.de
<mailto:fredo.erxle...@tu-dresden.de>> wrote:

    Hey there,

    While testing I found that the notations of precision in the
    internal dumpfiles is not always what I expected:

    My example is the item Zwickau (json and stacktrace attached):

    The precision in the geolocation is denoted as an decimal value,
    while the implementation of GlobalCoordinatesValueImpl requires a
    long value encoding a precision.

    How should this discrepancy be handled best?

    Greetings,
    Fredo

    PS: I am at the moment checking all the errors that occur while
    converting an earlier dumpfile, so I am likely to stumble upon more
    problems soon.

    _______________________________________________
    Wikidata-tech mailing list
    Wikidata-tech@lists.wikimedia.org
    <mailto:Wikidata-tech@lists.wikimedia.org>
    https://lists.wikimedia.org/mailman/listinfo/wikidata-tech




_______________________________________________
Wikidata-tech mailing list
Wikidata-tech@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech



_______________________________________________
Wikidata-tech mailing list
Wikidata-tech@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech

Reply via email to