18

2010-Jun

ArcMap 테이블의 복잡한 필드 계산(field calculator)시 방법

작성자: 김한국 IP ADRESS: *.95.177.135 조회 수: 38920

주소관련 데이터의 테이블을 열어보니 아래와 같습니다.

법정동 코드와 산여부, 본번, 부번 등이 있는 정보입니다.

전 지번 19자리가 필요한 데 지번 19자리 정보가 없어 생성을 하려다 보니 제법 복잡합니다.

 

윈도우, 컨트롤 1.jpg

 

PNY 필드를 생성하고 field calculator를 실행합니다.

 

윈도우, 컨트롤2.jpg

 

Advanced체크

 

Pre-Logic VBA Script Code에 아래와 같은 코드를 입력합니다.

 

s1=""
if [산여부] = "" then
  s1 = trim([법정동코드])
  s1 = s1 & "1"
  s1 = s1 & format(trim(str([지번본번])),"0###")
  s1 = s1 & format(trim(str([지번부번])),"0###")
else
  s1 = trim([법정동코드])
  s1 = s1 & "2"
  s1 = s1 & format(trim(str([지번본번])),"0###")
  s1 = s1 & format(trim(str([지번부번])),"0###")
endif

 

===================================================================================================

 코드를 간단하게 설명을 드리면..

s1=""                                          's1이라는 변수를 정의
if [산여부] = "" then                  '산여부 필드에 아무것도 없으면 일반번지 임
  s1 = trim([법정동코드])      
  s1 = s1 & "1"                           '일반번지이므로 법정동코드 뒤에 1을 붙이고
  s1 = s1 & format(trim(str([지번본번])),"0###")   ' 숫자로 된 본번. 예를 들어 12와 같은 경우 0012로 변경
  s1 = s1 & format(trim(str([지번부번])),"0###")   ' 숫자로 된 본번. 예를 들어 12와 같은 경우 0012로 변경
else
  s1 = trim([법정동코드])
  s1 = s1 & "2"                         '산번지이므로 법정동코드 뒤에 2을 붙이고
  s1 = s1 & format(trim(str([지번본번])),"0###")   ' 숫자로 된 본번. 예를 들어 12와 같은 경우 0012로 변경
  s1 = s1 & format(trim(str([지번부번])),"0###")   ' 숫자로 된 본번. 예를 들어 12와 같은 경우 0012로 변경
endif

 

VBA 함수와 문법을 그대로 사용가능하니 복잡한 계산도 가능합니다.

 

결과는 아래와 같습니다.윈도우, 컨트롤 3.jpg

profile

adcrom

2010.08.21 15:25
*.221.219.133

좋네요 ^_^  필드 만들고 DBF열어서 엑셀 작업만 주구장창 했었습니다. ㅋㅋ

profile

Tenboy

2014.03.07 00:23
*.232.132.78

맨 처음 필드 보니 건물관리번호라는 것이 있네요.

여기 좌측부터 19자리가 지번인듯 한데, 건물관리번호에서 앞자리 19자리 따오시는 것이 더 편하지 않나요 ?

VBA 함수에 문자열에서 일부문자를 따오는 한수정도는 있을것 같은데요?

List of Articles
번호 제목 글쓴이 날짜 조회 수
64 좌표계 정의가 되지 않은 캐드 파일(dxf, dwg) 좌표부여하기... 김한국 2011-07-22 50160
63 GRS80 좌표계 변환결과 300m 정도 오차나는 경우 file + 2 김한국 2011-05-24 46117
62 엑셀에서 shp 파일 만들기 - 이상희님 자료입니다. file + 4 김한국 2011-04-12 47063
61 래스터 디스플레이 할때 Too many unique values (>65536) 에러 해결법 file + 2 김한국 2011-04-01 30796
60 ArcMap 매크로(VBA) 기능이 비활성화 되는 문제 해결법 (ArcMap Visual Basic Editor macro is disabled) + 1 김한국 2010-08-09 37673
» ArcMap 테이블의 복잡한 필드 계산(field calculator)시 방법 file + 2 김한국 2010-06-18 38920
58 DEM의 표면면적(3D면적) 구하기 file + 1 김한국 2010-04-14 38551
57 래스터 데이터(토지피복 등) 폴리곤별 포함면적 계산 file + 5 김한국 2010-01-12 36485
56 [re] 수리수문, 풍향풍속과 같은 현황을 화살표를 활용하여 어떻게 표현하나요?? + 1 박세진 2009-09-22 38346
55 수리수문, 풍향풍속과 같은 현황을 화살표를 활용하여 어떻게 표현하나요?? file + 2 eric~~~~ 2009-09-21 38581
54 경위도(Degree->DMS) 변환설명 이기우 2009-06-10 40116
53 CAD MAP에서 속성별로 레이어만들기 + 6 강세경 2009-06-08 42660
52 Raster Calculator에서 삼각함수(sin, tan, cos) 사용법 + 1 김한국 2009-06-04 40837
51 Cad→ Shape변환 관련자료입니다. file + 10 조덕연 2009-05-07 39377
50 지적도(폴리곤)에서 중첩된 영역 추출하는 방법 + 3 김한국 2009-03-17 41969
49 아크맵상에서 shp파일 만드는 방법입니다. + 4 김영우 2009-01-29 43645
48 아크GIS 9.2 에서 dxf 파일을 불러오면 한글이 깨짐니다 + 5 정익선 2009-01-19 36156
47 데이타(data) 폴더 이동시 레이어가 안보일때 해결방법은 없나요? + 5 김도환 2008-12-10 32970
46 지번 19자리 설명 + 2 김한국 2008-11-06 43194
45 PolyLine을 Polygon으로 변환할때 속성정보까지 같이 변환 file + 4 송영기 2008-10-10 38366