\documentclass{article} \usepackage[T1]{fontenc}% \usepackage[latin1]{inputenc}% \usepackage{lmodern} \usepackage{listings} \lstset{basicstyle=\small\ttfamily} \usepackage{pstricks,url,graphicx,lscape} \usepackage[francais]{babel} \usepackage{pst-map2dII} \usepackage{ragged2e,xspace} \def\PST{\texttt{PSTricks}\xspace} \def\PS{\texttt{PostScript}\xspace} \definecolor{ocean}{rgb}{0.5,0.8,0.8} \title{The \PstMapIIPackage{} package\\A PSTricks package for Geographical Projections} \author{Manuel \textsc{Luque} \mbox{\texttt{}}\\ \and Giuseppe \textsc{Matarazzo} \mbox{\texttt{}}% \and Herbert \textsc{Voss} \mbox{\texttt{}}} \date{Version 0.71\\ May 9th, 2004} \newcommand{\PstMapIIPackage}{`\textsf{pst-map2dII}'} \newcommand\Parameter[1]{\colorbox{black}{\textcolor{white}{#1}}} %------------------------ hv -------------------------- \psset{linewidth=0.2\pslinewidth,level=50,path=../dataII} %------------------------ hv -------------------------- \begin{document} \maketitle \begin{abstract} Dans la continuité de \textsf{pst-map2d}, cette solution se propose d'utiliser la base de données géographiques : \textsf{CIA World DataBank II}, que l'on trouvera sur \url{http://www.evl.uic.edu/pape/data/WDB/}. On récupérera sur ce site toutes les données qui pèsent, compressées au format \textsf{tgz}, 30~Mo et 121~Mo une fois décompactées. Cela donne une finesse de tracé exceptionnelle, qui évidemment ne peut-être appréciée, non pas sur l'écran, mais à l'impression, si possible avec une imprimante laser ! \'Evidemment le temps de calcul est proportionnel à la taille des données à traiter. Cependant des options permettent de choisir la représentation d'un continent ou plusieurs. Un ordinateur puissant avec beaucoup de mémoire vive est donc souhaitable. \begin{center} \begin{postscript} \psset{xunit=5,yunit=5} \psframebox[framesep=0pt,linewidth=0.2mm,doubleline=true]{% \begin{pspicture}*(-0.5,1.70)(1.5,3)% \WorldMapII[africa=true,increment=2] \end{pspicture}} \end{postscript} \end{center} \end{abstract} \tableofcontents \section{La mise en forme des données} La mise en forme des données a été effectuée (\textsf{wdbII.zip}) sur : \url{http://melusine.eu.org/syracuse/mluque/mappemonde/}. Si vous souhaitez le faire vous-même, voici quelques indications. Pour faciliter le travail de PostScript et diminuer le temps de calcul les données europe-cil.txt etc. doivent être très légèrement adaptées avec un éditeur de texte acceptant les fichiers lourds. Tous les lignes \textsf{segment ...} doivent être remplacées par : \textsf{][\% segment...}. Pour la clarté, si l'éditeur le permet on insérera un saut de ligne entre les deux crochets \textsf{] [}. On modifiera le début et la fin du fichier ainsi obtenu plaçant au début, à la place du premier crochet~] : \textsf{/europe-cil [} et à la fin, on rajoutera : \textsf{] ] def}. Cet exemple valable pour le fichier \textsf{europe-cil.txt} doit être répété et adapté en modifiant les noms à tous les autres fichiers. Giuseppe Matarazzo a mis au point un programme permettant de faire ce travail automatiquement, il fait partie de la distribution. Cependant le travail ne s'arrête pas là ! La structure des données des fichiers \textsf{asia-cil}, \textsf{asia-riv} et \textsf{samer-cil} pose problème. Commençons par le fichier qui donne le plus de soucis : \textsf{asia-cil}. Avec un votre éditeur de textes rechercher puis supprimez les segments : \begin{itemize} \item segment 7925 à segment 7957 \item segment 7966 \item segment 7968 à segment 7986 \item segment 8377 \item segment 8638 à segment 8641 \item segment 8645 à segment 8650 \item segment 8645 à segment 8650 \item segments 15 à segment 123 \end{itemize} Exemple : on supprimera [ segment 7925 \ldots ] d'un crochet à l'autre, crochets compris. Ces parties manquantes sont remplacées par le fichier \textsf{asia-isl.dat} qui est la concaténation des précédents. Pour le fichier \textsf{samer-cil}, supprimez de même les segments : \begin{itemize} \item segment 2166 \item segment 1948 \end{itemize} Ils seront remplacés par le fichier \textsf{samer-arc} : voilà vous êtes arrivés au bout de vos peines ! Si vous n'avez pas lu le fichier \verb+A LIRE+, la compilation a du mal se passer. Il faut en effet indiquer le chemin des données dans la variable \verb+path+. Cette variable contient le chemin des données sur mon disque dur : \verb+path=data+ Il faut donc avant le \verb+\begin{document}+, indiquer celui qui correspond à votre configuration avec une commande du type : \verb+\psset{path=data}+ ou bien le modifier directement dans le fichier \verb+pst-mapII.tex+. \section{Les options} \subsection{Les différents types de projections} Ils sont ceux vus avec \textsf{pst-map2d} ; ici il n'y a qu'un seul niveau de détail : donc pas de choix possible. \begin{center} \renewcommand\arraystretch{2} \begin{tabular}{|l|c|}\hline \Parameter{type=1}& Mercator\\ \hline \Parameter{type=2} & Lambert\\ \hline \Parameter{type=3} & simple\\ \hline \Parameter{type=4} & Sanson-Flamsteed\\ \hline \Parameter{type=5} & cylindrical\\ \hline \Parameter{type=6} & Babinet\\ \hline \end{tabular} \end{center} \subsection{Les options} Les options se résument ici aux choix des continents et aux fleuves ainsi qu'au dessin ou non des parallèles et méridiens. Par défaut tous les continents et fleuves sont tracés. \begin{itemize} \item \Parameter{europe=false} : l'Europe n'est pas dessinée. \item \Parameter{africa=false} : l'Afrique n'est pas dessinée. \item \Parameter{asia=false} : l'Asie n'est pas dessinée. \item \Parameter{namer=false} : l'Amérique du Nord n'est pas dessinée. \item \Parameter{samer=false} : l'Amérique du Sud n'est pas dessinée. \item \Parameter{rivers=false} : les rivières ne sont pas dessinées. \item \Parameter{borders=false} : les frontières ne sont pas tracées. \item \Parameter{city=false} : les villes ne sont pas placées. Si \Parameter{city=true} : les capitales et les villes sont placées (sans le nom). \item \Parameter{capital=true} : les capitales sont seules indiquées. \item \Parameter{maillage=false} : les parallèles et méridiens ne sont pas tracés. \item \Parameter{increment=10} : est la valeur par défaut, en degrés, de l'écart angulaire entre deux méridiens ou parallèles. On pourra donc fixer une valeur plus petite dans le cas d'un zoom. \item \Parameter{ilimiteL=180} : est la valeur absolue par défaut, en degrés, de la longitude $(\pm 180)$. \end{itemize} \section{Le mode d'emploi} \textbf{J'ai désactivé le tracé des fleuves et des frontières avec les options :} \begin{verbatim} rivers=false,borders=false \end{verbatim} \textbf{Afin d'accélérer l'affichage. Libre à vous des les activer en les plaçant à \texttt{true}} \subsection{Mercator} Le script suivant dessine la projection de Mercator (qui est le type par défaut), en mode paysage : \begin{verbatim} \hbox{\hspace{-3cm}% \begin{pspicture}*(-9,-9)(9,10) \rput{90}(0,0){\WorldMapII[all=true,level=75]} \end{pspicture}} \end{verbatim} \makebox[\textwidth]{% \begin{postscript} \begin{pspicture*}(-9,-9)(9,10) \rput{90}(0,0){\WorldMapII[all=true,rivers=false,borders=false,linewidth=0.1\pslinewidth,level=75]} \end{pspicture*} \end{postscript} } \subsection{Projection de Lambert} \begin{verbatim} \begin{pspicture*}(-9,-5)(9,5) \WorldMapII[type=2,all=true] \end{pspicture*} \end{verbatim} \makebox[\textwidth]{% \begin{postscript} \psset{xunit=0.75,yunit=0.75} \begin{pspicture}(-9,-5)(9,5) \WorldMapII[type=2,all=true,rivers=false,borders=false,linewidth=0.1\pslinewidth] \end{pspicture} \end{postscript} } \begin{landscape} \subsection{Projection simple} \begin{verbatim} \begin{pspicture*}(-9,-3)(9,3) \psframe*[linecolor=ocean](-9,-3)(9,3) \WorldMapII[type=3,maillage=false,all=true] \end{pspicture*} \end{verbatim} \begin{postscript} \begin{pspicture*}(-9,-3)(9,3) \psframe*[linecolor=ocean](-9,-3)(9,3) \WorldMapII[type=3,all=true,maillage=false,rivers=false,borders=false,linewidth=0.1\pslinewidth] \end{pspicture*} \end{postscript} \end{landscape} \subsection{Projection Sanson-Flamsteed} \begin{verbatim} \begin{pspicture*}(-10,-5)(10,5) \WorldMapII[type=4,all=true] \end{pspicture*} \end{verbatim} \begin{center} \resizebox{\linewidth}{!}{% \begin{postscript} \begin{pspicture*}(-10,-5)(10,5) \WorldMapII[type=4,all=true,rivers=false,borders=false,linewidth=0.1\pslinewidth] \end{pspicture*} \end{postscript} } \end{center} \clearpage \subsection{Projection cylindrique} \begin{verbatim} \psset{xunit=0.5,yunit=0.5} \begin{pspicture}*(-9,-12)(9.5,14) \psframe(-9,-12)(9.5,14) \WorldMapII[type=5,all=true] \end{pspicture} \end{verbatim} \begin{postscript} \psset{xunit=0.5,yunit=0.5} \begin{pspicture}*(-9,-12)(9.5,14) \psframe(-9,-12)(9.5,14) \WorldMapII[type=5,all=true,linewidth=0.1\pslinewidth,rivers=false,borders=false] \end{pspicture} \end{postscript} \clearpage \subsection{Projection de Babinet} \begin{verbatim} {\psset{xunit=0.75,yunit=0.75} \begin{pspicture*}(-10,-5)(10,5) \WorldMapII[type=6,all=true,rivers=false,borders=false,linewidth=0.1\pslinewidth] \end{pspicture*}} \end{verbatim} \begin{postscript} \psset{xunit=0.75,yunit=0.75} \begin{pspicture*}(-10,-5)(10,5) \WorldMapII[type=6,all=true,rivers=false,borders=false,linewidth=0.1\pslinewidth] \end{pspicture*} \end{postscript} \clearpage \subsection{Projection de Collignon} \begin{center} \resizebox{\linewidth}{!}{% \begin{postscript} \psset{xunit=0.75,yunit=0.75} \begin{pspicture*}(-10,-5)(10,5) \WorldMapII[type=7,all=true] \end{pspicture*} \end{postscript} } \end{center} \clearpage \subsection{Projection de Bonne} On peut choisir la latitude et la longitude de référence avec les paramètres : \Parameter{latitude0=45} et \Parameter{longitude0=0}, qui sont les valeurs par défaut. \begin{center} \begin{postscript} \begin{pspicture*}(-7,-10)(7,3) \WorldMapII[type=8,all=true] \end{pspicture*} \end{postscript} \end{center} \clearpage \section{Comment faire un zoom sur un pays ou une région donnée} Il n'a pas été prévu de commande particulière, mais la procédure suivante : \begin{enumerate} \item Placer un \verb+\psgrid+ après le tracé de la carte, puis repérer les coordonnées des deux sommets opposés du rectangle dans lequel sera inclus la région souhaitée. \begin{center} \begin{postscript} \psset{linewidth=0.2\pslinewidth} \psset{xunit=0.75,yunit=0.75} \begin{pspicture*}[showgrid=true](-9,-9)(10,9) \WorldMapII[maillage=false,rivers=false,borders=false,all=true] \psframe[linewidth=0.5mm,linecolor=red](-6.5,1)(-3,3) \end{pspicture*} \end{postscript} \end{center} \item Par exemple, si nous choisissons de représenter les \'Etats-Unis les coordonnées des coins bas-gauche et haut-droit seront : \verb+(-6.5,1)(-3,3)+ L'agrandissement sera obtenu en changeant d'unité, un zoom $\times4$ s'obtiendra avec : \verb+\psset{xunit=4,yunit=4}+. Finalement la commande s'écrira : \begin{verbatim} \begin{center} \psset{xunit=4,yunit=4}% zoom 4* \psset{linewidth=1.25\pslinewidth} \begin{pspicture*}(-6.5,1)(-3,3) \WorldMapII[samer=true,namer=true,europe=false] \end{pspicture*} \end{center} \end{verbatim} \begin{center} \begin{postscript} \psset{xunit=4,yunit=4}% zoom 4* \psset{linewidth=1.25\pslinewidth} \begin{pspicture}*(-6.5,1)(-3,3) \WorldMapII[samer=true,namer=true,europe=false] \end{pspicture} \end{postscript} \end{center} \item Pour le Japon, on choisira le cadre \verb+(6.2,1.4)(7.6,2.8)+ avec un zoom$\times10$. On ne sectionnera que \texttt{asia=true}, tous les autres sont à \texttt{false}. \begin{center} \begin{postscript} \psset{xunit=10,yunit=10}% zoom 10* \psset{linewidth=1.25\pslinewidth} \begin{pspicture}*(6.2,1.4)(7.6,2.8) \WorldMapII[asia=true,increment=1] \end{pspicture} \end{postscript} \end{center} \end{enumerate} \nocite{*} \bgroup \RaggedRight \bibliographystyle{plain} \bibliography{PSTricks} \egroup \end{document}