Přejít na obsah


Fotka

Geoget -> iGo8 v Unicode


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

#1 pozorjed

pozorjed

    Advanced Member

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

Publikováno 21 srpen 2008 - 15:07

Ahoj vespolek, omlouvám se, pokud je někde zodpovězeno, ale zatím jsem nenašel žádný funkční soubor gge.pas, který by uměl z Geoget vyexportovat datový soubor použitelný pro iGo8. Po 2 dnech pokusů mám funkční nástřel, zatím neumím výsledný soubor uložit v kodování Unicode, poradí někdo? Přílohou iGo8.gge.pas, ve kterém jsem snad překonal všechny syntaktické záludnosti iGo8 (např. souřadnice ve tvaru xx.aaaaaa - 6 desetinných míst; číslování WayPointů). Grafickou podobu (ikony v iGo8) jsem zvolil pokusně, v iGo8 mám zapnuté pro skupinu GC zobrazení 25km, pro skupinu GCWP - 1000m výsledný soubor se musí jmenovat user.upoi, uložen jako iGO8\save\user.upoi Poradí někdo s Unicode? díky __ doplněk, protože mi nefunguje uložení přílohy, kopíruji zdroják var poradi: integer; var poradiWP: integer; var druhkesky: string; function ExportExtension: string; begin result := 'upoi'; end; function ExportDescription: string; begin result := 'iGo8 export'; end; function ExportHeader: string; begin Result := ''; end; function ExportFooter: string; begin result := '@My POI' + CRLF; end; function ExportPoint: string; var s: string; Num: string; begin if poradi < 10 then poradi := 10; poradi := poradi + 1; if length(GC_Lat) > 9 then GC_lat := Copy(GC_Lat, 1, 9); if length(GC_Lat) = 8 then GC_lat := GC_Lat + '0'; if length(GC_Lat) = 7 then GC_lat := GC_Lat + '00'; if length(GC_Lat) = 6 then GC_lat := GC_Lat + '000'; if length(GC_Lon) > 9 then GC_Lon := Copy(GC_Lon, 1, 9); if length(GC_Lon) = 8 then GC_Lon := GC_Lon + '0'; if length(GC_Lon) = 7 then GC_Lon := GC_Lon + '00'; if length(GC_Lon) = 6 then GC_Lon := GC_Lon + '000'; if gc_type='Traditional Cache' then druhkesky := 'community.police_station'; if gc_type='Multi-cache' then druhkesky := 'Community.Prison'; if gc_type='Unknown Cache' then druhkesky := 'community.college_university'; if gc_type='Webcam Cache' then druhkesky := 'Tourist_Attractions.Winery'; if gc_type='Event Cache' then druhkesky := 'Tourist_Attractions.Winery'; if gc_type='Letterbox Hybrid' then druhkesky := 'Tourist_Attractions.Winery'; if gc_type='Earthcache' then druhkesky := 'Community.Place_of_Worship'; if gc_type='Virtual Cache' then druhkesky := 'Tourist_Attractions.Winery'; if GC_IsWaypoint or GC_IsUserWaypoint then begin //Export for Waypoints poradiWP := poradiWP + 1; s := GC_ID + 'W' + IntToStr(poradiWP); S[1] := 'W'; S[2] := 'P'; Num := IntToStr(Poradi); Result := Result + Num + '|' + 'GcWp' + '|' + s + '|parking|' + GC_Lat + '|' + GC_Lon + '|_CZE|||Téměř nic|Nepojmenovaná silnice|||' + CRLF; end else begin //Export for Geocaches s := GC_ID; S[1] := 'W'; S[2] := 'P'; poradiWP := 0; Num := IntToStr(Poradi); Result := Result + Num + '|' + 'GC' + '|' + GC_ID + '|' + druhkesky + '|' + GC_Lat + '|' + GC_Lon + '|_CZE|||Téměř nic|Nepojmenovaná silnice|||' + CRLF; end end;
  • 0

#2 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 21 srpen 2008 - 15:48

