도로명 주소 나침반 앱 릴리즈

2014년부터는 관공서에서 의무적으로 도로명 주소를 사용해야 합니다. 기존의 익숙한 주소체계가 아닌 도로명 주소가 처음에는 어색하고 불편할 수 밖에 없습니다. 하지만 이 도로명 주소에는 분명 좋은 장점이 있습니다. 특히 도로명을 알고 있으면 보다 쉽게 내가 가고자 하는 목적지에 찾아갈 수 있다는 장점이 있습니다. 이러한 도로명의 장점을 십분 활용하기 위해 도로명 주소 나침반 앱을 릴리즈하였습니다. 가고자 하는 목적지의 ‘도로명 주소’만 알면 쉽고 빠르게 찾아갈 수 있는 앱입니다.

사용자 삽입 이미지

구글의 플레이스토어에서 ‘도로명 주소 나침반’이라고 검색해 사용해 보시기 바랍니다. 도로명 주소 나침반의 기능은 다음과 같습니다.

  • 현재 내 위치에서 가장 가까운 도로명 주소와 함께 나침반을 표시해 줌
  • 도로명 주소로 지정된 목적지까지의 선을 참조하여 걷다보면 빠르고 정확하게 목적지에 도착
  • 내가 이동한 경로를 kml로 저장할 수 있는 GPS Logger 기능

사용자 삽입 이미지

도로명 데이터는 안전행정부에서 제공하는 새주소 데이터를 사용하였습니다. GIS 분야에서 일을 함에도 길치인지라 늘 어디갈때 해매고는 하는 제가 직접 이 앱을 이용해 재밌고 정확하게 목적지를 찾아갈 수 있었습니다.

프록시 서버(Proxy Server)

보안에 대한 이슈로 인해 특정 서버에 어떤 요청을 해도 응답을 하지 않는 다음 그림과 같은 상황이 있습니다. 이런 경우는 방확벽에 막혀 있거나.. 서버에서 특정 IP에 대해서 응답을 하지 않는 경우입니다.

사용자 삽입 이미지

이러한 상황이 발생하는 이유는 서버단에서 클라이언트인 사용자를 차단하기 때문입니다. 이럴 경우 서버가 차단하지 않는 별도의 서버로 우회하여 사용자가 요청에 대한 원하는 결과를 받을 수 있는데요. 이러한 구성은 다음과 같습니다.

사용자 삽입 이미지즉, 사용자(User)가 직접적으로 Server에 요청을 날리지 않고 Server가 안전하다고 판단되는 Proxy Server를 통해 간접적으로 요청을 날리면 Proxy Server는 User 대신 실제 Server에게 요청을 날리고 그 결과를 대신 받아 다시 User에게 날려주는 것 입니다.

이게 상당히 쓸모가 있습니다. 저 같은 경우 어떤 프로젝트를 진행하면서 실제 서버가 특정한 장소 안에서만 접근할 수 있음으로 해서.. 결국 작업을 하려면 지정된 장소에 가서 작업을 해야할 상황이였는데요. 이에 대해서 Proxy Server를 두고 실제 서버에서 Proxy Server에 대해서 방화벽 차단을 해제해줄 것을 요청한뒤 어떠한 장소에서든 이 Proxy Server를 통해 실제 서버에 접근하여 작업을 할 수 있었습니다.

그 당시 제가 사용했던 Proxy Server는 GeoService-Xr이라는 공간서버였습니다. GeroService-Xr은 기본적으로 Proxy Server 기능을 가지고 있습니다.

아래의 코드는 실제 서버의 IP가 44.44.44.44이고 Proxy Server의 IP는 77.77.77.77일때를 예로 든 경우입니다. 즉, 저와 같은 경우 GeoService-Xr이 77.77.77.77에 설치되어 있는 것입니다.

var svc:XrRequestURLProxy = new XrRequestURLProxy("77.77.77.77", 
    onRequestComplete, onRequestError);
var url:String = "http://44.44.44.44/doAction.jsp";
var queryString:String = "param=100";
svc.run({url:url, queryString:queryString});

호출이 성공적으로 완료되면 onRequestComplete 함수가 호출되고 실패하면 onRequestError 함수가 호출됩니다. onRequestComplete 함수는 다음과 같은 형태입니다.

private function onRequestComplete(result:String):void
{
    var obj:Object = JSON.parse(result);
    //..
}

위의 코드는 요청 결과가 JSON 형태일 경우에 대한 예입니다. 그리고 onRequestError 함수는 다음과 같은 형태입니다.

private function onRequestError():void
{
    //..
}

이상으로 프록시 서버에 대한 간단한 설명과 저와 같은 상황에서 어떤식으로 프록시 서버를 활용했지에 대한 예 였습니다.

