RIK + Scannader kartor på PPC ?

Jodå

Vissa förutsättningar krävs:
Kartex version 3. Version tre (3), inte 2 inte 4 inte 5 osv.
Lämpliga kartor, ärligt köpta förstås.
Oziexplorer och Img2ozf installerade.
(www.oziexplorer.com)
Auto-It version2 installerad. Ver 2, inte ver 3 !
(http://www.autoitscript.com/AutoIt/)
Perl installerat, t.ex. ActivePerl 5.6 eller 5.8.
(http://www.activestate.com)
Fem st filer vars innehåll listas i nästa inlägg:
kartex.pl, tab2map.bat, tab2map.pl, ozi.bat, ozi2.bat.

Gör så här:
Öppna Kartex och ladda kartan som ska exporteras.
Hitta X & Y koordinater för övre vänstra och nedre högra hörnet av den del av kartan som är intressant.
STÄNG INTE KARTEX!
Fyll i dessa värden, (xmin, ymax, xmax, ymin), i kartex.pl tillsammans med önskad storlek och överlapp.
Storleken begränsas av 10MB-gränsen i Kartex.
Lämpliga exempelvärden för röd,blå och grön karta finns i kartex.pl.
Ändra även fil- och katalognamn om så önskas.
Spara kartex.pl och kör scriptet genom att skriva "perl kartex.pl" i ett kommandofönster.
Nu skapas en fil "kartex.aut" som innehåller ett script för Auto-It.
Kör detta script, genom att välja "Execute an Auto-IT script" från startmenyn, eller genom att dubbelklicka på kartex.aut.
Auto-It kommer nu att "fjärrstyra" Kartex och spara en massa TIF- och TAB-filer i den katalog som specificerades i kartex.pl. Detta tar lååång tid.
OBS, RÖR INTE TANGENTBORD ELLER MUS MEDAN DETTA PÅGÅR!
Auto-It måste ha total kontroll, så bäst är att köra detta på natten, (eller när användarens sömnperiod annars infaller).

ZZZ

Godmorgon, nu ska det förhoppningsvis finnas ett gäng TIF- och TAB-filer.
TIF-filerna omvandlas till OZF-filer mha programmet img2ozf. Välj lämplig "Initial Resize", t.ex 100% eller 50% beroende på stora filer du vill ha. Om du är osäker välj 100%, det går att förminska filerna senare om så önskas.

TAB-filerna omvandlas till MAP-filer mha tab2map.bat och tab2map.pl.
Kopiera dessa två filer till den katalog där TAB-filerna finns och kör tab2map.bat som i sin tur kör tab2map.pl.
Om du valde en annan "Initial Resize" än 100% måste du ge en extra parameter till tab2map.bat. För 50%kör "tab2map.bat 2", för 25% kör "tab2map.bat 4" osv.
Nu skapas en MAP-fil för varje TAB-fil. Dessa MAP-filer är inte kompletta, de måste laddas in i Oziexplorer och sparas igen, då fyller Ozi i det som saknas. Detta vill man naturligtvis inte göra manuellt, därför finns ozi.bat och ozi2.bat.
Kopiera dessa två filer till den katalog där MAP-filerna finns och kör ozi.bat som i sin tur kör ozi2.bat. Då skapas filen ozi.aut som är ännu ett script för Auto-It.
Starta Oziexplorer och ladda in en av MAP-filerna.
Klicka OK i klagorutan som dyker upp och spara sedan kartan, OK till att skriva över filen.
(Detta för att rätt katalog ska vara förvald för att ladda/spara kartor).
Starta sedan ozi.aut på samma sätt som beskrevs för kartex.aut tidigare. Nu har du fem sekunder på dig att växla tillbaks till Oziexplorer.
Rör sedan inte tangentbord/mus medan scriptet körs.

När detta är klart kan TAB- och TIF-filerna raderas om så önskas, MAP- och OZF-filerna är klara att användas i OziExplorer eller OziExplorerCE.
Om du vill ha filerna i flera storlekar, t.ex 100% för PC och 50% för PDA kan du köra img2ozf på 100%-filerna med "Initial Resize" = 50% och rutan "Make a Copy of the Map File" ikryssad.
[Ändrat av andershz 2004-09-01 kl 22:59]
 
Filer

Här är de fem filerna till mitt föregående inlägg.
Raderna som börjar med ******** ingår INTE i själva filerna!


******** kartex.pl *************************************************************************************************************

#!/bin/perl -w

### Exempel ###

# Röda kartan
#$xmin = 6130000;
#$ymax = 1882000;
#$xmax = 7671000;
#$ymin = 1220000;
#$xsize = 79000;
#$ysize = 79000;

# Blå kartan Svealand
#$xmin = 6480060;
#$ymax = 1706000;
#$xmax = 6799900;
#$ymin = 1228400;
#$xsize = 10000;
#$ysize = 10000;

# Gröna kartan AB län
#$ymax = 1700000;
#$xmin = 6500036;
#$xmax = 6700000;
#$ymin = 1575000;
#$xsize = 15000;
#$ysize = 15000;

### Ändra parametrarna nedan efter smak ####################################################################

$xmin = 6480060; # Koordinater för
$ymax = 1706000; # sydöstra hörnet.

$xmax = 6799900; # Koordinater för
$ymin = 1228400; # nordvästra hörnet.

$xsize = 10000; # TIF-filens storlek i nord-syd riktning, (i meter).
$ysize = 10000; # TIF-filens storlek i öst-väst riktning, (i meter).

$overlap = 1000; # Överlapp mellan TIF-filer, (i meter).
$autfile = "kartex.aut"; # Var aut-scriptet ska sparas.
$outdir = "C:/Temp"; # Var TIF-filerna ska sparas. Ja, det ska vara /

### Rör inget här nedanför ################################################################################

die "$outdir finns inte\n" unless -d $outdir;
open F, ">$autfile" or die " $!\n";
print F "WinActivate,Kartex\n";

$x = 0;
for ( $x1 = $xmax; $x1 >= $xmin; $x1 -= ($xsize - $overlap) ) {
$x++;
$y = 0;
$x2 = $x1 - $xsize;
$x1 = $xmin if $x1 < $xmin;
$x2 = $xmin if $x2 < $xmin;

for ( $y1 = $ymin; $y1 <= $ymax; $y1 += ($ysize - $overlap) ) {
$y++;
$y2 = $y1 + $ysize;
$y1 = $ymax if $y1 > $ymax;
$y2 = $ymax if $y2 > $ymax;
$name = sprintf( "%04d%04d", $x, $y);
aut_file( $x1, $x2, $y1, $y2, $name);
}
}

print F "Exit\n";
print F "sub:\n";
print F "LeftClick,340,187\n";
print F "Send,{ENTER}\n";
print F "Sleep,500\n";
print F "Send,{ENTER}\n";
print F "WinWaitActive,Välj referenssystem\n";
print F "Sleep,500\n";
print F "Send,{ENTER}\n";
print F "Sleep,2000\n";
print F "Return\n";
close F;

sub aut_file
{
my ($x1,$x2,$y1,$y2,$name) = @_;
print F "Send,!RM{TAB}\n";
print F "Send,",$x1,"{TAB}\n";
print F "Send,",$y1,"{TAB}\n";
print F "Send,",$x2,"{TAB}\n";
print F "Send,",$y2,"{ENTER}\n";
print F "Send,!RF{TAB}{TAB}\n";
print F "Send,$outdir/$name.tif\n";
print F "Gosub,sub\n";
}

******** Slut på kartex.pl ***************************************************************************************************

******** tab2map.pl ************************************************************************************************************

#!/bin/perl -w
my $map = shift or die "Fil ?\n"; # TAB-fil
my $MSF = shift || 1; # Map Scale Factor, 1=100%, 2=50%, etc.
die "Skum MSF\n" unless $MSF =~ /^[1-9]\d*$/;
$MSF = ($MSF == 1) ? "Reserved 1" : "MSF,$MSF";

$map =~ s/\.tab$//i;
open TAB, "$map.tab" or die "$!\n";
while ( <TAB> ) {
if ( /^\s*\((\d+)\.\d+,(\d+).\d+\)\((\d+)\.\d+,(\d+).\d+\) Label "Pt(\d)"/ ) {
$X[$5]=$1;
$Y[$5]=$2;
$x[$5]=$3;
$y[$5]=$4;
}
}
close TAB;

open MAP, ">$map.map" or die "$!\n";
select MAP;
print <<END;
OziExplorer Map Data File Version 2.1
$map
$map.ozf2
1 TIFF scale factor
RT 90,WGS 84, 0.0000, 0.0000,WGS 84
$MSF
Reserved 2
Magnetic Variation,,,E
Map Projection,(SG) Swedish Grid,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No
Point01,xy,$x[1],$y[1],in, deg, , ,N, , ,E, grid, ,$X[1],$Y[1],N
Point02,xy,$x[2],$y[2],in, deg, , ,N, , ,E, grid, ,$X[2],$Y[2],N
Point03,xy,$x[3],$y[3],in, deg, , ,N, , ,E, grid, ,$X[3],$Y[3],N
Projection Setup,,,,,,,,,,
Map Feature = MF ; Map Comment = MC These follow if they exist
Track File = TF These follow if they exist
Moving Map Parameters = MM? These follow if they exist
MM0,Yes
MMPNUM,4
MM1B,0.0
MOP,Map Open Position,0,0
END
close MAP;

******** Slut på tab2map.pl ****************************************************************************************************

******** tab2map.bat ***********************************************************************************************************

@for %%f in (*.tab) do @perl tab2map.pl %%f %1

******** Slut på tab2map.bat ****************************************************************************************************

******** ozi.bat *****************************************************************************************************************

@echo off
echo Sleep,5000 >ozi.aut
for %%f in (*.map) do call ozi2.bat %%f

******** Slut på ozi.bat ***********************************************************************************************************

******** ozi2.bat *****************************************************************************************************************

@echo off
echo Send,!F{ENTER}{ENTER} >>ozi.aut
echo Send,%1{ENTER} >>ozi.aut
echo Sleep,500 >>ozi.aut
echo send,{ENTER} >>ozi.aut
echo Send,!FS{ENTER}{ENTER}{ENTER} >>ozi.aut
echo Sleep,500 >>ozi.aut
echo Send,Y >>ozi.aut
echo Sleep,1000 >>ozi.aut

******** Slut på ozi2.bat ***********************************************************************************************************


[Ändrat av andershz 2004-09-01 kl 23:02]
 
Månadens produkt: Trangia Nest
De nya tallrikarna, skålarna och muggarna packas smidigt och kompakt ihop med Trangias klassiska kök. Ta chansen att vinna och testa serien!

Lästips

Upptäck

Alltid
gratis!
Bli medlem!

Var med i Sveriges största outdoor-community och få Månadens Utsidan.