Я пытаюсь нанести данные о погоде на изображение. Источник данных - XML файл. Я отображаю данные на изображении с кодом php ниже. Кажется, все идет хорошо, за исключением ветра. Моя идея заключается в том, что направление ветра должно быть указано стрелками, откуда дует ветер. Данные xml для направления ветра даны с символами:
N - север, S - юг, E - восток, W - запад, NW - северо-запад, NE - северо-восток, SW - юго-запад, SE - southeast
Вопрос в том, как изменить приведенный ниже код php, чтобы стрелка могла быть нанесена на изображение?
В основном я хочу изменить букву NW (северо-запад) на изображении на стрелка (стрелка с северо-западного направления).
Вот код:
<?php
$rss = simplexml_load_file('city_1.xml');
$rss2 = simplexml_load_file('city_2.xml');
$rss3 = simplexml_load_file('city_3.xml');
$rss4 = simplexml_load_file('city_4.xml');
$rss5 = simplexml_load_file('city_5.xml');
$title = $rss->metData->tsValid_issued_UTC;
$data = $rss->metData->dd_icon;
$data2 = $rss2->metData->dd_icon;
$data3 = $rss3->metData->dd_icon;
$data4 = $rss4->metData->dd_icon;
$data5 = $rss5->metData->dd_icon;
//PHP's GD class functions can create a variety of output image
header("Content-Type: image/png");
//open up the image you want to put text over
$im = ImageCreateFrompng("country_map.png");
//The numbers are the RGB values of the color you want to use
$purple = ImageColorAllocate($im, 215, 4, 168);
$black = ImageColorAllocate($im, 0, 0, 0);
// Image title
$title_x = 5;
$title_y = 15;
// City 1
$start_x = 172;
$start_y = 390;
// City 2
$start_x1 = 229;
$start_y1 = 257;
// City 3
$start_x2 = 170;
$start_y2 = 340;
// City 4
$start_x3 = 124;
$start_y3 = 368;
// City 5
$start_x4 = 43;
$start_y4 = 411;
//Copyrights
$start_x35 = 428;
$start_y35 = 475;
$start_x36 = 428;
$start_y36 = 460;
//This writes your text on the image
Imagettftext($im, 11, 0, $title_x, $title_y, $black, 'verdana.ttf', "Wind direction $title");
Imagettftext($im, 10, 0, $start_x, $start_y, $purple, 'verdana.ttf', "$data");
Imagettftext($im, 10, 0, $start_x1, $start_y1, $purple, 'verdana.ttf', "$data2");
Imagettftext($im, 10, 0, $start_x2, $start_y2, $purple, 'verdana.ttf', "$data3");
Imagettftext($im, 10, 0, $start_x3, $start_y3, $purple, 'verdana.ttf', "$data4");
Imagettftext($im, 10, 0, $start_x4, $start_y4, $purple, 'verdana.ttf', "$data5");
Imagettftext($im, 10, 0, $start_x35, $start_y35, $black, 'verdana.ttf', "Data: meteo");
Imagettftext($im, 10, 0, $start_x36, $start_y36, $black, 'verdana.ttf', "Copyright 2020");
//Creates the image
Imagepng($im, 'png/wind.png');
ImageDestroy($im);
?>
... и вот файл XML:
<data id="MeteoSI_WebMet_observation_xml">
<metData>
<domain_meteosiId>NOVO-MES_</domain_meteosiId>
<domain_id>64783785</domain_id>
<valid>09.02.2020 21:00 CET</valid>
<valid_UTC>09.02.2020 20:00 UTC</valid_UTC>
<t_var_desc>Temperature</t_var_desc>
<t_var_unit>°C</t_var_unit>
<t>7</t>
<t_degreesC>7</t_degreesC>
<rh_var_desc>Humidity</rh_var_desc>
<rh_var_unit>%</rh_var_unit>
<rh>57</rh>
<td_var_desc>Dewpoint Temperature</td_var_desc>
<td_var_unit>°C</td_var_unit>
<td>0</td>
<td_degreesC>0</td_degreesC>
<dd_var_desc>Wind Direction</dd_var_desc>
<dd_var_unit>°</dd_var_unit>
<dd_val>266</dd_val>
<dd_icon>NW</dd_icon>
<dd_decodeText>NW</dd_decodeText>
<ff_var_desc>Wind Speed</ff_var_desc>
<ff_var_unit>m/s</ff_var_unit>
<ff_val>3.1</ff_val>
<ff_val_kmh>11</ff_val_kmh>
<ff_value>3</ff_value>
<ff_value_kmh>11</ff_value_kmh>
<ff_minimum>0</ff_minimum>
<ff_minimum_kmh>0</ff_minimum_kmh>
<ff_maximum>5</ff_maximum>
<ff_maximum_kmh>18</ff_maximum_kmh>
<ff_icon>light</ff_icon>
<domain_geoType>general</domain_geoType>
<note/>
</metData>
</data>