[GIS] TXT 파일을 SHP 파일로 변환하기(Txt2Shp)

가끔 좌표 데이터와 속성 데이터가 텍스트 파일 형태로 되어 있는 경우가 있습니다. 하나의 예로 서울시의 버스 노선에 대한 데이터인데, 서울시에서 버스 노선에 대한 정보을 엑셀로 저장하여 사용자에게 제공하고 있습니다. 이 엑셀 파일을 쉽게 텍스트 파일로 저장할 수 있으며 다시 이 텍스트 파일을 읽어서 SHP 파일로 변환해 주는 툴입니다. 참고로 서울시 버스 노선에 대한 엑셀 파일은 아래 URL을 통해 다운로드 받을 수 있습니다.

위의 엑셀 파일을 엑셀 프로그램에서 읽어 [다른 이름으로 저장하기]에서 “텍스트 (탭으로 분리)” 형식으로 저장한 파일을 살펴보면 다음과 같습니다.

사용자 삽입 이미지

첫번째 줄에 필드 명 들이 텝문자로 구분되어 나타나고.. 이후의 줄은 각 필드에 대한 값이며 역시 텝으로 분리되어 있습니다. 이 텍스트 파일을 SHP 파일로 만드는 툴의 사용은 아래와 같습니다.

사용자 삽입 이미지

살짝 설명을 하면, Fields에 내보내고자 하는 항목을 체크하고 X, Y 좌표로써 사용할 필드를 지정해 줍니다. 위의 서울시 노선 데이터와 툴을 사용해 만든 SHP 파일을 ArcMap에서 열어 보면 아래 화면과 같습니다.

사용자 삽입 이미지
툴에서 지정한 속성과 좌표가 제대로 표시되는 것을 확인할 수 있습니다. 간단히 TXT 파일을 SHP 파일로 변환할 경우가 있을 때 요긴하게 사용하시길 바라면서 만들어 올려 봅니다. 참고로 이 프로그램은 GIS 오픈소스 라이브러리인 shapelib을 사용해 만들어 었습니다. shapelib의 자세한 사용법은 cafe.naver.com에서 오픈소스 라이브러리 카테고리를 참고하시면 도움을 받으실 수 있습니다.

“[GIS] TXT 파일을 SHP 파일로 변환하기(Txt2Shp)”에 대한 18개의 댓글

  1. 카페에서 님이 올려주신 글 보고 타고타고 와서
    부탁드릴께 있어서 ㅠ이렇게 글올립니다.
    저위의 서울시 버스 정류장 현재 TM좌표계로 되어있는데
    이거 GPS에서 사용하려고 WGS84로 변환되어야 하는데
    형준님이 아시는것 같아서요 ㅠㅠ
    ljhsdsd@naver.com 이 메일 주소인데요
    실례를 무릅쓰고 부탁드립니다.ㅠㅠ

  2. 반갑습니다. 님이 올려주신 프로그램으로 부산시 버스정류소DB를 shp로 변환하는 작업을 시도했습니다. (BESSEL TM 중부원점) 생성파일은 shp, shx, dbf, log로 총 4개인데, shp파일을 ArcMap에 올려보니깐 Could not open specified document 라는 경고창이 뜨면서 안됩니다ㅠㅠ ArcCatalog에서 확인해보니 ‘쉐이프의 수가 테이블 레코드의 수와 매치가 되지 않습니다’라고 합니다… 도와주세요 ㅠㅠ

    1. 입력 데이터(텍스트 파일)에 문제가 있는 경우에 그런 현상이 발생합니다.. 텍스트 파일에서 문제가 있는 부분을 손봐야하는데…. 파일을 보내주시면 문제점과 변환된 쉐입을 보내드리도록 하겠습니다.

  3. X와 Y 좌표에 대한 것도 Export로 지정해야 제대로 됩니다. 좌표에 대한 필드를 Export로 지정하지 않으면 제대로 않된다는 문제점이 있습니다. 다른 사용하시는 분들 참고하시구요~ 감사합니당~

  4. 제가 이 방법으로 텍스트 파일을 쉐이프 파일을 변환해서 성공했습니다.
    그래서 그 파일을 postgresql안에 import하려고 하는데 에러가 떳습니다.
    import할시, 실패가 되자마자 꺼집니다. 어떻게 해결해야하나요? ㅜㅜ

    1. 변환된 shp 파일을 postgresql에 임포트라.. 언어 설정을 확인해 보시기 바랍니다. euc-kr !! 저 같은 경우 postgis를 설치하면 함께 설치되는 툴을 이용해 shp 파일을 테이블어 넣었습니다. 그때 언어 설정하는 부분이 있습니다.

  5. 안녕하세요. GIS를 공부하는 학생입니다. 혹시 이 부분에 대해서 문의 드릴게 있는데 메일 해주실 수 있나요?

  6. GIS 프로그래밍 개발을 하고자 하는 학생입니다.
    현재 MFC를 이용하여 개발을 하고자 하는데, CSV파일로 SHP 제작하는 과정에 있어서, 어려움에 봉착하여 글을 보게 되었습니다. 죄송하지만, 위의 소스를 따로 부탁드려도 될까요??ㅠㅠ
    kevinass8217@naver.com 입니다..

    1. 안녕하세요, 김형준입니다.
      해당 소스가 7~8년전꺼라.. 소스코드의 행방을 찾을 수가 없네요..
      C언어로된 SHP를 읽고 생성하는 라이브러리가 있습니다.
      구글링을 통해 C SHP Library로 검색해 보시면 자료가 나오는데요..
      저도 오픈소스를 이용해 개발한 것으로 기억합니다.
      참고하시기 바랍니다.

Henry에 답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다