Powered by AppSignal & Oban Pro

Untitled notebook

Elixir/lab5/notebook.livemd

Untitled notebook

Section

defmodule Lab5 do
    import Tuple
    def readfile() do
        File.read!("c:/Users/ichig/Desktop/Radix/Studia/Semestr_4/Erlang_i_Elixir/Elixir/lab5/AirlyData-ALL-50k.csv") |> String.split("\n")
    end

    def parseline(line) do
        [datetime, type, value, station_id, station_name, longitude_latitude] = String.split(line, ";")

        date = datetime |> String.slice(0,10) |> String.split("-") |>  Enum.map(&String.to_integer/1) |> List.to_tuple
        time = datetime |> String.slice(11,7) |> String.split(":") |>  Enum.map(&String.to_integer/1) |> List.to_tuple
        value = String.to_float(value)
        station_id = String.to_integer(station_id)
        longitude_latitude = longitude_latitude |> String.split(",") |> Enum.map(&String.to_float/1) |> List.to_tuple
        %{:datetime => { date, time },
        :location => longitude_latitude,
        :stationId => station_id,
        :stationName => station_name,
        :pollutionType => type,
        :pollutionLevel => value}
    end

    def station_indentify(data) do
        data
        |> Enum.map(&amp;{to_string(&amp;1.stationId) <> " " <> &amp;1.stationName, &amp;1.location})
        |> Enum.uniq_by(&amp; &amp;1)
    end

    def get_stations_unique() do
      lines = readfile()

      data = for line <- lines, line != "" do
        parseline(line)
      end

      stations = data |> station_indentify()
    end
end
warning: variable "stations" is unused (if the variable is not meant to be used, prefix it with an underscore)
└─ Desktop/Radix/Studia/Semestr_4/Erlang_i_Elixir/Elixir/lab5/notebook.livemd#cell:ch57widig325gn43:36: Lab5.get_stations_unique/0

warning: unused import Tuple
└─ Desktop/Radix/Studia/Semestr_4/Erlang_i_Elixir/Elixir/lab5/notebook.livemd#cell:ch57widig325gn43:2
{:module, Lab5, <<70, 79, 82, 49, 0, 0, 20, ...>>, {:get_stations_unique, 0}}
lines = Lab5.readfile()

data = for line <- lines, line != "" do
  Lab5.parseline(line)
