#/bin/perl # マップカッター(garmap形式の出力)からdoc.kmlと"files"フォルダに地図画像(JPEG)を作成 # $dir = "files"; $iext = "png"; $oext = "jpg"; open(IN, "){ chop; $line[$n++] = $_; } close(IN); $nx = $line[3]; $ny = $line[4]; # $no = $nx * $ny; $ido1 = $line[5]; $kei1 = $line[6]; $ido2 = $line[7]; $kei2 = $line[8]; $x = $line[9]; $y = $line[10]; $dkei = $kei2 - $kei1; $dido = $ido2 - $ido1; $ddkei = $dkei / $nx; $ddido = $dido / $ny; open(OUT, ">doc.kml"); printf OUT ''; print OUT "\n"; printf OUT ''; print OUT "\n"; $no = 0; for ( $iy=0; $iy<$ny; $iy++ ){ for ( $ix=0; $ix<$nx; $ix++ ){ $x1 = $kei1 + $ddkei*$ix; $y1 = $ido1 + $ddido*$iy; $x2 = $kei1 + $ddkei*($ix+1); $y2 = $ido1 + $ddido*($iy+1); printf OUT "\n"; printf OUT " %d\n", ($iy*$nx+$ix); printf OUT " \n"; printf OUT " %s/%d.%s\n", $dir, ($iy*$nx+$ix), $oext; printf OUT " 1.00\n"; printf OUT " \n"; printf OUT " \n"; printf OUT " %f\n", $y1; printf OUT " %f\n", $y2; printf OUT " %f\n", $x2; printf OUT " %f\n", $x1; printf OUT " \n"; printf OUT "\n"; } } printf OUT "\n"; close(OUT); (-d $dir) ? `del $dir\\*.jpg`: (mkdir $dir); open(OUT, ">make.bat"); $no = 0; for ( $iy=0; $iy<$ny; $iy++ ){ for ( $ix=0; $ix<$nx; $ix++ ){ printf OUT "convert %s.%s %s\\%s.%s\n", $no, $iext, $dir, $no, $oext; $no++; } } print OUT "cd ..\n\n"; close(OUT); `make`;