Freemap Hacking Weekend #1
Cez víkend 4-5. júl 2009 sa uskutočnilo v Ivanke pri Dunaji prvé pracovné stretnutie vývojárov mapového portálu Freemap Slovakia.Zúčastnili sa tradične NiCK s Dodim. Catering zabezpečovala Evka. Na pláne bolo viacero úloh.
Vyladili sme definície na nové vrstevnice po z16. Ich výpočet sme pustili na pomocnom servery. Pretože sú veľmi náročné na výkon, dokončenie výpočtu sa predpokladá v najbližších týždňoch.
Export Treekbuddy máp bol modifikovaný, aby používal kalibračný súbor OZI a nie GMI. Pri veľkých oblastiach bolo zameranie aktuálnej pozície nepresné, pretože GMI nepodporuje mercator projekciu.
Najviac energie nám zabralo napísanie úplne nových importných skriptov. Niektoré časti importov bežali na Dodiho domácom servery. Patrilo sem:
* Parsovanie slovakia.osm a naplnenie tabuliek Nodes, Ways, Relations (existuje nástroj osm2pgsql, neviem nakoľko je na toto použiteľný)
* Vybudovanie tabuľky POI
* Presun serverovej časti DiSK na server Felix, ktorá riadi distrubuované renderovanie mapy
* Presmerovanie portálovej mapy Freemap na nové tabuľky Nodes, Way, Relations, POI
* Vybudovanie tabuľky POI
* Presun serverovej časti DiSK na server Felix, ktorá riadi distrubuované renderovanie mapy
* Presmerovanie portálovej mapy Freemap na nové tabuľky Nodes, Way, Relations, POI
Celý process bol zautomatizovaný, aby si priamo server Felix sťahoval denné prírastky zo servera OpenStreetMap, následne ich spracoval a naplnil naše tabuľky, budoval POI. Tento process sa bude ešte nejaký čas ladiť. Server DiSK používa na prihlásenie užívateľa rovnaký email a heslo, aký má do portálu Freemap. Staré kontá ešte musíme zlúčiť.
Okrem programovania, sme viedli diskusie v niekoľkých témach. Jednou z nich bola príprava novej vrstvy, ktorá by zobrazila trasy MHD liniek, ktoré sa ukladajú do OSM databázy cez relácie. Momentálne je nimi pokrytá len mapa Bratislavy (dáta sú aj v Žiline). Zaoberali sme sa technickou realizáciou, pretože renderovanie relácií dodnes nie je podporované. Využíval by sa DiSK client a server pri previedol relácie na bežné tagy.
Ďalšou témou bolo využitie jednoduchých meteostaníc, ktoré by zbierali základné údaje o počasí v rôznych lokalitách Slovenska. HW by bol nenáročný, lacný, založený na procesore PIC, pripájal by sa na RS232, RS485 cez PC, alebo cez prevodník priamo na internet. V základnej výbave by boli snímače teploty, tlaku, vlhkosti. Príp. voliteľne senzor osvetlenia, rýchlost a smer vetra. Pravdepodobne by sme použili alebo rozšírili existujúcu technológiu http://www.jakjevenku.info. Server Freemap by zabezpečil zbieranie a históriu dát. Tie by mohli byť verejné napr. pre študentské projekty - analýzy a predpovede počasia.
Pomerne veľḱú časť diskusií zabral brainstorming ohľadom zvládania stále rastúcich nárokov na diskové kapacity a výkony procesorov v našich podmienkach. Ani nie z dôvodu dopĺňania dát, alebo návštevnosti, ale pribúdania nových funkcií a vylepšení. Výkon existujúceho servera Felix je možné rožšíriť pridaním daľšieho procesora XEON, ale skôr sme zvažovali nárast diskovej kapacity, ktorá akútne dochádza. Namiesto výmeny drahých SCSI diskov, sme premýšlali nad kombináciou PCI-X 64 SATA radič a 2x1GB SATA disk v RAID0. V tomto pripade by sme žial museli vybrať SCSI disky, kapacita by vzrástla z cca 80-90 GB SCSI na 2TB. Menej reálnymi možnosťami bol nákup ďaľšieho servera, alebo vytvorenie 1U servera - kde by sa do prázdnej 1U krabice dalo viacero normálnych dosiek (postavené bud na dualcore alebo atomoch).
Experimentálne sme vyvinuli funkciu desaturovania mapy. K nahliadnutiu je na http://dev.freemap.sk pri móde turistickej mapy, kedy sa pozaďie čiastočne odfarbí. Turistické trasy sú tak čitateľnejšie.
Robili sme zdĺhavý test na zmenu adresárovej štruktúry, v ktorej je vrstva uložená, metódou zniženia počtu záznamov v adresáry. Zmena zo súčastného z/x/y na z/x1/x2/x3/y1/y2/y3, pričom každý element adresára by tvorilo hex číslo po maximálne FF (256 záznamov). Sklamaním bolo, že takto rozdelené adresáre boli ešte o polovicu pomalšie.
Premenovali sme subdoménu http://mobile.freemap.sk na http://m.freemap.sk, kvôli jednoduchšiemu písaniu v mobiloch. Skúšali sme rozpracovaný prototyp nového prehliadača mapy http://m.freemap.sk/browserecma/ pre mobilné telefóny s využitím ECMA skriptu.
Pokúšali sme sa obnoviť prevádzku rektifikačného servera. Úplne sa to nepodarilo. Riešenie sme na odložili o pár dní, kým bude umiestnený pomocný server.
Pripravili sme obraz pre VirtualBox, v ktorom je linux a nainštalovaný DiSK client na renderovanie. Cieľom je dosiahnúť stav, aby aj neskúsený užívateľ mohol pomôcť pri renderovaní Slovenska. Pri nábehu VM by zadal prihlasovacie údaje na DiSK server a počet inštancií. Tento obraz ešte nie je úplne dokončený. Pomohol by aj deb/rpm balíček, ktorý by všetko urobil.
Rozpracované ostalo aj rozdelenie hlavnej vrstvy - na podklad "Landuse" a "Roads". Dokočenie potom umožní webu skladať prehladnejšiu/čitatelnejšiu mapu, pri ktorej napr. vrstevnice nebudu prekrývať cesty.
Prvý programovací víkend môžeme zhodnotiť ako veľmi úspešný. Veci, na ktorých sme popracovali sú prevažne návšteníkom skryté, ale posúvaju technológiu Freemap-u zas o kus ďalej.
Veľmi nám pomohol súvislý 2 dňový priestor a tímová práca. Niektoré úlohy by sa nám pri bežnom programovaní nepodarilo spraviť, kvôli ich extrémnej zložitosti.
Na záver snáď malé želanie: dúfame, že na ďalšom Freemap Hacking Weekend-e bude počet zúčastnených hakujúcich vačší ako dva :)