ỨNG DỤNG GIS HỖ TRỢ BÀI TOÁN TƢỚI CÂY TRÊN ĐƢỜNG TẠI QUẬN THỦ ĐỨC

80 211 0
ỨNG DỤNG GIS HỖ TRỢ BÀI TOÁN TƢỚI CÂY TRÊN ĐƢỜNG TẠI QUẬN THỦ ĐỨC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Header Page of 161 BỘ GIÁO DỤC VÀ ĐÀO TÀO TRƢỜNG ĐẠI HỌC NÔNG LÂM TP.HỒ CHÍ MINH KHOA MÔI TRƢỜNG VÀ TÀI NGUYÊN TIỂU LUẬN TỐT NGHIỆP ỨNG DỤNG GIS HỖ TRỢ BÀI TOÁN TƢỚI CÂY TRÊN ĐƢỜNG TẠI QUẬN THỦ ĐỨC Họ tên: Nguyễn Thị Bảo Xuyên Ngành: Hệ thống thông tin địa lý Niên khóa: 2012 - 2016 TP Hồ Chí Minh, tháng 06 năm 2016 Footer Page of 161 Header Page of 161 Footer Page of 161 i Header Page of 161 LỜI CẢM ƠN Trong trình làm tiểu luận tốt nghiệp nhận giúp đỡ, bảo tận tình cán Trung tâm Ứng dụng Hệ thống thông tin Địa lý (Trung tâm HCMGIS ) Sở Khoa học công nghệ TP.HCM quý thầy cô Bộ môn Tài ngyên GIS – Trường ĐH Nông Lâm TP.HCM toàn thể thành viên lớp DH12GI để hoàn thành tốt nhiệm vụ Qua đây, xin gửi lời cám ơn chân thành đến: Th.S Khưu Minh Cảnh, công tác Trung tâm Ứng dụng Hệ thống thông tin Địa lý – Sở Khoa học Công nghệ TP.HCM, người trực tiếp hướng dẫn, bảo tận tình, góp ý cho suốt qúa trình thực đề tài Quý thầy (cô) Bộ môn Tài nguyên GIS – Trường ĐH Nông Lâm TP.HCM đặc biệt thầy PGS.TS Nguyễn Kim Lợi, Th.S Nguyễn Thị Huyền, tận tình giảng dạy truyền đạt nhiều kiến thức quý báu suốt thời gian học tập trường Thầy Lê Văn Phận, KS Nguyễn Duy Liêm, anh chị Bộ môn Tài nguyên GIS – Trường ĐH Nông Lâm TP.HCM, tận tình bảo, góp ý thời gian học tập thực đề tài Tập thể cán viên chức Trung tâm Ứng dụng Hệ thống thông tin Địa lý – Sở Khoa học Công nghệ TP.HCM, tận tình giúp đỡ tạo điều kiện trình thực đề tài tiểu luận Cuối cùng, em gửi lời cảm ơn sâu sắc đến Gia đình bạn bè động viên giúp đỡ mặt tạo điều kiện thuận lợi trình học tập thời gian làm đề tài TP.HCM, tháng 06/2016 Nguyễn Thị Bảo Xuyên Bộ môn Tài nguyên GIS Khoa Môi trường Tài nguyên Trường ĐH Nông Lâm TP.HCM Email:baoxuyennt@gmail.com Footer Page of 161 ii Header Page of 161 TÓM TẮT Nước có vai tròquan trọng người sinh vật trái đất Nước nguồn tài nguyên vô quý giá vô tận Nước cần cho sống phát triển, nước vừa môi trường vừa đầu vào cho sinh sản xuất nông nghiệp, công nghiệp Nói cụ thể loại đường phố có nhu cầu lượng nước khác Giả sử với lượng nước định làm để giải toán tưới cách hiệu tiết kiệm nước mà trì sống chi phí đường tối thiểu Chính đề tài nghiên cứu “Ứng dụng GIS hỗ trợ toán tưới đường quận Thủ Đức” thực hoàn thành Trung tâm Ứng dụng Hệ thống thông tin Địa lý (Trung tâm HCMGIS) Sở khoa học Công nghệ TP.HCM, khoảng thời gian từ tháng 03/2016 đến 05/2016 Kết đề tài đạt tiểu luận lập lịch trình tưới bên cạnh hiểu thêm phương pháp sử dụng trình bày đề tài Footer Page of 161 iii Header Page of 161 MỤC LỤC LỜI CẢM ƠN ii TÓM TẮT iii MỤC LỤC iv DANH MỤC TỪ VIẾT TẮT vi DANH MỤC BẢNG BIỂU vii DANH MỤC HÌNH viii CHƢƠNG I MỞ ĐẦU CHƢƠNG TỔNG QUAN KHU VỰC NGHIÊN CỨU 2.1 Tổng quan địa bàn nghiên cứu CHƢƠNG CƠ SỞ LÝ THUYẾT 3.1 Tổng quan Hệ thống thông tin Địa lý (GIS) 3.1.2 Định nghĩa 3.1.3 Thành phần GIS 3.1.4 Chức GIS 11 3.1.5 Cấu trúc sở liệu GIS 12 3.1.7 Công cụ Network Analyst ArcGis 14 3.2 Tổng quan đồ thị 15 3.2.1 Định nghĩa đồ thị (Graph) 16 3.3 Biểu diễn đồ thị máy tính 18 3.3.1 Ma trận liền kề (Ma trận kề) 19 3.4 Đồ thị Euler đồ thị Halmiton 20 3.4.1 Đồ thị Euler 20 3.4.2 Đồ thị Halmiton 23 3.5 Bài toán tô màu toán lập lịch 25 3.5.1 Bài toán tô màu 25 3.5.2 Bài toán lập lịch 28 3.6 Giới thiệu sơ lược ngôn ngữ lập trình Python 29 3.6.1 Giới thiệu 29 3.6.2 Lịch sử hình thành 30 3.7 Giới thiệu P-Center 31 Footer Page of 161 iv Header Page of 161 CHƢƠNG DỮ LIỆU VÀ PHƢƠNG PHÁP NGHIÊN CỨU 33 4.1 Dữ liệu thu thập 33 4.2 Phương pháp nghiên cứu 33 4.2.1 Các công cụ hỗ trợ phân tích không gian ArcGIS sử dụng nghiên cứu 33 4.2.2 Phương pháp phân tích phép phân tích P-center loại 36 4.3 Tiến trình thực 37 CHƢƠNG KẾT QUẢ NGHIÊN CỨU 38 5.1 Kết điểm quận Thủ Đức 38 5.2 Lập lịch tưới 38 CHƢƠNG KẾT LUẬN VÀ KIẾN NGHỊ 45 6.1 Kết luận 45 6.2 Kiến nghị 45 TÀI LIỆU THAM KHẢO 46 PHỤ LỤC 48 Footer Page of 161 v Header Page of 161 DANH MỤC TỪ VIẾT TẮT CSDL Cơ sở liệu GIS (Geographic Information system) Hệ thống thông tin Địa lý GDB (Geodatabase) Cơ sở liệu địa lý TP.HCM Thành phố Hồ Chí Minh HTTTĐL Hệ thống thông tin địa lý DBMS (Database Management System) Hệ quản trị sở liệu HĐH Hệ điều hành P-center P-trung tâm Point Điểm Footer Page of 161 vi Header Page of 161 DANH MỤC BẢNG BIỂU Bảng 4.1 Thông tin lớp liệu 33 Bảng 5.1 Kết lập lịch tưới 43 Footer Page of 161 vii Header Page of 161 DANH MỤC HÌNH Hình 2.1 Bản đồ quận Thủ Đức .4 Hình 3.1 Các thành phần GIS 10 Hình 3.2 Các chức GIS 12 Hình 3.3 Cấu trúc liệu Raster Vector 13 Hình 3.4 Biểu diễn thông tin điểm, đường, vùng theo cấu trúc vector 13 Hình 3.5 Cấu trúc liệu Raster 14 Hình 3.6 Ví dụ mô hình đồ thị 16 Hình 3.7 Sơ đồ mạng máy tính 17 Hình 3.8 Phân loại đồ thị .18 Hình 3.9 Đồ thị G1, G2, G3 21 Hình 3.10 Đồ thị H1, H2, H3 .21 Hình 3.11 Minh họa cho chứng minh định lý 22 Hình 3.12 Đồ thị Hamilton G3, nửa Hamilton G2 G1 23 H1: đồ ví dụ 26 H2: Đồ thị kép đồ H1 .26 Hình 3.13 Đồ thị Petersen có sắc số 27 Hình 4.1 Hộp thoại New Feature Class .34 Hình 4.2 Geodatase chứa điểm .34 Hình 4.3 Hộp thoại Star Edting 35 Hình 4.4 Hộp thoại Create Features 35 Hinh 4.5 Kết điểm (cây) 36 Hình 5.1 Tổng số thuộc tính đồ 38 Hình 5.2 Đồ thị tưới ngày/ lần 39 Hình 5.3 Ma trận kề đồ thị tưới ngày/ lần 39 Hình 5.4 Đồ thị tưới ngày/ lần 39 Hình 5.5 Ma trận kề đồ thị tưới ngày/ lần 40 Hình 5.6 Đồ thị tưới ngày/ lần 40 Hình 5.7 Ma trận kề đồ thị tưới ngày/ lần 40 Hình 5.8 Kết giá trị cho đồ thị tập đỉnh 41 Footer Page of 161 viii Header Page 10 of 161 Hình 5.10 Kết giá trị cho đồ thị tập đỉnh 41 Hình 5.11 Kết giá trị cho đồ thị tập đỉnh 42 Hình 5.12 Đồ thị đỉnh tương ứng nút giao thông cạnh đường 43 Hình 5.13 Kết đồ tưới 44 Footer Page 10 of 161 ix Header Page 66 of 161 self.P_center_list.append(p) remove_list.append(p) # lai chon cac dinh co bac cao va dua cac dinh phu thuoc vao remove_list: while (len(remove_list) < self.V_nums): min_MAX = sys.maxint p_Max = for p in range(self.V_nums): if ( (p in remove_list) == False): # neu p chua bi remove thi xet p chon gia tri thap nhat for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > p_Max)): p_Max = self.Pro[p][q] if (min_MAX > p_Max): min_MAX = p_Max p_Max = for p in range(self.V_nums): if ( (p in remove_list) == False): # neu p chua bi remove thi xet p chon gia tri thap nhat for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > p_Max)): p_Max = self.Pro[p][q] if (min_MAX == p_Max): self.P_center_list.append(p) remove_list.append(p) for q in range(self.V_nums): Footer Page 66 of 161 56 Header Page 67 of 161 if (((q in remove_list) == False) and (self.Pro[p][q] > 0) and (self.Pro[p][q] >> gg = GISGraph ("C://bxuyencode//matrix2.txt") >>> gg.P_center (9) >>> gg.P_center_list [0, 4] >>> gg.P_center (11) >>> gg.P_center_list [0, 4] >>> gg.P_center (12) >>> gg.P_center_list [0, 4] >>>  Nội dung file để tìm giá trị cho đồ thị để đƣợc tập đỉnh Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information >>> import os >>> import sys >>> import math >>> class GISGraph: V_nums = # so dinh cua thi (Gph) E_set = [] # tap canh cua thi Gph = [] # Ma tran thi: V_nums x V_nums Pro = [] # Ma tran luy thua: V_nums x V_nums weight_set = [] P_center_list = [] graphFile = "matrix3.txt" Footer Page 67 of 161 57 Header Page 68 of 161 max_Value = sys.maxint def init (self, sfilename): if sfilename == "": self.graphFile = "matrix3.txt" else: self.graphFile = sfilename try: f = open(self.graphFile) self.V_nums = int(f.readline()) # doc so dinh cua thi: maxtrix_dat = f.readlines() except IOError as e: print "Khong doc duoc tap tin" except ValueError: print "Khong the doc du lieu so" except: print "Khong biet loi gi!" raise ### Tao ma tran va doc thi: self.Gph = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # ma tran ke V_nums x V_nums self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # ma tran ke V_nums x V_nums for p in range(self.V_nums): matrix_matrix = maxtrix_dat[p].split(" ") for q in range(self.V_nums): self.Gph[p][q] = int(matrix_matrix[q]) f.close() Footer Page 68 of 161 58 Header Page 69 of 161 # Dat gia tri ban dau cho ma tran tich Pro = ma tran Gph self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # ma tran ke V_nums x V_nums for p in range(self.V_nums): for q in range(self.V_nums): if (p == q): self.Pro[p][q] = else: if self.Gph[p][q] == 9999: self.Pro[p][q] = sys.maxint else: self.Pro[p][q] = self.Gph[p][q] def HienthiMatranPro(self): # Hien thi ma tran Tinh toan duong di for p in range(self.V_nums): prn_str = "" for q in range(self.V_nums): if (self.Pro[p][q] == sys.maxint): prn_str = prn_str + " VC" else: prn_str = prn_str + " " + str(self.Pro[p][q]) + " " print prn_str + "\n" def HienthiMatranGph(self): # Hien thi ma tran thi Gph for p in range(self.V_nums): prn_str = "" for q in range(self.V_nums): if (self.Gph[p][q] == sys.maxint): prn_str = prn_str + " VC " else: Footer Page 69 of 161 prn_str = prn_str + str(self.Gph[p][q]) + " " 59 Header Page 70 of 161 print prn_str + "\n" # Tim duong di ngan nhat: def TinhToanDuongDiNganNhat(self): # Ham tra ve neu khong doi, tra ve neu co it nhat gia tri doi chgVal = # Gia tri thay doi Neu co thay doi thi chgVal = # khai bao ma tran tam ProTemp1 = [] ProTemp1 = [[0 for i in range(self.V_nums)] for j in for j in range(self.V_nums)] for p in range(self.V_nums): for q in range(self.V_nums): ProTemp1[p][q] = self.Pro[p][q] # khai bao ma tran tam ProTemp2 = [] ProTemp2 = [[0 for i in range(self.V_nums)] range(self.V_nums)] for p in range(self.V_nums): for q in range(self.V_nums): ProTemp2[p][q] = self.Pro[p][q] # Tinh ma tran luy thua: # self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # khong can thiet vi dinh nghia ham init for p in range(self.V_nums): for q in range(self.V_nums): myMin = sys.maxint for k in range(self.V_nums): Footer Page 70 of 161 60 Header Page 71 of 161 if ((ProTemp1[p][k] >= 0) and (ProTemp2[k][q] >= 0)): # Do thi co huong proVal = ProTemp1[p][k] + ProTemp2[k][q] # Gia tri tinh toan myMin = min(myMin, proVal) if self.Pro[p][q] != myMin: chgVal = self.Pro[p][q] = myMin return chgVal # Neu co thay doi, thi gia tri se > 0; nguoc lai gia tri tra ve la (i.e khong doi) def P_center(self, giatriNguong): # tim cac ta^m P-center thoa tu ta^m di den cac dinh khac < giatriNguong self.weight_set = [0 for i in range(self.V_nums * (self.V_nums -1) )] # tap cac so, co n*(n-1) self.P_center_list = [] # doc du lieu tu ma tran Pro vao: doc tat ca n(n-1) gia tri (khong doc gia tri duong cheo = 0) idx = -1 for p in range(self.V_nums): for q in range(self.V_nums): if (p != q): # < loai bo duong cheo bang kiem tra idx = idx + self.weight_set[idx] = self.Pro[p][q] self.weight_set.sort() self.weight_set = list(set(self.weight_set)) # print self.weight_set if (self.weight_set[0] > giatriNguong): # Neu gia tri nguong qua thap thi moi dinh deu la tam Footer Page 71 of 161 61 Header Page 72 of 161 self.P_center_list = [0 for i in range(self.V_nums)] # tap dinh = toan bo tap dinh for p in range(self.V_nums): self.P_center_list[p] = p else: if (self.weight_set[len(self.weight_set)-1] < giatriNguong): # Neu giaTriNguong qua qua cao thi lay dinh bat ki: self.P_center_list = [0] else: # truong hop nguong nam gia tri mang: remove_list = [] #Chon cac dinh co ket noi > giatriNguong dua vao list: for p in range(self.V_nums): min_p = sys.maxint # gia tri be nhat cua dinh P for q in range(self.V_nums): if ((self.Pro[p][q] > 0) and (self.Pro[p][q] < min_p)): min_p = self.Pro[p][q] if (min_p > giatriNguong): # gia tri ma van lon hon thi chon dinh self.P_center_list.append(p) remove_list.append(p) # lai chon cac dinh co bac cao va dua cac dinh phu thuoc vao remove_list: while (len(remove_list) < self.V_nums): min_MAX = sys.maxint p_Max = for p in range(self.V_nums): if ( (p in remove_list) == False): # neu p chua bi remove thi xet p chon gia tri thap nhat for q in range(self.V_nums): Footer Page 72 of 161 62 Header Page 73 of 161 if (((q in remove_list) == False) and (self.Pro[p][q] > p_Max)): p_Max = self.Pro[p][q] if (min_MAX > p_Max): min_MAX = p_Max p_Max = for p in range(self.V_nums): if ( (p in remove_list) == False): # neu p chua bi remove thi xet p chon gia tri thap nhat for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > p_Max)): p_Max = self.Pro[p][q] if (min_MAX == p_Max): self.P_center_list.append(p) remove_list.append(p) for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > 0) and (self.Pro[p][q] >> gg = GISGraph ("C://bxuyencode//matrix3.txt") >>> gg.P_center (8) >>> gg.P_center_list [0, 2, 3] >>> gg.P_center (9) >>> gg.P_center_list [0, 2, 5] Footer Page 73 of 161 63 Header Page 74 of 161 >>> gg.P_center (10) >>> gg.P_center_list [0, 3, 4] >>>  Nội dung file để tìm giá trị cho đồ thị để đƣợc tập đỉnh Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information >>> import os >>> import sys >>> import math >>> class GISGraph: V_nums = # so dinh cua thi (Gph) E_set = [] # tap canh cua thi Gph = [] # Ma tran thi: V_nums x V_nums Pro = [] # Ma tran luy thua: V_nums x V_nums weight_set = [] P_center_list = [] graphFile = "matrix3.txt" max_Value = sys.maxint def init (self, sfilename): if sfilename == "": self.graphFile = "matrix3.txt" else: self.graphFile = sfilename try: f = open(self.graphFile) self.V_nums = int(f.readline()) thi: maxtrix_dat = f.readlines() except IOError as e: Footer Page 74 of 161 print "Khong doc duoc tap tin" 64 # doc so dinh cua Header Page 75 of 161 except ValueError: print "Khong the doc du lieu so" except: print "Khong biet loi gi!" raise ### Tao ma tran va doc thi: self.Gph = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # ma tran ke V_nums x V_nums self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # ma tran ke V_nums x V_nums for p in range(self.V_nums): matrix_matrix = maxtrix_dat[p].split(" ") for q in range(self.V_nums): self.Gph[p][q] = int(matrix_matrix[q]) f.close() # Dat gia tri ban dau cho ma tran tich Pro = ma tran Gph self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # ma tran ke V_nums x V_nums for p in range(self.V_nums): for q in range(self.V_nums): if (p == q): self.Pro[p][q] = else: if self.Gph[p][q] == 9999: self.Pro[p][q] = sys.maxint else: self.Pro[p][q] = self.Gph[p][q] Footer Page 75 of 161 65 Header Page 76 of 161 def HienthiMatranPro(self): # Hien thi ma tran Tinh toan duong di for p in range(self.V_nums): prn_str = "" for q in range(self.V_nums): if (self.Pro[p][q] == sys.maxint): prn_str = prn_str + " VC" else: prn_str = prn_str + " " + str(self.Pro[p][q]) + " " print prn_str + "\n" def HienthiMatranGph(self): # Hien thi ma tran thi Gph for p in range(self.V_nums): prn_str = "" for q in range(self.V_nums): if (self.Gph[p][q] == sys.maxint): prn_str = prn_str + " VC " else: prn_str = prn_str + str(self.Gph[p][q]) + " " print prn_str + "\n" # Tim duong di ngan nhat: def TinhToanDuongDiNganNhat(self): # Ham tra ve neu khong doi, tra ve neu co it nhat gia tri doi chgVal = # Gia tri thay doi Neu co thay doi thi chgVal = # khai bao ma tran tam ProTemp1 = [] ProTemp1 = [[0 for i in range(self.V_nums)] for p in range(self.V_nums): Footer Page 76 of 161 for q in range(self.V_nums): 66 range(self.V_nums)] for j in Header Page 77 of 161 ProTemp1[p][q] = self.Pro[p][q] # khai bao ma tran tam ProTemp2 = [] ProTemp2 = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] for p in range(self.V_nums): for q in range(self.V_nums): ProTemp2[p][q] = self.Pro[p][q] # Tinh ma tran luy thua: # self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # khong can thiet vi dinh nghia ham init for p in range(self.V_nums): for q in range(self.V_nums): myMin = sys.maxint for k in range(self.V_nums): if ((ProTemp1[p][k] >= 0) and (ProTemp2[k][q] >= 0)): # Do thi co huong proVal = ProTemp1[p][k] + ProTemp2[k][q] # Gia tri tinh toan myMin = min(myMin, proVal) if self.Pro[p][q] != myMin: chgVal = self.Pro[p][q] = myMin return chgVal # Neu co thay doi, thi gia tri se > 0; nguoc lai gia tri tra ve la (i.e khong doi) def P_center(self, giatriNguong): # tim cac ta^m P-center thoa tu ta^m di den cac dinh khac < giatriNguong self.weight_set = [0 for i in range(self.V_nums * (self.V_nums -1) )] # tap cac so, co n*(n-1) Footer Page 77 of 161 67 Header Page 78 of 161 self.P_center_list = [] # doc du lieu tu ma tran Pro vao: doc tat ca n(n-1) gia tri (khong doc gia tri duong cheo = 0) idx = -1 for p in range(self.V_nums): for q in range(self.V_nums): if (p != q): # < loai bo duong cheo bang kiem tra idx = idx + self.weight_set[idx] = self.Pro[p][q] self.weight_set.sort() self.weight_set = list(set(self.weight_set)) # print self.weight_set if (self.weight_set[0] > giatriNguong): # Neu gia tri nguong qua thap thi moi dinh deu la tam self.P_center_list = [0 for i in range(self.V_nums)] # tap dinh = toan bo tap dinh for p in range(self.V_nums): self.P_center_list[p] = p else: if (self.weight_set[len(self.weight_set)-1] < giatriNguong): # Neu giaTriNguong qua qua cao thi lay dinh bat ki: self.P_center_list = [0] else: # truong hop nguong nam gia tri mang: remove_list = [] #Chon cac dinh co ket noi > giatriNguong dua vao list: for p in range(self.V_nums): min_p = sys.maxint # gia tri be nhat cua dinh P for q in range(self.V_nums): if ((self.Pro[p][q] > 0) and (self.Pro[p][q] < min_p)): Footer Page 78 of 161 68 Header Page 79 of 161 min_p = self.Pro[p][q] if (min_p > giatriNguong): # gia tri ma van lon hon thi chon dinh self.P_center_list.append(p) remove_list.append(p) # lai chon cac dinh co bac cao va dua cac dinh phu thuoc vao remove_list: while (len(remove_list) < self.V_nums): min_MAX = sys.maxint p_Max = for p in range(self.V_nums): if ( (p in remove_list) == False): # neu p chua bi remove thi xet p chon gia tri thap nhat for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > p_Max)): p_Max = self.Pro[p][q] if (min_MAX > p_Max): min_MAX = p_Max p_Max = for p in range(self.V_nums): if ( (p in remove_list) == False): # neu p chua bi remove thi xet p chon gia tri thap nhat for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > p_Max)): p_Max = self.Pro[p][q] if (min_MAX == p_Max): self.P_center_list.append(p) Footer Page 79 of 161 69 Header Page 80 of 161 remove_list.append(p) for q in range(self.V_nums): if (((q in remove_list) == False) and (self.Pro[p][q] > 0) and (self.Pro[p][q] >> gg = GISGraph ("C://bxuyencode//matrix4.txt") >>> gg.P_center (5) >>> gg.P_center_list [2, 4, 5, 0] >>> gg.P_center (6) >>> gg.P_center_list [2, 4, 0, 5] >>> gg.P_center (7) >>> gg.P_center_list [4, 0, 2, 5] >>> Footer Page 80 of 161 70 ... cấp thiết đề tài Ứng dụng GIS hỗ trợ toán tưới đường quận Thủ Đức thực nhằm giải toán đề cập 1.2 Mục tiêu đề tài  Mục tiêu chung: Ứng dụng GIS hỗ trợ toán tưới đường quận Thủ Đức  Mục tiêu cụ... để giải toán tưới cách hiệu tiết kiệm nước mà trì sống chi phí đường tối thiểu Chính đề tài nghiên cứu Ứng dụng GIS hỗ trợ toán tưới đường quận Thủ Đức thực hoàn thành Trung tâm Ứng dụng Hệ... công nghiệp – tiểu thủ công nghiệp quận Thủ Đức tăng trưởng nhanh, đặc biệt từ năm tách quận Năm 1995 giá trị sản lượng ngành công nghiệp huyện Thủ Đức (bao gồm quận Thủ Đức, quận quận 9) 118 tỉ

Ngày đăng: 07/04/2017, 13:43

Tài liệu cùng người dùng

Tài liệu liên quan