end
IO.puts(length(lines))
58507
:ok
stations = Lab5.get_stations_unique()
[
  {"57570 Polska, Kraków, Floriana Straszewskiego", {50.057224, 19.933157}},
  {"9910 Polska, Kraków, Studencka", {50.062418, 19.928368}},
  {"17 Polska, Kraków, Aleja Zygmunta Krasińskiego", {50.057678, 19.926189}},
  {"8076 Polska, Kraków, Masarska", {50.054907, 19.956501}},
  {"55806 Polska, Kraków, Świętego Wawrzyńca", {50.049168, 19.946672}},
  {"9919 Polska, Kraków, Kielecka", {50.066747, 19.962083}},
  {"11239 Polska, Kraków, Generała Józefa Bema", {50.07174, 19.962317}},
  {"59619 Polska, Kraków, Rynek Podgórski", {50.043834, 19.949114}},
  {"39364 Polska, Kraków, Przedwiośnie", {50.042557, 19.940229}},
  {"9895 Polska, Kraków, Adolfa Nowaczyńskiego", {50.047736, 19.919646}},
  {"2935 Polska, Kraków, Królewska", {50.072968, 19.914829}},
  {"8165 Polska, Kraków, Leopolda Staffa", {50.072763, 19.911081}},
  {"9576 Polska, Kraków, Powstańców Wielkopolskich", {50.043741, 19.966589}},
  {"44928 Polska, Kraków, Wielicka", {50.039816, 19.965351}},
  {"9896 Polska, Kraków, Vlastimila Hofmana", {50.057537, 19.897547}},
  {"9897 Polska, Kraków, Macieja Miechowity", {50.084134, 19.968416}},
  {"9888 Polska, Kraków, Henryka Pachońskiego", {50.093619, 19.924138}},
  {"44968 Polska, Kraków, ", {50.094915, 19.952995}},
  {"44702 Polska, Kraków, Emaus", {50.06666, 19.887966}},
  {"60 Polska, Kraków, Racheli", {50.081197, 19.895358}},
  {"41252 Polska, Kraków, Urocza", {50.026179, 19.939701}},
  {"10032 Polska, Kraków, Puszkarska", {50.026411, 19.950116}},
  {"9904 Polska, Kraków, Wiedeńska", {50.073094, 19.88675}},
  {"9886 Polska, Kraków, Ferdynanda Kurasia", {50.025251, 19.937998}},
  {"8973 Polska, Kraków, Profesora Michała Życzkowskiego", {50.08069, 19.99238}},
  {"9899 Polska, Kraków, Macieja Słomczyńskiego", {50.099239, 19.953954}},
  {"2903 Polska, Kraków, Stelmachów", {50.09422, 19.905241}},
  {"7956 Polska, Kraków, Plac Błonie-Beszcz", {50.054622, 20.002049}},
  {"7514 Polska, Kraków, Na Leszczu", {50.033099, 19.895774}},
  {"9903 Polska, Kraków, Myśliwska", {50.044067, 19.998804}},
  {"2098 Polska, Zielonki, Fiołkowa", {50.102596, 19.917511}},
  {"40131 Polska, Kraków, Zygmunta Starego", {50.077142, 19.876632}},
  {"57494 Polska, Kraków, ", {50.084843, 19.878037}},
  {"11349 Polska, Kraków, Aleja Kasztanowa", {50.065128, 19.867504}},
  {"3282 Polska, Kraków, Budziszyńska", {50.097127, 19.992093}},
  {"9916 Polska, Kraków, ", {50.085346, 20.007551}},
  {"45090 Polska, Kraków, ", {50.016578, 19.909836}},
  {"18 Polska, Kraków, Franciszka Bujaka", {50.010575, 19.949189}},
  {"9887 Polska, Kraków, Na Kozłówce", {50.018006, 19.983935}},
  {"57423 Polska, Kraków, Snycerska", {50.022022, 19.994606}},
  {"11248 Polska, Kraków, Gajówka", {50.047161, 19.861521}},
  {"9917 Polska, Kraków, Stawowa", {50.098304, 19.879415}},
  {"9889 Polska, Kraków, Azaliowa", {50.108024, 19.896124}},
  {"7456 Polska, Węgrzce, Forteczna", {50.11677, 19.965575}},
  {"2513 Polska, Zielonki, Krakowskie Przedmieście", {50.117763, 19.92077}},
  {"251 Polska, Zielonki, Galicyjska", {50.118583, 19.926746}},
  {"5651 Polska, Zielonki, Księdza Jana Michalika", {50.1167, ...}},
  {"237 Polska, Węgrzce, B5", {...}},
  {"5624 Polska, Kraków, Armii \"Kraków\"", ...},
  {...},
  ...
]
Code.append_path("C:\\Users\\ichig\\Desktop\\Radix\\Studia\\Semestr_4\\Erlang_i_Elixir\\pollution\\_build\\default\\lib\\pollution\\ebin")
true
Application.stop(:pollution)
{:error, {:not_started, :pollution}}
Application.start(:pollution)
:ok
# Enum.map(stations, :pollution_gen_server.add_station("#"))
for station <- stations do
  {name, loc} = station
  :pollution_gen_server.add_station(name, loc)
end
[:ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok,
 :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok,
 :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, ...]
