Podarilo se mi dat dohromady slepou mapicku okresu (puvodne jsem chtel pouzit tu od MIA, ale tam chybi jeden okres - tusim Jesenik). Koukal jsem take na tohle makro: http://gsak.net/board/index.php?showtopic=8842&st=0&#entry58820, ktere by nejspis slo v GSAKu pouzit, ale je pravdou, ze se v tom prilis nevyznam. Kdyby se nekomu podarilo vymyslet jak mapu "vyplnit", bylo by to bezva
Dobrá práce. Ale musím nahlásit malou chybičku. Při spuštění makra FindStatGen vyskočí přiložená hláška. V mém profilu je vidět, že jde o kraj Královehradecký. Nevyznačí se v něm nálezy i když na tečkové mapě je vidět, že tam jsou. Napadá někoho jak to opravit?
PolygonCZ3 pouziva jako zdroj souradnic externi soubory a do kolonky State prirazuje nazev kraje podle jmena prislusneho souboru s polygonem. Pokud byl ve verzi 2 kraj bez diakritiky (a ja si myslim ze byl), pak ve verzi 3 je s diakritikou. (Ja pouzivam jeste modifikovane makro, takze prvni co jsem udelal bylo prejmenovani souboru s polygony na nazvy bez hacku a carek).
Ve vztahu na FSG se musi jeste nazvy kraju shodovat s nazvy v konfiguracnim souboru mapy.
Opravil jsem název souboru s polygonem, takže by to už ve FSG nemělo dělat problémy. Před novým spuštěním by se ale mělo pole county vynulovat přes global replace (a raději jen ty v ČR, včera jsem to vesele prováděl nad celou databází. Zahraničních tam naštěstí moc nemám )
PS: ona nezařazená keška je [cache]GCJQVY[/cache]. Má prohozené souřadnice, takže vychází někam do moře pod Jemenem (obtížnost 5/5?)
EDIT: jak teď koukám, tak správný název Královéhradeckého je s dlouhým é. Opravit proto FindStatGenMapCzech.dat, nebo se dál držet už delší dobu používaného překlepu?
POkud je správný název kraje Královéhradecký tak je třeba opravit FindStatGenMapCzech.dat.
Ještě k tvému makru, doporučuji upravit definici filtru na : MFilter Expression=(($d_State="Nil") And ($d_Country="Czech Republic"))
Nemá cenu se zabývat políčkem County, protože to je přepsáno VŽDY, viz parametr volané funkce $data = GetPolygon("y",$CestaOkresy) (je tam pouze y, který znamená přepsání informace v poli County). Tento filtr má za cíl pouze přepsat informaci Nil na prázdné pole, neboť funkce GetPolygon neumí rozeznat jako prázdný Nil (narozdíl od fukce GetState).
A ještě k optimalizaci rychlosti, je rychlejší použít fci Replace než využívat tuto rutinu:
SHOWSTATUS Msg=State NIL! Display=On
Goto Position=Top
While Not ($_EOL)
$d_State = ""
Goto Position=Next
ENDWHILE
Goto Position=Top
s použitím této rutiny mi přepsání všech Nil v celé ČR trvá na mém notebooku 45s.
S využitím Replace je to to 8s. Je třeba si ale pod GlobalReplace nastavit a uložit takto:
Zvolte pod database GlobalReplace
Replace State With vše vymažte
Ulkozte nastavení jako NulujState
v makru poté vymažte výše uvedenou rutinu a pod definici filtru doplňte toto: Replace Settings="NulujState"
Tato část makra tedy pak vypadá takto:
......
$CestaKraje=$_Install + "\Macros\polygony\cz_kraje\*.*"
MFilter Expression=(($d_State="Nil") And ($d_Country="Czech Republic"))
IF $_FilterCount > 0
Replace Settings="NulujState"
ENDIF
#s = state (kraj)
......
Makro tak jak ho používám já je v příloze příspěvku…
Nezapomeňte na uložení nastavení GlobalReplace, jinak makro nebude fungovat.
Nesmis aplikovat GR na COUNTRY. Tim sis smazal "Czech Republic", a to je nejspis ten problem. GR pouzij jen na STATE, pripadne COUNTY. Tato pole ti makro pak znovu priradi.
Napravit to lze bud stazenim nove PQ, nebo znovu pouzitim GR na pole COUNTRY a znovu vlozit Czech Republic.
EDIT: delší dobu mi makro běží jen při prvním spuštění (nebo po předchozím vynulování state a county). Při přihrání nových kešek to je otázka pár vteřin, takže ukládání global replace mi tak výhodné nepřijde
Aha diky, to bylo ono, ted se zda ze to funguje. Pokud si vyberu filtr treba okres Plzen-sever tak se kesky zobrazi spravne. Jeste by me zajimalo, zda se ten okres ma zobrazit primo u kese, tak jako treba je v policku USER DATA2 -plzensky kraj. Tam se mi nic nezobrazuje a i kraje jsem musel doplnit starym makrem Nastav Kraje.
UserData2 jsem vyuzival pouze pro "pracovni ucely". Ted to jiz nemá smysl…
To rsc_cz: No vis ja patrim "exoty" kteri maji jednou tydne v GSAKu celou CR, tak to pro me vyznam ma. Pokud bych to aplikoval jen na par novych tak to vyznam nema, ale na 10000 to je jiz znat…
Sloupce zobrazene mam, bozuhel ale prazdne Nevim co jsem udelal spatne.
Do ciste default databaze jsem nahral PQ my finds.
Replace state nam nastaveno podle obrazku a smazalo to vsechny NIL v polickach.
Spustim makro PolygonCZ vyskoci hlaska : nasledujici kese nebyly prirazeny.
State a County zustanou vsede prazdna.
Vybrat filtr podle okresu jde a funguje, kesky tridi podle okresu spravne.
EDIT: vysereno, mel jsem spatne cestu na poligony v GSAKu \Macros\polygony\cz_kraje\ chybelo mi tam polygony
Problem je ted s keskami v Nemecku, FindStatGen pise : You Have unrecognized Germany state name in databaze. Koukam, ze treba GC1C1CH nebo GC18XXG maji Country Germany , State :ustecky a County Chomutov. Takze jsem je musel editovat rucne na State : Sachsen, ted je to ok.