Komprimované sloupce v databázi Geoget

Některé údaje (např. geolog.logtext) jsou v DB geoget.db3 uloženy v komprimovaném tvaru. Mám dva dotazy:

  1. Lze jejich obsah získat pomocí příkazů SQL (samozřejmě plus nějaká ta funkce)?
  2. Lze v těchto sloupcích vyhledávat textový řetězec?

A mimo téma:
Lze z GeoGetu spouštět příkazy SQL manipulující s databází, např. INSERT?

Za ochotu předem děkuji.

Na obe otazky je odpoved: ano. Prohlidni si SQL dotaz v davce pro Combine.

  1. Pokud to volas z Geogetiho skriptu pres geoget_db, pak muzes pouzit prikaz ve stylu: "SELECT unzlib(logtext) FROM geolog WHERE…"

Pokud to volas z jineho programu, musis si s tou ZLIB kompresi poradit sam, pripadne si vyrobit a zaregistrovat svoji vlastni UDF funkci. (V SQlite jsou totiz UDF funkce asociovany s aplikaci, ne s databazi)

  1. nelze. Leda viz vyse, dat tu Unzlib funkci do podminky where, ale rychle to nebude.

  2. INSERT technicky volat muzes, ale musis presne vedet, co kde kam a jak zapsat. A hlidat si, jestli nepracujes s jinou verzi databaze. verzi databaze si muzes precist volanim "PRAGMA user_version".

Díky za pomoc. Budu nějaký čas laborovat a snad se dopracuji ke kýženému cíli. Co se týče příkazu INSERT, ten mám odladěný a čas od času ho spouštím z SQLite Manageru, ale ta "ruční práce" mne moc nebaví a chci si usnadnit život.

Pro zajimavost: co insertujes? Neni lepsi pouzit TGeo nebo si vytvorit GPX soubor a ten importovat?

Doplňuji WP Final location multikeším a mysterkám, které ho nemají. Nenapadla mne jednodušší cesta, jak příslušnou keš zobrazit filtrem Resolved (modifikace dodávaného filtru Resolved Mystery). Divil jsem se, kolika keším chybí. V současné DB mám 216 mysterek a 54 multin; 234 Final location jsem doplňoval níže uvedeným skriptem.


INSERT INTO waypoint
  (id, name, prefixid, wpttype, comment, dtupdate)
SELECT
  gc.id,
  "FINAL",
  "FI",
  "Final Location",
  "Vlastní přídavek",
  strftime('%Y%m%d')
FROM geocache gc
WHERE id IN
(
  SELECT id
  FROM geocache
  WHERE cachetype LIKE 'Multi%' OR cachetype LIKE 'Unknown%'
  EXCEPT
  SELECT id
  FROM waypoint
  WHERE wpttype LIKE 'Final%'
);

No, waypointy bych kazdopadne pridaval pres objekt Twpt.

K čemu je to dobré ? já WP final doplňuji jen u vyluštěných mysterek, nebo až po odlovu.

Hloupý dotaz - k čemu je Final wpt u mysterky či multiny, pokud nemá souřadnice? Podlě mě je to totéž, jako by nebyl.

Já přidávám FWP jen u mysterek, které si vyluštím do zásoby. Po odlovu už ne. Sice i to má smysl, protože si keše vč. nalezených exportuju ještě jednou jako POI a pak mám otevřenou truhličku na místě výchozích, ale spoustu jsem toho našel ještě bez navigace (i teď když je to jasné, ji ani nezapínám) a byla by to dost velká práce to doplnit, za to mi to nestojí. A na přidání WPT mi stačí to naklikávací menu na pravé myši.

Hned na začátku uvádím jako společnou konstantu: IMHO!

Je pravda, že WPT Final bez souřadnic nemá téměř žádný význam. Na druhou stranu neškodí, aspoň při této velikosti DB ne.
Ale přidávat tento WPT až po odlovu už taky nepřináší žádný užitek, protože z GeoGet už nedělám žádný export.

K ručnímu klikání jeden příklad: Minulý týden jsem importoval kompletní sérii 101 dalmatinů, což je, jak jistě víte, 101 mysterek, které pochopitelně luštím do zásoby. Preferuji přidat potřebné WPT jedním vrzem, byť zatím nemám vyluštěné souřadnice.

Takže znovu: Vše je věc osobního názoru a účelu, ke kterému kdo GeoGet využívá.

Tak daleko jsem ještě nedospěl. :slight_smile:

Omyl, pokud potřebuješ znát volné místa, kde keše nejsou, potřebuješ mít i uložené finálky. Volné místa ze 2 důvodů: 1) pro možnost publikace nové keše 2) při publikaci jiné keše a následném hledání vyloučení již zabraných míst.

To si ale přidáváš práci, nejdříve strojově přidáš WP_FI, pak se k té samé keši vracíš, rozklikneš seznam WP, a ručně edituješ souřadnice u WP_FI. Pro mě rychlejší postup je: mám vyluštěno, přidám WP, doplním souřadnice, případně si napíšu popisek jak jsem luštil a uložím.

Obávám se, že znalost obsazeného místa má význam jen pro ownera, což není můj případ.

Mám za to, že spuštění jednoho příkazu SQL pro 101 keší nelze považovat za nadpráci. :slight_smile:

Myslím, že práci si neušetříš, přidat waypoint je stejně pracné jako ho editovat.

A za druhé - ty prázdné waypointy nemám moc rád. Už jsem to v jednom tématu psal. Několikrát se mi stalo, že jsem lovil v nějakém městě, nějaké mysterky příp. multiny vyluštěné, jiné pochopitelně ne. Vidím v blízkosti mysterku, tak se dívám po finálce - hurá, finálka v seznamu je, kdepak se asi nelézá ? Kliknu na ni - a jsem uprostřed Atlantiku.

Používám přesun finálky na vypočítané souřadnice, takže v tomto případě bych tu mysterku v blízkosti neviděl. Ale každý to dělá jinak.

Skoda, tam to chtelo zacit :slight_smile:

Nikoliv, ma to vyznam i pro BF lovce, protoze si tak muze vyloucit dalsi lokalitu. :wink: