티스토리 뷰

https://developer.nrel.gov/docs/solar/nsrdb/

 

NSRDB Data Downloads API | NREL: Developer Network

Documentation Solar NSRDB Data Downloads NSRDB Data Downloads Freely available downloads of The National Solar Radiation Database. The National Solar Radiation Database (NSRDB) is a serially complete collection of satellite-derived measurements of solar ra

developer.nrel.gov

https://ing-min.tistory.com/210

 

nasa _near real time data

https://www.earthdata.nasa.gov/learn/find-data/near-real-time/modis Moderate Resolution Imaging Spectroradiometer (MODIS) | Earthdata Download near real-time Atmosphere, Land, Surface Reflectance and ancillary data from the MODIS instrument provided throug

ing-min.tistory.com

https://docs.derivative.ca/index.php?title=Web_Client_DAT

 

TouchDesigner Documentation

The Web Client DAT allows you to send HTTP requests to web servers from TouchDesigner. It supports GET, POST, PUT, DELETE, HEAD, OPTIONS and PATCH http methods.

docs.derivative.ca

The first input 

key/value

The second input // It can also just be text

(테이블로하다가 도저히 못하겠어서 코드로함.)

 

1. 일단 터치디자이너 콘솔?을 켠다.

(결과)

2. DAT excute

당연히 webClient는 있어야함. 이름 동일한지 확인

import urllib.parse

def sendRequest():
    base_url = "https://developer.nrel.gov/api/nsrdb/v2/solar/himawari-download.csv?"
    params = {
        "api_key": "키입력",
        "wkt": "POINT(126.978 37.5665)",
        "names": "2020",
        "interval": "60",
        "utc": "false",
        "email": "이메일@gmail.com",
        "leap_day": "false",
        "attributes": "ghi,air_temperature,solar_zenith_angle"
    }
    
    # params 딕셔너리를 쿼리 스트링으로 변환
    query_string = urllib.parse.urlencode(params, safe="%20")
    url = base_url + query_string
    
    headers = {
        "Content-Type": "application/json",
        "x-api-key": "키입력"
    }
    
    op("webclient1").request(url, "GET", header=headers)

# sendRequest 함수 호출
sendRequest()

3.RUN

4.실행하면 URL 을 준다.

webclient1에 transpose해서 뒤집고 선택하고 convert로 테이블 잘 나눠주기 :나 띄어쓰기로 테이블 행열 분류해서 url만 남게한다.

5.url만 추출해서 . 프린트한다.

import requests

# 파일 위치 URL
file_url = text = op("url")[0, 0].val
cleaned_url = file_url.replace("'", "")

# 요청을 보내고 응답을 받습니다.
response = requests.get(cleaned_url)

# 응답 상태 코드가 성공적인지 확인합니다.
if response.status_code == 200:
    # 파일 내용을 텍스트로 읽습니다.
    file_content = response.text
    print(file_content)  # 또는 필요에 따라 다른 처리를 할 수 있습니다.
else:
    print("파일을 읽는데 실패했습니다. 상태 코드:", response.status_code)

 

6.프린트 대신 테이블 만들기

import requests

# 파일 위치 URL
file_url = text = op("url")[0, 0].val
cleaned_url = file_url.replace("'", "")

# 요청을 보내고 응답을 받습니다.
response = requests.get(cleaned_url)

# 응답 상태 코드가 성공적인지 확인합니다.
if response.status_code == 200:
	# 파일 내용을 텍스트로 읽습니다.
	file_content = response.text
    # 'table1'이라는 이름의 Table DAT 참조
	tableDAT = op('table1')
	# 기존 데이터를 지웁니다.
	tableDAT.clear()
	# CSV 데이터를 줄 단위로 분리하여 각 줄을 처리합니다.
	for line in file_content.strip().split('\n'):
	    # 쉼표로 분리하여 각 열의 데이터를 얻습니다.
	    row_data = line.split(',')
	    # 새로운 행을 Table DAT에 추가합니다.
	    tableDAT.appendRow(row_data)
else:
    print("파일을 읽는데 실패했습니다. 상태 코드:", response.status_code)

7. Select op을 이용해서 12월만 추출

테이블에서 키워드로 Select를하기위해서 0열 0행의 숫자나 문자만 선택이 되는듯. 그래서 index로 필요없는 정보는 지워주고

12월만 추출

any(x in me.inputCell.val for x in ['12'])

https://forum.derivative.ca/t/select-dat-table-row-by-matching-keyword/170633/4

 

Select DAT table row by matching keyword

Regular expressions are great. Just wanted to show non regular expression Python for this search: any(x in me.inputCell.val for x in [‘pink’, ‘planet’, ‘hello’]) You can also use “all” instead of “any” to check if all the strings are th

forum.derivative.ca

8. 시각화

12월 GHI 값의 변화. ( 1시간당 평균 일조량 )

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함