anchor.diff:  
   
   -spec retrieve_station_info(string()) -> #raws_station{} | no_such_station.
  -retrieve_station_info(StId) ->
  +retrieve_station_info(StId) when is_list(StId) ->
     case mnesia:transaction(fun () -> mnesia:read({raws_station,StId}) end) of
       {atomic,[StInfo]} ->
         StInfo;
  
positive.code:   fun (_) -> true end;
  get_var_selector_fun(VarIds) when is_list(VarIds) ->
    fun (V) -> lists:member(V,VarIds) end.
  
negative.code: 
  
  -spec retrieve_stations_in_region({number(),number()},{number(),number()}) -> [#raws_station{}].
  retrieve_stations_in_region({MinLat,MaxLat},{MinLon,MaxLon}) when is_number(MinLat) and is_number(MaxLat)
                                                                and is_number(MinLon) and is_number(MaxLon) ->
    case mnesia:transaction(fun() ->
          Q = qlc:q([X || X=#raws_station{lat=Lat,lon=Lon} <- mnesia:table(raws_station),
                      Lat >= MinLat, Lat =< MaxLat, Lon >= MinLon, Lon =< MaxLon]),
          qlc:e(Q) end) of
  