ELTE Meteorológiai Tanszék => Oktatás => Magics++ oktatóanyag => MagML tartalom


Felhőborítottság térkép


Ebben a példában megnézünk egy újabb árnyékolási technikát, amivel a felhőborítottságot ábrázolhatjuk. Továbbá azt is láthatjuk, miként tehetünk színeket a térkép címébe. A megoldáshoz szükséges grib fájl letölthető innen.


<magics version='3.0'>

  <drivers>
        <png output_name='cloud_cover_asia'/>
  </drivers>

  <page>
        <map
        subpage_lower_left_longitude = '55.000000'
        subpage_upper_right_longitude = '175.000000'
        subpage_upper_right_latitude = '80.000000'
        subpage_map_projection = 'cylindrical'
        subpage_lower_left_latitude = '0.000000'
                fitted_mode='crop'
            margin_top='0'
            margin_left='0'
            margin_bottom='0'
            margin_right='0'>

                <coastlines map_coastline_sea_shade = 'on'
                        map_coastline_sea_shade_colour = 'white'
                        map_label = 'off'
                        map_coastline_land_shade_colour = 'cream'
                        map_grid = 'off'
                        map_coastline_colour = 'tan'
                        map_coastline_land_shade = 'on' />

                <plot>
                        <grib  grib_input_file_name = '../cloud_cover.grb' />
                        <contour contour_level_selection_type = 'interval'
                contour_shade_colour_method = 'list'
                contour_shade_technique = 'cell_shading'
                contour_shade = 'on'
                contour_reference_level = '-0.500000'
                contour_hilo = 'off'
                contour_min_level = '-0.500000'
                contour_max_level = '63.500000'
                contour = 'off'
                contour_interval = '1.000000'
                contour_shade_colour_list = "HSL(0,0,1)/
                    HSL(29,0.14,0.92)/
                    HSL(29,0.29,0.83)/
                    HSL(29,0.43,0.75)/
                    HSL(300,0.08,0.92)/
                    HSL(360,0.16,0.84)/
                    HSL(13,0.3,0.75)/
                    HSL(18,0.44,0.67)/
                    HSL(300,0.16,0.83)/
                    HSL(340,0.22,0.75)/
                    HSL(360,0.34,0.67)/
                    HSL(8,0.47,0.58)/
                    HSL(300,0.24,0.75)/
                    HSL(330,0.28,0.67)/
                    HSL(349,0.38,0.58)/
                    HSL(360,0.5,0.5)/
                    HSL(180,0.17,0.92)/
                    HSL(120,0.08,0.84)/
                    HSL(57,0.17,0.75)/
                    HSL(44,0.3,0.67)/
                    HSL(209,0.14,0.84)/
                    HSL(187,0,0.75)/
                    HSL(29,0.15,0.67)/
                    HSL(29,0.29,0.59)/
                    HSL(239,0.16,0.75)/
                    HSL(299,0.08,0.67)/
                    HSL(360,0.17,0.58)/
                    HSL(13,0.3,0.5)/
                    HSL(258,0.21,0.67)/
                    HSL(299,0.16,0.59)/
                    HSL(341,0.22,0.5)/
                    HSL(360,0.33,0.42)/
                    HSL(180,0.34,0.83)/
                    HSL(161,0.22,0.75)/
                    HSL(120,0.16,0.67)/
                    HSL(78,0.21,0.58)/
                    HSL(193,0.3,0.75)/
                    HSL(180,0.17,0.67)/
                    HSL(120,0.08,0.58)/
                    HSL(59,0.16,0.5)/
                    HSL(209,0.29,0.67)/
                    HSL(209,0.15,0.58)/
                    HSL(217,0,0.5)/
                    HSL(29,0.14,0.42)/
                    HSL(224,0.3,0.58)/
                    HSL(237,0.17,0.5)/
                    HSL(299,0.08,0.42)/
                    HSL(360,0.16,0.33)/
                    HSL(180,0.5, 0.75)/
                    HSL(169,0.38,0.67)/
                    HSL(150,0.28,0.58)/
                    HSL(120,0.24,0.5)/
                    HSL(188,0.47,0.67)/
                    HSL(180,0.34,0.59)/
                    HSL(160,0.22,0.5)/
                    HSL(120,0.16,0.42)/
                    HSL(198,0.44,0.58)/
                    HSL(193,0.3,0.5)/
                    HSL(180,0.17,0.42)/
                    HSL(120,0.08,0.33)/
                    HSL(209,0.43,0.5)/
                    HSL(209,0.29,0.42)/
                    HSL(209,0.14,0.33)/
                    HSL(191,0,0.25)"
                         />
                </plot>

                <text
                        width='60%'
                        height='10%'
                        text_border='on'
                        text_border_colour='black'
                        text_box_blanking= 'on' >
              <font colour='black' sizee='0.6' >
                        Cloud cover valid for <grib_info key='valid-date'/>
                  </font>
                  <br/>
          <font colour='HSL(29,0.43,0.75)'> Low </font>
          <font colour='HSL(360,0.5,0.5)'> L+M </font>
          <font colour='HSL(300,0.24,0.75)'> Medium </font>
          <font colour='HSL(209,0.43,0.5)'> M+H </font>
                  <font colour='HSL(180,0.5, 0.75)'> High </font>
                  <font colour='HSL(120,0.24,0.5)'> H+L </font>
        </text>



                <coastlines map_grid_colour = 'tan'
                                map_grid = 'on'
                                map_coastline_colour = 'tan'/>
        </map>
  </page>
