Open api 활용: 두 판 사이의 차이
172.18.0.1 (토론) |
172.18.0.1 (토론) |
||
| 125번째 줄: | 125번째 줄: | ||
* 네이버 위도, 경도 취득 가능하나 표시하기 및 활용 등이 부족 | * 네이버 위도, 경도 취득 가능하나 표시하기 및 활용 등이 부족 | ||
위성 사진도 구글이 최신인듯...ㅜㅜ | |||
* 주차장 리스트 | |||
[[https://earth.google.com/earth/d/1vAQ4ljZG6kKiF2dx25MBwf8snH7sFRI7?usp=sharing 800면이하 주차장]] | |||
=공공주차장 데이터 활용= | =공공주차장 데이터 활용= | ||
2025년 6월 13일 (금) 07:58 판
data.go.kr 에서 OPEN API로 활용하는 예를 만들어 사용한다.
사용 방법
OPEN API 사용하는 방법 간략 기술
- 공공 데이터 포털 - 접속 및 로그인 (www.data.go.kr)
- 원하는 자료 검색
- 활용 신청하기, 사용 참고 문서 다운로드
- 개발 계정 신청하기 - API키 발급
- 어떻게 사용하는지 문서 확인
- 브라우저를 이용한 테스트
샘플 작업
키 발급 신청
1. 승인요청하기
2. 요청사항 입력 및 동의
3. 승인 신청 결과 확인
키 가져오기: 마이페이지
- 상단의 마이페이지에서 키 가져 오기
- 키 확인 - 개인키와 다름
사용 및 미리보기
- 미리 보기에서 사용 및 파라미터를 확인한다.
- 미리 보기 확인
- URL 확인 : 홈 >> 마이페이지 >> 데이터 활용 >> Open API>> 활용신청 현황
자료 방식
- XML
- JSON
- 인터페이스 표준
REST의 GET 방식
- JSON 방식으로 응답시
&_returnType=json
- URL 구성
http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api?serviceKey="발급된 API키"&pageNo=1&numOfRows=100&type=xml
SERVICE KEY IS NOT REGISTERED ERROR 문제 해결
- 이유 추정
아마도, web browser마다 자동으로 인코딩해서 API를 날리는 기준이 틀려서, 헛갈리는 것 같음.
실제로, 공공데이터 포털에서도 encoding과 decoding을 따로 두고 필요한 것 사용하라고 되어 있어서, 더 문제인 듯...
- 문제 해결
1. 처음 신청하고 나서, 1, 2시간 후
decoding 으로 크롬에서 http로 작성해서 전송 테스트
http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api?serviceKey=' Decoding API key사용'&pageNo=1&numOfRows=100&type=xml
2. 안된다고 질의 하면, 그쪽에서 뭐 하고(?) 된다고 연락옴
--> 아마도 API Key를 Encoding으로 강제 설정하는 듯
--> 이 경우, Encoding만 정상 데이터가 출력되고, Decoding으로 접근하면 NODATA ERROR로 나옴 (이게 강제로 ENCODING 설정으로 의심 증거)
3. 프로그램 사용
대부분의 프로그램은 자동으로 ENCODING을 실시하므로, decoding을 사용하는 것이 정상이나, 2번에서 강제로 설정되었기 때문에, 프로그램에서 다시 API키를 encoding 하지 않게 분리해서 다시 합쳐줘야 함.
import requests
from urllib.parse import urlencode
url = 'http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api'
servicekey = 'Encoding된 API Key 사용'
- serviceKey를 제외한 나머지 파라미터들
other_params = {
'pageNo': '1',
'numOfRows': '100',
'type': 'xml',
# ... 나머지 파라미터들
}
- URL을 직접 구성
encoded_params = urlencode(other_params)
full_url = f"{url}?serviceKey={servicekey}&{encoded_params}"
response = requests.get(full_url)
print(response.content)
결론
안된다고 연락하지 말고, encoding key, decoding key를 바꿔서 어떻게 해보자 (이상하게 바꿔 놓음)
NIA도 둘 다 올려 놓고 나몰라라 한다.
위도 경도 얻기
console.google.com 에서 API키 생성
- 네이버 위도, 경도 취득 가능하나 표시하기 및 활용 등이 부족
위성 사진도 구글이 최신인듯...ㅜㅜ
- 주차장 리스트
공공주차장 데이터 활용
공공 주차장 데이터 활용으로 해보자
논의 사항 기록
updated 사항 정리
회의(25.6.12)
- 일시: 6/12 오후 2시~3시
- 장소: 회의실1 (고문님방 옆)
- 참석: 메일 받는 사람 (자율참여: 참조자)
- 내용:
- 의무 태양광 (산업부) - 의무 태양광 대상 산출 - 사업 아이디어 1) 고객 발굴 2) 고객 유입 방안 – 디지털 마케팅 (신속 사이트: 피그마 + AI), 내용 3) 태양광 중개 사업 범위 – 신규 포함? ENABLE 결과 도출로 인한 사업자 연결? 4) 태양광 중개 boom up을 위한 의무태양광 활용
- 논의 결과
- EPC 발굴은 메인이 아니다. - 입찰, 최저가 시장, 단 개별적 접근
- 실제 고객 활동을 통해서, 의무시장 특성 획득 필요
- 입찰전 활동 - 법적, 전력 설비적, 기타 규제(모니터링, 관리) 부분 연계 준비 <<-- 태양광 중개 교집함 (O&M 파트) 파트 역할도(참조)
- 입찰후 활동 - ENABLE 모객 연계, 시공 및 협력사 pool (엔티즌에게 role 부여 검토)
- 디지털 전환 모색 - 스테이블 코인 발행(모헷 - 펀딩 부터 유지보수 비용, 리포트 발급 비용 모두 코인화)
- 태양광 중개 및 해당 사업 분야에서 차별화되기 위한 발판으로 의무 태양광 시장 활용 방안 모색하기
- 의무 태양광으로 사업화 이끌 방향에 대한 추후 논의함
- 실제 시장은 민간 시장 - 주차장 사업 참조
- GS 주차사업은 카카오에 편입됨 [21년 12월]
공공 주차장 - 50면 이상 현황
- 공공 주차장 - 500개 이하 (400이상), 지역 분포
- 공공 주차장 - 판별 자동화
- 공공 주차장 - 기타 확인 방법
태양광 설치 판별
주차장에 태양광이 설치되어 있는지 확인하는 방법 검토
- 아이디어(1) - 주차장 이미지 판별
- 주차장 이미지 몇개 만 제공
- 파라미터 임의로 수정 (학습 아님, 임의 지정, 파라미터 파악)
- 이미지 사이즈 결정 - 학습시 이미지, 최소 사이즈 있음 - 확인 필요
ResNet50을 사용하기 위한 이미지 최소 크기는 32x32 픽셀, 일반적인 권장 크기: 224x224(MAX)
- 아이디어(2) - 주차장 관리 주체 필요사항 즉각 반영 - 디지털 마케팅
- 방법 - FIMA 개발 방법론, AI 코드 생성
- 비즈니스 로직
고객사 URL 제공 URL 제공 정보 - 산업부 지침, 지원 정책 및 잔고, 내부 기안문 초안, 견적서 제공(초안), 비교견적 - 태양광 중개
전략적 접근 - 1개 사이트 확보 후, 모델 만들어 가기 (사이트 구성)
고객의 찜찜함과 그 해소
1) 공공기관 - 사기업이? 2) 공공기관은 입찰제 - 입찰 대응(협력사), 제한 경쟁 방안(혹은 수의) 유도
- 아이디어(3) - 태양광 중개
- 태양광 중개 사업의 범위 - 신규 제외? 양도 양수만? 협력사 발굴(엔티즌 처럼?)
- 아이디어(2)의 사이트로 태양광 중개 사이트 활용(?)
의무 태양광시장 팀내 포지션
팀내 사업
- ENABLE - 에너지 컨설팅, 신재생 E (태양광 설치), 에너지 모니터링
- 엔티즌 - 공사 (시공) 업체 pool
- 참고 아이디어
원격 SCADA 게이트웨이 + Enable ???
고객 사이트에 EMS/SCADA 없는 경우가 있고, 있다고 하더라도 개요적인 관리 부분에서 소형 게이트웨이 개발 판매 고려 (Smart LMV 도입 취약 부분: 게이트웨이가 고가임!)
- ENABLE 영업활동시 게이트웨이 판매 활동
- profit 부분 확보 - 일관된 에너지 관리 by Enable - 클라우드 EMS/SCADA 사업 확보 - On site (Edge) EMS/SCADA 는 DX영업팀이 지속적으로 진행 (겹침 없음, 세부 관리시 도입 추천)
- 파트 역할도 (각 부분 연관도)