Přejít na obsah


Fotka

Geoget databaze a souradnice jako text


  • Pokud chcete vložit odpověď, přihlašte se
3 odpovědí na toto téma

#1 Kuratkoo

Kuratkoo

    Advanced Member

  • Members
  • PipPipPip
  • 96 příspěvků(y)

Publikováno 13 prosinec 2011 - 20:14

Ahoj,

hraji si tak trochu s databazi geogetu a narazil jsem na mensi fail pri selectu s omezenim na zaporne souradnice.

sqlite> SELECT y FROM geocache WHERE y BETWEEN -0.425 AND 0.431 LIMIT 4;
-83.49285
-94.86155
-94.867283
-95.66615

Imho za to muze datovy typ TEXT u souradnice geocache. Nevite prosim nekdo, jak tento problem elegantne vyresit a neresit to na urovni aplikace?

Take prosim vyjadreni Halumy, proc jsou souradnice ulozeny jako TEXT?

Dekuji, Kuratkoo
  • 0

#2 poohDA

poohDA

    Advanced Member

  • Members
  • PipPipPip
  • 975 příspěvků(y)

Publikováno 13 prosinec 2011 - 20:23

neznám moc sqllite, ale nemumí to
cast (y as float)
nebo tak něco?
  • 0

#3 Kuratkoo

Kuratkoo

    Advanced Member

  • Members
  • PipPipPip
  • 96 příspěvků(y)

Publikováno 13 prosinec 2011 - 20:35

sqlite> SELECT y FROM geocache WHERE CAST (y AS REAL) BETWEEN -0.425 AND 0.431 LIMIT 4;
-0.126
-0.12255
-0.1176
-0.117644

Fixored. Thx.
  • 0

#4 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 11 450 příspěvků(y)

Publikováno 13 prosinec 2011 - 21:21

Kuratkoo napsal/a:
Take prosim vyjadreni Halumy, proc jsou souradnice ulozeny jako TEXT?


Jednoduse proto, ze je to historicky relikt jeste z doby, kdy v Sqlite byl jen jeden druh datoveho pole - text. V praxi t az tak nevadi, protoze sqlite umi pruzne konvertovat datove typy podle toho, jak se na ne divas. A podobne jsi dokazal vyresit i tvuj problem.

Mnohokrate jsme si rikal, ze to predelam, ale sqlite neumi jen tak zmenit datovy typ sloupce. Vlastne je treba udelat uplne novou tabulku, prelit vsechna data, zrusit stare indexy a vyrobit nove. A tak jsem se na to vzdycky vykaslal s tim, ze az budu nejak vyznamneji predelavat databazi, tak predelam i tohle, a spousty jinych veci.

toz tak.
  • 0




1 uživatel(ů) prochází toto téma

0 uživatelů, 1 návštěvníků 0 anonymních uživatelů

Reklama