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)
|
출력)
|
|
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}
|
|
|