Ejemplo n.º 1
0
        public NASA(string cacheDirectory, double duration = 7 * 24, NasaWindSpeedHeight nasaWindSpeedHeight = NasaWindSpeedHeight.WS10M) : base("https://power.larc.nasa.gov", cacheDirectory, duration)
        {
            speedHeight = nasaWindSpeedHeight;
            parameters  = new Dictionary <MeteorologyParameters, string>()
            {
                { MeteorologyParameters.Direction, "WD10M" },
                { MeteorologyParameters.Temperature, "T2M" },
                { MeteorologyParameters.Wetness, "RH2M" },
                { MeteorologyParameters.Pressure, "PS" },
            };
            string speedParamString = nasaWindSpeedHeight.ToString();

            parameters.Add(MeteorologyParameters.Speed, speedParamString);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// нажатие на кнопку загрузки данных
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonDownload_Click(object sender, EventArgs e)
        {
            if (spoint == null)
            {
                _ = MessageBox.Show(this, "Точка не выбрана", "Загрузка ряда", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            try
            {
                buttonDownload.Enabled = false;

                //сохранение последней точки
                Vars.Options.LoadNasaLastPoint = spoint.Position;

                NasaWindSpeedHeight spdParam = (NasaWindSpeedHeight)(new EnumTypeConverter <NasaWindSpeedHeight>().ConvertFrom(comboBoxSpeedHeight.SelectedItem));
                NASA     engineNASA          = new NASA(Vars.Options.CacheFolder + "\\nasa", 168, spdParam);
                RawRange res = engineNASA.GetRange(dateTimePickerFromDate.Value, dateTimePickerToDate.Value, spoint);
                try
                {
                    res.Name = geocoder.GetAddress(spoint.Position);
                }
                catch (Exception)
                {
                    res.Name = $"Широта {spoint.Position.Lat:0.000} Долгота {spoint.Position.Lng:0.000}";
                }

                Result       = res;
                DialogResult = DialogResult.OK;
                Close();
            }
            catch (WebException we)
            {
                buttonDownload.Enabled = true;
                _ = MessageBox.Show(this, we.Message, "Загрузка ряда", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (ApplicationException exx)
            {
                buttonDownload.Enabled = true;
                _ = MessageBox.Show(this, exx.Message, "Загрузка ряда", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }