Właściwie to nie ma się czym chwalić, zajęło mi to cały wieczór a efektem jest 30 linijek kodu
Najpierw kombinowałem jak się dobrać do cvs, a nie znam tego systemu. Stwierdziłem, że żaden klient pod Windows nie obsługuje tego w wystarczająco prosty sposób, żebym potrafił skorzystać. Pod linuxem ściągnąłem coś z 1GB danych, zanim się zorientowałem, co trzeba wstawić pod enigmatyczne "UMP-PL-JakisRejon" z informacji w wiki. Rozwiązanie jest takie: trzeba ściągnąć gnu cvs pod Windows i wykonać takie komendy:
cvs -z5 -d:pserver:guest@cvs.ump.waw.pl/home/cvsroot checkout narzedzia
cvs -z5 -d:pserver:guest@cvs.ump.waw.pl/home/cvsroot checkout POLSKA
W gałęzi narzedzia\ikonki są ikony dla POI, skonwertowałem je na bmp 24bit. Także trochę przyciąłem, bo nie wiem, czy nuvi obsługuje większe niż 22x22.
Do generacji cvs zrobiłem taki prosty batch:
Kod: Zaznacz cały
@echo off
setlocal ENABLEEXTENSIONS
del /q ump_poi\%1\%1.csv
if not exist ump_poi\%1 md ump_poi\%1
for /R ..\CVS %%I in (*.pnt) do gawk -v kateg="%1" -f pnt2poi.awk %%I >> ump_poi\%1\%1.csv
endlocal
I taki prymitywny programik dla gawk:
Kod: Zaznacz cały
BEGIN {
FS = ",";
OFS = ",";
}
{
if (substr($1,1,1) != ";" && $7 == kateg) {
if ($4 == "") $4 = kateg;
opis = $6;
if ($5 != "") {
if (opis == "")
opis = $5
else
opis = opis " " $5;
}
if (opis != "") {
gsub(";", " ", opis);
print $2, $1, $4, opis;
}
else {
print $2, $1, $4;
}
}
}
Przykładowo, żeby dostać stacje benzynowe, wywołuje batch z parametrem BENZYNA. Trzeba pooglądać pliki *.pnt, żeby znaleźć, jakie są w nich kategorie, bo to chyba jedyna możliwość wyselekcjonowania właściwych POI. Potem trzeba znaleźć właściwą ikonę, wrzucić do podkatalogu kategorii i na koniec wszystko przetworzyć POILoaderem.
Tak patrzę, że batche do produkcji radarów wyglądają proście