:pollution_gen_server.get_monitor()
{:monitor,
 %{
   {50.072968, 19.914829} => "2935 Polska, Kraków, Królewska",
   {50.099239, 19.953954} => "9899 Polska, Kraków, Macieja Słomczyńskiego",
   {50.143883, 19.909424} => "6387 Polska, Trojanowice, Widokowa",
   {50.131359, 19.951436} => "245 Polska, Bibice, Lipowa",
   {50.118809, 20.009399} => "6070 Polska, Dziekanowice, Słoneczna",
   {50.022022, 19.994606} => "57423 Polska, Kraków, Snycerska",
   {50.010575, 19.949189} => "18 Polska, Kraków, Franciszka Bujaka",
   {50.049168, 19.946672} => "55806 Polska, Kraków, Świętego Wawrzyńca",
   {50.118934, 19.855883} => "5709 Polska, Modlniczka, Świętej Faustyny",
   {50.08069, 19.99238} => "8973 Polska, Kraków, Profesora Michała Życzkowskiego",
   {50.019761, 20.05283} => "8017 Polska, Kraków, Opalowa",
   {50.085346, 20.007551} => "9916 Polska, Kraków, ",
   {50.1167, 19.91429} => "5651 Polska, Zielonki, Księdza Jana Michalika",
   {50.129762, 19.862389} => "7915 Polska, Modlnica, Sportowa",
   {50.042557, 19.940229} => "39364 Polska, Kraków, Przedwiośnie",
   {50.126026, 19.905455} => "8979 Polska, Pękowice, Pod Fortem",
   {49.99848, 19.902375} => "15572 Polska, Kraków, Mieczykowa",
   {50.047161, 19.861521} => "11248 Polska, Kraków, Gajówka",
   {50.057224, 19.933157} => "57570 Polska, Kraków, Floriana Straszewskiego",
   {50.133024, 19.973249} => "241 Polska, Bosutów, Jodłowa",
   {50.110831, 20.015155} => "238 Polska, Batowice, Karola Wojtyły",
   {50.084134, 19.968416} => "9897 Polska, Kraków, Macieja Miechowity",
   {50.081197, 19.895358} => "60 Polska, Kraków, Racheli",
   {50.029336, 19.855833} => "11473 Polska, Kraków, Tyniecka",
   {50.001317, 19.925144} => "5624 Polska, Kraków, Armii \"Kraków\"",
   {50.054622, 20.002049} => "7956 Polska, Kraków, Plac Błonie-Beszcz",
   {50.098304, 19.879415} => "9917 Polska, Kraków, Stawowa",
   {50.016578, 19.909836} => "45090 Polska, Kraków, ",
   {50.108024, 19.896124} => "9889 Polska, Kraków, Azaliowa",
   {49.985979, 19.931702} => "38350 Polska, Kraków, Adama Krzyżanowskiego",
   {50.043741, 19.966589} => "9576 Polska, Kraków, Powstańców Wielkopolskich",
   {50.039816, 19.965351} => "44928 Polska, Kraków, Wielicka",
   {50.026411, 19.950116} => "10032 Polska, Kraków, Puszkarska",
   {50.020586, 20.02296} => "9891 Polska, Kraków, Wilhelma i Jana Ripperów",
   {50.06666, 19.887966} => "44702 Polska, Kraków, Emaus",
   {50.044067, 19.998804} => "9903 Polska, Kraków, Myśliwska",
   {50.128409, 19.973662} => "9077 Polska, Węgrzce, C21",
   {50.120482, 19.972246} => "239 Polska, Węgrzce, A3",
   {50.020756, 19.844076} => "9913 Polska, Kraków, Dąbrowa",
   {49.991052, 19.913596} => "11332 Polska, Kraków, Kłuszyńska",
   {50.083454, 20.057153} => "13257 Polska, Kraków, Wąwozowa",
   {50.126232, 19.954121} => "7617 Polska, Bibice, Tadeusza Kościuszki",
   {50.098508, 20.018269} => "59 Polska, Kraków, Popielidów",
   {50.107288, 20.045784} => "11995 Polska, Kraków, Gustawa Morcinka",
   {50.033099, 19.895774} => "7514 Polska, Kraków, Na Leszczu",
   {50.026179, 19.939701} => "41252 Polska, Kraków, Urocza",
   {50.043834, ...} => "59619 Polska, Kraków, Rynek Podgórski",
   {...} => "57494 Polska, Kraków, ",
   ...
 },
 %{
   "19 Polska, Kraków, Bulwarowa" => {:station, "19 Polska, Kraków, Bulwarowa",
    {50.069308, 20.053492}, []},
   "9886 Polska, Kraków, Ferdynanda Kurasia" => {:station,
    "9886 Polska, Kraków, Ferdynanda Kurasia", {50.025251, 19.937998}, []},
   "59619 Polska, Kraków, Rynek Podgórski" => {:station,
    "59619 Polska, Kraków, Rynek Podgórski", {50.043834, 19.949114}, []},
   "6147 Polska, Zielonki, Krakowskie Przedmieście" => {:station,
    "6147 Polska, Zielonki, Krakowskie Przedmieście", {50.133579, 19.905573}, []},
   "11248 Polska, Kraków, Gajówka" => {:station, "11248 Polska, Kraków, Gajówka",
    {50.047161, 19.861521}, []},
   "8979 Polska, Pękowice, Pod Fortem" => {:station, "8979 Polska, Pękowice, Pod Fortem",
    {50.126026, 19.905455}, []},
   "11239 Polska, Kraków, Generała Józefa Bema" => {:station,
    "11239 Polska, Kraków, Generała Józefa Bema", {50.07174, 19.962317}, []},
   "57494 Polska, Kraków, " => {:station, "57494 Polska, Kraków, ", {50.084843, 19.878037}, []},
   "9077 Polska, Węgrzce, C21" => {:station, "9077 Polska, Węgrzce, C21", {50.128409, 19.973662},
    []},
   "11995 Polska, Kraków, Gustawa Morcinka" => {:station,
    "11995 Polska, Kraków, Gustawa Morcinka", {50.107288, 20.045784}, []},
   "9916 Polska, Kraków, " => {:station, "9916 Polska, Kraków, ", {50.085346, 20.007551}, []},
   "9903 Polska, Kraków, Myśliwska" => {:station, "9903 Polska, Kraków, Myśliwska",
    {50.044067, 19.998804}, []},
   "60564 Polska, Kraków, Bolesława Leśmiana" => {:station,
    "60564 Polska, Kraków, Bolesława Leśmiana", {50.067421, 19.834386}, []},
   "44928 Polska, Kraków, Wielicka" => {:station, "44928 Polska, Kraków, Wielicka",
    {50.039816, 19.965351}, []},
   "44968 Polska, Kraków, " => {:station, "44968 Polska, Kraków, ", {50.094915, 19.952995}, []},
   "11473 Polska, Kraków, Tyniecka" => {:station, "11473 Polska, Kraków, Tyniecka",
    {50.029336, 19.855833}, []},
   "11332 Polska, Kraków, Kłuszyńska" => {:station, "11332 Polska, Kraków, Kłuszyńska",
    {49.991052, 19.913596}, []},
   "44702 Polska, Kraków, Emaus" => {:station, "44702 Polska, Kraków, Emaus",
    {50.06666, 19.887966}, []},
   "10032 Polska, Kraków, Puszkarska" => {:station, "10032 Polska, Kraków, Puszkarska",
    {50.026411, 19.950116}, []},
   "7915 Polska, Modlnica, Sportowa" => {:station, "7915 Polska, Modlnica, Sportowa",
    {50.129762, 19.862389}, []},
   "60 Polska, Kraków, Racheli" => {:station, "60 Polska, Kraków, Racheli",
    {50.081197, 19.895358}, []},
   "55806 Polska, Kraków, Świętego Wawrzyńca" => {:station,
    "55806 Polska, Kraków, Świętego Wawrzyńca", {50.049168, 19.946672}, []},
   "13257 Polska, Kraków, Wąwozowa" => {:station, "13257 Polska, Kraków, Wąwozowa",
    {50.083454, 20.057153}, []},
   "40131 Polska, Kraków, Zygmunta Starego" => {:station,
    "40131 Polska, Kraków, Zygmunta Starego", {50.077142, 19.876632}, []},
   "9917 Polska, Kraków, Stawowa" => {:station, "9917 Polska, Kraków, Stawowa",
    {50.098304, 19.879415}, []},
   "18766 Polska, Modlniczka, Spokojna" => {:station, "18766 Polska, Modlniczka, Spokojna",
    {50.109742, 19.833999}, []},
   "7844 Polska, Kraków, Orla" => {:station, "7844 Polska, Kraków, Orla", {50.05426, 19.826462},
    []},
   "247 Polska, Pękowice, Ojcowska" => {:station, "247 Polska, Pękowice, Ojcowska",
    {50.127424, 19.898802}, []},
   "7514 Polska, Kraków, Na Leszczu" => {:station, "7514 Polska, Kraków, Na Leszczu",
    {50.033099, 19.895774}, []},
   "17 Polska, Kraków, Aleja Zygmunta Krasińskiego" => {:station,
    "17 Polska, Kraków, Aleja Zygmunta Krasińskiego", {50.057678, 19.926189}, []},
   "2513 Polska, Zielonki, Krakowskie Przedmieście" => {:station,
    "2513 Polska, Zielonki, Krakowskie Przedmieście", {50.117763, 19.92077}, []},
   "59 Polska, Kraków, Popielidów" => {:station, "59 Polska, Kraków, Popielidów",
    {50.098508, 20.018269}, []},
   "9899 Polska, Kraków, Macieja Słomczyńskiego" => {:station,
    "9899 Polska, Kraków, Macieja Słomczyńskiego", {50.099239, 19.953954}, []},
   "9904 Polska, Kraków, Wiedeńska" => {:station, "9904 Polska, Kraków, Wiedeńska",
    {50.073094, 19.88675}, []},
   "8017 Polska, Kraków, Opalowa" => {:station, "8017 Polska, Kraków, Opalowa",
    {50.019761, 20.05283}, []},
   "9896 Polska, Kraków, Vlastimila Hofmana" => {:station,
    "9896 Polska, Kraków, Vlastimila Hofmana", {50.057537, 19.897547}, []},
   "57570 Polska, Kraków, Floriana Straszewskiego" => {:station,
    "57570 Polska, Kraków, Floriana Straszewskiego", {50.057224, 19.933157}, []},
   "15572 Polska, Kraków, Mieczykowa" => {:station, "15572 Polska, Kraków, Mieczykowa",
    {49.99848, 19.902375}, []},
   "251 Polska, Zielonki, Galicyjska" => {:station, "251 Polska, Zielonki, Galicyjska",
    {50.118583, 19.926746}, []},
   "6387 Polska, Trojanowice, Widokowa" => {:station, "6387 Polska, Trojanowice, Widokowa",
    {50.143883, 19.909424}, []},
   "5624 Polska, Kraków, Armii \"Kraków\"" => {:station,
    "5624 Polska, Kraków, Armii \"Kraków\"", {50.001317, 19.925144}, []},
   "9910 Polska, Kraków, Studencka" => {:station, "9910 Polska, Kraków, Studencka",
    {50.062418, 19.928368}, []},
   "7617 Polska, Bibice, Tadeusza Kościuszki" => {:station,
    "7617 Polska, Bibice, Tadeusza Kościuszki", {50.126232, ...}, []},
   "9919 Polska, Kraków, Kielecka" => {:station, "9919 Polska, Kraków, Kielecka", {...}, ...},
   "9889 Polska, Kraków, Azaliowa" => {:station, "9889 Polska, Kraków, Azaliowa", ...},
   "7554 Polska, Garlica Duchowna, " => {:station, ...},
   "8973 Polska, Kraków, Profesora Michała Życzkowskiego" => {...},
   ...
 }}
