mapweaver/mwDir.pl

120 lines
2.8 KiB
Perl
Executable File

use strict;
use warnings;
use OSM::osm 8.3;
my $version = "1.00";
my $streetFileName;
my $poiFileName;
my $pdfFileName;
my $texFileName;
my $titleText;
my $numColumns;
my $streetFile;
my $poiFile;
my $texFile;
($streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns)= @ARGV;
print "mwDir.pl: $streetFileName, $poiFileName, $titleText, $pdfFileName, $numColumns\n";
$texFileName = $pdfFileName;
$texFileName =~ s/.pdf/.tex/;
open($texFile, ">", $texFileName)or die("can't open tex output file");
print $texFile "\\documentclass[a4paper,12pt]{book}\n";
print $texFile "\\usepackage{multicol}\n";
print $texFile "\\usepackage[utf8]{inputenc}\n";
print $texFile "\\usepackage[top=2.5cm,bottom=2cm,left=3cm,right=2cm]{geometry}\n";
print $texFile "\\columnsep7mm\n";
print $texFile "\\begin{document}\n";
print $texFile "\\section*{$titleText}\n";
print $texFile "\n";
print $texFile "\\tiny\n";
print $texFile "Data CC-BY-SA www.openstreetmap.org\n";
print $texFile "\\normalsize\n\n";
# streets
if($streetFileName ne "none"){
my $result = open($streetFile, "<", $streetFileName);
if($result){
my $line;
print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Streets}]\n";
print $texFile "\\tiny\n";
while($line = <$streetFile>){
$line = convertToLatex($line);
my(@entry)= split /\t/, $line;
print $texFile $entry[0];
print $texFile " \\dotfill ";
print $texFile $entry[1], " \\\\\n";
}
close($streetFile);
print $texFile "\\normalsize\n";
print $texFile "\\end{multicols}\n";
}
else{
print "WARNING: street file $streetFile could not be opened.";
}
}
# POIs
if($poiFileName ne "none"){
my $result = open($poiFile, "<", $poiFileName);
if($result){
my $line;
print $texFile "\\begin{multicols}{$numColumns}[\\subsubsection*{Points of interest}]\n";
print $texFile "\\tiny\n";
while($line = <$poiFile>){
$line = convertToLatex($line);
my @entry = split /\t/, $line;
print $texFile $entry[0];
print $texFile " \\dotfill ";
print $texFile $entry[1], "\\\\\n";
}
close($poiFile);
print $texFile "\\normalsize\n";
print $texFile "\\end{multicols}\n";
}
else{
print "WARNING: POI file $poiFile could not be opened.";
}
}
print $texFile "\\end{document}\n";
close($texFile);
print "directory tex file created.\n";
my $dviFileName = $pdfFileName;
$dviFileName =~ s/.pdf/.dvi/;
my $psFileName = $pdfFileName;
$psFileName =~ s/.pdf/.ps/;
`latex $texFileName`;
print "directory dvi file created.\n";
`dvips -D600 $dviFileName -o`;
print "directory ps file created.\n";
`ps2pdf $psFileName $pdfFileName`;
print "directory pdf file created.\n";
`rm *.dvi`;
`rm *.tex`;
`rm *.ps`;
`rm *.aux`;
`rm *.log`;
print "directory FINISHED.\n";