trandData는 logTand의 readData와 readDataOnTime 과 같은 함수를 통해 반환된 트랜드 데이터 값입니다. trandData를 통해 데이터의 시간과

해당 시간에 기록된 포인트의 값을 읽어 오는데 사용합니다.

Methods


리턴 값

함 수

설 명

datetime

dateTime()

이력 데이터의 시간정보를 python datetime 형식으로 반환 합니다.

bool

empty()

trandData에 데이터가 비어 있는지 여부를 반환 합니다.

int

time()

이력 데이터의 시간정보를 Unix time 형식으로 반환 합니다.

  float

value( name )

이력데이터에서 포인트의 값을 취득합니다. 해당 포인트가 없는 경우 None를 반환 합니다.

  list[float]

values()

이력데이터에서 트랜드 그룹 전체의 값을 리스트로 취득합니다.

dict[name,value]

valueMap()

포인트 값을 dict 형식으로 반환 합니다. dict 형식은 '포인트 이름' ,' 포인트 값' 형식으로 구성됩니다.



 

 float value( name:포인트 이름 )

 

 value는 이력데이터에서 포인트의 수치 데이터를 취득할 수 있습니다. 해당 포인트가 없는 경우 None를 반환 합니다.


  • name에는 트랜드 그룹 중 하나의 포인트 명을 문자열로 입력하면 해당 포인트의 정보가 결과값으로 반환됩니다.
  • name에는 이력데이터를 취득한 트랜드 그룹에 속한 포인트 명을 입력하여야 합니다.


 예)

import datetime      

tm = datetime.datetime(2014, 1, 1, 1, 0, 1)

dataset = logTrand.readDataOnTime('트랜드 데이터셋 1', tm )


# dataset(이력데이터)에서 value 함수를 이용해 포인트명을 입력하면, 이력데이터를 취득한 시간대의 포인트의 값이 val에 저장됩니다.

val = dataset.value('스테이션1.포인트12')      



 

 list[float] values()

 

 values는 이력데이터에서 포인트의 수치 데이터 리스트를 취득할 수 있습니다. 반환되는 수치값 리스트는 데이터 익스플로러에서 입력한 트랜드 그룹 내의 포인트의 순서와 동일합니다.


 예)

import datetime      

tm = datetime.datetime(2014, 1, 1, 1, 0, 1)

dataset = logTrand.readDataOnTime('트랜드 데이터셋 1', tm )


# val_list에는 트랜드 데이터셋 1의 포인트 목록에 있는 순서와 동일한 순서로 해당 시간대의 값이 입력됩니다.

# 아래의 그림을 예로 들면 총 4개의 포인트가 존재합니다.


val_list = dataset.values()

# val_list[0] 에는 지하분전반.시간.일 의 값이 입력됩니다.

# val_list[1] 에는 지하분전반.시간.요일(weekdays) 의 값이 입력됩니다.

# val_list[2] 에는 지하분전반.시간.시 의 값이 입력됩니다.

# val_list[3] 에는 지하분전반.시간.분 의 값이 입력됩니다.     


 



 

 int time()

 

 time은 이력데이터의 시간정보를 Unix time 형식으로 반환합니다.


  • 반환값인 시간값은 초단위로 계산된 숫자가 반환되는데 이 숫자는 python 함수를 통하여 시간값으로 변환할 수 있습니다.


 예)

import datetime      

tm = datetime.datetime(2014, 1, 1, 1, 0, 1)

dataset = logTrand.readDataOnTime('트랜드 데이터셋 1', tm )


data_time = dataset.time()

# readDataOnTime를 통하여 취득한 이력데이터에 time 함수를 호출하면 data_time에는 위의 2014-1-1 1:00:01 데이터가 기록된 시간 값을 UINX time 형식의 초로 반환합니다.


tm = datetime.datetime.fromtimestamp( data_time );

# 숫자로 변환된 data_time을 파이썬의 날짜 함수 datetime.fromtimestamp 을 이용해 다시 파이선 날짜 형식으로 tm 에 저장합니다.





 datetime datetime()

 

 datetime 이력데이터의 시간정보를 python datetime 형식으로 반환 합니다. datetime 함수를 통해 해당 데이터가 기록된 시간 값을 읽어 올수 있습니다.

 예)

import datetime      

tm = datetime.datetime(2014, 1, 1, 1, 0, 1)

dataset = logTrand.readDataOnTime('트랜드 데이터셋 1', tm )


# python datetime 형식으로 반환 합니다.

data_time = dataset.datetime()

print(date_time)


 출력)

2022-08-30 11:01:35





 bool empty()

 

 해당 시점의 데이터가 있는지 여부를 확인합니다. 데이터가 없으면 True를 반환 하며, 있다면 False를 반환 합니다.

 예)

import datetime      

tm = datetime.datetime(2014, 1, 1, 1, 0, 1)

dataset = logTrand.readDataOnTime('트랜드 데이터셋 1', tm )


# 해당 시점에 데이터가 있는지 여부를 확인합니다.

# 데이터가 있으면 False , 없으면 True

print (dateset.empty())





 dict{str,float} valueMap()

 

 트랜드 데이터 값을 dict 형식으로 읽어 옵니다. valueMap()을 호출하면 {'포인트 이름','포인트 값'} 형식으로 데이터가 반환 됩니다. trandData에 포인트의 데이터 값이 없거나

없는 포인트라면 None 를 반환 합니다.

 예)

import datetime      

st = datetime.datetime(2022,8,30,11,1,35);

v = logTrand.readDataOnTime('Wind Speed',st)

print ( v.valueMap() )


 출력)

{'Station #1.Total output power': 5.51091, 'Station #2.Total output power': 30.4263, 'Station #3.Total output power': 42.7632}