summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-geo
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2006-12-14 10:09:08 +0000
committerNorbert Preining <preining@logic.at>2006-12-14 10:09:08 +0000
commitba2c6c602f9fe0c0b8069a5d5f31010c5adcfc86 (patch)
tree49652965824ccc48196e89552cd3362035149430 /Master/texmf-dist/tex/generic/pst-geo
parent80db80c03ded823b55a3727fa566af49734b44ea (diff)
fix pst-geo, make ctan2tds work with it
git-svn-id: svn://tug.org/texlive/trunk@2734 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-geo')
-rw-r--r--Master/texmf-dist/tex/generic/pst-geo/pst-map2d.tex407
-rw-r--r--Master/texmf-dist/tex/generic/pst-geo/pst-map2dII.tex489
-rw-r--r--Master/texmf-dist/tex/generic/pst-geo/pst-map3d.tex187
-rw-r--r--Master/texmf-dist/tex/generic/pst-geo/pst-map3dII.tex280
4 files changed, 1363 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-geo/pst-map2d.tex b/Master/texmf-dist/tex/generic/pst-geo/pst-map2d.tex
new file mode 100644
index 00000000000..e93eecd1b6b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-geo/pst-map2d.tex
@@ -0,0 +1,407 @@
+%%
+%% This is file `pst-map2d.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-map2d.tex'
+%%
+%% Manuel Luque <Mluque5130@aol.com> (France)
+%% Giuseppe Matarazzo <joematara@hotmail.com> (Italy)
+%% Herbert Voss <voss@perce.de> (Germany)
+%%
+%% May 09, 2004
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-map2d' is a PSTricks package to create geographical objects
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\csname PSTMaptwod\endcsname
+\let\PSTMaptwodLoaded\endinput
+
+% Require PSTricks
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey\fi
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+
+\pst@addfams{pst-map2d}% added 2004-09-29 hv
+%
+\def\fileversion{1.07}
+\def\filedate{2005/11/11}
+\message{`PST-map2d' v\fileversion, \filedate\space (ML/GM/HV)}
+%
+\SpecialCoor
+%
+\define@key[psset]{pst-map2d}{path}{\edef\psk@WorldMap@Path{#1}} % chemin des données
+\psset{path=data}
+%\openin1=chemin.txt
+%\read1 to \psk@WorldMap@Path
+%
+\define@key[psset]{pst-map2d}{level}{\edef\psk@WorldMap@level{#1}}
+\psset{level=1}
+%
+\define@key[psset]{pst-map2d}{type}{\edef\psk@WorldMap@type{#1}}
+\psset{type=1}
+% type=1 ==> Mercator
+% type=2 ==> Lambert
+% type=3 ==> simple
+% type=4 ==> Sanson-Flamsteed
+% type=5 ==> cylindrical
+% type=6 ==> Babinet
+% type=7 ==> Collignon
+% type=8 ==> Bonne
+\define@key[psset]{pst-map2d}{n}{\edef\psk@WorldMap@n{#1}}
+\psset{n=1.77245} % sqrt(pi) % pour Collignon
+%
+\define@key[psset]{pst-map2d}{limiteL}{\edef\psk@WorldMap@limiteL{#1}}
+\psset{limiteL=180} % longitude limite
+%
+\define@key[psset]{pst-map2d}{latitude0}{\edef\psk@WorldMap@latitudeO{#1}}
+\psset{latitude0=45} % pour Bonne latitude 0
+%
+\define@key[psset]{pst-map2d}{longitude0}{\edef\psk@WorldMap@longitudeO{#1}}
+\psset{longitude0=0} % pour Bonne longitude 0
+%
+\define@key[psset]{pst-map2d}{increment}{\edef\psk@WorldMap@increment{#1}}
+\psset{increment=10}
+%
+\define@key[psset]{pst-map2d}{MapFillColor}{\edef\psk@WorldMap@Fillcolor{#1}} % couleur des continents
+\psset{MapFillColor= 0.99 0.95 0.7 }
+%
+\newif\ifPst@WorldMap@capitals
+\define@key[psset]{pst-map2d}{capital}[false]{\@nameuse{Pst@WorldMap@capitals#1}}
+\psset{capital=false}
+%
+\newif\ifPst@WorldMap@city
+\define@key[psset]{pst-map2d}{city}[false]{\@nameuse{Pst@WorldMap@city#1}}
+\psset{city=false}
+%
+\newif\ifPst@WorldMap@Rivers
+\define@key[psset]{pst-map2d}{rivers}[true]{\@nameuse{Pst@WorldMap@Rivers#1}}
+\psset{rivers=true}
+%
+\newif\ifPst@WorldMap@Borders
+\define@key[psset]{pst-map2d}{borders}[true]{\@nameuse{Pst@WorldMap@Borders#1}}
+\psset{borders=false}
+%
+\newif\ifPst@WorldMap@maillage
+\define@key[psset]{pst-map2d}{maillage}[true]{\@nameuse{Pst@WorldMap@maillage#1}}
+\psset{maillage=true}
+%
+\newif\ifPst@WorldMap@Fill
+\define@key[psset]{pst-map2d}{Fill}[true]{\@nameuse{Pst@WorldMap@Fill#1}}
+\psset{Fill=true}
+%
+\newif\ifPst@WorldMap@USA
+\define@key[psset]{pst-map2d}{USA}[false]{\@nameuse{Pst@WorldMap@USA#1}}
+\psset{USA=false}
+%
+\newif\ifPst@WorldMap@AUS
+\define@key[psset]{pst-map2d}{AUS}[false]{\@nameuse{Pst@WorldMap@AUS#1}}
+\psset{AUS=false}
+%
+\newif\ifPst@WorldMap@MEX
+\define@key[psset]{pst-map2d}{MEX}[false]{\@nameuse{Pst@WorldMap@MEX#1}}
+\psset{MEX=false}
+%
+\def\VariablesMap{%
+ /Coeff_mercatorY {2 div 45 add dup sin exch cos div ln 57.2958 mul} def % Mercator
+ /Coeff_simpleY {1 mul} def % simple
+ /Coeff_lambertY {sin 57.2958 mul} def % Lambert
+ /Coeff_sanson_flamsteedY {1 mul} def % Sanson_Flamstead
+ /Coeff_cylindricalY { dup sin exch cos div 57.2958 mul} def % Cylindrical
+ /Coeff_babinetY { sin 2 sqrt mul 57.2958 mul} def % Babinet
+ /n \psk@WorldMap@n\space def
+ /Coeff_collignonY { 0 ge { 1 2 sqrt 90 Y sub 2 div sin mul sub 57.2958 mul n mul}
+ { 1 2 sqrt 90 Y add 2 div sin mul sub 57.2958 mul n mul neg} ifelse }def % Collignon
+ /Coeff_BonneY {pop /RHO l0 dup cos exch sin div Y neg l0 add 57.2958 div add def
+ /Theta Y cos X L0 sub mul RHO div def
+ Theta cos RHO mul neg 57.2958 mul}def % Bonne
+%
+ /Coeff_mercatorX {1 mul} def % Mercator
+ /Coeff_simpleX {1 mul} def % simple
+ /Coeff_lambertX {1 mul} def % Lambert
+ /Coeff_sanson_flamsteedX {Y cos mul} def % Sanson_Flamstead
+ /Coeff_cylindricalX { 1 mul } def % Cylindrical
+ /Coeff_babinetX { 2 mul 2 sqrt mul 3.1415926 div Y cos mul} def % Babinet
+ /Coeff_collignonX { 2 mul 2 sqrt mul 90 Y abs sub 2 div sin mul n div} def % Collignon
+ /l0 \psk@WorldMap@latitudeO\space def
+ /L0 \psk@WorldMap@longitudeO\space def
+ /Coeff_BonneX { pop /RHO l0 dup cos exch sin div Y neg l0 add 57.2958 div add def
+ /Theta Y cos X L0 sub mul RHO div def
+ Theta sin RHO mul 57.2958 mul } def % Bonne
+ \ifcase\psk@WorldMap@type\or
+ /CoeffY {Coeff_mercatorY} def
+ /CoeffX {Coeff_mercatorX} def
+ /StartY -85 def
+ \or
+ /CoeffY {Coeff_simpleY} def
+ /CoeffX {Coeff_simpleX} def
+ /StartY -90 def
+ \or
+ /CoeffY {Coeff_lambertY} def
+ /CoeffX {Coeff_lambertX} def
+ /StartY -90 def
+ \or
+ /CoeffY {Coeff_sanson_flamsteedY} def
+ /CoeffX {Coeff_sanson_flamsteedX} def
+ /StartY -90 def
+ \or
+ /CoeffY {Coeff_cylindricalY} def
+ /CoeffX {Coeff_cylindricalX} def
+ /StartY -85 def
+ \or
+ /CoeffY {Coeff_babinetY} def
+ /CoeffX {Coeff_babinetX} def
+ /StartY -90 def
+ \or
+ /CoeffY {Coeff_collignonY} def
+ /CoeffX {Coeff_collignonX} def
+ /StartY -90 def
+ \or
+ /CoeffY {Coeff_BonneY} def
+ /CoeffX {Coeff_BonneX} def
+ /StartY -90 def
+ \fi%
+ /step \psk@WorldMap@level\space def % hv 2004-05-04
+}
+\newcount\TypeProjection
+\def\WorldMap{\pst@object{WorldMap}}
+\def\WorldMap@i{\@ifnextchar[{\WorldMap@do}{\WorldMap@do[]}}
+\def\WorldMap@do[#1]{{%
+ \psset{#1}%
+ \begin@ClosedObj
+ \addto@pscode{%
+ \VariablesMap
+ (\psk@WorldMap@Path/river.dat) run
+ (\psk@WorldMap@Path/pcoast.dat) run
+ (\psk@WorldMap@Path/pisland.dat) run
+ (\psk@WorldMap@Path/pborder.dat) run
+ (\psk@WorldMap@Path/plake.dat) run
+ (\psk@WorldMap@Path/usa.dat) run
+ (\psk@WorldMap@Path/aus.dat) run
+ (\psk@WorldMap@Path/mex.dat) run
+ 1 setlinejoin
+ 0 0 translate
+ /xunit {\pst@number\psxunit\space mul 20 div }def
+ /yunit {\pst@number\psyunit\space mul 20 div }def
+ /increment \psk@WorldMap@increment\space def
+ /limiteLongitude \psk@WorldMap@limiteL\space def
+%
+ \ifPst@WorldMap@Fill
+ gsave
+ newpath
+ /X limiteLongitude neg def
+ /Y StartY def
+ X CoeffX xunit Y CoeffY yunit moveto
+ StartY 2 StartY neg {%
+ /Y exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+ } for
+ /X limiteLongitude def
+ StartY neg -2 StartY {
+ /Y exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+ } for
+ closepath
+ /Color {0.5 0.8 0.8} def
+ Color setrgbcolor
+ fill
+ grestore
+ \fi
+ /CalculsPoints {
+ /region exch def
+ newpath
+ /nbr region length def % nombre de régions
+ region 0 get aload pop
+ /Y exch def /X exch def
+ X CoeffX xunit Y CoeffY yunit moveto
+ /ncount 0 def % hv 2004-05-04
+ 0 1 nbr 1 sub {
+ /ncount ncount 1 add def % hv 2004-05-04
+ region exch get aload pop
+ ncount step mod 0 eq nbr ncount sub 0 lt or { % hv 2004-05-04
+ /Y exch def /X exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+ }{ pop pop } ifelse % hv 2004-05-04
+ } for
+ } def
+%
+ /Draw { {
+ CalculsPoints
+ \ifPst@WorldMap@Fill
+ closepath
+% Colour in earth's surfaces
+ gsave
+ Color setrgbcolor
+ fill
+ grestore
+ \fi
+ stroke
+ } forall
+ } def
+\ifPst@WorldMap@Borders
+ border
+\else
+ coasts
+\fi
+%/Color {0.5 0.8 0.5} def
+/Color {\psk@WorldMap@Fillcolor} def
+ Draw
+islands
+ Draw
+\ifPst@WorldMap@MEX
+mexico
+ Draw
+\fi
+\ifPst@WorldMap@USA
+usa
+ Draw
+\fi
+\ifPst@WorldMap@AUS
+australia
+ Draw
+\fi
+/Color {0.5 0.8 0.8} def
+lake
+ Draw
+% les rivières
+\ifPst@WorldMap@Rivers
+/DrawRivers {
+ {
+CalculsPoints
+0 0 1 setrgbcolor
+stroke
+} forall
+}def
+river
+DrawRivers
+\fi
+%
+\ifPst@WorldMap@maillage
+% meridiens
+limiteLongitude neg increment limiteLongitude {% for X
+ /X exch def
+ newpath
+ /Y StartY def
+ X CoeffX xunit StartY CoeffY yunit moveto
+StartY increment 10 div StartY neg { % for Y
+ /Y exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+} for
+gsave
+% 11 janvier 2004
+X 0 eq {1 0 0 setrgbcolor}{0.2 setgray} ifelse
+%
+0.25 setlinewidth
+stroke
+grestore
+} for
+% parallèles
+StartY increment StartY neg {% for Y
+ /Y exch def
+newpath
+ /X limiteLongitude neg def
+ X CoeffX xunit Y CoeffY yunit moveto
+limiteLongitude neg increment 10 div limiteLongitude { % for X
+ /X exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+} for
+% 11 janvier 2004
+Y 0 eq {1 0 0 setrgbcolor}{0.2 setgray} ifelse
+%
+0.25 setlinewidth
+stroke
+} for
+\fi
+/DrawCitys {
+/CITY exch def
+/Rayon exch def
+/nbr CITY length def % nombre de villes
+0 1 nbr 1 sub {
+ /compteur exch def
+ CITY compteur get aload pop
+ /X exch def /Y exch def
+ gsave
+ 1 0 0 setrgbcolor newpath
+ X CoeffX xunit Y CoeffY yunit
+ Rayon 0 360 arc closepath fill
+ grestore
+} for
+} def
+\ifPst@WorldMap@city
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5 % rayon du point
+ citycapitals
+ DrawCitys
+% les autres villes
+ (\psk@WorldMap@Path/c-sub.dat) run
+ 0.5 % rayon du point
+ CitySub
+DrawCitys
+\fi
+\ifPst@WorldMap@capitals
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5
+ citycapitals
+ DrawCitys
+\fi
+}%
+\end@ClosedObj
+}}
+%
+\def\pnodeMap(#1,#2)#3{% hv 2004-05-09
+ \pst@killglue
+ \pnode(!
+ \VariablesMap
+ /Y #2 def
+ /X #1 def
+ X CoeffX 20 div Y CoeffY 20 div){#3}%
+}
+%
+%------------------- hv 2004-05-08 ----------------------
+\def\psNodeLabelStyle{}
+\define@key[psset]{pst-map2d}{mapCountry}{\edef\psk@WorldMap@mapCountry{#1}}
+\psset{mapCountry=all}
+\define@key[psset]{pst-map2d}{nodeWidth}{\edef\psk@WorldMap@nodeWidth{#1}}
+\psset{nodeWidth=1mm}
+\newpsstyle{psNodeMapStyle}{fillstyle=solid,fillcolor=red}
+%
+\def\mapput{\@ifnextchar[{\mapput@i}{\mapput@i[90]}}
+\def\mapput@i[#1](#2,#3){\@ifnextchar[{\mapput@iii[#1](#2,#3)}{\mapput@ii[#1](#2,#3)}}
+\def\mapput@ii[#1](#2,#3)#4{\mapput@iii[#1](#2,#3)[#4]{#4}}
+\def\mapput@iii[#1](#2,#3)[#4]#5{%
+ \@ifnextchar[{\mapput@iv[#1](#2,#3)[#4]#5}{\mapput@iv[#1](#2,#3)[#4]#5[\@empty]}}
+\def\mapput@iv[#1](#2,#3)[#4]#5[#6]{{%
+% [angle](longitude,lattitude)[node name]{node label}[country]
+ \def\pst@tempb{all}
+ \ifx\pst@tempb\psk@WorldMap@mapCountry
+ \mapput@v[#1](#2,#3)[#4]{#5}
+ \else
+ \def\pst@tempb{#6}
+% \typeout{Compare \pst@tempb{} with \psk@WorldMap@mapCountry}
+ \ifx\pst@tempb\psk@WorldMap@mapCountry
+ \mapput@v[#1](#2,#3)[#4]{#5}
+ \fi%
+ \fi%
+}}
+\def\mapput@v[#1](#2,#3)[#4]#5{{%
+ \pnodeMap(#2,#3){#4}
+% \typeout{Node: #4}
+ \pst@dima=\psk@WorldMap@nodeWidth
+ \pscircle[style=psNodeMapStyle](#4){\pst@dima}
+ \pscircle*(#4){0.5\pst@dima}
+ \uput{1.2\pst@dima}[#1](#4){{\psNodeLabelStyle #5}}%
+}}
+%------------------- hv 2004-05-08 ----------------------
+%
+\catcode`\@=\PstAtCode\relax
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pst-geo/pst-map2dII.tex b/Master/texmf-dist/tex/generic/pst-geo/pst-map2dII.tex
new file mode 100644
index 00000000000..35c449004e0
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-geo/pst-map2dII.tex
@@ -0,0 +1,489 @@
+%%
+%% This is file `pst-mapII.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-map2dII.tex'
+%%
+%% Manuel Luque <Mluque5130@aol.com> (France)
+%% Giuseppe Matarazzo <joematara@hotmail.com> (Italy)
+%% Herbert Voss <voss@perce.de> (Germany)
+%%
+%% May 09, 2004
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-map2dII' is a PSTricks package to create geographical objects
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\csname PSTMapTwoDII\endcsname
+\let\PSTMapTwoDIILoaded\endinput
+
+% Require PSTricks
+\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex \fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex \fi
+%
+%
+\def\fileversion{0.81}
+\def\filedate{2005/11/10}
+\message{`PST-map2dII v\fileversion, \filedate\space (ML/GM/HV)}
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+
+\pst@addfams{pst-map2dII}% added 2005-09-29 hv
+
+\SpecialCoor
+%
+\define@key[psset]{pst-map2dII}{path}{\edef\psk@WorldMap@Path{#1}} % chemin des données
+\psset{path=data}
+%
+\define@key[psset]{pst-map2dII}{type}{\edef\psk@WorldMapII@type{#1}}
+\psset{type=1}
+\define@key[psset]{pst-map2dII}{increment}{\edef\psk@WorldMapII@increment{#1}}
+\psset{increment=10}
+% type=1 ==> Mercator
+% type=2 ==> Lambert
+% type=3 ==> simple
+% type=4 ==> Sanson-Flamsteed
+% type=5 ==> cylindrical
+% type=6 ==> Babinet
+% type=7 ==> Collignon
+% type=8 ==> Bonne
+\define@key[psset]{pst-map2dII}{n}{\edef\psk@WorldMap@n{#1}}
+\psset{n=1.77245} % sqrt(pi) % pour Collignon
+%
+\define@key[psset]{pst-map2dII}{limiteL}{\edef\psk@WorldMap@limiteL{#1}}
+\psset{limiteL=180} % longitude limite
+%
+\define@key[psset]{pst-map2dII}{limiteL}{\edef\psk@WorldMap@limiteL{#1}}
+\psset{limiteL=180} % longitude limite
+%
+\define@key[psset]{pst-map2dII}{latitude0}{\edef\psk@WorldMap@latitudeO{#1}}
+\psset{latitude0=45} % pour Bonne latitude 0
+%
+\define@key[psset]{pst-map2dII}{longitude0}{\edef\psk@WorldMap@longitudeO{#1}}
+\psset{longitude0=0} % pour Bonne longitude 0
+%
+\newif\ifPst@WorldMap@capitals
+\define@key[psset]{pst-map2dII}{capital}[false]{\@nameuse{Pst@WorldMap@capitals#1}}
+\psset{capital=false}
+%
+\newif\ifPst@WorldMap@city
+\define@key[psset]{pst-map2dII}{city}[false]{\@nameuse{Pst@WorldMap@city#1}}
+\psset{city=false}
+%
+\newif\ifPst@WorldMapII@Rivers
+\define@key[psset]{pst-map2dII}{rivers}[true]{\@nameuse{Pst@WorldMapII@Rivers#1}}
+\psset{rivers=false}
+%
+\newif\ifPst@WorldMapII@Borders
+\define@key[psset]{pst-map2dII}{borders}[true]{\@nameuse{Pst@WorldMapII@Borders#1}}
+\psset{borders=true}
+%
+\newif\ifPst@WorldMapII@maillage
+\define@key[psset]{pst-map2dII}{maillage}[true]{\@nameuse{Pst@WorldMapII@maillage#1}}
+\psset{maillage=true}
+%
+\newif\ifPst@WorldMapII@Europe
+\define@key[psset]{pst-map2dII}{europe}[true]{\@nameuse{Pst@WorldMapII@Europe#1}}
+\psset{europe=true}
+%
+\newif\ifPst@WorldMapII@Asia
+\define@key[psset]{pst-map2dII}{asia}[true]{\@nameuse{Pst@WorldMapII@Asia#1}}
+\psset{asia=false}
+%
+\newif\ifPst@WorldMapII@Africa
+\define@key[psset]{pst-map2dII}{africa}[true]{\@nameuse{Pst@WorldMapII@Africa#1}}
+\psset{africa=false}
+%
+\newif\ifPst@WorldMapII@namer
+\define@key[psset]{pst-map2dII}{namer}[true]{\@nameuse{Pst@WorldMapII@namer#1}}
+\psset{namer=false}
+%
+\newif\ifPst@WorldMapII@samer
+\define@key[psset]{pst-map2dII}{samer}[true]{\@nameuse{Pst@WorldMapII@samer#1}}
+\psset{samer=false}
+%
+\newif\ifPst@WorldMapII@all% hv 2004-05-05
+\define@key[psset]{pst-map2dII}{all}[true]{%
+ \psset{europe=true,asia=true,africa=true,namer=true,samer=true}
+}
+%
+\define@key[psset]{pst-map2dII}{level}{\edef\psk@WorldMapII@level{#1}}% hv 2004-05-05
+\psset{level=5}% only every 5th data record
+%
+\def\VariablesMap{%
+ /Coeff_mercatorY { 2 div 45 add dup sin exch cos div ln 57.2958 mul } def % Mercator
+ /Coeff_simpleY {1 mul } def % simple
+ /Coeff_lambertY {sin 57.2958 mul } def % Lambert
+ /Coeff_sanson_flamsteedY {1 mul } def % Sanson_Flamstead
+ /Coeff_cylindricalY { dup sin exch cos div 57.2958 mul } def % Cylindrical
+ /Coeff_babinetY { sin 2 sqrt mul 57.2958 mul } def % Babinet
+ /n \psk@WorldMap@n\space def
+ /Coeff_collignonY { 0 ge { 1 2 sqrt 90 Y sub 2 div sin mul sub 57.2958 mul n mul }
+ { 1 2 sqrt 90 Y add 2 div sin mul sub 57.2958 mul n mul neg} ifelse } def % Collignon
+ /Coeff_BonneY { pop /RHO l0 dup cos exch sin div Y neg l0 add 57.2958 div add def
+ /Theta Y cos X L0 sub mul RHO div def
+ Theta cos RHO mul neg 57.2958 mul } def % Bonne
+ /Coeff_mercatorX {1 mul} def % Mercator
+ /Coeff_simpleX {1 mul} def % simple
+ /Coeff_lambertX {1 mul} def % Lambert
+ /Coeff_sanson_flamsteedX {Y cos mul} def % Sanson_Flamstead
+ /Coeff_cylindricalX { 1 mul } def % Cylindrical
+ /Coeff_babinetX { 2 mul 2 sqrt mul 3.1415926 div Y cos mul} def % Babinet
+ /Coeff_collignonX { 2 mul 2 sqrt mul 90 Y abs sub 2 div sin mul n div } def % Collignon
+ /l0 \psk@WorldMap@latitudeO\space def
+ /L0 \psk@WorldMap@longitudeO\space def
+ /Coeff_BonneX {pop /RHO l0 dup cos exch sin div Y neg l0 add 57.2958 div add def
+ /Theta Y cos X L0 sub mul RHO div def
+ Theta sin RHO mul 57.2958 mul } def % Bonne
+ \ifcase\psk@WorldMapII@type\or % type 1 % hv 2004-05-04
+ /CoeffY {Coeff_mercatorY} def
+ /CoeffX {Coeff_mercatorX} def
+ /StartY -85 def
+ \or % type 2 % hv 2004-05-04
+ /CoeffY {Coeff_simpleY} def
+ /CoeffX {Coeff_simpleX} def
+ /StartY -90 def
+ \or % type 3 % hv 2004-05-04
+ /CoeffY {Coeff_lambertY} def
+ /CoeffX {Coeff_lambertX} def
+ /StartY -90 def
+ \or % type 4 % hv 2004-05-04
+ /CoeffY {Coeff_sanson_flamsteedY} def
+ /CoeffX {Coeff_sanson_flamsteedX} def
+ /StartY -90 def
+ \or % type 5 % hv 2004-05-04
+ /CoeffY {Coeff_cylindricalY} def
+ /CoeffX {Coeff_cylindricalX} def
+ /StartY -85 def
+ \or % type 6 % hv 2004-05-04
+ /CoeffY {Coeff_babinetY} def
+ /CoeffX {Coeff_babinetX} def
+ /StartY -90 def
+ \or % type 7 % hv 2004-05-04
+ /CoeffY {Coeff_collignonY} def
+ /CoeffX {Coeff_collignonX} def
+ /StartY -90 def
+ \else % every other is type 8 % hv 2004-05-04
+ /CoeffY {Coeff_BonneY} def
+ /CoeffX {Coeff_BonneX} def
+ /StartY -90 def
+ \fi
+ /step \psk@WorldMapII@level\space def % hv 2004-05-04
+ /increment \psk@WorldMapII@increment\space def
+}
+ %
+\newcount\TypeProjection
+\def\WorldMapII{\pst@object{WorldMapII}}
+\def\WorldMapII@i{{%
+ \use@par%
+ \begin@ClosedObj
+ \addto@pscode{
+ \VariablesMap
+ 1 setlinejoin
+ 0 0 translate
+ /xunit {\pst@number\psxunit\space mul 20 div } def
+ /yunit {\pst@number\psyunit\space mul 20 div } def
+ /limiteLongitude \psk@WorldMap@limiteL\space def
+%
+ /CalculsPoints {
+ /region exch def
+ gsave
+ newpath
+ /nbr region length def % nombre de points
+ region nbr 2 sub get
+ /Y exch def
+ region nbr 1 sub get
+ /X exch def
+ X CoeffX xunit Y CoeffY yunit moveto
+ /ncount 0 def % hv 2004-05-04
+ nbr 2 sub -2 2 {
+ /Counter exch def % hv 2004-05-04
+ /ncount ncount 1 add def % hv 2004-05-04
+ ncount step ge { % hv 2004-05-04
+ region Counter get
+ /Y exch def
+ region Counter 1 add get
+ /X exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+ /ncount 0 def % hv 2004-05-04
+ }{ /ncount ncount 1 add def } ifelse % hv 2004-05-04
+ } for
+ } def
+%
+ /CalculsPointsAsia {
+ /region exch def
+ gsave
+ newpath
+ /nbr region length def % nombre de points
+ region nbr 2 sub get
+ /Y exch def
+ region nbr 1 sub get
+ /X exch def
+ X 0 le {/X X 360 add def} if
+ X CoeffX xunit Y CoeffY yunit moveto
+ /ncount 0 def % hv 2004-05-04
+ nbr 2 sub -2 2 {
+ /Counter exch def % hv 2004-05-04
+ /ncount ncount 1 add def % hv 2004-05-04
+ ncount step ge { % hv 2004-05-04
+ region Counter get
+ /Y exch def
+ region Counter 1 add get
+ /X exch def
+ X 0 le {/X X 360 add def} if
+ X CoeffX xunit Y CoeffY yunit lineto
+ /ncount 0 def % hv 2004-05-04
+ }{ /ncount ncount 1 add def } ifelse % hv 2004-05-04
+ } for
+ } def
+%
+ /Draw {
+ { CalculsPoints
+ stroke
+ } forall
+ } def
+%
+ /DrawAsia {
+ { CalculsPointsAsia
+ stroke
+ } forall
+ } def
+ /DrawRivers {
+ { CalculsPoints
+ gsave
+ 0 0 1 setrgbcolor
+ stroke
+ grestore
+ } forall
+ } def
+%
+ /DrawRiversAsia {
+ { CalculsPointsAsia
+ gsave
+ 0 0 1 setrgbcolor
+ stroke
+ grestore
+ } forall
+ } def
+ /DrawBdy {
+ { CalculsPoints
+ gsave
+ 1 0 0 setrgbcolor
+ stroke
+ grestore
+ } forall
+ } def
+ \ifPst@WorldMapII@Europe
+ (\psk@WorldMap@Path/europe-cil.dat) run
+ europe-cil
+ Draw
+ \ifPst@WorldMapII@Rivers
+ (\psk@WorldMap@Path/europe-riv.dat) run
+ europe-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/europe-bdy.dat) run
+ europe-bdy
+ DrawBdy
+ \fi
+ \fi
+%
+ \ifPst@WorldMapII@Africa
+ (\psk@WorldMap@Path/africa-cil.dat) run
+ africa-cil
+ Draw
+ \ifPst@WorldMapII@Rivers
+ (\psk@WorldMap@Path/africa-riv.dat) run
+ africa-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/africa-bdy.dat) run
+ africa-bdy
+ DrawBdy
+ \fi
+ \fi
+%
+ \ifPst@WorldMapII@Asia
+ (\psk@WorldMap@Path/asia-cil.dat) run
+ asia-cil
+ DrawAsia
+ (\psk@WorldMap@Path/asia-isl.dat) run
+ asia-isl
+ Draw
+ \ifPst@WorldMapII@Rivers
+ (\psk@WorldMap@Path/asia-riv.dat) run
+ asia-riv
+ DrawRiversAsia
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/asia-bdy.dat) run
+ asia-bdy
+ DrawBdy
+ \fi
+ \fi
+ \ifPst@WorldMapII@namer
+ (\psk@WorldMap@Path/namer-cil.dat) run
+ namer-cil
+ Draw
+ \ifPst@WorldMapII@Rivers
+ (\psk@WorldMap@Path/namer-riv.dat) run
+ namer-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/namer-bdy.dat) run
+ (\psk@WorldMap@Path/namer-pby.dat) run
+ namer-bdy
+ DrawBdy
+ namer-pby
+ DrawBdy
+ \fi
+ \fi
+ \ifPst@WorldMapII@samer
+ (\psk@WorldMap@Path/samer-cil.dat) run
+ samer-cil
+ Draw
+ (\psk@WorldMap@Path/samer-arc.dat) run
+ samer-arc
+ DrawAsia
+ \ifPst@WorldMapII@Rivers
+ (samer-riv.dat) run
+ samer-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/samer-bdy.dat) run
+ samer-bdy
+ DrawBdy
+ \fi
+ \fi
+%
+ \ifPst@WorldMapII@maillage
+% meridiens
+ limiteLongitude neg increment limiteLongitude {% for X
+ /X exch def
+ newpath
+ /Y StartY def
+ X CoeffX xunit StartY CoeffY yunit moveto
+ StartY increment 10 div StartY neg { % for Y
+ /Y exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+ } for
+ gsave
+% 11 janvier 2004
+ X 0 eq { 1 0 0 setrgbcolor }{ 0.2 setgray } ifelse
+%
+ 0.25 setlinewidth
+ stroke
+ grestore
+ } for
+% parallèles
+ StartY increment StartY neg {% for Y
+ /Y exch def
+ newpath
+ /X limiteLongitude neg def
+ X CoeffX xunit Y CoeffY yunit moveto
+ limiteLongitude neg increment 10 div limiteLongitude { % for X
+ /X exch def
+ X CoeffX xunit Y CoeffY yunit lineto
+ } for
+% 11 janvier 2004
+ Y 0 eq {1 0 0 setrgbcolor}{0.2 setgray} ifelse
+%
+ 0.25 setlinewidth
+ stroke
+ } for
+ \fi
+ /DrawCitys {
+ /CITY exch def
+ /Rayon exch def
+ /nbr CITY length def % nombre de villes
+ 0 1 nbr 1 sub {
+ /compteur exch def
+ CITY compteur get aload pop
+ /X exch def /Y exch def
+ gsave
+ 1 0 0 setrgbcolor newpath
+ X CoeffX xunit Y CoeffY yunit
+ Rayon 0 360 arc closepath fill
+ grestore
+ } for
+ } def
+ \ifPst@WorldMap@city
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5 % rayon du point
+ citycapitals
+ DrawCitys
+% les autres villes
+ (\psk@WorldMap@Path/c-sub.dat) run
+ 0.5 % rayon du point
+ CitySub
+ DrawCitys
+ \fi
+ \ifPst@WorldMap@capitals
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5
+ citycapitals
+ DrawCitys
+ \fi
+ }%
+ \end@ClosedObj
+ }\ignorespaces}
+%
+
+\def\pnodeMap(#1,#2)#3{% hv 2004-05-09
+ \pst@killglue
+ \pnode(!
+ \VariablesMap
+ /Y #2 def
+ /X #1 def
+ X CoeffX 20 div Y CoeffY 20 div){#3}%
+}
+%
+%------------------- hv 2004-05-08 ----------------------
+\def\psNodeLabelStyle{}
+\define@key[psset]{pst-map2dII}{mapCountry}{\edef\psk@WorldMap@mapCountry{#1}}
+\psset{mapCountry=all}
+\define@key[psset]{pst-map2dII}{nodeWidth}{\edef\psk@WorldMap@nodeWidth{#1}}
+\psset{nodeWidth=1mm}
+\newpsstyle{psNodeMapStyle}{fillstyle=solid,fillcolor=red}
+%
+\def\mapput{\@ifnextchar[{\mapput@i}{\mapput@i[90]}}
+\def\mapput@i[#1](#2,#3){\@ifnextchar[{\mapput@iii[#1](#2,#3)}{\mapput@ii[#1](#2,#3)}}
+\def\mapput@ii[#1](#2,#3)#4{\mapput@iii[#1](#2,#3)[#4]{#4}}
+\def\mapput@iii[#1](#2,#3)[#4]#5{%
+ \@ifnextchar[{\mapput@iv[#1](#2,#3)[#4]#5}{\mapput@iv[#1](#2,#3)[#4]#5[\@empty]}}
+\def\mapput@iv[#1](#2,#3)[#4]#5[#6]{{%
+% [angle](longitude,lattitude)[node name]{node label}[country]
+ \def\pst@tempb{all}
+ \ifx\pst@tempb\psk@WorldMap@mapCountry
+ \mapput@v[#1](#2,#3)[#4]{#5}
+ \else
+ \def\pst@tempb{#6}
+% \typeout{Compare \pst@tempb{} with \psk@WorldMap@mapCountry}
+ \ifx\pst@tempb\psk@WorldMap@mapCountry
+ \mapput@v[#1](#2,#3)[#4]{#5}
+ \fi%
+ \fi%
+}}
+\def\mapput@v[#1](#2,#3)[#4]#5{{%
+ \pnodeMap(#2,#3){#4}
+% \typeout{Node: #4}
+ \pst@dima=\psk@WorldMap@nodeWidth
+ \pscircle[style=psNodeMapStyle](#4){\pst@dima}
+ \pscircle*(#4){0.5\pst@dima}
+ \uput{1.2\pst@dima}[#1](#4){\psNodeLabelStyle #5}%
+}}
+%------------------- hv 2004-05-08 ----------------------
+%
+\catcode`\@=\PstAtCode\relax
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pst-geo/pst-map3d.tex b/Master/texmf-dist/tex/generic/pst-geo/pst-map3d.tex
new file mode 100644
index 00000000000..f2613405cf3
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-geo/pst-map3d.tex
@@ -0,0 +1,187 @@
+%%
+%% This is file `pst-map3d.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-map3d.tex'
+%%
+%% Manuel Luque <Mluque5130@aol.com> (France)
+%% Giuseppe Matarazzo <joematara@hotmail.com> (Italy)
+%% Herbert Voss <voss _at_ perce.de> (Germany)
+%%
+%% May 09, 2004
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-map3d' is a PSTricks package to create geographical objects
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\csname PSTMapThreeD\endcsname
+\let\PSTMapThreeDLoaded\endinput
+
+% Require PSTricks
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi % hv 2004-05-09
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex \fi
+
+\def\fileversion{1.03}
+\def\filedate{2005/11/10}
+
+\message{`PST-map3d v\fileversion, \filedate\space (ML/GM/HV)}
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst@addfams{pst-map3d}
+%
+\SpecialCoor
+%
+\define@key[psset]{pst-map3d}{path}{\edef\psk@WorldMap@Path{#1}} % chemin des données
+\psset{path=data}
+%
+\pstheader{map3d.pro}
+\define@key[psset]{pst-map3d}{RotX}{\edef\psk@TroisD@RotX{#1}} % rotation autour de Ox en degrés
+\define@key[psset]{pst-map3d}{RotY}{\edef\psk@TroisD@RotY{#1}} % rotation autour de Oy en degrés
+\define@key[psset]{pst-map3d}{RotZ}{\edef\psk@TroisD@RotZ{#1}} % rotation autour de OZ en degrés
+\define@key[psset]{pst-map3d}{Radius}{\edef\psk@TroisD@Radius{#1}} % rayon de la sphère
+%
+\define@key[psset]{pst-map3d}{THETA}{\edef\psk@TroisD@Theta{#1}}
+\define@key[psset]{pst-map3d}{PHI}{\edef\psk@TroisD@Phi{#1}}
+\define@key[psset]{pst-map3d}{Dobs}{\edef\psk@TroisD@Dobs{#1}}
+\define@key[psset]{pst-map3d}{Decran}{\edef\psk@TroisD@Ecran{#1}}
+\psset{THETA=0,PHI=45,Dobs=20,Decran=25}
+%
+\psset{RotX=0,RotY=0,RotZ=0,Radius=5}
+%
+\define@key[psset]{pst-map3d}{increment}{\edef\psk@WorldMap@increment{#1}}
+\psset{increment=10}
+%
+\define@key[psset]{pst-map3d}{maillageColor}{\edef\psk@WorldMap@maillageColor{#1}}
+\psset{maillageColor= 0.5 0.5 0.5 }
+%
+\define@key[psset]{pst-map3d}{MapFillColor}{\edef\psk@WorldMap@Fillcolor{#1}} % couleur des continents
+\psset{MapFillColor= 0.99 0.95 0.7 }
+%
+\define@key[psset]{pst-map3d}{level}{\edef\psk@WorldMap@level{#1}}
+\psset{level=1}
+%
+\def\variablesTroisD{%
+ /RotX \psk@TroisD@RotX\space def
+ /RotY \psk@TroisD@RotY\space def
+ /RotZ \psk@TroisD@RotZ\space def
+ /THETA \psk@TroisD@Theta\space def
+ /PHI \psk@TroisD@Phi\space def
+ /Rsphere \psk@TroisD@Radius\space def
+ /Dobs \psk@TroisD@Dobs\space def
+ /DScreen \psk@TroisD@Ecran\space def
+ /step \psk@WorldMap@level\space def
+ }%
+ %
+\newif\ifPst@WorldMap@capitals
+\define@key[psset]{pst-map3d}{capital}[false]{\@nameuse{Pst@WorldMap@capitals#1}}
+\psset{capital=false}
+%
+\newif\ifPst@WorldMap@city
+\define@key[psset]{pst-map3d}{city}[false]{\@nameuse{Pst@WorldMap@city#1}}
+\psset{city=false}
+%
+\newif\ifPst@WorldMap@Rivers% hv 2004-05-03
+\define@key[psset]{pst-map3d}{rivers}[true]{\@nameuse{Pst@WorldMap@Rivers#1}}
+\psset{rivers=true}
+%
+\newif\ifPst@WorldMap@maillage
+\define@key[psset]{pst-map3d}{maillage}[true]{\@nameuse{Pst@WorldMap@maillage#1}}
+\psset{maillage=true}
+%
+\def\WorldMapThreeD{\pst@object{WorldMapThreeD}}
+\def\WorldMapThreeD@i{\@ifnextchar[{\WorldMapThreeD@do}{\WorldMapThreeD@do[]}}
+\def\WorldMapThreeD@do[#1]{{%
+\psset{#1}%
+\begin@ClosedObj
+\addto@pscode{%
+ /increment \psk@WorldMap@increment\space def
+ \variablesTroisD
+ (\psk@WorldMap@Path/river.dat) run
+ (\psk@WorldMap@Path/pisland.dat) run
+ (\psk@WorldMap@Path/pborder.dat) run
+ (\psk@WorldMap@Path/plake.dat) run
+ 1 setlinejoin
+ 0 0 translate
+ /xunit {\pst@number\psxunit\space mul}def
+ /yunit {\pst@number\psyunit\space mul}def
+ /runit {\pst@number\psrunit\space mul}def
+ gsave
+ newpath
+ 0.5 0.8 0.8 setrgbcolor
+ % cercle vu par l'observateur
+ /RsphereScreen Rsphere DScreen mul Dobs div
+ 1 Rsphere dup mul Dobs dup mul div sub sqrt div runit def
+ 0 0 RsphereScreen 0 360 arc
+ closepath
+ fill
+ grestore
+ /condition {PSfacette 0 le} def
+ /departPhi -90 def
+tx@map3DDict begin
+ MatriceTransformation
+/Draw {
+ {
+CalculsPoints
+closepath
+gsave
+Color setrgbcolor
+fill
+grestore
+stroke
+} forall
+}def
+%/Color {0.5 0.8 0.5} def
+/Color {\psk@WorldMap@Fillcolor} def
+border
+ Draw
+islands
+ Draw
+/Color {0.5 0.8 0.8} def
+lake
+ Draw
+% les rivières
+\ifPst@WorldMap@Rivers % hv 2004-05-03
+ /DrawRivers {
+ { CalculsPoints
+ 0 0 1 setrgbcolor
+ stroke
+ } forall
+ }def
+ river
+ DrawRivers
+\fi
+\ifPst@WorldMap@city
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5
+ citycapitals
+ DrawCitys
+% les autres villes
+ (\psk@WorldMap@Path/c-sub.dat) run
+ 0.5
+ CitySub
+DrawCitys
+\fi
+\ifPst@WorldMap@capitals
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 2
+ citycapitals
+ DrawCitys
+\fi
+\ifPst@WorldMap@maillage
+/maillageColor {\psk@WorldMap@maillageColor} def
+ MaillageSphere
+\fi
+end}%
+\end@ClosedObj
+}}
+%
+\catcode`\@=\PstAtCode\relax
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pst-geo/pst-map3dII.tex b/Master/texmf-dist/tex/generic/pst-geo/pst-map3dII.tex
new file mode 100644
index 00000000000..a0116a97668
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-geo/pst-map3dII.tex
@@ -0,0 +1,280 @@
+%%
+%% This is file `pst-map3dII.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-map3dII.tex'
+%%
+%% Manuel Luque <Mluque5130@aol.com> (France)
+%% Giuseppe Matarazzo <joematara@hotmail.com> (Italy)
+%% Herbert Voss <voss@perce.de> (Germany)
+%%
+%% May 09, 2004
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-map3dII' is a PSTricks package to create geographical objects
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\csname PSTMapThreeDII\endcsname
+\let\PSTMapThreeDII\endinput
+
+% Require PSTricks
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey\fi
+
+\def\fileversion{0.23}
+\def\filedate{2005/11/10}
+
+\message{`PST-mapThreeDII v\fileversion, \filedate\space (ML/GM/HV)}
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst@addfams{pst-map3dII}
+\pstheader{map3dII.pro}
+\SpecialCoor
+%
+\define@key[psset]{pst-map3dII}{path}{\edef\psk@WorldMap@Path{#1}} % chemin des données
+\psset{path=.}
+%
+\define@key[psset]{pst-map3dII}{RotX}{\edef\psk@TroisD@RotX{#1}} % rotation autour de Ox en degrés
+\define@key[psset]{pst-map3dII}{RotY}{\edef\psk@TroisD@RotY{#1}} % rotation autour de Oy en degrés
+\define@key[psset]{pst-map3dII}{RotZ}{\edef\psk@TroisD@RotZ{#1}} % rotation autour de OZ en degrés
+\define@key[psset]{pst-map3dII}{Radius}{\edef\psk@TroisD@Radius{#1}} % rayon de la sphère
+%
+\define@key[psset]{pst-map3dII}{THETA}{\edef\psk@TroisD@Theta{#1}}
+\define@key[psset]{pst-map3dII}{PHI}{\edef\psk@TroisD@Phi{#1}}
+\define@key[psset]{pst-map3dII}{Dobs}{\edef\psk@TroisD@Dobs{#1}}
+\define@key[psset]{pst-map3dII}{Decran}{\edef\psk@TroisD@Ecran{#1}}
+\psset{THETA=0,PHI=45,Dobs=20,Decran=25,Radius=5}
+%
+\psset{RotX=0,RotY=0,RotZ=0}
+%
+\define@key[psset]{pst-map3dII}{increment}{\edef\psk@WorldMapII@increment{#1}}
+\psset{increment=10}
+%
+\define@key[psset]{pst-map3dII}{level}{\edef\psk@WorldMapII@level{#1}}% hv 2004-05-05
+\psset{level=5}
+%
+\def\variablesTroisD{%
+ /RotX \psk@TroisD@RotX\space def
+ /RotY \psk@TroisD@RotY\space def
+ /RotZ \psk@TroisD@RotZ\space def
+ /THETA \psk@TroisD@Theta\space def
+ /PHI \psk@TroisD@Phi\space def
+ /Rsphere \psk@TroisD@Radius\space def
+ /Dobs \psk@TroisD@Dobs\space def
+ /DScreen \psk@TroisD@Ecran\space def
+ /step \psk@WorldMapII@level\space def
+ }%
+ %
+\newif\ifPst@WorldMap@capitals
+\define@key[psset]{pst-map3dII}{capital}[false]{\@nameuse{Pst@WorldMap@capitals#1}}
+\psset{capital=false}
+%
+\newif\ifPst@WorldMap@city
+\define@key[psset]{pst-map3dII}{city}[false]{\@nameuse{Pst@WorldMap@city#1}}
+\psset{city=false}
+%
+\newif\ifPst@WorldMap@maillage
+\define@key[psset]{pst-map3dII}{maillage}[true]{\@nameuse{Pst@WorldMap@maillage#1}}
+\psset{maillage=true}
+%
+\newif\ifPst@WorldMapII@Rivers
+\define@key[psset]{pst-map3dII}{rivers}[true]{\@nameuse{Pst@WorldMapII@Rivers#1}}
+\psset{rivers=true}
+%
+\newif\ifPst@WorldMapII@Borders
+\define@key[psset]{pst-map3dII}{borders}[true]{\@nameuse{Pst@WorldMapII@Borders#1}}
+\psset{borders=true}
+%
+\newif\ifPst@WorldMap@Europe
+\define@key[psset]{pst-map3dII}{europe}[true]{\@nameuse{Pst@WorldMap@Europe#1}}
+\psset{europe=true}
+%
+\newif\ifPst@WorldMap@Asia
+\define@key[psset]{pst-map3dII}{asia}[false]{\@nameuse{Pst@WorldMap@Asia#1}}
+\psset{asia=false}
+%
+\newif\ifPst@WorldMap@Africa
+\define@key[psset]{pst-map3dII}{africa}[false]{\@nameuse{Pst@WorldMap@Africa#1}}
+\psset{africa=false}
+%
+\newif\ifPst@WorldMap@namer
+\define@key[psset]{pst-map3dII}{namer}[false]{\@nameuse{Pst@WorldMap@namer#1}}
+\psset{namer=false}
+%
+\newif\ifPst@WorldMap@samer
+\define@key[psset]{pst-map3dII}{samer}[false]{\@nameuse{Pst@WorldMap@samer#1}}
+\psset{samer=false}
+%
+\newif\ifPst@WorldMapII@all% hv 2004-05-05
+\define@key[psset]{pst-map3dII}{all}[true]{%
+ \psset{europe=true,asia=true,africa=true,namer=true,samer=true}
+}
+%
+\def\WorldMapThreeDII{\pst@object{WorldMapThreeDII}}
+\def\WorldMapThreeDII@i{\@ifnextchar[{\WorldMapThreeDII@do}{\WorldMapThreeDII@do[]}}
+\def\WorldMapThreeDII@do[#1]{{%
+ \psset{#1}%
+ \begin@ClosedObj
+ \addto@pscode{%
+ \variablesTroisD
+ 1 setlinejoin
+ 0 0 translate
+ /increment \psk@WorldMapII@increment\space def
+ /xunit {\pst@number\psxunit\space mul}def
+ /yunit {\pst@number\psyunit\space mul}def
+ /runit {\pst@number\psrunit\space mul}def
+ gsave
+ newpath
+ 0.7 0.9 0.9 setrgbcolor
+% cercle vu par l'observateur
+ /RsphereScreen Rsphere DScreen mul Dobs div
+ 1 Rsphere dup mul Dobs dup mul div sub sqrt div runit def
+ 0 0 RsphereScreen 0 360 arc
+ closepath
+ fill
+ grestore
+ /condition {PSfacette 0 le} def
+ /departPhi -90 def
+ tx@mapII3DDict begin
+ MatriceTransformation
+ /Draw {
+ { CalculsPoints
+ stroke
+ } forall
+ }def
+%
+ /DrawRivers {
+ { CalculsPoints
+ gsave
+ 0 0 1 setrgbcolor
+ CLW 0.25 mul
+ stroke
+ grestore
+ } forall
+ } def
+%
+ /DrawBdy {
+ { CalculsPoints
+ gsave
+ 1 0 0 setrgbcolor
+ stroke
+ grestore
+ } forall
+ } def
+\ifPst@WorldMap@maillage
+ MaillageSphere
+\fi
+\ifPst@WorldMap@Europe
+ (\psk@WorldMap@Path/europe-cil.dat) run
+ europe-cil
+ Draw
+ \ifPst@WorldMapII@Rivers
+(\psk@WorldMap@Path/europe-riv.dat) run
+ europe-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+(\psk@WorldMap@Path/europe-bdy.dat) run
+ europe-bdy
+ DrawBdy
+ \fi
+\fi
+%
+\ifPst@WorldMap@Africa
+ (\psk@WorldMap@Path/africa-cil.dat) run
+ africa-cil
+ Draw
+ \ifPst@WorldMapII@Rivers
+ (\psk@WorldMap@Path/africa-riv.dat) run
+ africa-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/africa-bdy.dat) run
+ africa-bdy
+ DrawBdy
+ \fi
+\fi
+%
+\ifPst@WorldMap@Asia
+ (\psk@WorldMap@Path/asia-cil.dat) run
+ asia-cil
+ Draw
+ \ifPst@WorldMapII@Rivers
+ (\psk@WorldMap@Path/asia-riv.dat) run
+ asia-riv
+ DrawRivers
+ \fi
+ \ifPst@WorldMapII@Borders
+ (\psk@WorldMap@Path/asia-bdy.dat) run
+ asia-bdy
+ DrawBdy
+ \fi
+\fi
+%
+\ifPst@WorldMap@namer
+(\psk@WorldMap@Path/namer-cil.dat) run
+ namer-cil
+ Draw
+\ifPst@WorldMapII@Rivers
+(\psk@WorldMap@Path/namer-riv.dat) run
+ namer-riv
+ DrawRivers
+ \fi
+\ifPst@WorldMapII@Borders
+(\psk@WorldMap@Path/namer-bdy.dat) run
+(\psk@WorldMap@Path/namer-pby.dat) run
+ namer-bdy
+ DrawBdy
+ namer-pby
+ DrawBdy
+\fi
+\fi
+%
+\ifPst@WorldMap@samer
+(\psk@WorldMap@Path/samer-cil.dat) run
+ samer-cil
+ Draw
+\ifPst@WorldMapII@Rivers
+(\psk@WorldMap@Path/samer-riv.dat) run
+ samer-riv
+ DrawRivers
+ \fi
+\ifPst@WorldMapII@Borders
+(\psk@WorldMap@Path/samer-bdy.dat) run
+ samer-bdy
+ DrawBdy
+\fi
+\fi
+%
+\ifPst@WorldMap@city
+% les capitales
+ (\psk@WorldMap@Path/c-cap.dat) run
+ 1.5 % rayon du point
+ citycapitals
+ DrawCitys
+% les autres villes
+ (\psk@WorldMap@Path/c-sub.dat) run
+ 0.5 % rayon du point
+ CitySub
+DrawCitys
+\fi
+\ifPst@WorldMap@capitals
+% les capitales
+ (\psk@WorldMap@Path/citycapitals.dat) run
+ 1.5
+ citycapitals
+ DrawCitys
+\fi
+end}%
+\end@ClosedObj
+}}
+%
+%
+\catcode`\@=\PstAtCode\relax
+\endinput