행정동은 대한민국의 행정구역 구분단위의 세부 구분단위입니다. 세부적인 내용은 [링크]를 참조하시면 됩니다. 시도아래에 시군구가 있고 그 하위에는 읍면동으로 나뉘고 읍면은 행정리로, 동는 통으로 나눌 수 있고 행정리와 통은 말단 행정 구역인 반으로 나뉩니다.
우리가 흔히 알고 있는 동단위의 행정구역 관련 코드에는 (1) 행정동 코드, (2) 법정동 코드 (3) 통계청 한국행정구역 분류 등이 있습니다. 흔히들 (2)법정동과 (1)행정동이 있다는 것을 아실텐데 (1)과 (3)이 동일하다고 알고 계신 분이 많을겁니다. 최근 구역은 동일한데 코드가 다른것을 확인했습니다.
(1)과 (2)는 행정안정부 홈페이지에서 확보 가능하고 (3)은 아래에서 설명한다.
위의 세 가지 자료와 관련되어 잘 정리된 글이 존재하여 링크를 걸어둔다. [여기]를 클릭하면 팝업창에서 볼 수 있다.
최신 통계청 통계분류포털의 포털페이지에서 우측의 [행정구역 분류]메뉴로 들어간 다음 좌측의 [자료실]에서 받을 수 있습니다. 현재는 2020.4.1 기준이 최신으로 올라와 있습니다.
앞에서 크롬 익스텐션을 이용한 화면전환에 대해 설명한 적이 있습니다. [바로가기] 그런데 이 익스텐션의 설치는 인터넷 연결이 전제되어야 합니다. 망분리 기관인 고객사에서는 인터넷 연결이 되지 않아 익스텐션의 설치가 여러운 상황이었습니다. 이런 경우 오프라인으로 설치하는 방법에 대해서 공유합니다.
CRX, zip 파일의 확보
먼저 크롬 익스텐션의 설치파일인 CRX파일의 확보가 선행되어야 합니다. 그런데 간단할줄로만 알았던 CRX파일의 확보가 생각보다 쉽지 않았습니다. 여러 시도끝에 CRX extractor/downloader 라는 또 다른 익스텐션을 이용해서 성공했는데 이 과정을 설명합니다.
먼저 인터넷이 되는 컴퓨터로 이 링크로가면 CRX Extractor/Downloader 익스텐션이 보입니다. 이것을 설치해줍니다. 그림에도 나와 있지만 이 익스텐션의 특징은 CRX파일 뿐 아니라 ZIP파일로도 다운로드가 가능하다는 것입니다. CRX는 드래그&드롭으로 설치 가능하지만, 수동 설치시에는 ZIP파일이 사용하기 편리합니다.
그리고는 CRX를 얻기를 원하는 익스텐션으로 이동합니다. 저의 경우에는 Tab Rotate이므로 그곳으로 이동합니다.
여기서 Get CRX 익스텐션을 우클릭하여 Download CRX for this extension을 선택하고 CRX를 받을지 ZIP을 받을지를 선택합니다. 페이지는 CRX를 얻기를 원하는 그 익스텐션 설치페이지 상태여야 합니다.
그러면 Tab Rotate.crx 혹은 Tab Rotate.zip을 다운로드하게 됩니다.
이제 이 파일을 망분리된 상태의 다른 피시로 usb등을 통해 가져갑니다.
CRX 설치 : CRX 파일을 드래그 앤 드롭으로 설치
먼저 CRX파일 설치 방법입니다. 확장 프로그램 관리 페이지로 이동하여 우측의 [개발자 모드] 스위치를 켜줍니다.
이 상태에서 탐색기에서 crx파일을 이 폴더 안으로 끌어 넣으면 설치하겠느냐고 물어본 후 자동으로 설치가 됩니다.
이제 익스텐션의 설정값을 잘 설정해서 운용하면 됩니다.
ZIP설치 : 드래그앤 드롭이 안되는 경우
드래그앤 드롭 방식의 설치가 안된다는 이슈가 최근 있어서 추가 합니다. 어떤 이유에서인지 드래그앤 드롭 방식으로 설치가 안되는 경우 다음을 따라하시기 바랍니다.
우선 chrome://extensions/ 여기로 이동해서 우측의 [개발자 모드]를 켜서 개발자 모드로 들어가게 되면 좌측 상단에 [압축해제된 확장 프로그램을 로드합니다] 버튼이 보이는데 이 버튼을 클릭합니다.
zip파일이 있는 곳으로 이동하여 [폴더 선택]을 눌러주면 설치가 자동으로 딥니다.
이제 설치가 잘 되었아니 익스텐션을 잘 활용합니다.
맺으며
크롬 익스텐션은 오프라인 설치가 가능한데 GetCRX 익스텐션을 활용하여 설치를 원하는 Tab Rotate 익스텐션의 CRX파일을 확보한 다음, 이것을 오프라인 컴퓨터로 복사하여 개발자 모드에서 끌어놓으면 (혹은 [압축해제된 확장 프로그램을 로드합니다] 버튼을 눌러 버튼을 지정하면)으면 설치하여 운용가능합니다.
태블로로 주소 데이터를 만지다 보면 대체 어디까지 주소가 사전 준비되어야 하고 태블로에서 어느 정도의 가공을 해야 활용이 가능할지가 애매한 경우가 있습니다. 실무에서의 경험을 기준으로 다음과 같은 단계가 있을 듯 합니다.
신구주소의 정제
주소의 표준 포맷
지오코딩
태블로에서의 활용
신구주소의 정제
신주소 구주소는 일단 신주소로 변경해주셔야 합니다. 주소의 정제는 아래의 서비스나 업체를 활용하시기 바랍니다. 가끔식 수동으로 주소정제를 할 생각을 하는 분도 보는데 주소가 1~2천개가 아닌 이상은 솔루션을 사용하는 편을 권해드립니다. 참고로 수집한 원주소는 삭제하지 마시기 바랍니다. 변환 결과를 확인하다 보면 사람은 어느정도 해석되므로 수정해주면 되지만 자동으로 컨버팅은 안된다고 결과가 나오는 일이 제법 있습니다.
도로명 주소 사이트에서 제공해주는 서비스입니다. 50건까지는 수동으로, 3,000건 까지는 파일 첨부로 가능하고 100만건 이하는 전문 업체에서 대행해서 변환을 해서 제공하는 서비스입니다. 공공기관에서 제공하고 있는 서비스이고 100만건이라는 엄청난 양도 하루 이틀만에 변환을 해준다 하니 한 번 활용해보는 것도 괜찮을 듯 합니다.
주소 전환결과를 보시면 알겠지만 최근 대부분의 변환 결과물이 동일한 포맷을 유지하고 있습니다. 시도, 시군구, 신주소를 적고 괄호치고 동명을 적기도 합니다. 확인해보니 도로명주소법 시행령 제3조를 보면 1항 7조에 참고항목이 있는데 이런 것들에 대한 설명은 바로가기에 들어가 보면 나무위키 4번 항목에 잘 설명되어 있습니다. [바로가기] 예시가 잘 되어 있어 아래에 인용합니다. 특별시, 광역시, 일반시에 있는 법정동은 괄호를 열고 적게 되어 있다는데 법정동명을 괄호치고 넣는다..라는 규정이 실제로 존재하는 것은 개인적으로는 처음 확인합니다.
태블로에서 필요한 항목은 공백을 기준으로 주소를 나누어 보았을 때 맨 앞 항목인 [시도]와 두 번째 세번째 항목으로 이루어지는 [시군구]가 있고요, 위의 내용과 같이 괄호 안에 동이 표시되어 있으면 법정동 명도 활용 가능합니다 . (이것은 최근에 알게된 사실이라 동이 없는 지역에 대해서는 좀 더 고민을 해보고 글을 추가하도록 하겠습니다.)
또 아래에서 설명드리는 위도, 경도값이 있으면 시각화에 활용할 여지가 있고 나머지 부분은 태블로에서의 활용이라는 측면에서는 크게 중요하지 않습니다. (실질적으로 우편물 등을 보낸다던가 하는 경우에는 당연히 정확도가 중요하겠으나) 태블로 같이 시도 통계, 시군구 통계 등을 낸다거나 시고/시군구/읍면동에 거주 인구로 농담을 표시한 후에 특정 지점 (위경도)을 찍는 등의 일들에는 제한된 값만 활용하면 된다는 것을 유념해주시기 바랍니다.
지오 코딩
지도위 특정 위치에 마크를 표시하려면 위도 경도가 필요합니다. 주소를 가지고 위도 경도를 확보하는 방법을 지오코딩이라합니다. 보통 다음 두 가지 방법을 추천드립니다.
구글시트에서 awesome Table를 이용하는 방법
구글 시트에 주소를 불러들여서 주소인 칼럼을 지정해주면 위/경도 칼럼에 위/경도를 계산해서 넣어주는 방식입니다.
GIS DEVELOPER에서 공개한 무료툴입니다. PC에 설치하는 타입의 프로그램이고 Awesome Table 보다는 속도가 낫습니다.
외부 업체의 서비스를 이용하는 방법
지오 코딩으로 전문 서비스 업체 검색해보시면 검색되실 겁니다.
태블로에서의 활용
위의 시도, 시군구, 읍면동 그리고 위경도만 있으면 태블로에서 시각적으로 잘 표현할 수 있습니다.
간략하게 문장으로만 표현해보면 주소 정제가 깨끗하게 진행되었다고 가정할 경우 맨 첫칼럼은 시도 정보일 것이고, 두번째와 세번째 칼럼은 시군구에 해당하게 됩니다. 세부적으로는 세번째 칼럼의 맨 끝글자가 “구”로 끝나는 경우에는 두번째 칼럼 + 세번째 칼럼이 시군구 명이고, 그렇지 않은 경우에는 두번째 칼럼만이 시군구 명 입니다. 또 괄호가 있는 경우에는 여는 괄호 “(“를 기준으로 잘라서 오른쪽 칼럼 첫번째 단어가 법정동이 됩니다. 이런식으로 태블로의 계산식을 활용하여 각종 통계 값들을 끌어낼 수 있습니다.
이런 방식으로 진행되는 태블로에서의 데이터 활용 시각화는 분량이 제법 될 것 같으므로 다른 글에서 새롭게 기술하겠습니다.
마무리하며
태블로는 BI툴이기 때문에 데이터가 준비된 것을 전제로 하여 그 다음 활용 부분을 맡는 경우가 많습니다. 주소변환이나 지오 코딩등은 데이터의 준비에 관한 문제로서 통일된 주소록을 확보한다거나 위경도를 확보한다는 것은 사전에 준비되어야 합니다. 주소 데이터는 계속해서 추가되는 것이므로 항상 변환이 필요하되 초기 변환에 대부분의 노력이 들어갈 것이므로 데이터의 양과 질을 고려해서 무료 ~ 적당한 비용 범위까지의 서비스를 이용하는 것도 권해드립니다.
내용을 읽어보면 prj파일이 없다는 것이고 공간 기준 정보가 포함되어 있지 않아서 WGS84 형식으로 가정할 것인데 오류가 있을 수 있다는 내용입니다. 확보한 SHP파일이 불완전하기 때문에 생긴 문제라 볼 수 있습니다.
이 경우 QGIS를 활용하여 간단하게 수정 가능합니다. 물론 제대로된 SHP파일을 구하면 QGIS를 건드릴 이유도 없겠지만 무료 톨이고 간단히 만질 일이 가끔 가다 있기 때문에 기본 조작은 알아두면 편리합니다.
다음의 3가지를 설명드립니다.
QGIS의 설치
VECTOR LAYER 불러들이기
한글CHAR 깨지는 현상 수정
좌표계 지정
LAYER 저장하기 (내보내기)
QGIS의 설치
QGIS는 오픈소스로 유명한 GIS툴입니다. “QGIS” 로 구글링하면 쉽게 찾아 볼 수 있습니다. 다운로드 링크가 바로 보이므로 바로 들어갑니다.
독립설치형 버젼으로 안정화 버전을 선택합니다. 다른 버젼을 선택해도 됩니다.
도네이션을 유도하는 창이 있는데 기부를 하는 것도 좋은 방법이 아닐까 생각해봤습니다.
프로그램의 다운로드가 완료되면 엔터 엔터하여 잘 설치하고 실행해줍니다.
VECTOR LAYER 불러들이기
아래와 같은 화면이 나오는데 이제 확보한 shp파일을 읽어줄 차례입니다.
그림과 같은 메뉴를 선택하면 됩니다.
벡터 레이어인 shp파일을 선택하면 됩니다. 좌표계가 지정 안되어 있었는지 먼가를 물어보지만 일단 오케이 해줍니다. 저 파일들을 4~5개는 항상 묶음으로 함께 보게 됩니다.
대한민국 지도를 보면 잘 불려들어온 것을 볼 수 있습니다.
한글CHAR 깨지는 현상 수정
여기까지 온 분들의 절반 이상은 한글셋이 깨지기 때문에 들어오셨다고 해도 과언이 아닐텐데요, 제대로 읽어들였는지는 아래와 같이 확인 가능합니다.
아무것도 안하고 SHP파일을 불러들였는데 아래와 같이 나왔다면 한글 글자셋이 잘못되어 있는 경우입니다.
이것은 저장된 방식과 읽어들인 방식이 달라서 생기는 문제인데요, 이것은 레이어의 속성을 봐야 합니다.
두 번째 메뉴인 소스를 선택하게 되면 데이터 인코딩 방식이 System으로 되어 있는 것을 볼 수 있는데 이것을 euc-kr (이던 utf-8이던 원래 저장된 방식에 맞게..) 로 지정해주면 됩니다. EUC-KR로 변환하여 속성창을 다시 읽어보니 제대로 보이게 되었습니다.
좌표계의 지정 및 저장
이제 한글이 제대로 보이니 저장을 해야겠습니다. 좌표계도 문제가 되었었는데 저장 옵션에 있습니다. 좌측 LAYER PANE에서 찾아도 안보입니다. 에전 버젼에서는 여기서 잘 되었었는데 없어진 모양입니다. 마음을 가라앉히고 상단의 레이어 메뉴를 선택해줍니다. 원하는 SHP레이어만 저장하려고 하니까요.
SHP 파일은 아크GIS를 만든 ESRI의 형식입니다. SHP파일로 다시 저장할 것이므로 해당 옵션을 선택합니다. 파일 이름도 정해야할텐데 […] 버튼을 누르면 저장할 위치의 SHP파일 목록이 뜨게 됩니다. 이번에는 UTF-8형식으로 저장하려 하니 이름만 살짝 TL-SCCO_EMD_UTF8.shp으로 저장할까 합니다. 각자 알아서 좋은 이름을 저장해주세요.
좌표계는 여전히 오류가 있다고 나오는 경우 맨 마지막의 EPSG:4326 – WGS84로 저장하시면 태블로에서 이상 없이 불러들일 수 있습니다.
[OK]를 눌러주면 이상 없이 저장되고 새 레이어가 하나 생긴 것을 볼 수 있습니다.
저장 결과의 확인
이제 태블로에서 해당 파일을 불러들여 봅니다. 한글 깨짐 없이, 좌표계 지정 오류 없이 잘 들어온 것을 볼 수 있습니다.
태블로 화면도 이상없이 잘 그려지는 집니다. 아래와 같은 기본 SHP파일의 조작에 대해서는 별도로 설명드리겠습니다.
마무리하며
태블로를 사용하시는 분들은 대부분 SHP를 만들기 보다는 사용만을 할 일이 월등히 많습니다만, 가끔식 QGIS가 필요한 경우가 있고 또 다른 경우를 위해서도 QGIS의 간단한 조작방법은 알아두는 것이 좋을 것 같아 정리해 보았고요 이런 경우 도움이 되었으면 좋겠습니다.
대시보드 여러 장을 돌려가면서 사용할 일이 있습니다. 예를 들어 대한민국 일자리 상황판이나 제조 현황판, 코로나 상황판 이런 것들이 될텐데요, 한 번에 여러개의 KPI를 한 곳에 모아놓은 종합 대시보드를 만들어서 그것을 볼 수도 있겠지만 여러개의 KPI별로 만들어진 대시보드 여러장을 돌려가면서 살펴볼 수 도 있습니다.
대시보드의 데이터 갱신을 위해 지금까지 사용해온 방식은 몇 가지 있고 그 중 하나는 크롬의 익스텐션을 이용하는 것입니다. 처음 들어보시는 분도 있겠지만 크롬 브라우저의 기능을 강화해주는 브라우저에 설치하는 보조 프로그램이 익스텐션이라 할 수 있습니다.
이번에는 데이터 갱신 뿐만 아니라 몇 개의 화면을 로테이팅 할 필요가 있어서 그런 익스텐션을 찾아보았습니다.
탭-로테이트 크롬 익스텐션
탭-로테이트라는 익스텐션을 소개합니다. 몇 가지 익스텐션을 테스트해 보면서 가장 필요한 특징은 다음 세 가지 정도였는데요 아래에서 설치하면서 확인해보겠습니다.
Full Screen이 지원되어야 한다
사전 로딩이 지원되어야 한다.
화면 및 동작 정의가 편리해야 한다.
먼저 설치는 통상의 크롬 익스텐션 설치 방법을 따르면 됩니다. 혹시라도 망분리 등으로 오프라인 설치 방법이 필요하신 분은 [여기]를 클릭해서 내용을 참고하시기 바랍니다.
예를 들어 NOTEPAD혹은 에티터를 열어 page1.html을 만든 다음 아래와 같은 코드를 내장시킵니다. 이와 같은 페이지를 page1, page2, page3로 만들어 로테이션을 시키게 됩니다.
이 경우 이미지가 스크린 사이즈랑 딱 맞지 않는 경우 height혹은 width 중 하나만을 100%로 놓아야 이미지 비율 왜곡이 생기지 않게 됩니다. html 샘플은 [여기]를 클릭해서 다운로드하세요.
마무리
전반적으로 원하는 기능은 전부 있었습니다만, 사람이 어느정도 기능이 지원되면 또 욕심이 생기는지라 하면 전환간에 부드러운 전환은 안되는가 하는 욕심도 슬며시 생겼습니다. 1) smooth하게 탭을 전환해주는 익스텐션이 있을까 하는 생각과 함께 2) 오픈 소스이니 소스를 고치는 것도 방법이 아닐까 했습니다. (물론 folk를 내는 순간 업데이트는 포기해야 하겟지요)
이번에는 이 정도로 일단 마무리하려고 하는데요, 간이하게 대시보드로 상황판이 필요한 분들에게 도움이 되시기 바랍니다.
추가팁 – 잘되는 익스텐션 복사하기
혹시 잘 운용되고 있는 크롬의 익스텐션을 복사할 수 있을지 확인해봤는데 그것도 가능합니다.
먼저 사용자 계정별로 익스텐션을 설치하게 되므로 그 디렉토리를 찾습니다. 요령은 아래의 커맨드를 주소창에 붙여 나온 결과값을 보고 폴더의 위치를 확인합니다.
chrome://version
이것을 누르게 되면 이런 이미지를 볼 수 있습니다. 여기서 프로필 경로가 가장 중요합니다. 드래그하여 복사를 해주세요.
(윈도우+E 버튼을 눌러) 탐색기를 켜준 주소창에 위 주소를 붙여넣어 다음 해당 폴더로 이동하여 Extension폴더로 들어갑니다. 프로파일은 크롬의 사용자 추가시마다 일련번호를 붙여서 숫자가 늘어나는 듯 했습니다. 위의 프로필 경로가 가장 확실한 방법입니다.
익스텐션 폴더에 들어가면 여러 익스텐션이 있는데 이게 또 암호입니다.
어떤 폴더를 복제할지는 확장 프로그램 관리로 가봐야 합니다. 여기에 개발자 모드를 켜서 프로그램 아이디를 확인하시거나 혹은 해당 익스텐션의 [세부정보]를 눌러 들어가면 주소창에 프로그램 아이디가 보입니다.
여기서는 pjgjpabbgnnoohijnillgbckikfkbjed 이므로 이 이름으 가진 폴더를 찾으면 됩니다.
곡선라인은 MakePoint, MakeLine으로 표시해두었네요. MakePoint 함수를 살펴보면 간단히 위경도를 가져다가 점을 선언했습니다. 시작점, 종료점 모두 적용했네요.
선사이의 항공로선을 이어주려면 MakeLine을 사용하게 됩니다. 위에서 선언한 두 점 사이에 선을 그어주는 계산식을 만드는 것만으로도 두 점 사이의 항공로를 표현하게 됩니다. 지구는 둥근데 우리는 이것을 펼쳐놓은 네모난 지도를 보고 있으므로 시각의 왜곡이 존재하는 것이겠죠.
곡선이 상당히 아름답습니다. 이 기능 출시전에는 지구 곡율을 반영한 여러가지 함수를 조합해서 어렵게 어렵게 구현했었습니다.
여기서 푸른 색의 지도 또한 눈에 띕니다. 브이월드니 다음 지도, 구글 지도 찾는 분들이 대부분 디테일한 지도를 원하신다면, 이런 그림 느낌이 나는 지도들은 디테일이 보이면 오히려 좀 불편한, 분위기가 나는 지도들이 필요한 경우에 많이 쓰입니다. 대부분 지구 전체 혹은 태평양 지도 같은 넓은 지역을 커버하는 지도가 필요한 경우입니다.
그런데 실제로 이런 그림과 같은 지도들도 강력한 해상도를 가지고 있습니다. 우리가 잘 아는 강남역을 향해서 줌인해 볼까요?
강남역의 웬만한 건물은 선명하게 보이고 있습니다. 사람이 일일이 그리지는 않았을 것이고 정밀한 지도를 그림과 같은 느낌이 나도록 가공하였음은 충분히 짐작할 수 있는데도 이렇게 줌인해볼 때 마다 지도 마다 전부 다른 느낌이 들어서 감탄을 하고는 합니다.
여기서 지도 고를때의 팁 한가지만 더 말씀드리면요, 바로 독도와 동해입니다. 위와 같이 지도의 아름다움과 이미지가 주는 효과에 감탄을 하다보면 가끔 잊는 일이 있는데 바로 독도가 제대로 표시되어 있는지 동해가 아니라 일본해라고 표시되어 있는가입니다.
독도를 찾느라 한참 걸렸습니다만, 독도는 제 위치에 제 명칭으로 표시가 되어 있습니다.
아무리 지도가 아름다워도 일본해라고 있는 지도는 사용하면 문제가 생길 수 있습니다. 저는 밤 12시가 다 된 시간에 다급한 고객의 전화를 받은 적이 있는데요, 저희가 여러 지도 중에서 디자인이 맘에 드는 지도를 넣어드렸고 고객도 ok를 하셨던 건인데 누군가가 공개된 viz에서 지도를 이리 저리 옮겨보다(panning)가 동해가 아닌 Sea of Japan이 있는 것을 발견하고 신문사에 연락을 했다는 것이었습니다.
전화를 받자 마자 야간에 부랴 부랴 지도를 수정해드렸고, 다음날에 신문 기사가 나가는 것을 막았다고 전해들었는데요. “공공기관에서 그런 것도 확인하지 않고 VIZ를 만들어서 공개하다니 ” 하는 기사가 나갈뻔 한 사건이었습니다. 이런 일이 있고 난 다음부터는 습관적으로 동해와 독도는 찾아보는 습관이 생겼습니다.
이런 경우 제대로 표기가 된 지도를 사용하는 것이 가장 좋겠습니다만, 사정상, 디자인상 여의치가 않은 경우 지도의 PANNING 기능을 막는 방법인데요 아래처럼 맵 – 맵 옵션 – 3개 선택사항 해제로서 가능합니다. 이렇게 되면 지도가 고정되어 사용자가 패닝을 통해서 이리 저리 옮겨다니면서 의도하지 않은 검토를 하지 못하게 할 수 있습니다.
어떤 지도를 사용했는지를 살피기 위해서 데스크탑에서 맵을 눌러봤습니다.
stamps란 이름을 가진 지도입니다. 이것을 다른 viz에서 사용하기 위해서는 Manage Maps란 메뉴를 눌러줍니다. 간단한 특성값이 보이는데 잘은 모르겠네요.
살피다 보니 export기능이 있습니다. tms파일 형식으로 내보내줘서 나중에 사용할 수 있을듯 합니다.
tms파일을 열어보니 api 키값과 서버 주소등이 보입니다.
여기를 클릭하시면 stamps.tms 파일을 압축한 파일을 다운로드 받을 수 있습니다. 필요하신 분들 잘 활용하시기 바랍니다. 키값도 보이고 있는 것을 보면 저작권, 사용권등의 문제들에 대해서는 추가 적인 검토가 필요하지 않을까 생각해봤습니다. 나중에 이런 맵들의 저작권등에 대해서도 한번 검토하는 글을 올려보겠습니다.
이 tms 파일을 my Tableau Repository폴더에 넣어두면 태블로 데스크탑에서 지도 그리려고 할 때 선택목록에 뜨게 됩니다. 만일 폴더에 자동 목록이 뜨지 않으면 Import를 눌러서 로딩해보시기 바랍니다.
디노입니다. 화면의 자동 갱신 (데이터 갱신도 마찬가지)을 물어보시는 분들이 많습니다. 며칠전 질문에 답변을 한 김에 정리해보았습니다.
1. html 메타 태그
html혹은 웹페이지에 임베딩한 경우에 유용한 방법입니다. 방법은 웹에서 쉽게 구글링 가능한데 html페이지에 아래 검정색 부분의 meta태그를 추가하는 방법입니다. (링크) 이해가 간단하고 조작이 쉽죠. 임베딩한 경우에만 유효하다는 단점이 있습니다.
<meta http-equiv=”refresh” content=”5″ />
2. 페이지 자체를 리프레시하는 크롬 익스텐션
요즘 많이 사용하고 있는 크롬 브라우저는 익스텐션이 있습니다. 여러가지 브라우저의 활용을 극대화하는 추가 기능일텐데요, 많은 개발자들이 재미있는 기능들을 익스텐션으로 개발하여 공유하고 있습니다. 크롬 전용이라는 제한은 있지만 현실적으로 동작합니다. 이와 유사한 개념은 파폭이나 ie에도 있을 듯 합니다. 개인적으로는 복잡할 것 없고 소스의 수정 또한 없으며 또 자동 리프레시를 원하는 경우가 대부분의 경우 전시용도가 많을 것이므로 누가 건드릴 일이 없는 화면일 것이라 이 방법을 추천드립니다.
내부에 능숙한 개발자가 있다면 태블로 extension api를 사용해서 개발을 하는 것도 방법입니다. 만일 개발을 하게 된다면refresh는 위 4와 같은 UI로가고 config설정창은 uiNamespace 이것을 좀 수정하면 어떨까 생각해보았습니다. 여력이 되면 완성하여 공개하는 것도 고려하고 있습니다만, 좀처럼 짬이 잘 나지는 않는군요.
디노입니다. 앞의 글에서는 vworld 이미지를 사용해서 외부 인터넷이 안되는 고립망 내에서 태블로 사용자는 누구나 맵 서비스를 이용할 수 있도록 하는 방법을 알아봤습니다. 이번에는 고립망내에서 브라우저만으로 태블로를 만나야 하는 익스플로러 사용자의 입장에서 지도 서비스에 대해서 알아보려고 합니다.
브라우저에서의 배경 맵 스타일 변경
최근 태블로 2020.1버젼에서는 브라우저 (편집모드)에서 배경 맵 스타일을 변경할 수 있게 되어서 특히 웹으로만 태블로를 대할 수 밖에 없는 익스플로러나 뷰어 사용자들이 상당히 편리해졌습니다. 선택할 수 있는 배경 맵 스타일은 기본 태블로 지도와 사용자 지정 맵 등이고 다음 링크에 연결하는 방법이 나와 있습니다.
그런데 데스크탑에서 vworld.tms파일을 사용한 경우 서버에 VIZ를 올리게 되면 맵 목록에 vworld지도가 추가되긴 하지만, vworld 지도를 (데스크탑에서 VIZ를 올리거나 그러지 않거나에 관계 없이) 기본 값의 하나로 뜨게 해달라는 고객의 요청이 있었습니다. 즉 누구나 [새 통합문서 만들기]를 눌러 들어간 경우에도 아무일도 하지 않아도 vworld지도가 보이면 좋겠다는 의견이었습니다. 이 고객은 내부 사용자만 수천명이 넘는 경우이어서 이야기를 듣고보니 담당자가 그 많은 분들에게 일일이 설명하는 것도 보통일이 아닌 듯 했습니다.
위 매뉴얼을 보니 서버의 특정 위치에 tms파일을 넣어주게 되면 목록에 자동으로 뜨는 것 처럼 이해를 할 수도 있으나 실제 해보니 서버 폴더에 tms파일을 넣어주는 것 만으로는 새로운 지도가 목록에 뜨지는 않아서 (실패한 시도를 자세히 검토/기록할 필요는 없어 자세한 내용은 생략합니다.) 다시 한번 주위에 도움을 요청했습니다.
tableau.tms 를 vworld.tms 내용으로 대체
답변중에 기가 막힌 아이디어도 있었는데 어차피 사용하지 않을 tableau.tms파일의 내용을 vworld.tms의 내용으로 바꿔놓음 되지 아니겠느냐는 아이디어 었습니다. 그래서 그대로 실행해보니 지도가 멋지게 뜨기 시작했습니다.
아래 그림은 C:\Program Files\Tableau\Tableau Server\packages\vizqlserver.20201.20.0326.1623\Mapsources 에 있는 tableau.tms 의 수정된 내용입니다. vworld 내용으로 싹 바꿔치기를 했습니다. 2d/Base 지도를 사용하는 것으로 지정했네요. 사실 내부망에 설치한 맵 이미지의 경우 기본(Base) 지도뿐이기 때문에 이 방식으로 사용에 문제는 없겠습니다.
위 이미지에서 xdworld.vworld.kr 이부분은 조직 내부에서 운용되고 있는 vworld map서버의 ip로 변경하셔야 하고요, 하단에 “vworld 2d 기본지도”는 좌측의 지도 목록에서 표시될 이름입니다.
위 그림을 참조하시면 태블로 기본 지도를 선택했을 분인데 vworld지도가 기본으로 전시되고 있습니다. 하단의map-attribute를 보면 “@국도교통부”라고 서비스 제공자의 이름이 있는데 이것은 그대로 사용하시면 됩니다만 혹시 이것을 삭제할 필요가 있는 경우라면 map-attribute를 수정하는 것도 방법이겠습니다.
편의를 위해 코드와 파일을 첨부합니다. 다만 이 방법은 태블로 서버 내에 있는 기본 파일을 살짝 변형해서 사용하는 것이므로 태블로 서버의 업그레이드 등에서는 삭제될 수 있으므로 항상 주의하셔야 합니다.
디노입니다. 태블로는 국가명, 시도명을 모두 내장하고 있습니다. 그런데 이런 설명을 드리면 글로벌 전체 목록을 받아볼 수 없겠냐 하는 질문을 종종 받습니다. 자동이라니까요라고 말씀을 드려도 목록을 쓸데가 있다 합니다.
아무래도 글로벌 하게 비즈니스를 하는 업체들이었던 것으로 기억합니다. 나중에 들어보니 각 지사등에서 수집된 데이터를 태블로로 그리려고 하면 수집한 데이터가 제각각인 경우가 많아서 표준에 맞추어 한번 정리를 하려고 한다네요. 제가 태블로가 내장하고 있는 국가명을 가지고 포스팅을 한 적이 있는데 같은 방식으로 해결되겠지 했었습니다만, 의외로 이건 좀 다른 방식으로 해결되었습니다.
결과 – 태블로 퍼블릭 임베딩
먼저 태블로 퍼블릭에 게시한 결과물 먼저 공유드립니다. 2020.1 버젼기준으로 작성되었습니다.
The GeocodingData.hyper or City.tds file contains a list of city names in the Tableau geocoding database.
2019.4.0 and later on Windows, GeocodingData.hyper is used to recognize cities. The file is located by default at C:\Program Files\Tableau\Tableau [version]\Local\data.
geocoding관련 tds를 그대로 사용할 수 없어, 필요한 경우 아래와 같은 방법을 사용 한다고 합니다.
State.tds를 열어보시면 GeocodingData.hyper의 State, LocalDataState, StateSynonyms를 사용해서 각각을 Left Outer join, Inner Join으로 사용하고 있는 것을 확인할 수 있습니다.
모델링
위 xml의 내용을 바탕으로 아래와 같이 모델링을 합니다.
저는 나라의 하위에 시도(states)가 오도록 하기 위해 약간 변형해서 모델링을 했습니다. 아래의 이미지를 참조하시고 필요하다면 태블로 퍼블릭에서 태블로 파일을 직접 다운받아서 검토하시기 바랍니다.
감사드려요!
이 문제의 해결은 태블로 한국지사의 기술 이사이신 우재하 이사님과 김연진 이사님이 큰 도움을 주셨습니다.