중부원점좌표계(5174)와 tableau makepoint 함수

디노입니다. 최근 버스 시스템 관련 프로젝트를 하고 있습니다.

정류장 좌표를 받았더니 38.y, 127,x로 시작하는 눈에 익은 WGS84가 아니었고 아래와 같은 식이었습니다.

전달받은 경기도 버스정류장 정보

중부원점좌표계 ESPG 5174와TABLEAU MAKEPOINT

한참을 헤매다가 최근에 알게 된 전문가에게 자문을 구하니 경험상 20만, 50만정도의 값을 가지는 TM관련 좌표계로 보인다 했고, 확인해보니 중부원점좌표계라고 하더군요. 한국의 경우 적용되는 ESPG 좌표계와 SRID는 잘 정리되어 있으니 다음 링크를 참조하시고요 (http://www.gisdeveloper.co.kr/?p=8942)

한편, TABLEAU MAKEPOINT함수는 다음과 같은 문법을 가지죠. MAKEPOINT(X, Y) 혹은MAKEPOINT(X, Y, SRID)의 문법을 가집니다. SRID는 ESPG기준계 코드를 사용해서 좌표계를 지정하는 공간 참조 식별자인데 한국에서 넣어볼만한 SRID는 10여개 정도되니 주위에 전문가 없이 업무를 해야 하는 경우 링크를 참조하여 이것 저것 넣어볼 수는 있겠습니다.

문제는 중부원점좌표계의 경우 ESPG의 SRID 5174를 가진다고 하는데 이렇게 넣어 변환을 해보았더니 거의 비슷한 위치에 표시되기는 하나 정확하게 제대로 된 점에 찍히지 않았습니다.

5174좌표계라는 것을 알고 MAKEPOINT함수를 써서 포인트로 만든 다음 지도에 표시한 결과

이유를 물어보니 MAKEPOINT의 함수의 좌표계 변화용 타원체가 달라서 생기는 문제가 아닐까 하는 답변이었습니다. 오래된 프로젝트 라이브러리를 사용하는 경우 발생한다고 하고 5174는 bessel 타원체라서 생기는 문제가 아닐까 하더군요. 약 300미터 정도 우하단으로 이격이 생기는 것을 볼 수 있습니다.

한편 전문가가 변환하여 준 좌표는 아래 그림 처럼 제대로 된 자리에 찍히고 있었습니다.

X, Y를 QGIS를 가지고 WGS84로 변환하여 받은 점을 표시한 결과물

다른 경로를 통해 입수한 정류장 좌표도 MAKEPOINT를 써서 표시를 해보니 동일한 결과를 얻을 수 있었습니다.

MAKEPOINT 5174롤 써서 변환한 정류장의 위치와 실제 존재하는 위치 (필자의 집 앞 정류장)

결론

  • 2만, 5만대의 좌표는 중부원점좌표계일 가능성이 높다
  • 중부원점좌표계의 ESPG SRID는 5174이다.
  • 태블로에는 좌표계 변환을 위한 MAKEPOINT라는 함수가 준비되어 있고, 세번째 인자가 없으면 WGS84, 있는 경우에는 SRID를 넣어주면 그 좌표계가 WGS84로 잘 변환되지만
  • 5174의 경우 300미터 정도 우하단으로 옮겨서 표시된다.
  • 그러므로, 5174의 경우 MAKEPOINT를 사용하면 오류가 있고 QGIS를 통해서 변환한 후 사용하자

참고

위 내용은 21/09/26현재의 상황이므로 태블로에서 MAKEPOINT 5174 변환함수를 수정하면 제대로 돌아갈 수도 있으니 참고만 하시기 바랍니다. 결과적으로 이 경우 태블로의 내장 함수를 사용하지 못하고 QGIS로 좌표 변환을 해야 하는데 이에 대해서는 별도 글을 작성하겠습니다.

 95 total views

태블로 파일내 계산식 목록

디노입니다. 아주 오랫만에 글을 씁니다.

최근에 고객중 한 분이 태블로 파일내 계산식 목록을 일일이 워크시트를 열어보지 않고도 확인할 수 있는 방법이 있겠냐는 문의를 해왔습니다. 여러가지 산식이 복잡해서 산식들을 집중적으로 분석해야하는데 일일이 대시보드-시트를 찾는 식으로는 검토가 어렵다는 것이죠.

구글링을 해보니 답이 없다는 글이 대부분이기는 했습니다만 어떤 글의 마지막 답변에서 실마리를 찾을 수 있었습니다.

https://tony-yanjun.shinyapps.io/Tableau_zen_parser/

붉은 부분을 눌러서 파일을 업로드 해야 합니다. twbx파일은 안되고 twb파일만 됩니다. 혹시나 twbx파일만을 가지고 계신 분은 twbx 확장자를 zip으로 변경하신 후 압축을 풀면 twb파일을 구하실 수 있습니다.

슈퍼스토어를 로딩해보았습니다. twb파일을 여러가지로 분석한 내용들이 보이고요, 우측에 calculated field table 라는 탭이 보입니다.

계산식 필드 테이블을 누르면 아래와 같이 계산식 목록이 보입니다.

이 내용은 그대로 엑셀이나 csv, pdf 등으로 export할 수 있나 봅니다. pdf로 해보았더니 한글이 깨지네네요. 엑셀로 export해보았더니 이상없이 잘 export됩니다.

간단히 계산식을 검토하고자 하는 경우에는 상당히 유용해보입니다. 도움이 되셨기를 바랍니다.

이상 디노였습니다.

 1,240 total views,  4 views today

태블로 대시보드 화면 전환 상황판을 위한 tabcmd 활용

들어가며

디노입니다. 대시보드 여러 장을 돌려가면서 사용할 필요가 있는 경우 크롬 익스텐션을 이용한 방법을 소개한 바 있습니다만, 개발된 크롬 익스텐션 자체의 한계로 탭(화면) 간 전환이 매끄럽지 못하고 투박하가 탁탁 넘어가는 점이 아쉬웠었습니다.

그러던 중 tabcmd 기능을 활용하여 특정 대시보드 혹은 시트에 대한 뷰를 이미지로서 특정 폴더에 저장하고, 이것을 화면 전환이 부드러운 알씨 등과 같은 이미지 뷰어를 활용하는 방법을 알게 되어 공유합니다.

Tableau Server 사이트에서 사이트 관리 작업을 자동화하는 데 사용할 수 있는 tabcmd 명령줄 유틸리티를 제공합니다. 사용자, 프로젝트, 그룹을 만들거나 삭제하는 작업의 스크립트를 예로 들 수 있습니다. 태블로의 뷰를 이미지 혹은 pdf로 export 한다거나 하는 것도 그 범주에 속하겠죠.

tabcmd를 이용한 태블로 대시보드 이미지의 다운로드 및 슬라이드 쇼를 만들기 위한 대략의 단계는 다음과 같습니다.

  • tabcmd설치
  • 배치 파일 구동하여 특정 폴더에 이미지가 잘 떨어지는 지 확인
  • 해당 폴더를 바라보도록 알씨 설치하여 구동
  • 특정 배치파일이 일정 시간마다 구동되도록 윈도우 스케줄러에 등록

1.tabcmd의 설치

다음 링크에 가셔서 tabcmd를 다운로드 받아 설치합니다.
https://www.tableau.com/ko-kr/support/releases/server/2020.2.3
(예를 들어 화면전시를 해야 하는 피시/노트북)

2. tabcmd 배치 구동하여 특정 폴더에 이미지 다운로드

여기에 batch파일을 돌려줍니다. (첨부파일) 내용은 서버에 로긴을 해서 특정 뷰를 이미지로 다운로드 해주는 겁니다. 소스를 보시면 금방 이해가 갈것입니다.

매뉴얼 해당 부분 : https://help.tableau.com/current/server/ko-kr/tabcmd_cmd.htm#export

c:/에 tabimg라는 폴더를 만들어두어야 하고요, 배치 파일의 내용은 서버 로긴 -> 이미지를 특정 폴더에 다운로드 -> 로그아웃의 간단한 구성으로 되어 있습니다.

path C:\Program Files\Tableau\Tableau Server\2020.2\extras\Command Line Utility
tabcmd login -s http://tablesuserver.com -u admid -p admpwd
tabcmd export -t sitenm “workbooknm/viewnm1?:refresh=yes” –png -f “C:\TABIMG\workbooknm_viewnm1.png”
tabcmd export -t sitenm “workbooknm/viewnm2?:refresh=yes” –png -f “C:\TABIMG\workbooknm_viewnm2.png”
tabcmd logout

이 파일을 포함한 내용을 노트패트/텍스트 에디터에 붙여넣기 하고 getTableaImage.bat라는 이름으로 저장해 본다.

위 내용을 포함한 bat파일을 만들고 이 배치파일을 싱행해본다. bat파일이 있는 폴더에서 shift+마우스 우클릭을 하면 “여기서 명령 창 열기”가 있다. 클릭하면 cmd창이 나타나는데 getTableaImage.bat를 입력한 후 엔터를 쳐서 실행한다.

3. 해당 폴더를 바라보도록 알씨 설치하여 구동

이렇게 특정 폴더에 이미지가 다운로드 되는 것을 확인하시고요 알씨를 가지고 이미지 슬라이드쇼를 해보시면 됩니다. https://www.altools.co.kr/download/alsee.aspx

꼭 알씨가 아니라도 다른 좋은 이미지 슬라이더 프로그램이라면 어느것이든 가능합니다.

4. 윈도우 스케줄러에 등록

잘 된다면 윈도우스케줄러에 bat파일을 등록하시면 됩니다. 이 내용은 구글링하면 많이 나와있을 겁니다. (여기 클릭)

마무리하며

여기까지 오셨다면 이미 화면들이 부드럽게 전환되고 있는 것을 직접 보고 계시리라 생각합니다. 이런 방법을 통해 고가의 KIOSK 프로그램 혹은 DID프로그램으로 사용하실 수 있습니다. 도움이 되셨기를 바랍니다.

 1,286 total views,  3 views today

태블로의 퍼블릭 샘플 작품들 (Tableau for)

디노입니다. 업무상 태블로 대시보드 샘플을 찾아봐야할 경우가 있습니다. 여러 전문가나 전문업체에 부탁하기도 하고, 태블로의 영업에이전트들에게 부탁을 하기도 합니다. 또 어떤 분들은 태블로 퍼블릭을 잘 활용하기도 합니다.

태블로 퍼블릭에서 유용한 대시보드를 많이 찾아볼 수 있지만, 별로 유용하지 않은 습작 수준의 작품들 사이에서 업무에 적합해보이는 적당한 대시보드를 찾기란 결코 쉬운 일은 아닙니다.

며칠 전 오랫동안 잊고 있었던 것인데 다시 생각이 난 사실이 있습니다. 태블로에서는 직접 업무 구분별로 많은 태블로 대시보드를 만들어서 직접 태블로 퍼블릭에 공유를 하고 있습니다. 다음의 링크들은 마케팅, 세일즈, 금융, 기타 태블로에서 직접 만든 멋진 대시보드들입니다. 유용하게 참조하시기 바랍니다.

참고로 태블로 퍼블릭에서 ” Tableau for“을 검색하시면 태블로에서 만든 더 많은 샘플 대시보드들을 검색하실 수 있습니다.

Tableau for Marketing

https://public.tableau.com/profile/tableau.for.marketing#!/

Tableau for Sales Analytics

https://public.tableau.com/profile/tableau.for.sales.analytics#!/

Tableau for finance

https://public.tableau.com/profile/tableau.for.finance#!/

기타 참고하실만한 link

https://www.tableau.com/ko-kr/solutions/marketing-analytics

https://www.tableau.com/solutions?topic=departments

이 외에 개별 링크 탐색이나 추가 사례가 확보되는 대로 공유드리겠습니다.

 1,975 total views,  4 views today

행정동과 통계청 행정구역 분류

행정동은 대한민국의 행정구역 구분단위의 세부 구분단위입니다. 세부적인 내용은 [링크]를 참조하시면 됩니다. 시도아래에 시군구가 있고 그 하위에는 읍면동으로 나뉘고 읍면은 행정리로, 동는 통으로 나눌 수 있고 행정리와 통은 말단 행정 구역인 반으로 나뉩니다.

우리가 흔히 알고 있는 동단위의 행정구역 관련 코드에는 (1) 행정동 코드, (2) 법정동 코드 (3) 통계청 한국행정구역 분류 등이 있습니다. 흔히들 (2)법정동과 (1)행정동이 있다는 것을 아실텐데 (1)과 (3)이 동일하다고 알고 계신 분이 많을겁니다. 최근 구역은 동일한데 코드가 다른것을 확인했습니다.

(1)과 (2)는 행정안정부 홈페이지에서 확보 가능하고 (3)은 아래에서 설명한다.

위의 세 가지 자료와 관련되어 잘 정리된 글이 존재하여 링크를 걸어둔다. [여기]를 클릭하면 팝업창에서 볼 수 있다.

최신 통계청 통계분류포털의 포털페이지에서 우측의 [행정구역 분류]메뉴로 들어간 다음 좌측의 [자료실]에서 받을 수 있습니다. 현재는 2020.4.1 기준이 최신으로 올라와 있습니다.

행정동 테이블의 원본 :
http://kssc.kostat.go.kr/ksscNew_web/download/%ED%95%9C%EA%B5%AD%ED%96%89%EC%A0%95%EA%B5%AC%EC%97%AD%EB%B6%84%EB%A5%98_2020.4.1.%20%EA%B8%B0%EC%A4%80(%EC%88%98%EC%A0%95).xls

행정동의 shp파일은 [여기]를 방문하시면 확인할 수 있습니다.

태블로로 내용을 그리면서 검토하다보니 기초광역단체가 있는 일반구의 경우 기초광역단체명을 빼고 일반구명만 적어두어 이것만 가지고는 활용이 불가하여 이름을 수정하여 아래에 게시했습니다. (경기도 수지구 –> 경기도 용인시 수지구)

구글시트 링크 : https://docs.google.com/spreadsheets/d/1ka5lfCKIXaC72gdoPUJTzdElQc5_LJrJ5bhApHm_yWs/edit#gid=0

CSV 파일 링크 :
http://dgtnmd.net/wp-content/uploads/2020/06/한국행정구역분류_2020.4.1.-태블로용.csv

태블로 퍼블릭 샘플 : [바로가기]

구글시트 웹공유 :

 1,624 total views,  4 views today

크롬 익스텐션의 오프라인 설치

들어가며

앞에서 크롬 익스텐션을 이용한 화면전환에 대해 설명한 적이 있습니다. [바로가기] 그런데 이 익스텐션의 설치는 인터넷 연결이 전제되어야 합니다. 망분리 기관인 고객사에서는 인터넷 연결이 되지 않아 익스텐션의 설치가 여러운 상황이었습니다. 이런 경우 오프라인으로 설치하는 방법에 대해서 공유합니다.

CRX, zip 파일의 확보

먼저 크롬 익스텐션의 설치파일인 CRX파일의 확보가 선행되어야 합니다. 그런데 간단할줄로만 알았던 CRX파일의 확보가 생각보다 쉽지 않았습니다. 여러 시도끝에 CRX extractor/downloader 라는 또 다른 익스텐션을 이용해서 성공했는데 이 과정을 설명합니다.

https://chrome.google.com/webstore/detail/crx-extractordownloader/ajkhmmldknmfjnmeedkbkkojgobmljda

먼저 인터넷이 되는 컴퓨터로 이 링크로가면 CRX Extractor/Downloader 익스텐션이 보입니다. 이것을 설치해줍니다. 그림에도 나와 있지만 이 익스텐션의 특징은 CRX파일 뿐 아니라 ZIP파일로도 다운로드가 가능하다는 것입니다. CRX는 드래그&드롭으로 설치 가능하지만, 수동 설치시에는 ZIP파일이 사용하기 편리합니다.

그리고는 CRX를 얻기를 원하는 익스텐션으로 이동합니다. 저의 경우에는 Tab Rotate이므로 그곳으로 이동합니다.

https://chrome.google.com/webstore/detail/tab-rotate/pjgjpabbgnnoohijnillgbckikfkbjed

여기서 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파일을 확보한 다음, 이것을 오프라인 컴퓨터로 복사하여 개발자 모드에서 끌어놓으면 (혹은 [압축해제된 확장 프로그램을 로드합니다] 버튼을 눌러 버튼을 지정하면)으면 설치하여 운용가능합니다.

 5,674 total views,  6 views today

태블로 서버에서 사용되는 커스텀 쿼리 리스트 만들기

들어가며

태블로 서버에 사용된 커스텀 쿼리의 목록이 필요하다는 요청이 들어왔습니다. 내용을 확인하니 많은 커스텀 쿼리를 사용하였는데 어떤 칼럼이 사용되고 어떤 칼럼이 사용되지 않았는지에 대한 검토가 필요해서 커스텀 쿼리 목록이 필요하다는 것이었습니다.

일 이십 개면 직접 다운로드 받아 태블로 데스크탑을 열어 쿼리문을 확인하면 될 것이지만 수 백개에 달해서 수동 방법으로는 해결이 불가능한 상황이었습니다. 내부의 선수들에게 확인하니 metadata API가 해답이 될 것 같다는 의견이었습니다.

메다데이터 API 및 GrqphiQL 쿼리

https://help.tableau.com/current/api/metadata_api/en-us/index.html

메타데이터api를 이용한 쿼리를 하려면 GrahpiQL 페이지로 가야 가는데 방법은,

  • 브라우저를 열어서 태블로 서버에 로긴한다. 태블로 온라인도 동일하게 적용됨
  • 다음 부분 url을 카피한다. /metadata/graphiql/
  • 브라우저 주소창에서 “.com” 이후 부분을 전부 삭제한 다음
  • 부분 url을 붙여준다

예를 들어 사이트명이 MYCO라면 주소는 아래와 같을 것인데
https://us-west-2b.online.tableau.com/#/site/MYCO/explore
이것을 다음과 같이 바꾸어 주면 됩니다.
https://us-west-2b.online.tableau.com/metadata/graphiql/

이렇게 들어가게 되면 다음과 같은 화면이 나옵니다.

왼쪽창에서 쿼리를 넣어주면 되는데 쿼리 내용은 아래 링크를 클릭해서 확보합니다.

https://github.com/tableau/metadata-api-samples/blob/master/samples/custom-sql-examples.graphql

listCustomSQLTableau 함수를 열린괄호부터 닫힌 괄호까지 복사합니다. 그림에서 붉은 부분을 복사해주세요. 아랫 부분의 다른 함수들로 살펴봐주세요.

이 내용을 graphiql화면에 붙여 넣고 [▶] 버튼을 눌러 실행해줍니다.

혹시 위와 같은 오류메시지가 뜨는 경우가 있습니다. Meatdata API를 사용할 수 있도록 설정하지 않았다는 의미이고, 이런 경우 tsm maintenance meatdata-services enable 커맨드를 콘솔에서 쳐서 실행시켜 주어야 합니다.

실행이 잘 되면 아래와 같이 메타데이터 API 저장소를 잘 만들었다고 나옵니다.

metadata API를 실행 가능하도록 설정했으니 다시 한번 GrahpiQL을 실행합니다. 오른쪽의 query 부분이 전부 커스텀 쿼리입니다. 이 서버의 경우는 3개의 커스텀쿼리를 가지고 있는 듯 했습니다.

아래에 보면 샘플로 4개의 함수가 보입니다.

  • 커스텀SQL테이블 리스팅하기
  • 커스텀SQL테이블과 Parent리스팅하기
  • 커스텀쿼리를 가지는 워크북
  • 워크북 커넥션

이 중 커스텀쿼리를 가지는 워크북 목록도 한 번 쿼리 해보겠습니다.

시험 삼아 커스텀쿼리를 사용하는 워크북 목록을 쿼리해보았습니다. 예상했던 대로 워크북이름 세 개가 쿼리되는 것을 확인할 수 있습니다.

마무리하며

이상과 같이 메타데이터api를 GraphiQL이용한 쿼리 활용사례를 알아보았습니다. 4~500개에 이르는 커스텀 쿼리가 있다면 목록을 만들어야할 때 무척 편리할 듯 합니다.

 1,033 total views,  3 views today

태블로와 주소 정제

들어가며

태블로로 주소 데이터를 만지다 보면 대체 어디까지 주소가 사전 준비되어야 하고 태블로에서 어느 정도의 가공을 해야 활용이 가능할지가 애매한 경우가 있습니다. 실무에서의 경험을 기준으로 다음과 같은 단계가 있을 듯 합니다.

  • 신구주소의 정제
  • 주소의 표준 포맷
  • 지오코딩
  • 태블로에서의 활용

신구주소의 정제

신주소 구주소는 일단 신주소로 변경해주셔야 합니다. 주소의 정제는 아래의 서비스나 업체를 활용하시기 바랍니다. 가끔식 수동으로 주소정제를 할 생각을 하는 분도 보는데 주소가 1~2천개가 아닌 이상은 솔루션을 사용하는 편을 권해드립니다. 참고로 수집한 원주소는 삭제하지 마시기 바랍니다. 변환 결과를 확인하다 보면 사람은 어느정도 해석되므로 수정해주면 되지만 자동으로 컨버팅은 안된다고 결과가 나오는 일이 제법 있습니다.

  • juso.go.kr 도로명 주소 전환 서비스 [바로가기]
    • 도로명 주소 사이트에서 제공해주는 서비스입니다. 50건까지는 수동으로, 3,000건 까지는 파일 첨부로 가능하고 100만건 이하는 전문 업체에서 대행해서 변환을 해서 제공하는 서비스입니다. 공공기관에서 제공하고 있는 서비스이고 100만건이라는 엄청난 양도 하루 이틀만에 변환을 해준다 하니 한 번 활용해보는 것도 괜찮을 듯 합니다.
  • 오픈메이트 새주소정제 지오코딩 서비스 [바로가기]
    • 들어가서 샘플 데이터로 체크해보면 상당히 변환 결과가 깔끔하게 떨어집니다.
    • 지점의 위경도를 계산해주는 지오코딩까지 제공한다고 나와 있습니다.
  • 수지원소프트 주소정제전환서비스 [바로가기]
    • 검색하면 이 업체에서 올린 글들이 많이 검색됩니다.
    • 여러가지 공공 사업쪽에 많은 레퍼런스가 있다 합니다.

주소의 표준 포맷

주소 전환결과를 보시면 알겠지만 최근 대부분의 변환 결과물이 동일한 포맷을 유지하고 있습니다. 시도, 시군구, 신주소를 적고 괄호치고 동명을 적기도 합니다. 확인해보니 도로명주소법 시행령 제3조를 보면 1항 7조에 참고항목이 있는데 이런 것들에 대한 설명은 바로가기에 들어가 보면 나무위키 4번 항목에 잘 설명되어 있습니다. [바로가기] 예시가 잘 되어 있어 아래에 인용합니다. 특별시, 광역시, 일반시에 있는 법정동은 괄호를 열고 적게 되어 있다는데 법정동명을 괄호치고 넣는다..라는 규정이 실제로 존재하는 것은 개인적으로는 처음 확인합니다.

태블로에서 필요한 항목은 공백을 기준으로 주소를 나누어 보았을 때 맨 앞 항목인 [시도]와 두 번째 세번째 항목으로 이루어지는 [시군구]가 있고요, 위의 내용과 같이 괄호 안에 동이 표시되어 있으면 법정동 명도 활용 가능합니다 . (이것은 최근에 알게된 사실이라 동이 없는 지역에 대해서는 좀 더 고민을 해보고 글을 추가하도록 하겠습니다.)

또 아래에서 설명드리는 위도, 경도값이 있으면 시각화에 활용할 여지가 있고 나머지 부분은 태블로에서의 활용이라는 측면에서는 크게 중요하지 않습니다. (실질적으로 우편물 등을 보낸다던가 하는 경우에는 당연히 정확도가 중요하겠으나) 태블로 같이 시도 통계, 시군구 통계 등을 낸다거나 시고/시군구/읍면동에 거주 인구로 농담을 표시한 후에 특정 지점 (위경도)을 찍는 등의 일들에는 제한된 값만 활용하면 된다는 것을 유념해주시기 바랍니다.

지오 코딩

지도위 특정 위치에 마크를 표시하려면 위도 경도가 필요합니다. 주소를 가지고 위도 경도를 확보하는 방법을 지오코딩이라합니다. 보통 다음 두 가지 방법을 추천드립니다.

  • 구글시트에서 awesome Table를 이용하는 방법
    • 구글 시트에 주소를 불러들여서 주소인 칼럼을 지정해주면 위/경도 칼럼에 위/경도를 계산해서 넣어주는 방식입니다.
  • 무료 툴을 이용하는 방법 (Geocoder-Xr)
  • 외부 업체의 서비스를 이용하는 방법
    • 지오 코딩으로 전문 서비스 업체 검색해보시면 검색되실 겁니다.

태블로에서의 활용

위의 시도, 시군구, 읍면동 그리고 위경도만 있으면 태블로에서 시각적으로 잘 표현할 수 있습니다.

간략하게 문장으로만 표현해보면 주소 정제가 깨끗하게 진행되었다고 가정할 경우 맨 첫칼럼은 시도 정보일 것이고, 두번째와 세번째 칼럼은 시군구에 해당하게 됩니다. 세부적으로는 세번째 칼럼의 맨 끝글자가 “구”로 끝나는 경우에는 두번째 칼럼 + 세번째 칼럼이 시군구 명이고, 그렇지 않은 경우에는 두번째 칼럼만이 시군구 명 입니다. 또 괄호가 있는 경우에는 여는 괄호 “(“를 기준으로 잘라서 오른쪽 칼럼 첫번째 단어가 법정동이 됩니다. 이런식으로 태블로의 계산식을 활용하여 각종 통계 값들을 끌어낼 수 있습니다.

이런 방식으로 진행되는 태블로에서의 데이터 활용 시각화는 분량이 제법 될 것 같으므로 다른 글에서 새롭게 기술하겠습니다.

마무리하며

태블로는 BI툴이기 때문에 데이터가 준비된 것을 전제로 하여 그 다음 활용 부분을 맡는 경우가 많습니다. 주소변환이나 지오 코딩등은 데이터의 준비에 관한 문제로서 통일된 주소록을 확보한다거나 위경도를 확보한다는 것은 사전에 준비되어야 합니다. 주소 데이터는 계속해서 추가되는 것이므로 항상 변환이 필요하되 초기 변환에 대부분의 노력이 들어갈 것이므로 데이터의 양과 질을 고려해서 무료 ~ 적당한 비용 범위까지의 서비스를 이용하는 것도 권해드립니다.

 1,466 total views,  3 views today

SHP의 한글이 깨지거나 좌표계 오류인 경우 QGIS의 기본 조작법

아래와 같은 오류메시지를 보는 경우가 있습니다.

내용을 읽어보면 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의 간단한 조작방법은 알아두는 것이 좋을 것 같아 정리해 보았고요 이런 경우 도움이 되었으면 좋겠습니다.

 3,870 total views,  5 views today

엑셀이 없을 때 – 아파치 오픈오피스

들어가며

디노입니다. 대부분의 직장인들이 MS오피스를 당연하게 사용하고 있지만 사용할 수 없는 경우가 있지요? 피시방에서 급하게 xls데이터를 봐야 하는 경우나 임시로 테스트 하는 서버에 정식 라이선스를 설치하기 곤란하거나 회사에서 오피스를 공식적으로 사용하지 않고 있는 경우 등이 그런 경우일 듯 합니다.

한편 태블로를 본격적으로 사용하시는 여러분은 엑셀을 어떤 용도로 사용하시는지요? 저도 엑셀이 없는 서버에서 데이터를 만져야해서 이런 저런 생각을 해보니 엑셀은 데이터 내용 확인, 칼럼명 변경, CSV로 저장 등 아주 극히 일부의 기능만 사용하고 있었습니다.

개인적으로는 엑셀대신 구글시트를 업무의 90% 이상 사용할 정도의 구글빠입니다만, 로컬의 xls파일을 csv파일 형식으로 저장하는 것은 클라우드에 데이터를 올렸다가 내려야하는 구글시트로 해결하기에는 효율적이지 않은 문제라 다른 설치형 툴을 찾아보았습니다.

오픈오피스 칼크

문득 피시방 가면 깔려있는 오픈오피스를 사용해볼까 하는 생각이 들어 테스트를 해보았습니다. 물론 예전에는 ‘별 쓸 데 없는 것을 깔아두었담’ 했었지만요..

먼저 구느님에게 물어보았습니다. Apache OpenOffice라고 되어 있습니다. 아파치 소프트웨어 재단에서 만들었나 봅니다. 아파치 소프트웨어재단은 아파치 http 서버를 포함한 아파치 소프트웨어 프로젝트를 지원하는 비영리 재단이라 하죠. 신뢰도가 조금 높아집니다.

링크를 들어갔더니 다운로드가 보입니다. 클릭하여 통과 통과..

아래 그림처럼 다운로드를 해줍니다.

자동으로 알아서 잘 다운로드 됩니다. 클릭하여 설치를 진행합니다.

계속 엔터 엔터하여 설치해줍니다. 그림은 생략합니다.

적절한 위치에 잘 설치된 것 같습니다.

오픈오피스 칼크의 활용

오픈오피스 칼크(Calc)를 열어줍니다.

네모네모한 것이 엑셀과 과히 다르지 않은 UI입니다. 당연하겠지요.

파일을 열어보겠습니다. 엑셀과 동일하게 잘 불려옵니다.

국가통계포털 KOSIS에서 받은 국적 지역 및 체류기간별 외국인 출국자 화면
http://kosis.kr/statisticsList/statisticsListIndex.do?menuId=M_01_01&vwcd=MT_ZTITLE&parmTabId=M_01_01&parentId=A.1;A_9.2;#SelectStatsBoxDiv

위의 KOSIS의 데이터를 받는 과정에 대해서는 별도로 다시 준비해보겠습니다. 태블로로 추가 분석을 한다는 측면에서 보면 여러가지 알아두심 좋은 팁들이 많이 보이네요.

자 이제 원래 제가 하려고 했던 작업인 [CSV파일로 저장]하기를 해보겠습니다. 간단히 이유를 말씀드리면, 예를 들어 5년치 데이터를 다운로드 받는다고 할 때, 한 개의 엑셀 파일에 매년 시트 1개씩 총 시트 5개를 받게 되면 태블로의 유니언 기능 활용에 크게 문제가 없습니다만, 매년 엑셀 파일 한개씩 다운받아서 엑셀 파일이 5개가 되면 이게 태블로의 유니언 기능을 적용할 수가 없더라고요. 무척 아쉬운 기능입니다.

CSV 파일은 좀 다릅니다. 한 폴더내에 있는 여러개의 CSV파일은 엑셀 한 파일내의 여러시트와 같이 취급되어 유니언이 용이합니다. 그래서 일단 CSV파일로 저장하기를 해보겠습니다.

파일-저장하기 혹은 ctrl-shift s를 눌러서 다른 이름으로 저장 기능을 선택한다.

여러가지 다른 형식중에서 CSV파일을 선택하여 저장한다.

몇 가지 추가적으로 묻는데 엔터 엔터.. 해서 넘어가 줍니다.

잘 저장되었으니 다시 불러들여보겠습니다. 오픈오피스 칼크는 CSV도 잘 읽어오네요. 엑셀도 물론 잘 읽어옵니다. 노트패드나 여러 텍스트 에디터로 열어보아도 열리긴 합니다만, 역시 네모 반듯한 툴에서 데이터를 읽어들여봐야 제대로 들어와 있는지 확인이 용이하지 않을까 합니다.

혹시 콤마가 선택되어 있지 않으면 셀구분이 깨질테니 꼭 선택해주세요.

혹시 콤마를 선택하지 않은 경우 아래와 같이 보입니다. 꼭 선택해주세요.

마무리

이상 아파치 오픈오피스를 살짝 알아보고 오픈오피스 칼크를 설치해보았습니다. 오픈소스로 무리없이 설치 잘 되고, 엑셀파일 잘 읽어들이고, CSV파일 등의 형식으로도 잘 저장되는 것을 확인할 수 있었습니다.

MS오피스 제품군이 없는 경우 간단한 데이터 조작 및 저장 정도만 사용하는 태블로 사용자들에게는 적극적인 대안이 될 수도 있겠다는 생각을 했습니다. 물론 일반 오피스 업무 전반에 적용가능할지는 각자 판단할 일이겠습니다.

 1,192 total views,  5 views today