gnosygnu / xowa

xowa offline wiki application
Other
375 stars 41 forks source link

Coordinates in DMS using scientific notation #847

Open desb42 opened 3 years ago

desb42 commented 3 years ago

Looking at en.wikivoyage.org/wiki/Khoyto-Gol

This makes use of the wikidata entry Q14220752 and its property P625

This is a set of coordinates

In degrees this is "latitude":52.616666666667, "longitude":99.008333333333

When converted to DMS (degrees/minutes/second) this becomes 52°37'1.0E-5"N, 99°0'29.99999"E

Note that for the latitude, scientific notation has crept in

I think this should read 52°37'0.00001"N

my suggestion is that in 400_xowa\src\gplx\xowa\xtns\mapSources\Map_math.java

replace

tmp_bfr.Add_double(coord_sec).Add(wikibase ? Bry_quot_wb : Bry_quot_mw);

with

if (coord_sec < 0.1) // avoid scientific notation
   tmp_bfr.Add_str_a7(String.format("%.5f", coord_sec)).Add(wikibase ? Bry_quot_wb : Bry_quot_mw);
else
   tmp_bfr.Add_double(coord_sec).Add(wikibase ? Bry_quot_wb : Bry_quot_mw);