신주소(도로명 주소) 체계

도로명을 중심으로 표기되는 새로운 주소 체계가 2014년부터 본격적으로 의무화되어 시행됩니다. 잘쓰고 있는 지번 주소를 왜 버리고 도로명 주소를 쓰느냐라고 불평할 수 있도 있으나 지금 세대가 아닌 미래의 후손을 위한 것이므로 긍정적으로 생각됩니다.

이 글은 개발자로써 바라본 신주소 체계에 대한 정리입니다. 이를 정리한 이유는 사용자가 자유롭게 입력한 신주소에 대해서 부분(Part) 별로 분리해 내기 위해서, 먼저 신주소 체계를 이해하고 각 부분을 분리해 내기 위해서 필요한 각 부분의 규칙성을 파악하기 위함입니다. 먼저 신주소는 다음과 같은 최대 7개로 구분됩니다.

사용자 삽입 이미지
이들에 대해서 각기 갖는 특징을 정리해 보면 다음과 같습니다.

사용자 삽입 이미지이 부분은 ‘시’, ‘도’로 끝납니다. 그리고 축약된 형태가 많이 사용되는데, 예를 들어서 서울특별시의 경우 서울로, 전라북도를 전북으로 표기되는 경우가 많습니다. 이 부분은 모두 한글로 구성됩니다.

사용자 삽입 이미지이 부분은 ‘시’, ‘군’, ‘구’로 끝납니다. 2개의 단어로 구성된 경우가 있는데, 예를 들어서 ‘수원시 영통구’와 ‘전주시 덕진구’ 등이 있습니다. 이렇게 2개의 단어로 구성되는 경우 2번째 단어는 ‘구’로 끝나게 됩니다. 이 부분은 모두 한글로 구성됩니다.

사용자 삽입 이미지이 부분은 ‘읍’, ‘면’으로 끝납니다. 한글로만 구성됩니다. 새주소에서는 이 부분이 자주 생략되는 특징이 있습니다.

사용자 삽입 이미지이 부분은 ‘로’, ‘길’로 끝납니다. 숫자와 한글로 구성될 수 있습니다.

사용자 삽입 이미지이 부분은 건물의 번호로써, 본번만 있을 경우 숫자로만 구성됩니다. 부번이 있을 경우 본번과 부번의 구분을 위해 ‘-‘가 사용됩니다.

사용자 삽입 이미지이 부분은 건물 번호 다음에 위치하므로 반드시 숫자 다음에 명시됩니다. 건물 번호와 구분을 위해 ‘,’가 사용되지만 입력자의 부주의로 인해 생략되기도 합니다. 건물의 ‘동’, ‘호’, ‘층’에 대한 내용이 옵니다. 한글, 영문, 숫자 등 다양하게 기재될 수 있습니다. 해당 내용의 정확한 구분을 위해 ‘동’, ‘호’, ‘층’으로 명시됩니다.

사용자 삽입 이미지이 부분은 중가로 열기 ‘(‘로 시작하여 중가로 닫기 ‘(‘로 끝납니다. 자주 변경되는 행정동이 아닌 법정동과 해당 주소의 건물이 공동 주택일 경우 공동주택명이 나타납니다. 법정동과 공동주택명 모두가 표시될때는 ‘,’로 구분됩니다.

차량의 위험운전행동 정의

차량의 행동 분석에 대한 통계 항목으로 고려될 수 있는 것들.. 정확한 용어 및 내용을 파악할 수 있도록 찬찬히 타이핑하며 암기(ㅡOㅡ;)하는 중..

  • 장기과속 : 과속 상태로 1분 이상 운행한 경우
  • 과속 : 제한속도보다 20km/h를 초과하여 운행한 경우
  • 급감속 : 브레이크를 사용하지 않고 초당 속도가 7.5km/h 이상 감속한 경우
  • 급제동 : 브레이크를 사용하면서 초당 속도가 11km/h 이상 감속된 경우
  • 급정지 : 브레이크를 사용하면서 초당 속도가 7.5km/h 이상 감속하여 차량이 멈춘 경우
  • 급가속 : 속도가 초당 11km/h 이상 가속된 경우
  • 급출발 : 차량이 멈춘 상태에서 출발하여 초당 속도가 11km/h 이상 올라간 경우
  • 앞자르기 : 속도가 초당 11km/h 이상 증가하면서 방위각이 30도 이상 좌우로 변하는 경우
  • 진로변경 : 속도 변화 없이 방위각이 15도 이상 좌우로 변하는 경우
  • 회전 : 15km/h 이상의 속도를 유지하면서 일정시간에 방위각이 좌측 또는 우측 방향으로 60도 이상 변하는 경우