pozorjed napsal/a:
Po 2 dnech pokusů mám funkční nástřel, zatím neumím výsledný soubor uložit v kodování Unicode, poradí někdo?


A v jakem unicode?

Data z Geogetu uz samy lezou v UTF-8. Nebude problem spise v to, ze tam mas vlastni texty, ktere mozna nejsou ve spravnem kodovani?

Zkus ty tve texty jako 'temer nic' a tak dat bez diakritiky. Uvidime.
  • 0

#3 pozorjed

pozorjed

    Advanced Member

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

Publikováno 21 srpen 2008 - 18:12

nejsem expert na kódové stránky, ať dělám co dělám (i bez diakritiky), tak výstup z GG není Unicode. Šel jsem na to z druhé strany, že v iGo8 jsem si přidal vlastní POI, tento soubor omrknul a je v Unicode (nikoliv UTF-8 nebo UTF-16). Výstup z GG nyní musím otevřít v UltraEditu, dát convert ASCIItoUnicode, výsledný soubor je sice 2násobný, ale iGo8 ho umí načíst.
  • 0

#4 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 21 srpen 2008 - 18:25

Proto ze ptam: "jaky unicode?" Zpusobu kodovani unicode je spousta. Pouzity UTF-8 kod je take unicode! To co popisujes muze byt UCS (big nebo small endian) nebo UTF-16. Mohu do maker pridat prislusnou konverzni funkci, to by nemel byt vetsi problem.
  • 0

#5 pozorjed

pozorjed

    Advanced Member

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

Publikováno 21 srpen 2008 - 18:30

když Ti pošlu část user.upoi, poznáš z toho, v čem je to zakódované ? Mě dalo dost práce najít správný výsledný tvar, aby se iGo8 nekouslo a soubor správně načetlo. díky za ochotu, jednoprůchodový export z GG by byl úžasný počin :)
  • 0

#6 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 21 srpen 2008 - 19:17

jasne, posli mi to na email. (mam ho tu v profilu...)
  • 0

#7 Qnik

Qnik

    Advanced Member

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

Publikováno 22 srpen 2008 - 6:14

Jestli se můžu zeptat, jakým způsobem se cpe takovýto výstup do IGO8?
  • 0
60CSx + Galaxy Ace + A:Drake*****/c:geo

Vložený obrázek

#8 pozorjed

pozorjed

    Advanced Member

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

Publikováno 22 srpen 2008 - 6:25

tento polotovar je ještě nutné zkonvertovat do Unicode, já to proženu UltraEditem (http://www.ultraedit.com/), a pak jen nahraju do adresáře iGO8\save\ (viz. první příspěvek). V iGo v sekci Správa - POI - si zapnu kategorie GC (viditelnost satelitní = 25 km), kategorie GcWp (viditelnost Střední = 1km). Mám to tak z důvodu, když jedu neznámou oblastí. A pak mám nachystané soubory pro BeeLine na dohledání.
  • 0

#9 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 22 srpen 2008 - 12:14

Tak od pristi verzicky (patrne jeste dnes...) muzes v skriptech pouzit nove dve funkce:

function UtfToCharset(const value, charset: string): string;
Prevadi kodovani z UTF-8 (ve kterem jsou servirovany data...) do libovolne jine kodove stranky. Cilove kodovani se udava jako retezec s jeho nazvem, tedy napriklad:

UCS-2 (pro dvoubajtov unicode), UTF-16, ISO-8859-2, Widnows-1250, BIG-5, a dalsi... Nazvy kodovani se zadavaji pochopitelne v apostrofech.

Dalsi nova funkce:
function UnicodeBOM(const charset: string): string;
Pro stejne zadane kodovani vraci BOM (byte order mark). To je dobre davat na uplny zacatek exportovaneho souboru, tedy na zacatek v ExportHeader. Pokud pouzite kodovani nepotrebuje zadne BOM, pak tato funkce vraci prazdny retezec.

No, a diky temto novym funkcim je mozne ve skriptech generovat vystup v naprosto libovolnem myslitelnem kodovani! Pokud je to ale mozne, stale doporucuji pouzivat dosavadni prevodni funkce, jsou totiz mnohem rychlejsi.

  • 0

#10 pozorjed

pozorjed

    Advanced Member

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

Publikováno 22 srpen 2008 - 12:28

dík za rychlou reakci, nová verze bude ještě v řadě 1.2.xx nebo jen 2.aaaa ? už se těším, až to vyzkouším. jestli to bude fungovat, tak k tomu popíšu nějaký help :)
  • 0

