4. 적용한 기술의 배경
Web 2.0
- 고립된 정보와 기능의 저장소에서 웹 서비스의 “플랫폼”으로 변화하였고, 컨텐츠를 만들고 유통하는 과정에서 사용자들이 적극적으로 참여하기 시작했다. 즉, 소프트웨어 기술적 접근이 아닌 서비스 제공적 접근을 중요시한다. API는 Web 2.0에서 플랫폼화의 가장 핵심적인 요소이다.
출처 : http://www.krnet.or.kr/board/data/dprogram/1121/G2-1%C0%CC%C0%E7%B1%A4.pdf
Open API
- Open API는 말그대로 API를 공개하는 것을 말한다. API를 내부사용자뿐만 아니라 외부 개발자에게도 공개하여, 외부 개발자가 API를 이용해서 새로운 서비스를 만들도록 하는 모델이다.
API (Application Programming Interface)
- 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기는을 제어할 수 있게 만든 인터페이스를 뜻한다.
- API는 어플리케이션을 만들기 위한 하위 함수, 프로토콜, 도구들의 집합들을 말한다. 즉 명확하게 정의된 다양한 컴포넌트들간의 통신 방법이다. 좋은 API 는 프로그래머들이 빌딩 블럭을 쌓듯이 쉽게 소프트웨어를 개발할 수 있도록 도와준다. 그래서 OS, DB, HW, SW library, Web 기반 시스템 등 다양한 곳에서 만들어진다. 그리고 루틴, 데이터 구조, object class, 변수, 리모트 호출 등 여러가지 스펙으로도 만들어진다. MS Window API, Java API 등은 API 의 다양한 모습이다.
GPS (Global Positioning System)
- GPS 수신기는 세 개 이상의 GPS 위성으로부터 송신된 신호를 수신하여 위성과 수신기의 위치를 결정한다. 위성에서 송신된 신호와 수신기에서 수신된 신호의 시간차를 측정하면 위성과 수신기 사이의 거리를 구할 수 있는데, 이때 송신된 신호에는 위성의 위치에 대한 정보가 들어 있다. 최소한 세 개의 위성과의 거리와 각 위성의 위치를 알게 되면 삼변측량에서와 같은 방법을 이용해 수신기의 위치를 계산할 수 있다. 그러나 시계가 완전히 정확하지 않기 때문에 오차를 보정하고자 보통 네 개 이상의 위성을 이용해 위치를 결정한다.
- GPS는 우주 부분(SS, space segment), 제어 부분(CS, control segment), 사용자 부분(US, user segment)로 구성되어 있다.
우주 부분은 궤도를 도는 GPs 위성을 의미하며, 최소 24개의 인공위성이 여섯 개의 궤도면 상에 분포하도록 설계 되었다. 현재는 31개의 GPS 위성이 운용중이며, 7개의 추가 위성은 기본 위성에 문제가 발생할 경우 백업 역할을 함과 동시에 GPS 수신기의 정밀도를 향상시키는데 이용된다.
제어 부분은 지상의 제어국에서 GPS 위성을 추적,모니터링,분석,명령 및 데이터 전송 의 역할을 하와이, 콰절런, 어센션 섬, 디에고 가르시아 섬과 콜로라도스프링스 총 5군데의 제어국에서 맡아 하는 것을 말한다.
사용자 부분은 GPS 위성으로부터 신호를 수신하고, 전송된 정보를 사용하여 사용자의 3차원 위치 및 시간을 계산하는 GPS 수신기를 말한다. 일반적으로 핸드폰에서 사용하는 GPS 기술 뿐만 아니라, 농업, 건설, 광업, 측량, 포장 운송 및 물류 공급망 관리를 포함하여 경제 전반에 걸쳐 생산성을 향상시킨다. 주요 통신 네트워크, 금융 시스템, 금융 시장 및 전력망은 정확한 시간 동기화를 위해 GPS에 크게 의존하며 일부 무선 서비스는 무선 서비스 없이는 작동 할 수 없다.
5. 사용한 OpenAPI 및 기존 Mash up 서비스
- Google Maps API
Google Maps는 국내외 유저들에게 굉장히 친숙하며 신뢰도가 높은 서비스이다. 이 Google Maps를 기반으로 하여 우리가 원하는 목표와 서비스에 대해서 접근 할 것이다.
Google Maps API 에서도 Distance Matrix API 와 Direction API 에 대해서 알아보자.
Distance Matrix 는 출발 지점과 종료 지점 사이의 추천 경로에 따라 출발지와 목적지 매트릭스에 대한 이동 거리와 시간을 제공하는 서비스이다.
Directions API는 HTTP 요청을 사용하여 위치 간의 찾아가는 길을 계산하는 서비스이며, 대중교통, 자동차, 도보, 자전거 등 여러 이동모드에 대한 찾아가는 길을 검색하며 경유지를 사용하여 여러 찾아가는 길을 반환해준다.
출처 : https://developers.google.com/maps/?hl=ko
- 서울시 내 자전거 관련 API
서울시 자전거 도로 현황
http://data.seoul.go.kr/openinf/linkview.jsp?infId=OA-714
서울시 자전거 편의시설 정보
http://data.seoul.go.kr/openinf/sheetview.jsp?infId=OA-13253
서울시 공공자전거 대여소 정보
Google Maps API 와 연동하여 지도내에 자전거 관련 시설물과 경로를 눈에 띄게 도식화 할수 있으며, 위에 설명한 Google Maps Directions를 활용하여 자전거 대여 반납 장소를 경유하여 목적지에 도달하게 하는 방법도 가능하다.
- 활용 가능 API
서울특별시 문화행사 정보 api
https://www.data.go.kr/dataset/3053710/openapi.do
우리가 제공하는 서비스에 추가하여, 사용자에게 자전거를 통해 문화행사에 대한 접근성을 높일수 있다.
서울특별시 지하철 정보
지하철 열차 내 자전거 반입은 주말에만 가능하므로, 주말의 경우 접근할 수 있는 경로에 대한 폭을 넓혀주며, 지하철을 통한 특정 자전거 대여서 접근시 이 지하철 정보 API를 활용하여 지도에 도식화 할수 있다.
인스타그램 관련 해시태그 API
https://www.instagram.com/developer/endpoints/tags/
인스타그램 관련 장소 API
https://www.instagram.com/developer/endpoints/locations/
인스타그램에 올라오는 해시태그, 장소를 통해 자전거 관련 위치,사진을 파악하여 도식화
더 추가할 내용이나 API의 경우 댓글 혹은 카카오톡 으로 연락주시면 내용 추가하겠습니다!