diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-geo/pst-map3d-doc-pdf.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-geo/pst-map3d-doc-pdf.tex | 463 |
1 files changed, 463 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-geo/pst-map3d-doc-pdf.tex b/Master/texmf-dist/doc/generic/pst-geo/pst-map3d-doc-pdf.tex new file mode 100644 index 00000000000..bc6c8ee2a87 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-geo/pst-map3d-doc-pdf.tex @@ -0,0 +1,463 @@ +\RequirePackage{graphicx} +\RequirePackage[pdftex]{xcolor} +\documentclass[12pt]{article} +\usepackage{pst-map3d,pstricks-add} +\let\PSTfileversion\fileversion +\let\PSTfiledate\filedate +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[garamond]{mathdesign} +\renewcommand{\ttdefault}{lmtt} +\usepackage{longtable,array} +\usepackage{ragged2e} +%\usepackage{url} +\usepackage[a4paper,margin=2cm,nohead]{geometry} +\usepackage[colorlinks=true]{hyperref} +\usepackage{showexpl,xspace} +\usepackage[french]{babel} +\def\PST{\texttt{PSTricks}\xspace} +\def\PS{\texttt{PostScript}\xspace} +\makeatletter +\newdimen\pssizeStar +\def\psset@sizeStar#1{\pssetlength\pssizeStar{#1}} +\psset@sizeStar{1.5pt} + +%% adapté de \psRandom du package pstricks-add +%% pour rendre aléatoire la taille des étoiles +\def\psRandomStar{\pst@object{psRandomStar}}% +\def\psRandomStar@i{\@ifnextchar({\psRandomStar@ii}{\psRandomStar@iii(0,0)(1,1)}} +\def\psRandomStar@ii(#1){\@ifnextchar({\psRandomStar@iii(#1)}{\psRandomStar@iii(0,0)(#1)}} +\def\psRandomStar@iii(#1)(#2)#3{% + \def\pst@tempA{#3}% + \ifx\pst@tempA\pst@empty\psclip{\psframe(#2)}\else\psclip{#3}\fi + \pst@getcoor{#1}\pst@tempA + \pst@getcoor{#2}\pst@tempB + \begin@SpecialObj + \addto@pscode{ + \pst@tempA\space /yMin exch def + /xMin exch def + \pst@tempB\space /yMax exch def + /xMax exch def + /dy yMax yMin sub def + /dx xMax xMin sub def + rrand srand % initializes the random generator + /getRandReal { rand 2147483647 div } def + \psk@randomPoints { + /DS \pst@number\pssizeStar\space getRandReal mul def + \@nameuse{psds@\psk@dotstyle} + \ifPst@color getRandReal 1 1 sethsbcolor \fi + getRandReal dx mul xMin add + getRandReal dy mul yMin add + Dot + \ifx\psk@fillstyle\psfs@solid fill \fi stroke + } repeat + }% + \end@SpecialObj + \endpsclip + \ignorespaces +} +\makeatother +\definecolor{graygreen}{cmyk}{0.7,0,0.6,0.2} +\newcommand{\PstMapThreeDPackage}{`\textsf{pst-map3d}'} + \title{The \PstMapThreeDPackage{} package\\A PSTricks package for Geographical Projections} + \author{Manuel \textsc{Luque} + \mbox{\texttt{<manuel.luque27@gmail.com>}}\\ + and\\ + Giuseppe \textsc{Matarazzo} \mbox{\texttt{<joematara@hotmail.com>}}} + \date{Version 2.0\\ 18 mars 2008} + +\begin{document} +\maketitle +\begin{abstract} +\PstMapThreeDPackage{} traite de la représentation en trois dimensions + du globe terrestre avec plusieurs fonctionnalités qui rendent son + utilisation agréable (tout au moins nous l'espérons). + +Il s'agit d'une reprise du package élaboré avec Giuseppe Matarazzo en +2003. Celui-ci présentait quelques erreurs de représentation lorsqu'une +grande partie d'un pays était cachée aux yeux de l'observateur. Une idée +très astucieuse de Christophe Poulain permettant de résoudre ce problème +est à l'origine de la refonte du package. J'ai aussi profité de quelques +macros \texttt{postscript} mises au point par Jean-Paul Vignault pour +l'écriture du package \texttt{`pst-solides3d'}. + +L'élaboration et la mise en ligne de ce package a bénéficié des +encouragements, de toute la compétence et de la disponibilité de +Jean-Michel Sarlat. + +La plus grande le code ayant donc du être réécrite, il m'a semblé +judicieux d'introduire de nouvelles fonctionnalités parmi lesquelles : +le \textit{globe tellure}, les plaques tectoniques, les épicentres des +séismes, les zones de fracture et les linéations magnétiques (anomalies +magnétiques des fonds océaniques). + +\end{abstract} + \tableofcontents +% \newpage + \section{Les données\label{datas}} +GLOBE Binaries DECODING : World Public Domain Dbase : + F.Pospeschil, A.Rivera (1999) + +\url{ftp://ftp.blm.gov/pub/gis/wdbprg.zip} + +Elles ont \'et\'e converties sous forme de tableau PostScript, en +degr\'es, +gr\^ ace à un petit programme en pascal (de Giuseppe Matarazzo) qui +fait partie de la distribution. Ce sont les mêmes données que +celles du package \textsf{pst-map2d}. +\section{Les paramètres} +\begin{longtable}{|>{\bfseries\ttfamily\color{blue}}l|c|m{10cm}|} + \hline + \multicolumn{1}{|c|}{\textbf{Paramètre}}& + \multicolumn{1}{c|}{\textbf{Défaut}}& + \multicolumn{1}{c|}{\textbf{Signification}} \\ \hline\hline +\endfirsthead +\hline + \multicolumn{1}{|c|}{\textbf{Paramètre}}& + \multicolumn{1}{c|}{\textbf{Défaut}}& + \multicolumn{1}{c|}{\textbf{Signification}} \\ \hline\hline +\endhead +\multicolumn{3}{|r|}{\textit{Suite à la page suivante}}\\ \hline +\endfoot +\multicolumn{3}{|r|}{\textit{Fin de la table}}\\ \hline +\endlastfoot +Radius&5&rayon du globe \\\hline +Dobs&20&distance de l'observateur au centre du globe \\\hline +Decran&25&distance de l'écran à l'observateur \\\hline +THETA&0& angle définissant, avec $\phi$ en coordonnées sphériques la position de l'observateur \\\hline +PHI&45& angle définissant, avec $\theta$ en coordonnées sphériques la position de l'observateur \\\hline +RotZ&0& rotation du globe autour de l'axe vertical $Oz$ en degrés\\\hline +RotX&0& rotation du globe autour de l'axe horizontal $Ox$ en degrés\\\hline +RotY&0& rotation du globe autour de l'axe horizontal $Oy$ en degrés\\\hline +gridmap&true& boléen : trace le maillage de la sphère : méridiens et parallèles\\\hline +gridmapdiv&$10^{\mathrm{o}}$& écart angulaire entre 2 méridiens ou 2 parallèles\\\hline +gridmapcolor&black& couleur des méridiens et parallèles\\\hline +gridmapwidth&0.8pt & épaisseur des lignes des méridiens et parallèles\\\hline +mapcolor&``terre''& couleur des continents : la couleur ``terre'' a été prédéfinie\\\hline +oceancolor&``mer''& couleur des océans et mers : : la couleur ``mer'' a été prédéfinie\\\hline +borders&true& booléen : dessine les frontières\\\hline +bordercolor&black& couleur des frontières\\\hline +borderwidth&0.8pt & épaisseur des frontières\\\hline +france&false& booléen : dessine la France métropolitaine et la Corse. + Destiné à la représentation particulière de la France ou bien à sa mise en valeur.\\\hline +coasts&true& booléen : dessine les côtes\\\hline +coastcolor&black& couleur des côtes\\\hline +coastwidth&0.8pt & épaisseur des côtes\\\hline +islandcolor&black& couleur du contour des îles\\\hline +rivers&true& booléen : dessine les fleuves\\\hline +lakes&true& booléen : dessine les lacs\\\hline +capitals&true& booléen : marque les capitales visibles\\\hline +citys&true& booléen : marque toutes les villes visibles\\\hline +usa&false& booléen : dessine les états \\\hline +australia&false& booléen : dessine les états \\\hline +mexico&false& booléen : dessine les états \\\hline +circles&false& booléen : dessine des cercles parallèles sur les océans et les mers \\\hline +circlecolor&blue& couleur des côtes\\\hline +circlewidth&0.5pt & épaisseur des côtes\\\hline +circlesep&$2^{\mathrm{o}}$& écart angulaire entre 2 cercles\\\hline +visibility&booléen& true : dessine les parties du globe visibles pour l'observateur\\\hline +blueEarth&booléen& true : dessine un disque couleur de l'océan à la dimension du globe\\\hline +daynight&booléen& false : dessine la nuit sur le globe\\\hline +hour&12 & heure locale du lieu\\\hline +Day&le jour actuel& jour d'observation\\\hline +Month&le mois actuel& mois d'observation\\\hline +ridge&false& trace les limites des plaques tectoniques\\\hline +ridgecolor&red& couleur des dorsales\\ \hline +trenchcolor&darkgreen& couleur des lignes de convergence\\ \hline +transfrmcolor&orange& couleur des lignes de transcurrence\\ \hline +ridgewidth&2 pt& épaisseur des lignes précédentes\\ \hline +zonefrac&false& booléen : tracé des lignes de fracture\\ \hline +zonefraccolor&red& couleur des lignes de fracture\\ \hline +zonefracwidth&0.8 pt& épaisseur des lignes de fracture\\ \hline +wmaglinwidth&0.8 pt& épaisseur des lignes de linéation magnétique\\ \hline +wmaglin&false& booléen : tracé des linéations magnétiques\\ \hline +wmaglincolor&red& couleur des linéations magnétiques\\ \hline +Year&l'année actuelle& l'année d'observation\\\hline +waves&3& nombre de cercles concentriques à partir de l'épicentre\\\hline +Rmax&1500& Rayon, en km, du plus grand cercle centré sur l'épicentre\\\hline +\end{longtable} +\section{La représentation du globe} + +La représentation du globe est centrée sur Paris avec les paramètres +\begin{center}\centering \verb+\psset{PHI=48.85,THETA=2.32}+.\end{center} +Un effet de moirage apparaît du aux +cercles concentriques tracés sur la sphère. Différentes options de +couleur sont testées avec cet exemple. + +%\begin{LTXexample}[width=8cm] +\includegraphics[scale=0.5]{images/./pst-map3d-doc-tmp-0.png} +%\end{LTXexample} + +\section{Effet de transparence et rotations} + +La transparence(resp. opacité) du globe se règle avec le paramètre +\texttt{opacity}. Si l'on souhaite combiner les rotations celles-ci +s'effectuent, pour des raisons spécifiques à ce package, dans l'ordre +suivant \texttt{RotZ}, \texttt{RotX}, \texttt{RotY}. + +Rappelons que les effets de transparence ne sont possibles qu'avec le +fichier \texttt{pdf}, celui-ci sera obtenu avec la séquence de commandes: +\texttt{\LaTeX}-->\texttt{dvips}-->\texttt{ps2pdf}. + +%\begin{LTXexample}[width=8.2cm] +\includegraphics[scale=0.5]{images/./pst-map3d-doc-tmp-1.png} +%\end{LTXexample} + + +\section{Mise en valeur du territoire français} +\begin{center} + +\begin{pspicture*}(-0.5\linewidth,-0.45\textheight)(0.5\linewidth,0.5\textheight) +\psset{PHI=45,THETA=5,unit=7.5,path=../data} +\WorldMapThreeD[lakes=false,circlesep=0.25,lakes=false,gridmap=false, + mapcolor=graygreen!50,bordercolor=red,rivers=false, + coasts=false,islandcolor=blue]% +\WorldMapThreeD[gridmapcolor=yellow,circles=false,lakes=true,gridmapdiv=5,france=true, + islandcolor=blue,blueEarth=false, + bordercolor=red,islands=false,borders=false,rivers=true,coasts=true, + coastcolor=blue]% +\psmeridien{2.32} +\psparallel{48.85} +\newpsstyle{NodeLabelStyle}{fillstyle=solid,fillcolor=yellow!50,framesep=0, + linestyle=none,opacity=0.5} +\input{villesFrance3d} +\newpsstyle{NodeLabelStyle}{fillstyle=solid,fillcolor=red!50, + framesep=0,linestyle=none,opacity=0.5} +\newpsstyle{psNodeMapStyle}{fillstyle=solid,fillcolor=yellow!50,linecolor=red} +\psset{nodeWidth=0.025\psunit,linecolor=red} +\pnodeMapIIID(15.2833,37.0833){Syracuse} +\pscircle[fillstyle=solid,fillcolor=green](Syracuse){0.025\psunit} +\psdot[dotsize=0.025\psunit](Syracuse) +\uput[l](Syracuse){\psframebox[fillstyle=solid,fillcolor=yellow,framesep=0, + linestyle=none,opacity=0.5]{\textsf{Syracuse}}} +\pnodeMapIIID(10.51667,43.85){Lucques} +\pscircle[fillstyle=solid,fillcolor=green](Lucques){0.025\psunit} +\psdot[dotsize=0.025\psunit](Lucques) +\uput[u](Lucques){\psframebox[fillstyle=solid,fillcolor=yellow!50,framesep=0, + linestyle=none,opacity=0.5]{\textsf{Lucques}}} +\input{capitales} +\psepicenter[circlecolor=red,waves=16,Rmax=2000](0.3333,46.5833){Poitiers} +\end{pspicture*} + +\end{center} + +\section{Les macros} +\subsection{La commande \textbackslash pnodeMapIIID} +Une commande créée à cet effet permet de placer en un point du globe, défini +par sa longitude et sa latitude, une ville, un lieu, un symbole ou une +annotation quelconque. Cette commande qui utilise le package +\textsf{pst-node} est la suivante : +\begin{verbatim} +\pnodeMapIIID(longitude,latitude){nom} +\end{verbatim} +\textsf{longitude} et \textsf{latitude} sont en degrés, le \textsf{nom} +attribué au n\oe{}ud ne doit pas contenir de lettre accentuée. +\subsection{La commande \textbackslash mapputIIID} +La commande \verb+\mapputIIID(0.100000,49.483333){Le Havre}+ est identique à la suite de commandes : +\begin{itemize} +\item \verb+\pnodeMapIIID(0.100000,49.483333){LeHavre}+ +\item \verb+\psdot[linecolor=red,dotsize=2mm](LeHavre)+ +\item \verb+\uput[u](LeHavre){\psframebox*[fillstyle=solid,+\\ + \verb+ fillcolor=yellow,framesep=0]{\textsf{Le Havre}}}+ +\end{itemize} +D'une façon générale elle s'écrit : +\begin{verbatim} + \mapputIIID[angle](longitude,lattitude)[node name]{node label}[country] +\end{verbatim} +Ce qui est entre crochets est facultatif. Par défaut l'angle de positionnement vaut $90^{\mathrm{o}}$. + +Les paramètres avec les valeurs par défaut sont les suivants : +\begin{verbatim} + \newpsstyle{psNodeMapStyle}{fillstyle=solid,fillcolor=red} + \newpsstyle{NodeLabelStyle}{fillstyle=solid,fillcolor=yellow, + framesep=0,linestyle=none} + nodeWidth=1 mm +\end{verbatim} +\subsection{La commande \textbackslash psmeridien} +\begin{verbatim} +\psmeridien[options]{longitude} +\end{verbatim} +Elle permet de tracer la partir visible du méridien défini par sa +longitude en degrés. + +\subsection{La commande \textbackslash psparallel} +\begin{verbatim} +\psparallel[options]{latitude} +\end{verbatim} +Elle permet de tracer la partir visible du cercle parallèle à +l'équateur défini par sa latitude en degrés. + +\section{Le globe tellure} + +Le \textit{globe tellure} est décrit dans le document +\textit{Globe\_tellure\_original.pdf}. + +La macro qui lui est associée est la suivante : +\begin{verbatim} +\def\psGlobeTellure{\pst@object{psGlobeTellure}} +\def\psGlobeTellure@i(#1,#2)#3{% longitude, latitude et nom de la ville + \begin@SpecialObj% + \pnode(!/ux 0 def /uy 90 #2 sub sin def /uz 90 #2 sub cos def 0 0){ttt}% + \psset{PHI=0,THETA=0}% + {\psset{RotX=#2 90 sub,RotZ=90 #1 add} + \WorldMapThreeD[style=\psk@styleGlobe,daynight=false]% + \mapputIIID(#1,#2){#3}}% + \WorldMapThreeD[style=\psk@styleNight,daynight=true,circles=false, + blueEarth=false, + borders=false,islands=false, + rivers=false,lakes=false, + gridmap=false,latitudeParallel=#2]% + \psframe*(-3,-6.5)(3,-5.5) + \rput(! 0 \psk@TroisD@Radius\space neg -1 add){% + \white% + \psk@WorldMap@hour h le \psk@WorldMap@J/\psk@WorldMap@M/\psk@WorldMap@A} + \end@SpecialObj% + \ignorespaces}% +\end{verbatim} +Les deux styles associés à la partie éclairée et à la partie dans +l'ombre sont : + +\begin{verbatim} +\newpsstyle{Globe}{circles=true} +\newpsstyle{night}{fillstyle=solid,fillcolor=black,opacity=0.8} +\end{verbatim} +et sont modifiables grâce aux deux options : \texttt{[styleGlobe=Globe]} +et \texttt{[styleNight=night]} qui sont les styles par défaut. + +Elle s'utilise simplement, mais elle n'est valable que pour les villes de l'hémisphère nord : + +%\begin{LTXexample}[width=8cm] +\begin{postcript} +\definecolor{BlueDark}{cmyk}{1,1,0,0.5} +\newpsstyle{Globe}{circles=true,gridmap=true,daynight=false} +\newpsstyle{night}{fillstyle=solid,fillcolor=BlueDark,linecolor=BlueDark,opacity=0.8} +\psset{Radius=5,Decran=100,Dobs=100,unit=0.5,path=../data} +\includegraphics[scale=0.5]{images/./pst-map3d-doc-tmp-2.png} +\end{postcript} +%\end{LTXexample} + +Elle comprend en options, l'heure locale, le jour, le mois et l'année et +en argument les coordonnées géographiques de la ville ainsi que son nom. + +La commande \verb+\psRandomStar(-7,-7)(7,7){\psframe(-7,-7)(7,7)}+ a été +empruntée au package \texttt{pstricks-add} et permet de dessiner des +étoiles dont la position et la taille sont aléatoires. Par rapport à la +commande de \texttt{pstricks-add}, il y a en plus l'option +\texttt{[sizeStar=1.5pt]} qui permet de fixer la taille maximale des +étoiles. La package +\texttt{pstricks-add} doit être chargé en préambule avant +\PstMapThreeDPackage. + +\begin{verbatim} +\newdimen\pssizeStar +\def\psset@sizeStar#1{\pssetlength\pssizeStar{#1}} +\psset@sizeStar{1.5pt} + +%% adapté de \psRandom du package pstricks-add +%% pour rendre aléatoire la taille des étoiles +\def\psRandomStar{\pst@object{psRandomStar}}% +\def\psRandomStar@i{% + \@ifnextchar({\psRandomStar@ii}{\psRandomStar@iii(0,0)(1,1)}} +\def\psRandomStar@ii(#1){% + \@ifnextchar({\psRandomStar@iii(#1)}{\psRandomStar@iii(0,0)(#1)}} +\def\psRandomStar@iii(#1)(#2)#3{% + \def\pst@tempA{#3}% + \ifx\pst@tempA\pst@empty\psclip{\psframe(#2)}\else\psclip{#3}\fi + \pst@getcoor{#1}\pst@tempA + \pst@getcoor{#2}\pst@tempB + \begin@SpecialObj + \addto@pscode{ + \pst@tempA\space /yMin exch def + /xMin exch def + \pst@tempB\space /yMax exch def + /xMax exch def + /dy yMax yMin sub def + /dx xMax xMin sub def + rrand srand % initializes the random generator + /getRandReal { rand 2147483647 div } def + \psk@randomPoints { + /DS \pst@number\pssizeStar\space getRandReal mul def + \@nameuse{psds@\psk@dotstyle} + \ifPst@color getRandReal 1 1 sethsbcolor \fi + getRandReal dx mul xMin add + getRandReal dy mul yMin add + Dot + \ifx\psk@fillstyle\psfs@solid fill \fi stroke + } repeat + }% + \end@SpecialObj + \endpsclip + \ignorespaces +} +\makeatother +\end{verbatim} +\section{Les épicentres} +La commande suivante : +\begin{verbatim} +\psepicenter[circlecolor=red,waves=4,Rmax=2000](95.98,3.30){Sumatra} +\end{verbatim} +tracera l'épicentre du séisme qui eut lieu sur la côte occidentale du +nord de Sumatra le 26 décembre 2004, les coordonnées géographiques sont +indiquées entre les parenthèses : +\texttt{(longitude, latitude)}, la nom de la ville ou de la région entre +accolades. Les paramètres optionnels concernent la couleur des cercles +concentriques, leur nombre et le rayon maximum en km de l'onde, +l'épaisseur se règle avec +\texttt{[circlewidth=2pt]}. + +Il y a de très nombreux renseignements sur les séismes sur le site : + +\centerline{\url{http://earthquake.usgs.gov/eqcenter/eqarchives/year/magnitude8_1900_date.php}} + +%\begin{LTXexample}[pos=t] +\includegraphics[scale=0.5]{images/./pst-map3d-doc-tmp-3.png} +%\end{LTXexample} + + +\section{Les plaques tectoniques} + +Elles se tracent avec l'option \texttt{ridge}. Les différents types se +distinguent par des couleurs différentes (paramétrables : voir la partie +correspondant aux paramètres). + +Les données relatives aux plaques ont été obtenues sur le site : + +\centerline{\url{http://www.ig.utexas.edu/research/projects/plates/}} + +%\begin{LTXexample}[pos=t] +\includegraphics[0.5=0.5]{images/./pst-map3d-doc-tmp-4.png} + +%\end{LTXexample} + +\section{Les zones de fracture et les linéations magnétiques} + +%\begin{LTXexample}[pos=t] +\includegraphics[0.5=0.5]{images/./pst-map3d-doc-tmp-5.png} +%\end{LTXexample} +%\begin{LTXexample}[pos=t] + +\includegraphics[0.5=0.5]{images/./pst-map3d-doc-tmp-6.png} +%\end{LTXexample} + + +\section{Quelques liens} +Le développement du package : \url{http://syracuse-dev.org/mpst-globe} + +\url{http://melusine.eu.org/syracuse/pstricks/pst-solides3d/} + +Pour les données sur les plaques tectoniques, les volcans, les +linéations magnétiques et le zones de fracture : + +\url{http://www.versamap.com/webdoc03.htm} + + +\nocite{*} +\bgroup +\RaggedRight +\bibliographystyle{plain} +\bibliography{PSTricks} +\egroup + + + +\end{document} |