Skip to content
Snippets Groups Projects
Commit 513a7e89 authored by Matikainen Aini Esteri's avatar Matikainen Aini Esteri
Browse files

viela

parent 4bee4649
No related branches found
No related tags found
No related merge requests found
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/.idea.tuulenHyytavyys.iml
/contentModel.xml
/modules.xml
/projectSettingsUpdater.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
tuulenHyytavyys
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
......@@ -13,25 +13,25 @@ namespace työ;
class TuulenHyytavyys
{
/// <summary>
/// Ohjelman päämetodi, joka hakee säätiedot ja laskee tuulen hyytävyyden.
/// Ohjelma, joka hakee säätiedot ja laskee tuulen hyytävyyden.
/// </summary>
static async Task Main()
{
string[] timeStamps = {
"2024-01-25T12:00:00Z",
"2024-01-26T12:00:00Z",
"2024-01-27T12:00:00Z",
"2024-01-28T12:00:00Z",
"2024-01-29T12:00:00Z",
"2024-01-30T12:00:00Z",
"2024-01-31T12:00:00Z"
"2024-03-25T12:00:00Z",
"2024-03-26T12:00:00Z",
"2024-03-27T12:00:00Z",
"2024-03-28T12:00:00Z",
"2024-03-29T12:00:00Z",
"2024-03-30T12:00:00Z",
"2024-03-31T12:00:00Z"
};
string place = "Jyväskylä";
string baseUrl = "https://opendata.fmi.fi/wfs?service=WFS&version=2.0.0&request=GetFeature" +
"&storedquery_id=fmi::observations::weather::timevaluepair" +
$"&place={Uri.EscapeDataString(place)}" +
"&parameters=t2m,rh,windspeedms"; // http: pyyntö Ilmatieteenlaitoksen avoimen datan rajapintaan, tarkennukset: paikka Jyväskylä ja parametrit lämpötila, kosteus ja tuulennopeus
"&parameters=t2m,rh,windspeedms";
try
{
......@@ -51,12 +51,12 @@ class TuulenHyytavyys
XmlNamespaceManager nsManager = new XmlNamespaceManager(xmlDoc.NameTable);
nsManager.AddNamespace("wml2", "http://www.opengis.net/waterml/2.0");
// Haetaan muuttujat lämpötila (t2m), suhteellinen kosteus (rh) ja tuulennopeus (windspeedms)
XmlNode? temperatureNode = xmlDoc.SelectSingleNode("(//wml2:MeasurementTVP/wml2:value)[1]", nsManager);
XmlNode? humidityNode = xmlDoc.SelectSingleNode("(//wml2:MeasurementTVP/wml2:value)[2]", nsManager);
XmlNode? windSpeedNode = xmlDoc.SelectSingleNode("(//wml2:MeasurementTVP/wml2:value)[3]", nsManager);
// Muokataan arvoja
string temperatureStr = temperatureNode?.InnerText.Trim() ?? "Ei löydy";
string humidityStr = humidityNode?.InnerText.Trim() ?? "Ei löydy";
string windSpeedStr = windSpeedNode?.InnerText.Trim() ?? "Ei löydy";
......@@ -66,7 +66,7 @@ class TuulenHyytavyys
Console.WriteLine($"Ilmankosteus: {humidityStr} %");
Console.WriteLine($"Tuulen nopeus: {windSpeedStr} m/s");
// Tarkistetaan ja muunnetaan arvot numeerisiksi
if (double.TryParse(temperatureStr, NumberStyles.Any, CultureInfo.InvariantCulture, out double temperature) &&
double.TryParse(humidityStr, NumberStyles.Any, CultureInfo.InvariantCulture, out double humidity) &&
double.TryParse(windSpeedStr, NumberStyles.Any, CultureInfo.InvariantCulture, out double windSpeed))
......@@ -76,12 +76,12 @@ class TuulenHyytavyys
}
else
{
Console.WriteLine("Säädatan muuntaminen numeroiksi ei onnistu"); //
Console.WriteLine("Säädatan muuntaminen numeroiksi ei onnistu");
}
}
}
}
catch (HttpRequestException e) // virhe ilmoitukset, jos pyyntö epäönnistuu
catch (HttpRequestException e)
{
Console.WriteLine("HTTP-pyyntö epäonnistui: " + e.Message);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment