지도서비스방식에는인터넷상의구글지도서비스서버와의공개프로그램밍인터페이스를통한온라인방식과자체지도서비스서버를구축하여로컬네트워크에서동일방식으로인터페이스하는오프라인방식이있다. Fig. 1. Diagram of online map service Fig. 1은온라인방식의지도서비스개념

Similar documents
Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Intra_DW_Ch4.PDF


TTA Journal No.157_서체변경.indd

PowerPoint 프레젠테이션

Microsoft Word - KSR2014A286

Cloud Friendly System Architecture

rmi_박준용_final.PDF

[Brochure] KOR_TunA

untitled

쉽게 풀어쓴 C 프로그래밊

10.ppt

게시판 스팸 실시간 차단 시스템

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

서현수

Microsoft Word - KSR2014S042

PCServerMgmt7

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

PowerPoint Template

PowerPoint 프레젠테이션

DBMS & SQL Server Installation Database Laboratory

Intro to Servlet, EJB, JSP, WS

1217 WebTrafMon II

[로플랫]표준상품소개서_(1.042)

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

User's Guide Manual

목순 차서 v KM의 현황 v Web2.0 의 개념 v Web2.0의 도입 사례 v Web2.0의 KM 적용방안 v 고려사항 1/29

CD-RW_Advanced.PDF

인문사회과학기술융합학회

Windows 8에서 BioStar 1 설치하기

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

Interstage5 SOAP서비스 설정 가이드

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

FileMaker 15 ODBC 및 JDBC 설명서

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

2009방송통신산업동향.hwp

untitled

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

쉽게 풀어쓴 C 프로그래밍

untitled

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

슬라이드 1

DBPIA-NURIMEDIA

Microsoft Word - src.doc

ETL_project_best_practice1.ppt

FileMaker ODBC 및 JDBC 가이드

슬라이드 1

Microsoft PowerPoint - 04-UDP Programming.ppt

만약, 업그레이드 도중 실패하게 되면, 배터리를 뺏다 다시 꼽으신 후 전원을 켜면, 안내문구가 나오게 됩니다. 그 상태로 PC 연결 후 업그레이드를 다시 실행하시면 됩니다. 3) 단말을 재부팅합니다. - 리부팅 후에 단말에서 업그레이드를 진행합니다. 업그레이드 과정 중

Week13

DIY 챗봇 - LangCon

Social Network

PowerPoint 프레젠테이션

ecorp-프로젝트제안서작성실무(양식3)

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Smart Power Scope Release Informations.pages

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

e01.PDF

09오충원(613~623)

untitled

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

DW 개요.PDF


Voice Portal using Oracle 9i AS Wireless

신림프로그래머_클린코드.key

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Microsoft Word - KSR2015A135

Microsoft Word - KSR2016A108

歯JavaExceptionHandling.PDF

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

I I-1 I-2 I-3 I-4 I-5 I-6 GIS II II-1 II-2 II-3 III III-1 III-2 III-3 III-4 III-5 III-6 IV GIS IV-1 IV-2 (Complement) IV-3 IV-4 V References * 2012.

초보자를 위한 분산 캐시 활용 전략

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

Polly_with_Serverless_HOL_hyouk

F120S_(Rev1.0)_1130.indd

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

¿ÀǼҽº°¡À̵å1 -new

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

간격으로측정한검측데이터를통합운영부로실시간전송, 모니터링및분석하는기능을제공하여결함궤도의유지보수를수행하게한다. 송신커널단에서는응용프로세스의 write 이벤트마다매번전송을하는것이아니라송신데이터가버퍼에적정량채워졌을때송신을수행한다. 수신단커널은수신한데이터를버퍼링하고수신단응용프로

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Portal_9iAS.ppt [읽기 전용]

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

슬라이드 1

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

슬라이드 1

PRO1_02E [읽기 전용]

MAX+plus II Getting Started - 무작정따라하기

ibmdw_rest_v1.0.ppt

istay

ARMBOOT 1

DocsPin_Korean.pages

Transcription:

2017 년도한국철도학회추계계학술대회논문집 KSR2017A043 위치추적을위한오프라인지도서비스구축방법 Method on Constructing Offline Map Service for Location Tracking 오경철 *, 최일윤 ** Kyoung-Chul Oh *, IL-YOON CHOI ** 초록본논문에서는고속궤도검측열차의위치추적을위한오프라인지도서비스구축방법을소개한다. 기존구글지도및국토교통부의 vworld 등의지도서비스는온라인으로제공되고있다. 오프라인지도서비스는인터넷이안되는환경의 PC 기반에서지도와서비스를구축하여무료로사용할수있다. 오픈스트리트맵이라는지도는집단지성에의해지도가생성및업데이트되고무료로제공되는지도이고오픈레이어는프로그램개발자가지도상에서비스를생성하는공개응용프로그램인터페이스툴이다. 본연구는대한민국영역의무료지도서버를구축하고고속철도의고속궤도검측열차의위치추적서비스구현방법을제시한다. 주요어 : Location Tracking, Offline Map Service, Openlayer, OpenStreetMap, Track Measurement System 1. 서론 교통수단과정보기술의발전에따라공간정 보를이용한위치기반서비스의요구가증대 되고있다. 이에부응하여다양한분야의산 학연에서위치기반지도서비스의연구개발 이진행되고있으나온라인상에서제공되는 웹지도서비스라는제약이있다. 2006 년구 글어스, 2007 년구글스트리트뷰, 2012 년구 글실내지도서비스를선보이면서구글은전 세계디지털지도시장의 70% 이상을점유했 고 2009 년세계금융위기로구글은주수입원 인광고매출이하락하게되자, 2011 년상용화 기업을상대로자사서비스사용에대한유 료화를선언했다 [1]. 우리나라에서는 한국형 구글어스개발 을목표로국토교통부에서 공간정보오픈플랫폼 vworld 를개발하여 2012 년에공개하였다. 오픈스트리트맵 (OpenStreetMap; OSM) 은 2005 년설립된영국의비영리기구오픈스트 리트맵재단이운영하는 오픈소스방식의 참여형무료지도서비스이다. 집단지성형 * 대보정보통신기술연구소 (dokgan@dbcs.co.kr) ** 한국철도기술연구원고속철도연구본부첨단고속철도연구실 식의지도로비영리인위키백과를모델로하고있어누구나편집하고활용할수있다. 2012년 4월구글지도가유료화움직임을보임에따라이를서비스하던위키백과와애플은스마트폰서비스부분에서오픈스트리트맵으로전환하기도했다 [2]. 오픈스트리트맵은공개프로그래밍인터페이스뿐만아니라지도가무료로제공되고있어서개인이자체적인오프라인지도서버를구축하고서비스를개발할수있다. 기존의오프라인지도서비스관련연구를살펴보면, 오프라인오픈스트리트맵지도서버를구축하고지도상에도로나해당지역의특징적이미지를추가하여지도를재생성하는것이고오픈스트리트맵을구축하고오픈프로그래밍인터페이스를이용하여지도상에서비스를제공하는구현방법을소개하는내용은찾아보기어려웠다. 논문에서는 2장에서오프라인지도서비스구성에대해기술하고 3장에서고속궤도검측열차의위치추적지도서비스구현방법을소개하고 4장에서구축사례의활용방안을제안한다. 2. 오프라인지도서비스구성 2.1 지도서비스방식

지도서비스방식에는인터넷상의구글지도서비스서버와의공개프로그램밍인터페이스를통한온라인방식과자체지도서비스서버를구축하여로컬네트워크에서동일방식으로인터페이스하는오프라인방식이있다. Fig. 1. Diagram of online map service Fig. 1은온라인방식의지도서비스개념도이다. 구글지도와같은지도서비스제공사의지도서버와서비스요청자의웹서버간에인터넷망을통하여지도를받아서사용자요청지도서비스를제공한다. 클라이언트웹브라우저에서검측열차의위치를실시간으로표출하고열차의운행구간을속도에따라색깔을달리하여선으로표시하며검측철도위치정보를화면에표출한다. 또한검측후에검측구간을시뮬레이션하여검측과동일한정보를화면에표출하는서비스를제공한다. 열차의 GPS좌표와타코미터를이용하여이동거리정보등을수집하고 DB에저장하며위치추적서비스를제공하는웹서버는초당 10회간격으로 DB를참조하여열차의위치를확인하고해당위치의지도를지도서버로부터받아지도상에열차의위치를갱신한다. 또한열차의 GPS좌표의이상값을보정하는맵매칭을위해서철도의거리정보 (KP : Kilo Post) 와 GPS좌표데이터를 DB에미리등록하고실시간수집되는거리정보와매칭하여열차의 GPS좌표로사용한다. Fig. 2. Diagram of offline map service Fig. 2는오프라인방식의로컬네트워크의지도서비스개념도이다. 지도를제공하는구글지도 Server와같은자체지도서버를오픈스트리트맵을이용하여구축하고자체지도서버와연동해서인터넷이안되는로컬네트워크환경에서지도서비스를제공한다. 2.2 위치추적오프라인지도서비스구성고속궤도검측열차의위치추적을위한오프라인지도서비스는 Fig. 3처럼구성된다. Fig. 3. Diagram of location tracking service Fig. 4. S/W Block diagram of offline map service and tracking service Fig. 4 는오프라인지도서비스와위치추적 서비스의소프트웨어블록구성도이다. 오프라인지도서비스시스템구축을위해서 오픈스트리트맵에서제공하는무료소프트웨어 구성을따랐다. 우분투리눅스운영체제위에 아파치웹서버와지도제공매핑툴킷인 Mapnik, GIS DB 로 PostgreSQL 를설치하고 지도는데이터용량을감안하여 50MB 정도의 대한민국지도를다운받아시스템에등록시켰다. 그리고위치추적서비스를위한웹서버 시스템은지도서비스와같은컴퓨터에 구성하여운영체제와웹서버는같이사용하고 응용서비스 DB 로 SQL Server 를설치하고 WAS 로톰캣과웹어플리케이션언어로 자바를설치구성하였다.

3. 위치추적지도서비스구현방법 3.1 오프라인지도서비스구축사례오프라인지도서비스구축사례인고속궤도검측시스템은고속검측차량으로최고 300km/h의속도로주행하면서궤도의틀림, 레일의마모등궤도의결함을 25cm 간격으로측정하고모니터링및분석하는기능과결함궤도의위치정보를시설관리원에게제공한다 [4]. 본장에서는검측차량검측실의검측원에게고속주행하는검측차량의위치를실시간으로제공하는서비스구현방법을소개한다. Table 1. Deployment process of OpenStreetMap offline map service Step Operation & Remark Install OS - install Ubuntu 14.04.1 Install map server and Import map data - refer to https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages - download http://download.geofabrik.de/asia/south-korea-latest.osm.pbf install application language - install oracle-java7-installer(java version 1.7.0_80) Install WAS - install tomcat7 Install apache tomcat interface module - install libapache2-mod-jk and setting Setting map API(openlayers) - modify main web page(slippymap.html) <script src="http://192.168.188.128/api/openlayers.js"></script> <script src="http://192.168.188.128/openlayers/openstreetmap.js"></script> - download API file and copy /var/lib/tomcat7/webapps/api/openlayers.js /var/lib/tomcat7/webapps/api/openlayers/openstreetmap.js Restart webserver and WAS - restart tomcat7 and apache2 Request map - http://192.168.188.128/osm/slippymap.html Table 1은오픈스트리트맵을이용한오프라인지도서비스구축절차이다. 오픈스트리트맵의 switch2osm 사이트 [3] 에서제공하는지도서비스구축매뉴얼에따라지도서버를설치하고필요한지도데이터를등록하고 Openlayer Open API를이용하기위해서일반적인방법으로아파치와연동을위한톰캣 WAS서버를설치하고 Openlayers와 Openstreetmap 자바스크립트 API 파일을다운로드하여해당패스에복사한다. Table 1의 Openlayers 세팅과정에서보이는 IP 주소는자체아파치웹서버주소이다. Fig. 5는고속궤도검측시스템의개념도이다. Fig. 6은오픈스트리트맵을이용한오프라인지도서비스구축웹서버에지도요청실행결과화면이다. 등록한오픈스트리트맵의대한민국지도와확대축소등기본적인기능이제공되고우측하단의 OpenstreetMap contributors를표시함으로써무료사용라이선스를표시한다 [1]. Fig. 5. Diagram of high speed track measurement system Fig. 6. Execution result screen of offline map service

3.2 위치추적지도서비스구현사례오픈스트리트맵오프라인지도서비스기반의 위치추적서비스는지도서비스와의연동을 통해서구현되며 Openlayers 라는오픈스트리트 맵지도서비스연동 API 의사용사례를 숙지하는것은중요하다. 위치추적지도서비스웹서버의화면구성과데이터처리관련웹페이지소스코드는각각 Table 2 및 Table 3과같다. Table 2. UI source code of web page Function display map and optimize control box display train location marker display train route Source code & Remark map = new OpenLayers.Map ("map", { controls:[ new OpenLayers.Control.NavToolbar(), new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.ScaleLine(), new OpenLayers.Control.MousePosition(), new OpenLayers.Control.Attribution() units: "km", maxextent: new OpenLayers.Bounds(13988520.407629, 4043234.324895, 14444696.592371,4671852.4454248), // map boundary of south korea restrictedextent: new OpenLayers.Bounds(13988520.407629, 4043234.324895, 14444696.592371,4671852.4454248), // map boundary of south korea projection: new OpenLayers.Projection("EPSG:900913"), // internal google Coordinate displayprojection: new OpenLayers.Projection("EPSG:4326") // external WGS84 Coordinate ); trainmarkers = new OpenLayers.Layer.Markers("Train"); map.addlayer(trainmarkers); function setmarker(longitude, Latitude, Velocity) { )...(skip)... trainmarkers.clearmarkers(); var icon = new OpenLayers.Icon(iconUrl, size, offset); trainmarkers.addmarker( new OpenLayers.Marker( lonlat, icon ) );...(skip)... var virtuallonlat = new OpenLayers.LonLat(Longitude, Latitude).transform(new OpenLayers.Projection("EPSG:4326"), map.getprojectionobject()); map.setcenter(virtuallonlat); linelayer = new OpenLayers.Layer.Vector("LineLayer"); map.addlayer(linelayer); function setmarker(longitude, Latitude, Velocity) {...(skip)... if(oldlongitude) { var points = new Array( new OpenLayers.Geometry.Point(oldLongitude, oldlatitude).transform(new OpenLayers.Projection("EPSG:4326"), map.getprojectionobject()), new OpenLayers.Geometry.Point(Longitude, Latitude).transform(new OpenLayers.Projection("EPSG:4326"), map.getprojectionobject()) ); var line = new OpenLayers.Geometry.LineString(points); var style = { strokecolor: linecolor, strokeopacity: 0.6, strokewidth: 6 ; var linefeature = new OpenLayers.Feature.Vector(line, null, style); linelayer.addfeatures([linefeature]);

Table 2의위치추적지도서비스의웹페이지화면구성기능은지표표출및컨트롤박스최적화와표출지도영역의설정과열차의현재위치마커표시기능그리고열차의이동경로선형표출부분으로이루어진다. 각각은 Openlayers의 API를사용하여코딩된다. Table 3의웹페이지데이터처리기능으로는실시간으로열차의현재위치를추적하는기능이있다. 또한열차운행후이동경로추적재생기능이있으나주기적으로 DB의이력데이터를참조하는방식으로실시간데이터처리와유사하여생략하였다. Table 3. Data processing source code of web page Function Tracking current location in real time Source code & Remark function starttracetrain() { allstop(); $("#loadingimgrealtime").show(); $("#loadingimghistory").hide(); $("#btnrealtime").addclass("btnrunning"); $("#btnhistory").removeclass("btnrunning"); traceflag=1; replayframe=0; settracetrain(); function settracetrain() { if(traceflag==0) {return; $.ajax({ type: "POST", datatype: "JSON", async: true, // true Async - false Sync url: "../jsp/getdata.jsp", // call getdata.jsp function in WAS success: function(result) { if(traceflag==0) {return; if(result.dataseqno) { setmarker(result.longitude,result.latitude, result.velocity); setinfomationdiv(result); settimeout("settracetrain()", refreshinterval); ); Table 4. DB processing source code of WAS Function Information of DB connection Query Return query result Close DB Source code & Remark String jdbcdriver = "jdbc:sqlserver://192.168.6.21:1433;databasename=dbname;"; String dbuser = "user"; String dbpass = "password"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection(jdbcDriver, dbuser, dbpass); String query = " SELECT top 1...(skip)... "; stmt = conn.createstatement(); rs = stmt.executequery(query); while(rs.next()){...(skip)... rst_data += "\"Longitude\":"+rs.getString("Longitude")+","; rst_data += "\"Latitude\":"+rs.getString("Latitude")+",";...(skip)...... (skip)... out.println("{\"result\":\""+rst_result+"\",\"message\":\""+rst_message+"\","+rst_data+""); if(rs!=null)try{rs.close(); catch(sqlexception ex){ if(stmt!= null) try {stmt.close();catch(sqlexception ex){ if(conn!= null) try {conn.close(); catch(sqlexception ex){

Table 4는웹어플리케이션서버의어플리케이션 DB 데이터처리소스코드이다. JDBC를사용하여 SQL Server DB 데이터를쿼리하는내용으로일반적인방법이나위치추적서비스의이해를돕기위해서기술한다. 이상으로구현된오픈스트리트맵오프라인지도서비스를이용한위치추적서비스화면은 Fig. 7과같다. 운영체제가상머신기반으로간편하게구축할수있어서연구개발이나인터넷이안되는환경의시스템개발에유용하게사용할수있을것으로기대된다. 후기 본논문은국토교통부국토교통과학기술진흥원에서시행하는철도기술연구사업의 " 철도인프라의유지보수를위한고속종합검측기술개발 " 과제로수행된내용입니다. 참고문헌 Fig. 7. Execution screen of location tracking service Fig. 7은경부고속철도를검측하는고속검측열차의위치와이동경로및속도등의데이터를표출하고열차의위치를센터로두며지도를이동시키는위치추적서비스를보여주고있다. 4. 결론본논문에서는오픈스트리트맵을이용하여오프라인지도서버를구축하여고속궤도검측시스템검측차량위치추적서비스구현사례를소개했다. 단말PC에서오프라인지도서비스개발에있어서어려웠던점은오픈스트리트맵지도서비스서버의구축방법을찾는것과해당지도서비스의 API인 Openlayers를이용해위치추적지도서비스를구현하는웹프로그래밍사용용례를찾는것이었다. 오픈스트리트맵오프라인지도서비스는윈도운운영체제 PC에리눅스 [1] J. H. Park. "Attractions providing location-based services technology", R&D result report, pp. 18, 50-51, June, 2014. [2] Wikipedia. 오픈스트리트맵. https://ko.wikipedia.org/wiki/%ec%98%a4%ed% 94%88%EC%8A%A4%ED%8A%B8%EB%A6%A C%ED%8A%B8%EB%A7%B5 (accessed August., 28, 2017) [3] OpenStreetMap and contributors. Building a tile server from packages. https://switch2osm.org/serving-tiles/building-a-tile-s erver-from-packages/. (accessed August., 28, 2017) [4] I.-Y. Choi, Status and Prospects of Development of The High Speed Track Measurement System for Railway Maintenance, J. of the Korean Society for Railway, vol. 17, no. 1, pp. 31-35, 2014.