insert_data = fn ->
  for record <- data do
    # if record.pollutionType == "PM10" do
    :pollution_gen_server.add_value(
      record.location,
      record.datetime,
      record.pollutionType,
      record.pollutionLevel
    )

    # end
  end
end
#Function<43.18682967/0 in :erl_eval.expr/6>
:pollution_gen_server.add_value({50.069308, 20.053492}, {{2025,5,19},{17,15,12}}, "PM10", 22.1)
:ok
:pollution_gen_server.get_monitor()
{:monitor,
 %{
   {50.072968, 19.914829} => "2935 Polska, Kraków, Królewska",
   {50.099239, 19.953954} => "9899 Polska, Kraków, Macieja Słomczyńskiego",
   {50.143883, 19.909424} => "6387 Polska, Trojanowice, Widokowa",
   {50.131359, 19.951436} => "245 Polska, Bibice, Lipowa",
   {50.118809, 20.009399} => "6070 Polska, Dziekanowice, Słoneczna",
   {50.022022, 19.994606} => "57423 Polska, Kraków, Snycerska",
   {50.010575, 19.949189} => "18 Polska, Kraków, Franciszka Bujaka",
   {50.049168, 19.946672} => "55806 Polska, Kraków, Świętego Wawrzyńca",
   {50.118934, 19.855883} => "5709 Polska, Modlniczka, Świętej Faustyny",
   {50.08069, 19.99238} => "8973 Polska, Kraków, Profesora Michała Życzkowskiego",
   {50.019761, 20.05283} => "8017 Polska, Kraków, Opalowa",
   {50.085346, 20.007551} => "9916 Polska, Kraków, ",
   {50.1167, 19.91429} => "5651 Polska, Zielonki, Księdza Jana Michalika",
   {50.129762, 19.862389} => "7915 Polska, Modlnica, Sportowa",
   {50.042557, 19.940229} => "39364 Polska, Kraków, Przedwiośnie",
   {50.126026, 19.905455} => "8979 Polska, Pękowice, Pod Fortem",
   {49.99848, 19.902375} => "15572 Polska, Kraków, Mieczykowa",
   {50.047161, 19.861521} => "11248 Polska, Kraków, Gajówka",
   {50.057224, 19.933157} => "57570 Polska, Kraków, Floriana Straszewskiego",
   {50.133024, 19.973249} => "241 Polska, Bosutów, Jodłowa",
   {50.110831, 20.015155} => "238 Polska, Batowice, Karola Wojtyły",
   {50.084134, 19.968416} => "9897 Polska, Kraków, Macieja Miechowity",
   {50.081197, 19.895358} => "60 Polska, Kraków, Racheli",
   {50.029336, 19.855833} => "11473 Polska, Kraków, Tyniecka",
   {50.001317, 19.925144} => "5624 Polska, Kraków, Armii \"Kraków\"",
   {50.054622, 20.002049} => "7956 Polska, Kraków, Plac Błonie-Beszcz",
   {50.098304, 19.879415} => "9917 Polska, Kraków, Stawowa",
   {50.016578, 19.909836} => "45090 Polska, Kraków, ",
   {50.108024, 19.896124} => "9889 Polska, Kraków, Azaliowa",
   {49.985979, 19.931702} => "38350 Polska, Kraków, Adama Krzyżanowskiego",
   {50.043741, 19.966589} => "9576 Polska, Kraków, Powstańców Wielkopolskich",
   {50.039816, 19.965351} => "44928 Polska, Kraków, Wielicka",
   {50.026411, 19.950116} => "10032 Polska, Kraków, Puszkarska",
   {50.020586, 20.02296} => "9891 Polska, Kraków, Wilhelma i Jana Ripperów",
   {50.06666, 19.887966} => "44702 Polska, Kraków, Emaus",
   {50.044067, 19.998804} => "9903 Polska, Kraków, Myśliwska",
   {50.128409, 19.973662} => "9077 Polska, Węgrzce, C21",
   {50.120482, 19.972246} => "239 Polska, Węgrzce, A3",
   {50.020756, 19.844076} => "9913 Polska, Kraków, Dąbrowa",
   {49.991052, 19.913596} => "11332 Polska, Kraków, Kłuszyńska",
   {50.083454, 20.057153} => "13257 Polska, Kraków, Wąwozowa",
   {50.126232, 19.954121} => "7617 Polska, Bibice, Tadeusza Kościuszki",
   {50.098508, 20.018269} => "59 Polska, Kraków, Popielidów",
   {50.107288, 20.045784} => "11995 Polska, Kraków, Gustawa Morcinka",
   {50.033099, 19.895774} => "7514 Polska, Kraków, Na Leszczu",
   {50.026179, 19.939701} => "41252 Polska, Kraków, Urocza",
   {50.043834, ...} => "59619 Polska, Kraków, Rynek Podgórski",
   {...} => "57494 Polska, Kraków, ",
   ...
 },
 %{
   "19 Polska, Kraków, Bulwarowa" => {:station, "19 Polska, Kraków, Bulwarowa",
    {50.069308, 20.053492}, [{:reading, "PM10", 22.1, {{2025, 5, 19}, {17, 15, 12}}}]},
   "9886 Polska, Kraków, Ferdynanda Kurasia" => {:station,
    "9886 Polska, Kraków, Ferdynanda Kurasia", {50.025251, 19.937998}, []},
   "59619 Polska, Kraków, Rynek Podgórski" => {:station,
    "59619 Polska, Kraków, Rynek Podgórski", {50.043834, 19.949114}, []},
   "6147 Polska, Zielonki, Krakowskie Przedmieście" => {:station,
    "6147 Polska, Zielonki, Krakowskie Przedmieście", {50.133579, 19.905573}, []},
   "11248 Polska, Kraków, Gajówka" => {:station, "11248 Polska, Kraków, Gajówka",
    {50.047161, 19.861521}, []},
   "8979 Polska, Pękowice, Pod Fortem" => {:station, "8979 Polska, Pękowice, Pod Fortem",
    {50.126026, 19.905455}, []},
   "11239 Polska, Kraków, Generała Józefa Bema" => {:station,
    "11239 Polska, Kraków, Generała Józefa Bema", {50.07174, 19.962317}, []},
   "57494 Polska, Kraków, " => {:station, "57494 Polska, Kraków, ", {50.084843, 19.878037}, []},
   "9077 Polska, Węgrzce, C21" => {:station, "9077 Polska, Węgrzce, C21", {50.128409, 19.973662},
    []},
   "11995 Polska, Kraków, Gustawa Morcinka" => {:station,
    "11995 Polska, Kraków, Gustawa Morcinka", {50.107288, 20.045784}, []},
   "9916 Polska, Kraków, " => {:station, "9916 Polska, Kraków, ", {50.085346, 20.007551}, []},
   "9903 Polska, Kraków, Myśliwska" => {:station, "9903 Polska, Kraków, Myśliwska",
    {50.044067, 19.998804}, []},
   "60564 Polska, Kraków, Bolesława Leśmiana" => {:station,
    "60564 Polska, Kraków, Bolesława Leśmiana", {50.067421, 19.834386}, []},
   "44928 Polska, Kraków, Wielicka" => {:station, "44928 Polska, Kraków, Wielicka",
    {50.039816, 19.965351}, []},
   "44968 Polska, Kraków, " => {:station, "44968 Polska, Kraków, ", {50.094915, 19.952995}, []},
   "11473 Polska, Kraków, Tyniecka" => {:station, "11473 Polska, Kraków, Tyniecka",
    {50.029336, 19.855833}, []},
   "11332 Polska, Kraków, Kłuszyńska" => {:station, "11332 Polska, Kraków, Kłuszyńska",
    {49.991052, 19.913596}, []},
   "44702 Polska, Kraków, Emaus" => {:station, "44702 Polska, Kraków, Emaus",
    {50.06666, 19.887966}, []},
   "10032 Polska, Kraków, Puszkarska" => {:station, "10032 Polska, Kraków, Puszkarska",
    {50.026411, 19.950116}, []},
   "7915 Polska, Modlnica, Sportowa" => {:station, "7915 Polska, Modlnica, Sportowa",
    {50.129762, 19.862389}, []},
   "60 Polska, Kraków, Racheli" => {:station, "60 Polska, Kraków, Racheli",
    {50.081197, 19.895358}, []},
   "55806 Polska, Kraków, Świętego Wawrzyńca" => {:station,
    "55806 Polska, Kraków, Świętego Wawrzyńca", {50.049168, 19.946672}, []},
   "13257 Polska, Kraków, Wąwozowa" => {:station, "13257 Polska, Kraków, Wąwozowa",
    {50.083454, 20.057153}, []},
   "40131 Polska, Kraków, Zygmunta Starego" => {:station,
    "40131 Polska, Kraków, Zygmunta Starego", {50.077142, 19.876632}, []},
   "9917 Polska, Kraków, Stawowa" => {:station, "9917 Polska, Kraków, Stawowa",
    {50.098304, 19.879415}, []},
   "18766 Polska, Modlniczka, Spokojna" => {:station, "18766 Polska, Modlniczka, Spokojna",
    {50.109742, 19.833999}, []},
   "7844 Polska, Kraków, Orla" => {:station, "7844 Polska, Kraków, Orla", {50.05426, 19.826462},
    []},
   "247 Polska, Pękowice, Ojcowska" => {:station, "247 Polska, Pękowice, Ojcowska",
    {50.127424, 19.898802}, []},
   "7514 Polska, Kraków, Na Leszczu" => {:station, "7514 Polska, Kraków, Na Leszczu",
    {50.033099, 19.895774}, []},
   "17 Polska, Kraków, Aleja Zygmunta Krasińskiego" => {:station,
    "17 Polska, Kraków, Aleja Zygmunta Krasińskiego", {50.057678, 19.926189}, []},
   "2513 Polska, Zielonki, Krakowskie Przedmieście" => {:station,
    "2513 Polska, Zielonki, Krakowskie Przedmieście", {50.117763, 19.92077}, []},
   "59 Polska, Kraków, Popielidów" => {:station, "59 Polska, Kraków, Popielidów",
    {50.098508, 20.018269}, []},
   "9899 Polska, Kraków, Macieja Słomczyńskiego" => {:station,
    "9899 Polska, Kraków, Macieja Słomczyńskiego", {50.099239, 19.953954}, []},
   "9904 Polska, Kraków, Wiedeńska" => {:station, "9904 Polska, Kraków, Wiedeńska",
    {50.073094, 19.88675}, []},
   "8017 Polska, Kraków, Opalowa" => {:station, "8017 Polska, Kraków, Opalowa",
    {50.019761, 20.05283}, []},
   "9896 Polska, Kraków, Vlastimila Hofmana" => {:station,
    "9896 Polska, Kraków, Vlastimila Hofmana", {50.057537, 19.897547}, []},
   "57570 Polska, Kraków, Floriana Straszewskiego" => {:station,
    "57570 Polska, Kraków, Floriana Straszewskiego", {50.057224, 19.933157}, []},
   "15572 Polska, Kraków, Mieczykowa" => {:station, "15572 Polska, Kraków, Mieczykowa",
    {49.99848, 19.902375}, []},
   "251 Polska, Zielonki, Galicyjska" => {:station, "251 Polska, Zielonki, Galicyjska",
    {50.118583, 19.926746}, []},
   "6387 Polska, Trojanowice, Widokowa" => {:station, "6387 Polska, Trojanowice, Widokowa",
    {50.143883, 19.909424}, []},
   "5624 Polska, Kraków, Armii \"Kraków\"" => {:station,
    "5624 Polska, Kraków, Armii \"Kraków\"", {50.001317, 19.925144}, []},
   "9910 Polska, Kraków, Studencka" => {:station, "9910 Polska, Kraków, Studencka",
    {50.062418, 19.928368}, []},
   "7617 Polska, Bibice, Tadeusza Kościuszki" => {:station,
    "7617 Polska, Bibice, Tadeusza Kościuszki", {50.126232, ...}, []},
   "9919 Polska, Kraków, Kielecka" => {:station, "9919 Polska, Kraków, Kielecka", {...}, ...},
   "9889 Polska, Kraków, Azaliowa" => {:station, "9889 Polska, Kraków, Azaliowa", ...},
   "7554 Polska, Garlica Duchowna, " => {:station, ...},
   "8973 Polska, Kraków, Profesora Michała Życzkowskiego" => {...},
   ...
 }}
defmodule Timer do
  def get_time_in_sec_and_result(function) do
    {time_micro_s, result} = function |> :timer.tc()
    {time_micro_s * 10 ** -6, result}
  end

  def measure_time_in_sec(function) do
    function |> get_time_in_sec_and_result
  end
end
{:module, Timer, <<70, 79, 82, 49, 0, 0, 9, ...>>, {:measure_time_in_sec, 1}}
insert_data |> Timer.measure_time_in_sec()
{5.0866169999999995,
 [:ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok,
  :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok,
  :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, :ok, ...]}
get_val = fn -> {:pollution_gen_server.get_daily_mean("PM25", {2024, 2, 10})}
end
#Function<43.18682967/0 in :erl_eval.expr/6>
get_val |> Timer.measure_time_in_sec()
{0.012083, {20.52490163934428}}
get_station_min = fn -> {:pollution_gen_server.get_station_min("9910 Polska, Kraków, Studencka", "PM10")} end
#Function<43.18682967/0 in :erl_eval.expr/6>
get_station_min |> Timer.measure_time_in_sec()
{2.04e-4, {1.14}}