| 1 |
\documentclass[12pt]{article} |
|---|
| 2 |
\usepackage{pstricks-add,pst-map3d} |
|---|
| 3 |
\let\PSTfileversion\fileversion |
|---|
| 4 |
\let\PSTfiledate\filedate |
|---|
| 5 |
\usepackage[latin1]{inputenc} |
|---|
| 6 |
\usepackage[T1]{fontenc} |
|---|
| 7 |
\usepackage[garamond]{mathdesign} |
|---|
| 8 |
\renewcommand{\ttdefault}{lmtt} |
|---|
| 9 |
\usepackage{longtable,array} |
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
\usepackage[a4paper,margin=2cm,nohead]{geometry} |
|---|
| 13 |
\usepackage[colorlinks=true]{hyperref} |
|---|
| 14 |
\usepackage{showexpl} |
|---|
| 15 |
\usepackage[french]{babel} |
|---|
| 16 |
|
|---|
| 17 |
\makeatletter |
|---|
| 18 |
\newdimen\pssizeStar |
|---|
| 19 |
\def\psset@sizeStar#1{\pssetlength\pssizeStar{#1}} |
|---|
| 20 |
\psset@sizeStar{1.5pt} |
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
\def\psRandomStar{\pst@object{psRandomStar}} |
|---|
| 25 |
\def\psRandomStar@i{\@ifnextchar({\psRandomStar@ii}{\psRandomStar@iii(0,0)(1,1)}} |
|---|
| 26 |
\def\psRandomStar@ii(#1){\@ifnextchar({\psRandomStar@iii(#1)}{\psRandomStar@iii(0,0)(#1)}} |
|---|
| 27 |
\def\psRandomStar@iii(#1)(#2)#3{ |
|---|
| 28 |
\def\pst@tempA{#3} |
|---|
| 29 |
\ifx\pst@tempA\pst@empty\psclip{\psframe(#2)}\else\psclip{#3}\fi |
|---|
| 30 |
\pst@getcoor{#1}\pst@tempA |
|---|
| 31 |
\pst@getcoor{#2}\pst@tempB |
|---|
| 32 |
\begin@SpecialObj |
|---|
| 33 |
\addto@pscode{ |
|---|
| 34 |
\pst@tempA\space /yMin exch def |
|---|
| 35 |
/xMin exch def |
|---|
| 36 |
\pst@tempB\space /yMax exch def |
|---|
| 37 |
/xMax exch def |
|---|
| 38 |
/dy yMax yMin sub def |
|---|
| 39 |
/dx xMax xMin sub def |
|---|
| 40 |
rrand srand |
|---|
| 41 |
/getRandReal { rand 2147483647 div } def |
|---|
| 42 |
\psk@randomPoints { |
|---|
| 43 |
/DS \pst@number\pssizeStar\space getRandReal mul def |
|---|
| 44 |
\@nameuse{psds@\psk@dotstyle} |
|---|
| 45 |
\ifPst@color getRandReal 1 1 sethsbcolor \fi |
|---|
| 46 |
getRandReal dx mul xMin add |
|---|
| 47 |
getRandReal dy mul yMin add |
|---|
| 48 |
Dot |
|---|
| 49 |
\ifx\psk@fillstyle\psfs@solid fill \fi stroke |
|---|
| 50 |
} repeat |
|---|
| 51 |
} |
|---|
| 52 |
\end@SpecialObj |
|---|
| 53 |
\endpsclip |
|---|
| 54 |
\ignorespaces |
|---|
| 55 |
} |
|---|
| 56 |
\makeatother |
|---|
| 57 |
\definecolor{graygreen}{cmyk}{0.7,0,0.6,0.2} |
|---|
| 58 |
\newcommand{\PstMapThreeDPackage}{`\textsf{pst-map3d}'} |
|---|
| 59 |
\title{The \PstMapThreeDPackage{} package\\A PSTricks package for Geographical Projections} |
|---|
| 60 |
\author{Manuel \textsc{Luque} |
|---|
| 61 |
\mbox{\texttt{<manuel.luque27@gmail.com>}}\\ |
|---|
| 62 |
and\\ |
|---|
| 63 |
Giuseppe \textsc{Matarazzo} \mbox{\texttt{<joematara@hotmail.com>}}} |
|---|
| 64 |
\date{Version 2.0\\ 18 mars 2008} |
|---|
| 65 |
|
|---|
| 66 |
\begin{document} |
|---|
| 67 |
\maketitle |
|---|
| 68 |
\begin{abstract} |
|---|
| 69 |
\PstMapThreeDPackage{} traite de la représentation en trois dimensions |
|---|
| 70 |
du globe terrestre avec plusieurs fonctionnalités qui rendent son |
|---|
| 71 |
utilisation agréable (tout au moins nous l'espérons). |
|---|
| 72 |
|
|---|
| 73 |
Il s'agit d'une reprise du package élaboré avec Giuseppe Matarazzo en |
|---|
| 74 |
2003. Celui-ci présentait quelques erreurs de représentation lorsqu'une |
|---|
| 75 |
grande partie d'un pays était cachée aux yeux de l'observateur. Une idée |
|---|
| 76 |
très astucieuse de Christophe Poulain permettant de résoudre ce problème |
|---|
| 77 |
est à l'origine de la refonte du package. J'ai aussi profité de quelques |
|---|
| 78 |
macros \texttt{postscript} mises au point par Jean-Paul Vignault pour |
|---|
| 79 |
l'écriture du package \texttt{`pst-solides3d'}. |
|---|
| 80 |
|
|---|
| 81 |
L'élaboration et la mise en ligne de ce package a bénéficié des |
|---|
| 82 |
encouragements, de toute la compétence et de la disponibilité de |
|---|
| 83 |
Jean-Michel Sarlat. |
|---|
| 84 |
|
|---|
| 85 |
La plus grande le code ayant donc du être réécrite, il m'a semblé |
|---|
| 86 |
judicieux d'introduire de nouvelles fonctionnalités parmi lesquelles : |
|---|
| 87 |
le \textit{globe tellure}, les plaques tectoniques, les épicentres des |
|---|
| 88 |
séismes, les zones de fracture et les linéations magnétiques (anomalies |
|---|
| 89 |
magnétiques des fonds océaniques). |
|---|
| 90 |
|
|---|
| 91 |
\end{abstract} |
|---|
| 92 |
\tableofcontents |
|---|
| 93 |
|
|---|
| 94 |
\section{Les données\label{datas}} |
|---|
| 95 |
GLOBE Binaries DECODING : World Public Domain Dbase : |
|---|
| 96 |
F.Pospeschil, A.Rivera (1999) |
|---|
| 97 |
|
|---|
| 98 |
\url{ftp://ftp.blm.gov/pub/gis/wdbprg.zip} |
|---|
| 99 |
|
|---|
| 100 |
Elles ont \'et\'e converties sous forme de tableau PostScript, en |
|---|
| 101 |
degr\'es, |
|---|
| 102 |
gr\^ ace à un petit programme en pascal (de Giuseppe Matarazzo) qui |
|---|
| 103 |
fait partie de la distribution. Ce sont les mêmes données que |
|---|
| 104 |
celles du package \textsf{pst-map2d}. |
|---|
| 105 |
\section{Les paramètres} |
|---|
| 106 |
\begin{longtable}{|>{\bfseries\ttfamily\color{blue}}l|c|m{10cm}|} |
|---|
| 107 |
\hline |
|---|
| 108 |
\multicolumn{1}{|c|}{\textbf{Paramètre}}& |
|---|
| 109 |
\multicolumn{1}{c|}{\textbf{Défaut}}& |
|---|
| 110 |
\multicolumn{1}{c|}{\textbf{Signification}} \\ \hline\hline |
|---|
| 111 |
\endfirsthead |
|---|
| 112 |
\hline |
|---|
| 113 |
\multicolumn{1}{|c|}{\textbf{Paramètre}}& |
|---|
| 114 |
\multicolumn{1}{c|}{\textbf{Défaut}}& |
|---|
| 115 |
\multicolumn{1}{c|}{\textbf{Signification}} \\ \hline\hline |
|---|
| 116 |
\endhead |
|---|
| 117 |
\multicolumn{3}{|r|}{\textit{Suite à la page suivante}}\\ \hline |
|---|
| 118 |
\endfoot |
|---|
| 119 |
\multicolumn{3}{|r|}{\textit{Fin de la table}}\\ \hline |
|---|
| 120 |
\endlastfoot |
|---|
| 121 |
Radius&5&rayon du globe \\\hline |
|---|
| 122 |
Dobs&20&distance de l'observateur au centre du globe \\\hline |
|---|
| 123 |
Decran&25&distance de l'écran à l'observateur \\\hline |
|---|
| 124 |
THETA&0& angle définissant, avec $\phi$ en coordonnées sphériques la position de l'observateur \\\hline |
|---|
| 125 |
PHI&45& angle définissant, avec $\theta$ en coordonnées sphériques la position de l'observateur \\\hline |
|---|
| 126 |
RotZ&0& rotation du globe autour de l'axe vertical $Oz$ en degrés\\\hline |
|---|
| 127 |
RotX&0& rotation du globe autour de l'axe horizontal $Ox$ en degrés\\\hline |
|---|
| 128 |
RotY&0& rotation du globe autour de l'axe horizontal $Oy$ en degrés\\\hline |
|---|
| 129 |
gridmap&true& boléen : trace le maillage de la sphère : méridiens et parallèles\\\hline |
|---|
| 130 |
gridmapdiv&$10^{\mathrm{o}}$& écart angulaire entre 2 méridiens ou 2 parallèles\\\hline |
|---|
| 131 |
gridmapcolor&black& couleur des méridiens et parallèles\\\hline |
|---|
| 132 |
gridmapwidth&0.8pt & épaisseur des lignes des méridiens et parallèles\\\hline |
|---|
| 133 |
mapcolor&``terre''& couleur des continents : la couleur ``terre'' a été prédéfinie\\\hline |
|---|
| 134 |
oceancolor&``mer''& couleur des océans et mers : : la couleur ``mer'' a été prédéfinie\\\hline |
|---|
| 135 |
borders&true& booléen : dessine les frontières\\\hline |
|---|
| 136 |
bordercolor&black& couleur des frontières\\\hline |
|---|
| 137 |
borderwidth&0.8pt & épaisseur des frontières\\\hline |
|---|
| 138 |
france&false& booléen : dessine la France métropolitaine et la Corse. |
|---|
| 139 |
Destiné à la représentation particulière de la France ou bien à sa mise en valeur.\\\hline |
|---|
| 140 |
coasts&true& booléen : dessine les côtes\\\hline |
|---|
| 141 |
coastcolor&black& couleur des côtes\\\hline |
|---|
| 142 |
coastwidth&0.8pt & épaisseur des côtes\\\hline |
|---|
| 143 |
islandcolor&black& couleur du contour des îles\\\hline |
|---|
| 144 |
rivers&true& booléen : dessine les fleuves\\\hline |
|---|
| 145 |
lakes&true& booléen : dessine les lacs\\\hline |
|---|
| 146 |
capitals&true& booléen : marque les capitales visibles\\\hline |
|---|
| 147 |
citys&true& booléen : marque toutes les villes visibles\\\hline |
|---|
| 148 |
usa&false& booléen : dessine les états \\\hline |
|---|
| 149 |
australia&false& booléen : dessine les états \\\hline |
|---|
| 150 |
mexico&false& booléen : dessine les états \\\hline |
|---|
| 151 |
circles&false& booléen : dessine des cercles parallèles sur les océans et les mers \\\hline |
|---|
| 152 |
circlecolor&blue& couleur des côtes\\\hline |
|---|
| 153 |
circlewidth&0.5pt & épaisseur des côtes\\\hline |
|---|
| 154 |
circlesep&$2^{\mathrm{o}}$& écart angulaire entre 2 cercles\\\hline |
|---|
| 155 |
visibility&booléen& true : dessine les parties du globe visibles pour l'observateur\\\hline |
|---|
| 156 |
blueEarth&booléen& true : dessine un disque couleur de l'océan à la dimension du globe\\\hline |
|---|
| 157 |
daynight&booléen& false : dessine la nuit sur le globe\\\hline |
|---|
| 158 |
hour&12 & heure locale du lieu\\\hline |
|---|
| 159 |
Day&le jour actuel& jour d'observation\\\hline |
|---|
| 160 |
Month&le mois actuel& mois d'observation\\\hline |
|---|
| 161 |
ridge&false& trace les limites des plaques tectoniques\\\hline |
|---|
| 162 |
ridgecolor&red& couleur des dorsales\\ \hline |
|---|
| 163 |
trenchcolor&darkgreen& couleur des lignes de convergence\\ \hline |
|---|
| 164 |
transfrmcolor&orange& couleur des lignes de transcurrence\\ \hline |
|---|
| 165 |
ridgewidth&2 pt& épaisseur des lignes précédentes\\ \hline |
|---|
| 166 |
zonefrac&false& booléen : tracé des lignes de fracture\\ \hline |
|---|
| 167 |
zonefraccolor&red& couleur des lignes de fracture\\ \hline |
|---|
| 168 |
zonefracwidth&0.8 pt& épaisseur des lignes de fracture\\ \hline |
|---|
| 169 |
wmaglinwidth&0.8 pt& épaisseur des lignes de linéation magnétique\\ \hline |
|---|
| 170 |
wmaglin&false& booléen : tracé des linéations magnétiques\\ \hline |
|---|
| 171 |
wmaglincolor&red& couleur des linéations magnétiques\\ \hline |
|---|
| 172 |
Year&l'année actuelle& l'année d'observation\\\hline |
|---|
| 173 |
waves&3& nombre de cercles concentriques à partir de l'épicentre\\\hline |
|---|
| 174 |
Rmax&1500& Rayon, en km, du plus grand cercle centré sur l'épicentre\\\hline |
|---|
| 175 |
\end{longtable} |
|---|
| 176 |
\section{La représentation du globe} |
|---|
| 177 |
|
|---|
| 178 |
La représentation du globe est centrée sur Paris avec les paramètres |
|---|
| 179 |
\begin{center}\centering \verb+\psset{PHI=48.85,THETA=2.32}+.\end{center} |
|---|
| 180 |
Un effet de moirage apparaît du aux |
|---|
| 181 |
cercles concentriques tracés sur la sphère. Différentes options de |
|---|
| 182 |
couleur sont testées avec cet exemple. |
|---|
| 183 |
|
|---|
| 184 |
\begin{LTXexample}[width=8cm] |
|---|
| 185 |
\begin{pspicture}(-4,-4)(4,4) |
|---|
| 186 |
\psset{PHI=48.85,THETA=2.32,Decran=15} |
|---|
| 187 |
\WorldMapThreeD[gridmapcolor=yellow,circlesep=1,mapcolor=green!50,bordercolor=red, |
|---|
| 188 |
coastwidth=1.2pt,capitals,islandcolor=blue,coastcolor=blue,coasts] |
|---|
| 189 |
\psmeridien{2.32} |
|---|
| 190 |
\psparallel{48.85} |
|---|
| 191 |
\mapputIIID(2.32,48.85){Paris} |
|---|
| 192 |
\end{pspicture} |
|---|
| 193 |
\end{LTXexample} |
|---|
| 194 |
|
|---|
| 195 |
\section{Effet de transparence et rotations} |
|---|
| 196 |
|
|---|
| 197 |
La transparence(resp. opacité) du globe se règle avec le paramètre |
|---|
| 198 |
\texttt{opacity}. Si l'on souhaite combiner les rotations celles-ci |
|---|
| 199 |
s'effectuent, pour des raisons spécifiques à ce package, dans l'ordre |
|---|
| 200 |
suivant \texttt{RotZ}, \texttt{RotX}, \texttt{RotY}. |
|---|
| 201 |
|
|---|
| 202 |
Rappelons que les effets de transparence ne sont possibles qu'avec le |
|---|
| 203 |
fichier \texttt{pdf}, celui-ci sera obtenu avec la séquence de commandes: |
|---|
| 204 |
\texttt{\LaTeX}-->\texttt{dvips}-->\texttt{ps2pdf}. |
|---|
| 205 |
|
|---|
| 206 |
\begin{LTXexample}[width=8.2cm] |
|---|
| 207 |
\begin{pspicture}(-4,-4)(4,4) |
|---|
| 208 |
\psset{RotX=-23,RotZ=30,PHI=46.5833,THETA=0.3333,visibility=false,Decran=15} |
|---|
| 209 |
\WorldMapThreeD[circles=false,blueEarth=false] |
|---|
| 210 |
\WorldMapThreeD[circles=false,visibility=true,opacity=0.7] |
|---|
| 211 |
\psmeridien[visibility=true]{0.333} |
|---|
| 212 |
\psparallel[visibility=true]{46.5833} |
|---|
| 213 |
\mapputIIID(0.3333,46.5833){Poitiers} |
|---|
| 214 |
\end{pspicture} |
|---|
| 215 |
\end{LTXexample} |
|---|
| 216 |
\section{Mise en valeur du territoire français} |
|---|
| 217 |
\begin{center} |
|---|
| 218 |
\begin{pspicture*}(-0.5\linewidth,-0.45\textheight)(0.5\linewidth,0.5\textheight) |
|---|
| 219 |
\psset{PHI=45,THETA=5,unit=7.5} |
|---|
| 220 |
\WorldMapThreeD[lakes=false,circlesep=0.25,lakes=false,gridmap=false, |
|---|
| 221 |
mapcolor=graygreen!50,bordercolor=red,rivers=false, |
|---|
| 222 |
coasts=false,islandcolor=blue] |
|---|
| 223 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,lakes=true,gridmapdiv=5,france=true, |
|---|
| 224 |
islandcolor=blue,blueEarth=false, |
|---|
| 225 |
bordercolor=red,islands=false,borders=false,rivers=true,coasts=true, |
|---|
| 226 |
coastcolor=blue] |
|---|
| 227 |
\psmeridien{2.32} |
|---|
| 228 |
\psparallel{48.85} |
|---|
| 229 |
\newpsstyle{NodeLabelStyle}{fillstyle=solid,fillcolor=yellow!50,framesep=0, |
|---|
| 230 |
linestyle=none,opacity=0.5} |
|---|
| 231 |
\input{villesfrance} |
|---|
| 232 |
\newpsstyle{NodeLabelStyle}{fillstyle=solid,fillcolor=red!50, |
|---|
| 233 |
framesep=0,linestyle=none,opacity=0.5} |
|---|
| 234 |
\newpsstyle{psNodeMapStyle}{fillstyle=solid,fillcolor=yellow!50,linecolor=red} |
|---|
| 235 |
\psset{nodeWidth=0.025\psunit,linecolor=red} |
|---|
| 236 |
\pnodeMapIIID(15.2833,37.0833){Syracuse} |
|---|
| 237 |
\pscircle[fillstyle=solid,fillcolor=green](Syracuse){0.025\psunit} |
|---|
| 238 |
\psdot[dotsize=0.025\psunit](Syracuse) |
|---|
| 239 |
\uput[l](Syracuse){\psframebox[fillstyle=solid,fillcolor=yellow,framesep=0, |
|---|
| 240 |
linestyle=none,opacity=0.5]{\textsf{Syracuse}}} |
|---|
| 241 |
\pnodeMapIIID(10.51667,43.85){Lucques} |
|---|
| 242 |
\pscircle[fillstyle=solid,fillcolor=green](Lucques){0.025\psunit} |
|---|
| 243 |
\psdot[dotsize=0.025\psunit](Lucques) |
|---|
| 244 |
\uput[u](Lucques){\psframebox[fillstyle=solid,fillcolor=yellow!50,framesep=0, |
|---|
| 245 |
linestyle=none,opacity=0.5]{\textsf{Lucques}}} |
|---|
| 246 |
\input{capitales} |
|---|
| 247 |
\psepicenter[circlecolor=red,waves=16,Rmax=2000](0.3333,46.5833){Poitiers} |
|---|
| 248 |
\end{pspicture*} |
|---|
| 249 |
\end{center} |
|---|
| 250 |
\section{Les macros} |
|---|
| 251 |
\subsection{La commande \textbackslash pnodeMapIIID} |
|---|
| 252 |
Une commande créée à cet effet permet de placer en un point du globe, défini |
|---|
| 253 |
par sa longitude et sa latitude, une ville, un lieu, un symbole ou une |
|---|
| 254 |
annotation quelconque. Cette commande qui utilise le package |
|---|
| 255 |
\textsf{pst-node} est la suivante : |
|---|
| 256 |
\begin{verbatim} |
|---|
| 257 |
\pnodeMapIIID(longitude,latitude){nom} |
|---|
| 258 |
\end{verbatim} |
|---|
| 259 |
\textsf{longitude} et \textsf{latitude} sont en degrés, le \textsf{nom} |
|---|
| 260 |
attribué au n\oe{}ud ne doit pas contenir de lettre accentuée. |
|---|
| 261 |
\subsection{La commande \textbackslash mapputIIID} |
|---|
| 262 |
La commande \verb+\mapputIIID(0.100000,49.483333){Le Havre}+ est identique à la suite de commandes : |
|---|
| 263 |
\begin{itemize} |
|---|
| 264 |
\item \verb+\pnodeMapIIID(0.100000,49.483333){LeHavre}+ |
|---|
| 265 |
\item \verb+\psdot[linecolor=red,dotsize=2mm](LeHavre)+ |
|---|
| 266 |
\item \verb+\uput[u](LeHavre){\psframebox*[fillstyle=solid,+\\ |
|---|
| 267 |
\verb+ fillcolor=yellow,framesep=0]{\textsf{Le Havre}}}+ |
|---|
| 268 |
\end{itemize} |
|---|
| 269 |
D'une façon générale elle s'écrit : |
|---|
| 270 |
\begin{verbatim} |
|---|
| 271 |
\mapputIIID[angle](longitude,lattitude)[node name]{node label}[country] |
|---|
| 272 |
\end{verbatim} |
|---|
| 273 |
Ce qui est entre crochets est facultatif. Par défaut l'angle de positionnement vaut $90^{\mathrm{o}}$. |
|---|
| 274 |
|
|---|
| 275 |
Les paramètres avec les valeurs par défaut sont les suivants : |
|---|
| 276 |
\begin{verbatim} |
|---|
| 277 |
\newpsstyle{psNodeMapStyle}{fillstyle=solid,fillcolor=red} |
|---|
| 278 |
\newpsstyle{NodeLabelStyle}{fillstyle=solid,fillcolor=yellow, |
|---|
| 279 |
framesep=0,linestyle=none} |
|---|
| 280 |
nodeWidth=1 mm |
|---|
| 281 |
\end{verbatim} |
|---|
| 282 |
\subsection{La commande \textbackslash psmeridien} |
|---|
| 283 |
\begin{verbatim} |
|---|
| 284 |
\psmeridien[options]{longitude} |
|---|
| 285 |
\end{verbatim} |
|---|
| 286 |
Elle permet de tracer la partir visible du méridien défini par sa |
|---|
| 287 |
longitude en degrés. |
|---|
| 288 |
|
|---|
| 289 |
\subsection{La commande \textbackslash psparallel} |
|---|
| 290 |
\begin{verbatim} |
|---|
| 291 |
\psparallel[options]{latitude} |
|---|
| 292 |
\end{verbatim} |
|---|
| 293 |
Elle permet de tracer la partir visible du cercle parallèle à |
|---|
| 294 |
l'équateur défini par sa latitude en degrés. |
|---|
| 295 |
|
|---|
| 296 |
\section{Le globe tellure} |
|---|
| 297 |
|
|---|
| 298 |
Le \textit{globe tellure} est décrit dans le document |
|---|
| 299 |
\textit{Globe\_tellure\_original.pdf}. |
|---|
| 300 |
|
|---|
| 301 |
La macro qui lui est associée est la suivante : |
|---|
| 302 |
\begin{verbatim} |
|---|
| 303 |
\def\psGlobeTellure{\pst@object{psGlobeTellure}} |
|---|
| 304 |
\def\psGlobeTellure@i(#1,#2)#3{ |
|---|
| 305 |
\begin@SpecialObj |
|---|
| 306 |
\pnode(!/ux 0 def /uy 90 #2 sub sin def /uz 90 #2 sub cos def 0 0){ttt} |
|---|
| 307 |
\psset{PHI=0,THETA=0} |
|---|
| 308 |
{\psset{RotX=#2 90 sub,RotZ=90 #1 add} |
|---|
| 309 |
\WorldMapThreeD[style=\psk@styleGlobe,daynight=false] |
|---|
| 310 |
\mapputIIID(#1,#2){#3}} |
|---|
| 311 |
\WorldMapThreeD[style=\psk@styleNight,daynight=true,circles=false, |
|---|
| 312 |
blueEarth=false, |
|---|
| 313 |
borders=false,islands=false, |
|---|
| 314 |
rivers=false,lakes=false, |
|---|
| 315 |
gridmap=false,latitudeParallel=#2] |
|---|
| 316 |
\psframe*(-3,-6.5)(3,-5.5) |
|---|
| 317 |
\rput(! 0 \psk@TroisD@Radius\space neg -1 add){ |
|---|
| 318 |
\white |
|---|
| 319 |
\psk@WorldMap@hour h le \psk@WorldMap@J/\psk@WorldMap@M/\psk@WorldMap@A} |
|---|
| 320 |
\end@SpecialObj |
|---|
| 321 |
\ignorespaces} |
|---|
| 322 |
\end{verbatim} |
|---|
| 323 |
Les deux styles associés à la partie éclairée et à la partie dans |
|---|
| 324 |
l'ombre sont : |
|---|
| 325 |
|
|---|
| 326 |
\begin{verbatim} |
|---|
| 327 |
\newpsstyle{Globe}{circles=true} |
|---|
| 328 |
\newpsstyle{night}{fillstyle=solid,fillcolor=black,opacity=0.8} |
|---|
| 329 |
\end{verbatim} |
|---|
| 330 |
et sont modifiables grâce aux deux options : \texttt{[styleGlobe=Globe]} |
|---|
| 331 |
et \texttt{[styleNight=night]} qui sont les styles par défaut. |
|---|
| 332 |
|
|---|
| 333 |
Elle s'utilise simplement, mais elle n'est valable que pour les villes de l'hémisphère nord : |
|---|
| 334 |
|
|---|
| 335 |
\begin{LTXexample}[width=8cm] |
|---|
| 336 |
\definecolor{BlueDark}{cmyk}{1,1,0,0.5} |
|---|
| 337 |
\newpsstyle{Globe}{circles=true,gridmap=true,daynight=false} |
|---|
| 338 |
\newpsstyle{night}{fillstyle=solid,fillcolor=BlueDark,linecolor=BlueDark,opacity=0.8} |
|---|
| 339 |
\psset{Radius=5,Decran=100,Dobs=100,unit=0.5} |
|---|
| 340 |
\begin{pspicture}(-7,-7)(7,7) |
|---|
| 341 |
\psframe*[linecolor=BlueDark](-7,-7)(7,7) |
|---|
| 342 |
\psRandomStar[linecolor=yellow!50,randomPoints=100](-7,-7)(7,7){\psframe(-7,-7)(7,7)} |
|---|
| 343 |
\psGlobeTellure[hour=10,Day=22,Month=06,Year=2008](15.28,37.07){Syracuse} |
|---|
| 344 |
\end{pspicture} |
|---|
| 345 |
\end{LTXexample} |
|---|
| 346 |
|
|---|
| 347 |
Elle comprend en options, l'heure locale, le jour, le mois et l'année et |
|---|
| 348 |
en argument les coordonnées géographiques de la ville ainsi que son nom. |
|---|
| 349 |
|
|---|
| 350 |
La commande \verb+\psRandomStar(-7,-7)(7,7){\psframe(-7,-7)(7,7)}+ a été |
|---|
| 351 |
empruntée au package \texttt{pstricks-add} et permet de dessiner des |
|---|
| 352 |
étoiles dont la position et la taille sont aléatoires. Par rapport à la |
|---|
| 353 |
commande de \texttt{pstricks-add}, il y a en plus l'option |
|---|
| 354 |
\texttt{[sizeStar=1.5pt]} qui permet de fixer la taille maximale des |
|---|
| 355 |
étoiles. La package |
|---|
| 356 |
\texttt{pstricks-add} doit être chargé en préambule avant |
|---|
| 357 |
\PstMapThreeDPackage. |
|---|
| 358 |
|
|---|
| 359 |
\begin{verbatim} |
|---|
| 360 |
\newdimen\pssizeStar |
|---|
| 361 |
\def\psset@sizeStar#1{\pssetlength\pssizeStar{#1}} |
|---|
| 362 |
\psset@sizeStar{1.5pt} |
|---|
| 363 |
|
|---|
| 364 |
|
|---|
| 365 |
|
|---|
| 366 |
\def\psRandomStar{\pst@object{psRandomStar}} |
|---|
| 367 |
\def\psRandomStar@i{ |
|---|
| 368 |
\@ifnextchar({\psRandomStar@ii}{\psRandomStar@iii(0,0)(1,1)}} |
|---|
| 369 |
\def\psRandomStar@ii(#1){ |
|---|
| 370 |
\@ifnextchar({\psRandomStar@iii(#1)}{\psRandomStar@iii(0,0)(#1)}} |
|---|
| 371 |
\def\psRandomStar@iii(#1)(#2)#3{ |
|---|
| 372 |
\def\pst@tempA{#3} |
|---|
| 373 |
\ifx\pst@tempA\pst@empty\psclip{\psframe(#2)}\else\psclip{#3}\fi |
|---|
| 374 |
\pst@getcoor{#1}\pst@tempA |
|---|
| 375 |
\pst@getcoor{#2}\pst@tempB |
|---|
| 376 |
\begin@SpecialObj |
|---|
| 377 |
\addto@pscode{ |
|---|
| 378 |
\pst@tempA\space /yMin exch def |
|---|
| 379 |
/xMin exch def |
|---|
| 380 |
\pst@tempB\space /yMax exch def |
|---|
| 381 |
/xMax exch def |
|---|
| 382 |
/dy yMax yMin sub def |
|---|
| 383 |
/dx xMax xMin sub def |
|---|
| 384 |
rrand srand |
|---|
| 385 |
/getRandReal { rand 2147483647 div } def |
|---|
| 386 |
\psk@randomPoints { |
|---|
| 387 |
/DS \pst@number\pssizeStar\space getRandReal mul def |
|---|
| 388 |
\@nameuse{psds@\psk@dotstyle} |
|---|
| 389 |
\ifPst@color getRandReal 1 1 sethsbcolor \fi |
|---|
| 390 |
getRandReal dx mul xMin add |
|---|
| 391 |
getRandReal dy mul yMin add |
|---|
| 392 |
Dot |
|---|
| 393 |
\ifx\psk@fillstyle\psfs@solid fill \fi stroke |
|---|
| 394 |
} repeat |
|---|
| 395 |
} |
|---|
| 396 |
\end@SpecialObj |
|---|
| 397 |
\endpsclip |
|---|
| 398 |
\ignorespaces |
|---|
| 399 |
} |
|---|
| 400 |
\makeatother |
|---|
| 401 |
\end{verbatim} |
|---|
| 402 |
\section{Les épicentres} |
|---|
| 403 |
La commande suivante : |
|---|
| 404 |
\begin{verbatim} |
|---|
| 405 |
\psepicenter[circlecolor=red,waves=4,Rmax=2000](95.98,3.30){Sumatra} |
|---|
| 406 |
\end{verbatim} |
|---|
| 407 |
tracera l'épicentre du séisme qui eut lieu sur la côte occidentale du |
|---|
| 408 |
nord de Sumatra le 26 décembre 2004, les coordonnées géographiques sont |
|---|
| 409 |
indiquées entre les parenthèses : |
|---|
| 410 |
\texttt{(longitude, latitude)}, la nom de la ville ou de la région entre |
|---|
| 411 |
accolades. Les paramètres optionnels concernent la couleur des cercles |
|---|
| 412 |
concentriques, leur nombre et le rayon maximum en km de l'onde, |
|---|
| 413 |
l'épaisseur se règle avec |
|---|
| 414 |
\texttt{[circlewidth=2pt]}. |
|---|
| 415 |
|
|---|
| 416 |
Il y a de très nombreux renseignements sur les séismes sur le site : |
|---|
| 417 |
|
|---|
| 418 |
\centerline{\url{http://earthquake.usgs.gov/eqcenter/eqarchives/year/magnitude8_1900_date.php}} |
|---|
| 419 |
|
|---|
| 420 |
\begin{LTXexample}[pos=t] |
|---|
| 421 |
\psset{Radius=5,Dobs=200,Decran=200} |
|---|
| 422 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 423 |
\psset{PHI=10,THETA=120,circlewidth=1.5pt} |
|---|
| 424 |
\WorldMapThreeD[circles=false,australia=true] |
|---|
| 425 |
\psmeridien{95.98} |
|---|
| 426 |
\psparallel{3.30} |
|---|
| 427 |
\psepicenter[circlecolor=red,waves=4,Rmax=2000](95.98,3.30){Sumatra} |
|---|
| 428 |
\psmeridien[meridiencolor=green]{160} |
|---|
| 429 |
\psparallel[parallelcolor=green]{52.76} |
|---|
| 430 |
\psepicenter[circlecolor=green](160,52.76){Kamchatka} |
|---|
| 431 |
\end{pspicture} |
|---|
| 432 |
\end{LTXexample} |
|---|
| 433 |
\section{Les plaques tectoniques} |
|---|
| 434 |
|
|---|
| 435 |
Elles se tracent avec l'option \texttt{ridge}. Les différents types se |
|---|
| 436 |
distinguent par des couleurs différentes (paramétrables : voir la partie |
|---|
| 437 |
correspondant aux paramètres). |
|---|
| 438 |
|
|---|
| 439 |
Les données relatives aux plaques ont été obtenues sur le site : |
|---|
| 440 |
|
|---|
| 441 |
\centerline{\url{http://www.ig.utexas.edu/research/projects/plates/}} |
|---|
| 442 |
|
|---|
| 443 |
\begin{LTXexample}[pos=t] |
|---|
| 444 |
\psset{unit=0.8,RotX=0,Decran=100,Dobs=100,PHI=0,THETA=-100} |
|---|
| 445 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 446 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,ridge=true] |
|---|
| 447 |
\psframe(4,-6.4)(10.5,-3.6) |
|---|
| 448 |
\uput[r](4,-4){Tectonic plates boundaries} |
|---|
| 449 |
\psline[linecolor=red,linewidth=2pt](4.2,-4.5)(5,-4.5)\uput[r](5,-4.5){\color{red}{Ridge}} |
|---|
| 450 |
\psline[linecolor=darkgreen,linewidth=2pt](4.2,-5.25)(5,-5.25)\uput[r](5,-5.25){\color{darkgreen}{Trench}} |
|---|
| 451 |
\psline[linecolor=orange,linewidth=2pt](4.2,-6)(5,-6)\uput[r](5,-6){\color{orange}{Transform}} |
|---|
| 452 |
\end{pspicture}\\ |
|---|
| 453 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 454 |
\psset{PHI=0,THETA=100} |
|---|
| 455 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,ridge=true] |
|---|
| 456 |
\end{pspicture} |
|---|
| 457 |
\end{LTXexample} |
|---|
| 458 |
|
|---|
| 459 |
\section{Les zones de fracture et les linéations magnétiques} |
|---|
| 460 |
|
|---|
| 461 |
\begin{LTXexample}[pos=t] |
|---|
| 462 |
\psset{Decran=100,Dobs=100,unit=0.8} |
|---|
| 463 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 464 |
\psset{PHI=0,THETA=-90} |
|---|
| 465 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,wfraczon=true] |
|---|
| 466 |
\psline[linecolor=red,linewidth=2pt](4.2,-5)(5,-5)\uput[r](5,-5){\color{red}{wzonfrac}} |
|---|
| 467 |
\end{pspicture}\\ |
|---|
| 468 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 469 |
\psset{PHI=0,THETA=90} |
|---|
| 470 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,wfraczon=true] |
|---|
| 471 |
\end{pspicture} |
|---|
| 472 |
\end{LTXexample} |
|---|
| 473 |
\begin{LTXexample}[pos=t] |
|---|
| 474 |
\psset{Decran=100,Dobs=100,unit=0.8} |
|---|
| 475 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 476 |
\psset{PHI=0,THETA=-90} |
|---|
| 477 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,wmaglin=true] |
|---|
| 478 |
\psline[linecolor=darkblue,linewidth=2pt](4.2,-5)(5,-5)\uput[r](5,-5){\color{darkblue}{wmaglin}} |
|---|
| 479 |
\end{pspicture}\\ |
|---|
| 480 |
\begin{pspicture}(-5,-5)(5,5) |
|---|
| 481 |
\psset{PHI=0,THETA=90} |
|---|
| 482 |
\WorldMapThreeD[gridmapcolor=yellow,circles=false,wmaglin=true] |
|---|
| 483 |
\end{pspicture} |
|---|
| 484 |
\end{LTXexample} |
|---|
| 485 |
\section{Quelques liens} |
|---|
| 486 |
Le développement du package : \url{http://syracuse-dev.org/mpst-globe} |
|---|
| 487 |
|
|---|
| 488 |
\url{http://melusine.eu.org/syracuse/pstricks/pst-solides3d/} |
|---|
| 489 |
|
|---|
| 490 |
Pour les données sur les plaques tectoniques, les volcans, les |
|---|
| 491 |
linéations magnétiques et le zones de fracture : |
|---|
| 492 |
|
|---|
| 493 |
\url{http://www.versamap.com/webdoc03.htm} |
|---|
| 494 |
|
|---|
| 495 |
\end{document} |
|---|