제 1 장 Python 의기초 1 제1절 Python 개요 1 제2절 Python의기본 8
제3절 Python의문법 19 제4절 Python 프로그래밍심화 36 제 5 절파이썬을활용한교통계획모형프로그래밍 60
제 2 장 Python 과의융합 74 제 1 절 R 을이용한회귀분석 74 제2절 ArcGIS 78 제3절 Google API 95
제 1 장 Python 의기초 제1절 Python 의개요제2절 Python 의기본제3절 Python 의문법제4절 Python 프로그래밍심화제5절파이썬을활용한교통계획모형프로그래밍
제 1 절 Python 개요 - 1 -
- 2 -
- 3 -
- 4 -
- 5 -
- 6 -
언어 실행모델 영향받음 방법론 타입시스템 등장시기 - 7 -
제 2 절 Python 의기본 Python 설치 - 8 -
- 9 -
- 10 -
- 11 -
- 12 -
변수입력 - 13 -
- 14 -
기본연산 ( 위에입력된값을그대로활용 ) - 15 -
문자열변수활용법 - 16 -
배열활용법 - 17 -
문자열변수활용법 - 18 -
제 3 절 Python 의문법 - 19 -
배열 [list] 의선언 - 20 -
배열 [list] 활용 _ 인덱싱 - 21 -
배열 [list] 활용 _ 슬라이싱 배열 [list] 활용 _ 함수 - 22 -
배열 [list] 활용 _ 함수사용 - 23 -
- 24 -
배열 [list] 활용 _ 해쉬맵의기본 - 25 -
if 문활용 - 예시 if문활용 - 비교연산자 - 26 -
if문활용 - [if: else: ] if문활용 - [if: elif: else: ] - 27 -
if 문활용 - [and] if 문활용 - [or] if 문활용 - [not] - 28 -
if 문활용 - [pass] if 문활용 - [ 한줄짜리 if 문 ] - 29 -
for 문활용 (1) for문활용 (2) 문자열출력 for문활용 (3) - 30 -
range 함수 for문활용 (4) 배열합치기 - 31 -
for문활용 (5) += 함수사용 - 32 -
for 문기본형태 배열, 문자변수입력 for 문기본형태 해쉬맵변수입력 - 33 -
for문활용 (5)_ Range 함수활용 for 문기본형태 배열, 문자변수입력 for 문기본형태 해쉬맵변수입력 - 34 -
- 35 -
try, except 문활용 (1) - 36 -
제 4 절 Python 프로그래밍심화 - 37 -
함수만들기 (def~) 예제 _ 곱하기함수만들기 함수만들기 (def~) 예제 _ a,b,c 세개의숫자의평균구하기 함수만들기 (def~) 예제 _ 내가원하는숫자의구구단출력 - 38 -
함수만들기 (def~) 예제 _ if 문과결합 ( 합격통보 ) 함수만들기 (def~) 예제 _ 내가원하는숫자의구구단출력 - 39 -
Python IDLE 창켜기 - 40 -
Python IDLE 창기본화면 Setup.py 파일열기 (1) - 41 -
Setup.py 파일열기 (2) Setup.py 화면 - 42 -
setup.py 파일수정 ( 저자임의 ) - 43 -
배포하고싶은프로그램모듈파일구축예 ( 구구단 ) 프로그램모듈과 setup.py 파일동일폴더에넣기 - 44 -
윈도우커맨드창열기 ( 시작 실행창 cmd 입력 ) 배포파일을만들 setup.py 와모듈명.py 파일이있는폴더로이동 (DOS 화면에서 ) - 45 -
Python Path 편집 Python Path 편집 - 46 -
배포파일구축화면 - 47 -
- 48 -
- 49 -
txt 파일활용하기 _ 기본 [ 변수명 = open( 파일이름 ), 변수명.close] - 50 -
txt 파일활용하기 _ 기본 [ 한줄씩 (line) 읽기 ] - 51 -
txt 파일활용하기 _ 기본 [ 한줄씩 (line) 읽기 ] split 함수로자료변환 - 52 -
txt 파일활용하기 _ 기본 [ 한줄씩 (line) 읽기 ] split 함수로자료변환 필요한자료만읽기 - 53 -
txt 파일활용하기 _ 기본 [ 한줄씩 (line) 읽기 ] split 함수로자료변환 필요한자료만읽기 - 54 -
CSV 파일활용하기 (1) _ 기본형식예제 - 55 -
CSV 파일활용하기 (2) _ 필요한데이터만추출및배열에저장 - 56 -
pywin32-218.win32-py2.6.exe 파일설치 - 57 -
Python Programming for Transportation Researchers CSV파일 활용하기 _ 예제 >>> import os >>> import win32com.client as win32 >>> win32c = win32.constants >>> excel = win32.gencache.ensuredispatch('excel.application') >>> directory = "C:\python_examples" >>> filen = "modeshareratio.xlsx" >>> bfilen = os.path.join(directory,filen) >>> bfilen 'C:\\python_examples\\modeshareratio.xlsx' >>> wb = excel.workbooks.open(bfilen) >>> ws = wb.sheets('sheet1') >>> ws <win32com.gen_py.microsoft Excel 14.0 Object Library._Worksheet instance at 0x71264136> >>> excel.visible=true os라는 외부함수를 임포트 in32com.client라는 외부함수를 임포트하여 in32로 입력 에 입력된 내용들은 일단 그대로 사용하자 에 입력된 내용들은 일단 그대로 사용하자 w w 왼쪽 왼쪽 경로설정 파일명 설정 bfilen이라는 변수에 os의 외부함수를 사용하여 경로를 자동으로 만들어 보자. 다 과 이 bfilen에 경로가 만들어 을 인! 서 만든 경로변수 bfilen의 엑셀파일 열어 b이라는 변수에 입력 변수 s는 b의 엑셀 워크시트에서 Sheet1 시트임을 선언 다 과 이 s에는 워크시트가 입력 엑셀 을 에 보이 연다. (True는 에 보이, False는 에 보이.) 음 같 졌음 확 앞 w w w 음 같 w 됨 창 눈 게 눈 게 눈 안 게 >>> excel.visible=true를 입력하는 순간 엑셀 화면 창이 뜬다. >>> excel.visible=false는 다시 화면을 끄는 기능이다. 할 다만, 주의 점은 excel.visible함수는 화면을 보이고 는 기능일 실제로 엑셀파일은 열 을 유의하라. year 끄 려 있음 = ws.cells(2,1).value >>> year 2001.0 >>> ws.cells(10,1).value = "Gogo Python!" >>> ws.cells(10,4).value = "Interesting?" 뿐 번째 값을 변수 year에 엑셀의 행2,열1 의 아들이자. year는? 2001임을 인! 반대로, 엑셀 에 을 입력해 보자 반대로, 엑셀 에 을 입력해 보자 받 확 창 값 창 값 음 같 쓰 졌음 다 과 이 엑셀파일 Cells(10,1)에는 Gogo Python!, Cells(10,4)에는 Interesting? 이 여 을 알 수 다. >>> excel.workbooks.close() 있 북 화면을 닫자. 엑셀 워크 W k k 음 같 것 지 물 excel. or boo s.close()를 입력하면, 다 과 이 저장여부를 어보면서 인 를 어본다. - 58 - 물 종료할
첨부파일 : handleexcel.py 구성 - 59 -
제 5 절파이썬을활용한교통계획모형프로그래밍 자료변환예시 (csv 파일을가공하여통행량집계 ) - 60 -
첨부파일 : OD table.py - 61 -
- 62 -
- 63 -
회귀분석을통한통행발생모형구축코드예시 - 64 -
###################### Class 설정 : 회귀분석 => 결과출력 ############### class Regression: def init (self,arr_y,arr_x): self.y = numpy.array(arr_y) self.x = numpy.array(arr_x) def reg(self): slope, intercept, r_value, p_value, std_err = stats.linregress(self.x,self.y) self.slope = slope self.intercept = intercept self.r_value = r_value self.p_value = p_value self.std_err = std_err def print_reg(self): print print "************************************************************************" print " 상수계수 p_value std_err " print "************************************************************************" print " %s %s %s %s " %(self.intercept,self.slope,self.p_value,self.std_err) print "************************************************************************" print print "r-squared = %s" %(self.r_value**2) print print print ####################### Main 함수 ########################## Zone_ID = [] Ori_vol = [] Des_vol = [] Emp_11 = [] Emp_21 = [] Emp_31 = [] Pop_11 = [] Pop_21 = [] Pop_31 = [] with open(csvfile,'rb') as data: ifile = csv.reader(data, delimiter = ',') for row in ifile: Zone_ID.append(int(row[0])) Ori_vol.append(int(row[1])) Des_vol.append(int(row[2])) Emp_11.append(int(row[3])) Emp_21.append(int(row[4])) Emp_31.append(int(row[5])) Pop_11.append(int(row[6])) Pop_21.append(int(row[7])) Pop_31.append(int(row[8])) O_stats = Regression(Ori_vol,Pop_11) O_stats.reg() O_stats.print_reg() D_stats = Regression(Des_vol,Emp_11) D_stats.reg() D_stats.print_reg() Keys = [Pop_11,Pop_21,Pop_31,Emp_11,Emp_21,Emp_31] for i in range(0,3): cnt = 1 for j in Keys[i]: cnt = cnt + 1 Temp_pop = j ws_result.cells(cnt,i+2).value = O_stats.slope*Temp_pop + O_stats.intercept for i in range(3,6): cnt = 1 for j in Keys[i]: cnt = cnt + 1 Temp_emp = j ws_result.cells(cnt,i+2).value = D_stats.slope*Temp_emp + D_stats.intercept - 65 -
프로그램실행창 - 66 -
프로그램실행창 - 67 -
exp 저항함수계수출발 / 도착지통행량 존간통행거리 (km) 이클립스로작성 - 68 -
- 69 -
- 70 -
- 71 -
예제네트워크 - 72 -
다익스트라알고리즘을통한최단경로찾기예시 최단경로탐색예시 - 73 -
제 2 장 Python 과의융합 제 1 절 R 을이용한회귀분석 제 2 절 ArcGIS 제 3 절 Google API
제 1 절 R 을이용한회귀분석 Rpy를이용한단일회귀분석 - 74 -
Korean English Math Science Final - 75 -
단일회귀분석결과 summary 명령어를이용한회귀분석결과 - 76 -
annova 명령어를이용한일원배치분산분석 - 77 -
제 2 절 ArcGIS - 78 -
ArcPy 예제 - 79 -
ArcPy 실행방법 2 가지 ArcGIS 에서 Buffer 기능사용방법 - 80 -
ArcGIS에서 Buffer 기능사용방법 - 81 -
일반적인 ArcPy와 ArcToolbox 추가를위한 ArcPy 비교 ArcToolbox 추가를위하여일반적인 ArcPy arcpy.getparameterastext 적용한 ArcPy - 82 -
Data type Feature Class Workspace or Feature Dataset Double 그림 1 그림 2 그림 3-83 -
ArcGIS 에서네트워크파일 GIS 파일로변환 - 84 -
- 85 -
- 86 -
- 87 -
- 88 -
- 89 -
- 90 -
- 91 -
ArcGIS 기초 ArcGIS 기초 - 92 -
for문을활용한 ArcGIS 반복수행 - 93 -
- 94 -
제 3 절 Google API - 95 -
Pygeocoder 기초 Search address - 96 -
- 97 -