Exemplo n.º 1
0
def get_weather_by_day(date, db, collection, ip, port):  # подключаемся к БД
    db = mc.get_mongodb(db=db, collection=collection, ip=ip, port=port)

    # задаем начальную и конечную дату
    # а все вместе смещено на @offset дней
    from_date = date.replace(hour=0, minute=0, second=0)
    # конечная дата смещена на @step дней
    to_date = date.replace(hour=0, minute=0, second=59)
    # ищем станции рядом
    query = {
        "date": {
            "$gte": from_date,
            "$lte": to_date
        },
        "station.country": "RS"
    }

    res = db.find(query)
    count = 0
    weather = []
    # проходимся по ответу
    for doc in res:
        count += 1
        st = Stantion()
        weather.append(st.fromMongoISDFormat(doc))
    print(count)
    # возвращаем станции
    return weather
Exemplo n.º 2
0
def get_weather_on_station(st, offset=0, step=100):
    # подключаемся к БД
    db = mc.get_mongodb(
        db='srcdata',
        collection="meteoreport",
        ip='localhost',
        port=27017,
    )

    # задаем начальную и конечную дату
    # а все вместе смещено на @offset дней
    from_date = dt(1995, 1, 1, 1) + timedelta(days=offset)
    # конечная дата смещена на @step дней
    to_date = from_date + timedelta(days=step)

    # ищем станции рядом
    query = {"date": {'$gte': from_date, '$lt': to_date}, "stantion_id": st}

    print query
    # делаем запрос в базу
    res = db.find(query)
    weather = []
    count = 0
    # проходимся по ответу
    for doc in res:
        count += 1
        weather.append(doc)

    print count
    # возвращаем станции
    return weather
Exemplo n.º 3
0
def get_stations_on_R(lat, lon, R=2, data_type=101):
    # подключаемся к БД
    db = mc.get_mongodb(
        db='srcdata',
        collection="stations",
        ip='localhost',
        port=27017,
    )

    # ищем станции рядом
    query = {
        "location.coordinates": {
            "$within": {
                "$center": [[lat, lon], R]
            }
        },
        "data_type": data_type
    }

    res = db.find(query)
    count = 0
    stations = []
    # проходимся по ответу
    for doc in res:
        count += 1
        stations.append(doc['station'])
    # возвращаем станции
    return stations
Exemplo n.º 4
0
def get_weather_by_day( date ):
  # подключаемся к БД
  db = mc.get_mongodb(db='meteodb', collection="meteoreport", ip='10.10.11.120', port=27017,)

  # задаем начальную и конечную дату
  # а все вместе смещено на @offset дней
  from_date = date.replace( hour=0,minute=0,second=0 )
  # конечная дата смещена на @step дней
  to_date   = date.replace( hour=23,minute=59,second=59 )
  # print from_date
  # print to_date
  # ищем станции рядом 
  query = { "station_type": 2,
            "dt": { "$gte":from_date , "$lte":to_date },
            "level":0,
            "level_type":1,
            "data_type" : 48, # kAerodrome = 48,
          }
  print query
  res      = db.find(query)
  count    = 0
  weather = []
  # проходимся по ответу
  for doc in res:
    count+=1
    st = Stantion()
    weather.append( st.fromMongoFormat(doc) )
  # возвращаем станции
  return weather
Exemplo n.º 5
0
def get_weather_on_station(st, start_date, end_date):
    # подключаемся к БД
    db = mc.get_mongodb(
        db='srcdata',
        collection="meteoisd",
        ip='localhost',
        port=27017,
    )

    # задаем начальную и конечную дату
    # а все вместе смещено на @offset дней
    # print(timedelta( days=offset ))
    # from_date = dt(1995, 1, 1, 1) + timedelta( days=offset )
    # конечная дата смещена на @step дней
    # to_date   = from_date + timedelta( days=step )

    # ищем станции рядом
    query = {"dt": {'$gte': start_date, '$lt': end_date}, "st": st}

    print(query)
    # делаем запрос в базу
    res = db.find(query)
    weather = []
    count = 0
    # проходимся по ответу
    for doc in res:
        count += 1
        item = Stantion()
        item.fromMongoISDFormat(doc)
        weather.append(item)

    # возвращаем станции
    return weather
Exemplo n.º 6
0
def get_query(db, collection, ip, port, query={}):  # подключаемся к БД
    db = mc.get_mongodb(db=db, collection=collection, ip=ip, port=port)
    print(query)
    # делаем запрос в базу
    res = db.find(query)
    return res