HTML, Javascript 웹 환경에서 테이블을 쉽게 구현하기 위해 많은 grid 환경이 존재한다. 내가 기존에 자주 사용했던 것은 handsontable (https://handsontable.com/ )이었다. handsontable 의 경우 새로운 기능은 상용으로 판매하고 상용이 되었던 버전은 일정 시점이 지나면 무료로 이용할 수 있도록 github 에 공개되어 있다. (일부 기능들은 계속 상용버전에 있기도 했던 것 같다.) 그래서 내가 웬만하면 무료 프로그램 + 무료 라이센스(GPL, MIT )라이브러리만 이용하는 편인데도 유일하게 상용구매해서 회사 프로젝트에 적용했던 적도 있다. 이 외에 가장 유명한 것은 datatable( https://datatables.net/ )이다. 이 것도 dual license 를 적용하는 것 같다. 


 이 handsontable,datatable 를 대체할 만한 것을 얼마전에 찾았는데 그것이 toast ui grid 이다. ( https://meetup.toast.com/posts/83 )

  매우 고맙게도 MIT 라이센스 이고 충분한 기능들이 들어 있다. 요즘 vue 에 대해 공부중인데 vue 버전도 따로 있다. ( https://github.com/nhnent/toast-ui.vue-grid )


 예전부터 excel 을 대체할만한 spreadsheet 를 만들고 싶었는데, 여기에 적합한 도구가 될 것 같다. (google sheet 가 가장 좋긴 한데, 내가 하려는 작업에서는 꼭 row 나 cell 제한이 걸리게 된다. )

 내가 다시 GIS 에 대해 관심을 가진 이유는 많은 데이터가 공개되었기 때문이다. 아래 사이트에서 데이터들을 얻을 수 있다. 

좌표계의 경우 제가 임의로 한 것이다. 

* 기초구역도
http://www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=bsin
"기초구역 관리번호" 라고 나오는데 기존의 우편번호를 생각하면 된다. 우편번호 시스템이 6자리에서 5자리로 변경되었다. 
현재 행정동이 없어지면서 구역별로 위치를 잡는 기준이 없어졌다. 새롭게 사용할 수 있는 기준이 기초구역도이다. 
- 좌표계 :  UTM-K (GRS80)    +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs


* 도로명주소 배경지도
http://www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=layer
구글맵이나 다음맵 같은 경우, 지하철 노선이라든지, 강이라든지, 산 부분을 그려주는 정보이다.
- 좌표계 :  UTM-K (GRS80)    +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs

* 민원행정기관 전자지도
http://www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=fclts
학교, 경찰서 같은 공공기간 좌표 정보이다. 구역정보가 아니라 점 정보이므로 포인트를 표시한다.
- 좌표계 :  UTM-K (GRS80)    +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs

* GIS건물정보
http://openapi.nsdi.go.kr/nsdi/index.do 에서 "GIS건물일반집합정보"를 찾는다. 
건물을 표시한다. 너무 많은 정보가 있어 지역별로 따로 파일이 있다. 
- EPSG:5174 라고 되어 있어 보정된 중부원점(Bessel)를 사용한다.
  +proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43
기존 중부원점을 사용하니 daump map 이나 openstreetmap 에 비해 조금 좌표가 어긋나는 문제가 있었다. 

* openstreetmap
https://download.geofabrik.de/asia/south-korea.html 
오픈스트리트맵에 있는 정보를 다운 받을 수 있다.  2018년 10월 기준으로 174MB 정도된다. 
EPSG:4326, WGS 84



 좌표계에 대한 기본 설명은 

http://www.biz-gis.com/index.php?mid=pds&document_srl=65754  를 참조하기 바랍니다.


약간의 설명을 추가하면 
지오이드 :  지구상에서 높이(해발고도)를 측정하는 기준이 되는 가상면이다. 이 면은 중력 퍼텐셜이 같은 등퍼텐셜면이고,[1] 중력 가속도를 측정할 때 기준면이 된다. (https://ko.wikipedia.org/wiki/%EC%A7%80%EC%98%A4%EC%9D%B4%EB%93%9C)
당연하지만 중력은 질량에 따라서 달라진다. 지구 내부의 밀도가 다르기 때문에 중력 가속도를 기준으로 하는 선은 엄청 찌그러진 모양일 것이다. 따라서  이것을 모델로 하면 땅의 자표를 계산하기 어려울 것이다. 

지구 타원체 :  지구의 모양에 가까운 회전타원체
(https://ko.wikipedia.org/wiki/%EC%A7%80%EA%B5%AC_%ED%83%80%EC%9B%90%EC%B2%B4

준거타원체 : 지역에 따라 지오이드면과의 차이가 가장 작도록 지오이드면에 근접하는 타원체를 구축하고자 하는데, 현실의 특정 지점에 지구타원체를 접합시킨 수학적 모델을 준거타원체라고 함
(http://gis.seoul.go.kr/GisWebDataStore/Gis_Edu/html/S0602/SGIS-HTML.jsp?sgis=0602&pgis=0201)
지구 타원체의 경우 중심이 x,y 축의 중심이나 준거타원체의 중심이 원점이 아니다.

데이텀 : 지구의 크기와 형태, 좌표체계의 기준점과 방향 등을 정의해 놓은 것
(http://gis.seoul.go.kr/GisWebDataStore/Gis_Edu/html/S0602/SGIS-HTML.jsp?sgis=0602&pgis=0203)


이런 좌표계들은 변환이 가능합니다. 이를 쉽게 해주는 툴이 proj4(https://proj4.org/index.html) 입니다. 여기에 대한 자세한 설정값은 https://proj4.org/usage/quickstart.html 에서 확인 할 수 있습니다.

자주 사용하는 변환은 http://www.osgeo.kr/17  를 참조하기 바랍니다.

간혹 자료를 받다보면 확장자 .prj 파일이 있는데, 이 파일이 좌표계를 표시하는 파일입니다. QGIS가 자동으로 이 파일을 읽기도 하는데, 읽지 못하는 경우 수동 설정이 필요합니다.