#11 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 22 srpen 2008 - 12:44

pracuji uz jen na rade 2.x.
  • 0

#12 Qnik

Qnik

    Advanced Member

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

Publikováno 22 srpen 2008 - 12:49

Prevedeni puvodniho skriptu pro GG2 neni zadny problem...skoro to udela za tebe, jen u wpt budes mit drobatko prace. Ja jsem se toho clekem bál, protože export pro 60CSx mám celkem dost dlouhej (možná i zbytečně) ale byla to otázka 5ti minut.
  • 0
60CSx + Galaxy Ace + A:Drake*****/c:geo

Vložený obrázek

#13 pozorjed

pozorjed

    Advanced Member

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

Publikováno 22 srpen 2008 - 12:55

stáhnu si o víkendu opravenou verzi 2, zkusím převod z 1.2.10.299 a pak i nové funkce ve skriptu. jinak mám uloženo kolem 19000 bodů, tak vyzkouším i rychlost ;)
  • 0

#14 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 22 srpen 2008 - 13:02

Qnik napsal/a:
Prevedeni puvodniho skriptu pro GG2 neni zadny problem...skoro to udela za tebe, jen u wpt budes mit drobatko prace. Ja jsem se toho clekem bál, protože export pro 60CSx mám celkem dost dlouhej (možná i zbytečně) ale byla to otázka 5ti minut.


Tak to jsem rad, ze prevod skriptu nedela vyraznejsi obtize. ;)
  • 0

#15 medwyn_cz

medwyn_cz

    Advanced Member

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

Publikováno 24 srpen 2008 - 12:42

Ja teda nevim - ale v iGO8 mi funguje export do KML a naprosto bez problemu. Staci vyexportovat a hodit do iGO/content/userdata/poi
  • 0

#16 pozorjed

pozorjed

    Advanced Member

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

Publikováno 26 srpen 2008 - 12:33

tak po 2 dnech snažení se mi stále nedaří přepsat skript do verze 2, syntaxe je si OK. ale chybu "List index out of bounds (1)" nějak nedokážu dešifrovat. Prozatím odkládám přepis skriptu do nové verze, až někdy bude čas.
  • 0

#17 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 26 srpen 2008 - 12:51

To znamena, ze se snazis pristupovat na prvek s indexem 1, ktery ale v seznamu neni. podivej se, jestli tam nekde cyklem neprochazis nejaky seznam (treba seznam waypointu), a jestli u horni hranice mas 'count' snizeny o jednicku. vtip je v tom, ze Count vraci pocet prvku, ale prvky jsou indexovany od nuly. takze chces-li je projit, musis jit od 0 do count - 1.
  • 0

#18 pozorjed

pozorjed

    Advanced Member

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

Publikováno 26 srpen 2008 - 13:07

to je možné, holt jsem si myslel, že když 2 dny studuji již hotové příklady, vypotím skript pro verzi 1, tak půjde jednoduše přepsat do verze 2, byl bych rád, kdyby se našel někdo, kdo to zvládne :), dík
  • 0

#19 HaLuMa

HaLuMa

    Autor Geogetu

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

Publikováno 26 srpen 2008 - 13:09

No, zrovna tohle v tech prikladech zcela urcite je, je to i na webu.
  • 0

#20 pozorjed

pozorjed

    Advanced Member

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

Publikováno 26 srpen 2008 - 13:11

věřím, četl jsem, zkoušel jsem, teď zase stojím na chybě "out of memory", nemám na to. Nic, jdu si vytisknout podklady do papírové podoby a hledat s ručním zadáváním do navigace.
  • 0




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

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

Reklama