</magics>




Programunkat a Magics verziójának meghatározásával kezdjük – mint mindig. Ugyanis ezzel jelezzük a felhasználónak, hogy jelen MagML fájl a Magics mely verziójával kompatibilis (jelen esetben a 3.0 verzióval).
A program elején a szokásos módon a drivers címkébe írjuk a kimeneti fájl típusát és nevét.
A page címkében található a program lényegi része, azaz itt határozzuk meg a kirajzolni kívánt térkép (map címke) és az ábrázolni kívánt mező (plot címke) paramétereit, illetve ezek tulajdonságait. Továbbá itt adjuk meg az ábrán megjelenő szövegdoboz tartalmát és annak tulajdonságait.
A map címke alatt először a projekció paramétereit adjuk meg, vagyis a térképi vetület típusát (cylindrical=hengervetület) és a kivágat adatait a bal alsó és jobb felső pont koordinátáival. Jelen esetben Ázsiát rajzoljuk ki. A margókat 0-ra vettük, tehát nincs keret.
Majd a coastlines alcímke attribútumait állítjuk be. A tengerek fehérek, a szárazföldi területek krémszínűek, míg a partvonalak barnák (’tan’). A térkép rácsvonalai és azok feliratai nem jelennek meg.
A plot címke alatt elsőként az adatforrás típusát és nevét adjuk meg elérési útvonallal együtt. Ezután következik a kiválasztott mező ábrázolása. Először a contour alcímke attribútumait állítjuk be. A felhőborítottság ábrázolása intervallumonként és egy egységenként történik, nincsenek izovonalak és feliratok, s nem jelöljük a legmagasabb és legalacsonyabb értékeket. -0.5 és 63.5 értékek között mindent ábrázol a program. A színlistát alább meghatározzuk, az árnyékolási technika pedig ’cell-shading’. Ez a módszer hasonló a műhold képekhez, minden cellát kiszínez a cella értéke alapján. Az alapbeállítás szerint – amit most mi is használunk – a cella színét a legközelebbi grid pont adja. A színeket HSL(A) formátumban, azaz 3 számmal adjuk meg. Az első szám egy szög (0-360°) jelenti a színárnyalatot, a második (0-1) a színtelítettséget, a harmadik szám (0-1) pedig a fényerőt reprezentálja. Miután az ábrázolásnál használt színeinket listába vettük, bezárjuk a plot címkét.
A text címkében meghatározzuk a címet és annak tulajdonságait. Megadjuk a szövegdoboz ábrához viszonyított szélességét és magasságát, valamint fekete kerettel vesszük körbe, háttere pedig kitöltött (alapértelmezett fehér). A betűk mérete 0.6, színüket pedig szavanként határozzuk meg. A cím első fele fekete, és tartalmát a forrásfájlból veszi (az aktuális dátum). A következő szavak színeit pedig szintén a HTML konvenciója alapján adjuk meg, azaz a fentebb leírt HSL(A) formátumban.
Miután bezártuk a text címkét ismét a coastlines alcímke attribútumainak adunk értéket. Egy következő rétegként megjelenítjük a térképi rácsvonalakat barna (’tan’) színnel, valamint a partvonalakat szintén barna (’tan’) színnel.
Végezetül bezárjuk a map és a page címkéket, illetve lezárjuk programunkat.

Futtatás:
magmlx pelda_11.magml

Eredményül a következő térképet kapjuk:

felhoboritottsag_Asia