Khóa luận Ứng dụng gis hỗ trợ bài toán phân bổ thu gom chất thải rắn sinh hoạt theo vị trí khu dân cư trên địa bàn quận thủ đức, tp Hồ Chí Minh

Nguồn phát sinh chất thải là các vị trí thu gom rác mà phát sinh từ những hộ gia đình,khu dân cƣ,chợ. Điểm hẹn là điểm tập trung rác từ nguồn phát sinh(hộ gia đình.) đƣợc các công nhân vê sinh thu gom lại một nơi tập kết chờ xe đến vân chuyển tới trạm trung chuyển. Trạm trung chuyển là nơi lƣu giữ tập trung rác đã thu gom đƣợc vận chuyển đến nơi đây sau đó đƣợc vận chuyển đến nhà máy xử lí. Hay hiểu theo các khác trạm trung chuyển rác là nơi tập kết rác thải từ các đơn vị thu gom cá nhân trƣớc khi đƣợc đƣa đi xử lý ở những bãi rác.Là nơi tiếp nhận rác từ xe thu gom nhỏ sang xe có tải trọng lớn vận chuyển đến khu xử lí. Thu gom chất thải rắn là hoạt động tập hợp, phân loại, đóng gói và lƣu giữ tạm thời chất thải rắn tại nhiều điểm thu gom tới địa điểm hoặc cơ sở đƣợc cơ quan nhà nƣớc có thẩm quyền chấp thuận. Vận chuyển chất thải rắn là quá trình chuyên chở chất thải rắn từ nơi phát sinh, thu gom, lƣu giữ, trung chuyển đến nơi xử lý, tái chế, tái sử dụng hoặc bãi chôn lấp cuối cùng.

pdf61 trang | Chia sẻ: phamthachthat | Lượt xem: 1748 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Ứng dụng gis hỗ trợ bài toán phân bổ thu gom chất thải rắn sinh hoạt theo vị trí khu dân cư trên địa bàn quận thủ đức, tp Hồ Chí Minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
chiếm 49,7% tổng dân số quận. 6 Dân số Th Đức đang trên đà tăng nhanh trong những năm qua cụ thể từ năm( 2009 – 2011).Việc gia tăng dân số trên địa bàn Quận ch yếu là tăng cơ học, tỷ lệ tăng tự nhiên đang có xu hƣớng tăng từ 0,72 năm 2010 đến 0,8 năm 2011; tỉ lệ tăng cơ học tăng nhanh lên 4,84 so với năm 2010 là 2,61 . Tỷ lệ tăng dân số cơ học ở mức cao là do những yếu tố tác động: sự bùng phát các khu công nghiệp, khu chế xuất, sự gia tăng các trƣờng đại học và sự di chuyển dân số từ nội thành ra các quận vùng ven trong những năm gần đây.  Xã hội Bên cạnh thành tích kinh tế, quận Th Đức cũng có những phát triển đáng ghi nhận trên các lĩnh vực: giáo dục, y tế, văn hoá, thể thao. Trên địa bàn Th Đức có các trƣờng Đại học và trung học nghề hàng đầu thành phố nhƣ: Đại học Sƣ phạm Kỹ thuật, Đại học Nông lâm, Làng Đại học Quốc gia thành phố Hồ Chí Minh, Trƣờng Kỹ thuật Công nghiệp Th Đức,Trƣờng Đại học Thể dục Thể Thao Trung ƣơng II cũng đóng trên địa bàn Th Đức. Các công trình ph c lợi xã hội nhƣ: Trung tâm Thể dục Thể thao, Trung tâm Y tế, Trung tâm Văn hoá...đều đƣợc quận đầu tƣ xây dựng khang trang, sạch đẹp.  Kinh tế Là quận nằm ở cửa ngõ phía Đông thành phố, trong khu vực phát triển năng động c a vùng Đông Nam Bộ, Th Đức thu h t khá đông nhà đâu tƣ trong và ngoài nƣớc. Ngay từ khi còn là huyện, trên địa bàn Th Đức cũng đã sớm hình thành các cơ sở sản xuất công nghiệp nhƣ: Công ty xi măng Hà Tiên, công ty Cơ điện, Nhà máy điện....Kể từ sau khi tách quận, kinh tế Th Đức càng có điều kiện phát triển nhanh hơn.  Công nghiệp – Tiểu thủ công nghiệp Theo thông tìn từ website quận, năm 1995 giá trị sản lƣợng c a ngành công nghiệp huyện Th Đức (bao gồm quận Th Đức, quận 2 và quận 9 ngày nay) là 118 tỉ đồng. Đến năm 1997, riêng quận Th Đức đã là 248 tỉ đồng. Trong các năm tiếp theo, đặc biệt là từ năm 2000, tỉ lệ tăng trƣởng giá trị sản lƣợng đạt bình quân c a quận hơn 50 một năm. Năm 2000, giá trị sản xuất công nghiệp c a quận là 529,4 tỉ. Năm 2002 là 902,7 tỉ. Năm 2003 là 1.119,6 tỉ và năm 2004 đạt 1.444,12 tỉ đồng. Trong 10 tháng đầu năm 2007, giá trị sản lƣợng công nghiệp trên địa bàn Th Đức đạt trên 2.146 tỷ đồng. Trong quý 1/2008, giá trị sản xuất công nghiệp - tiểu th công nghiệp trên địa bàn quận là 723,94 tỷ đồng.Trên địa bàn quận có khu chế xuất Linh Trung và nhiều công ty hàng đầu thành phố nhƣ: công ty cổ phần Kinh Đô, nhà máy Coca Cola Việt Nam....  Thƣơng mại – Dịch vụ Tuy là quận vùng ven, nhƣng do nằm ở cửa ngõ thành phố, bên bờ sông Sài Gòn, nên hoạt động Thƣơng mại c a Th Đức đã phát triển từ rất sớm. Hiện nay, trên địa bàn quận, ngoài chợ Th Đức ở trung tâm thị trấn, còn có hệ thống 15 chợ phƣờng với hơn 5.500 hộ buôn bán. Quận Th Đức đã có chợ đầu mối Tam Bình thay cho chợ đầu mối Cầu Muối – thuộc quận 1. Doanh thu Thƣơng mại - Dịch vụ: năm 1991 đạt 310 tỉ, năm 1995 đạt 920 tỉ, năm 1997 (tách quận – không tính quận 2 và quận 9) đạt 753 tỉ, năm 7 2000 đạt 928 tỉ, năm 2001 đạt 1.188 tỉ, năm 2003 đạt 1.746 tỉ và năm 2004 đạt 2.252 tỉ đồng.  Nông nghiệp Th Đức có diện tích đất nông nghiệp tƣơng đối lớn, lại đƣợc phù sa sông Sài Gòn bồi đắp, hoạt động sản xuất nông nghiệp ở đây cũng tƣơng đối thuận lợi. Những nông sản thế mạnh c a quận là: mai vàng, bon sai, hoa lan, cây cảnh, xoài, thanh long và các loại rau, c , quả. Th Đức cũng thành công lớn trong “chƣơng trình bò sữa”.Những năm gần đây, đất sản xuất l a c a Th Đức ngày càng bị thu hẹp do tốc độ đô thị hóa nhanh và dành cho phát triển công nghiệp, thƣơng mại nên năm 2004 chỉ còn khoảng 1.400 ha. Nhƣng do chuyển dịch cơ cấu cây trồng theo hƣớng sản xuất hàng hóa, cho nên số đất chuyển đổi ấy mang lại hiệu quả kinh tế gấp nhiều lần so với trồng l a.  Giao thông Th Đức nằm ở cửa ngõ ra vào phía Đông c a thành phố Hồ Chí Minh. Ba con đƣờng lớn chạy qua quận đều thuộc quốc lộ: xa lộ Hà Nội, quốc lộ 13 và xa lộ vành đai ngoài (xa lộ Đại Hàn cũ). Nhiều năm qua, nhất là từ khi trở thành quận, nhiều tuyến đƣờng trong quận đƣợc mở, nâng cấp, toàn bộ cầu khỉ đƣợc thay bằng cầu bê tông. Những con đƣờng mới, những cây cầu đã nối vùng gò đồi với vùng bƣng, tạo điều kiện cho hàng hóa lƣu thông, qua đó th c đẩy sản xuất công – nông nghiệp cùng phát triển. Đƣờng sắt quốc gia chạy qua quận Th Đức đang đƣợc nâng cấp, kể cả ga Bình Triệu, ga Sóng Thần, tạo cho Th Đức thêm một lợi thế quan trọng để phát triển kinh tế - xã hội. Bao bọc phía Tây quận là sông Sài Gòn, rất thuận lợi cho giao thông đƣờng th y, phục vụ vận chuyển hàng hóa nông sản và thực phẩm c a các công ty lớn trên địa bàn nhƣ Công ty xi măng Hà Tiên 1, công ty Cơ điện Th Đức và khu chế xuất Linh Trung, khu công nghiệp Bình Chiểu. Quận Th Đức cũng có điều kiện lý tƣởng xây dựng một số cảng sông. 2.3. Tổng quan cơ sở lí thuyết liên quan 2.3.1 Tổng quan về Gis  Định nghĩa GIS Hiện nay có rất nhiều định nghĩa về GIS, nhƣng đều có điểm giống nhau nhƣ: bao hàm khái niệm dữ liệu không gian, phân biệt giữa hệ thông tin quản lý và GIS. So với bản đồ thì GIS có lợi thế là lƣu trữ dữ liệu và biểu diễn ch ng là hai công việc tách biệt nhau. Do vậy GIS cho khả năng quan sát từ các góc độ khác nhau trên cùng tập dữ liệu. Sau đây là một số định nghĩa GIS hay sử dụng: Theo Ducker(1979) định nghĩa Gis là một trƣờng hợp đặc biệt c a hệ thống thông tin ở đó có cơ sở dữ liệu bao gồm sự quan sát các đặc trƣng phân bố không gian,các hoạt động sự kiện có thể đƣợc xác định trong khoảng không nhƣ điểm, đƣờng,vùng. Theo Goodchild(1985)là một hệ thống sử dụng cơ sở dữ liệu để trả lời các câu hỏi về bản chất địa lí c a các thực thể địa lí. 8 Theo Burrough(1986) định nghĩa,Gis là công cụ mạnh dùng để lƣu trữ và truy vấn ,biến đổi và hiển thị dữ liệu không gian từ thế giới thực cho những mục tiêu khác nhau. Chi tiết hơn, Aronoff (1989 trích dẫn trong International Centre for Integrated Mountain Development, 1996, p.9) định nghĩa GIS là “một hệ thống dựa trên máy tính cung cấp bốn khả năng về dữ liệu không gian:Nhập dữ liệu,quản lý dữ liệu,xử lý và phân tích,xuất dữ liệu. Nguyễn Kim Lợi và ctv (2009), định nghĩa GIS nhƣ là “Một hệ thống thông tin mà nó sử dụng dữ liệu đầu vào, các thao tác phân tích, cơ sở dữ liệu đầu ra liên quan về mặt địa lý không gian, nhằm trợ gi p việc thu nhận, lƣu trữ, quản lý, xử lý, phân tích và hiển thị các thông tin không gian từ thế giới thực để giải quyết các vấn đề tổng hợp từ thông tin cho các mục đích con ngƣời đặt ra, chẳng hạn nhƣ: Hỗ trợ việc ra quyết định cho quy hoạch và quản lý sử dụng đất, tài nguyên thiên nhiên, môi trƣờng, giao thông,dễ dàng trong việc quy hoạch phát triển đô thị và những việc lƣu trữ dữ liệu hành chính”.  Thành phần GIS. GIS có 5 thành phần cơ bản sau: Phần cứng, phần mềm, cơ sở dữ liệu địa lý, cơ sở tri thức chuyên gia (con ngƣời), phƣơng pháp.  Chức năng của GIS Các chức năng c a GIS có thể chia làm năm loại nhƣ sau: Thu thập dữ liệu;xử lý sơ bộ dữ liệu;lƣu trữ và truy nhập dữ liệu;tìm kiếm và phân tích không gian;hiển thị đồ họa và tƣơng tác.  Mô hình dữ liệu của GIS Một dữ liệu trong GIS thì đƣợc lƣu, hiển thị dƣới 2 dạng: mô hình dữ liệu không gian và mô hình dữ liệu thuộc tính. Mô hình dữ liệu không gian lƣu trữ đối tƣợng về mặt không gian vị trí, kích thƣớc hình dạng. Chia làm 2 loại: vector và raster. Mô hình dữ liệu thuộc tính mô tả về đặc tính, đặc điểm các hiện tƣợng xảy ra trên vị trí không gian xác định. GIS có thể liên kết và xử lý đồng thời cả dữ liệu không gian và thuộc tính. 2.3.2. Tổng quan về lí thuyết đồ thị  Định nghĩa đồ thị Đồ thị_Graph là một cấu tr c rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh này. Đồ thị là 1 mô hình toán học đƣợc cho bởi một bộ G (V, E) với: V là tập không rỗng các đỉnh, V={v1, v2, v3, , vn} và n = |V| gọi là bậc/cấp c a đồ thị E là tập cạnh, E={e1, e2, e3, em} nối một phần hay tất cả các đỉnh đó lại với nhau và m = |E| gọi là kích thƣớc c a đồ thị. Kí hiệu G= (V,E) Mỗi phần tử c a V đƣợc gọi là: 9 Vertex_Đỉnh Point_Điểm Node_N t Object_Đối tƣợng Mỗi phần tử c a E đƣợc gọi là: Edge_cạnh Line_đƣờng Link_liên kết Relationship_quan hệ  Phân loại đồ thị Đặc điểm cạnh là: + Đồ thị có hƣớng_ Directed Graph +Đồ thị vô hƣớng_ Undirected Graph Số lƣợng cạnh giữa hai đỉnh: + Đơn đồ thị – Simple Graph +Đa đồ thị – Multigraph +Giả đồ thị – Pseudograph Đặc điểm phân loại dạng đồ thị đó là vô hƣớng và có hƣớng: Bảng 2.1. Phân loại dạng đồ thị Dạng đồ thị Đồ thị có hƣớng_ Directed Graph Đồ thị vô hƣớng_ Undirected Graph Đơn đồ thi Đơn đồ thị có hƣớng G = (V, E) bao gồm: V là tập không rỗng các đỉnh E là tập các cung: đó là các cặp có thứ tự gồm hai đỉnh (không nhất thiết phải khác nhau) c a V. Ví dụ: Đơn đồ thị vô hƣớng G = (V,E) bao gồm: V là tập các đỉnh E là tập các cặp không có thứ tự gồm hai phần tử khác nhau c a V gọi là các cạnh. Ví dụ: 10 Đa đồ thị Đa đồ thị có hƣớng G = (V, E) bao gồm : V là tập không rỗng các đỉnh E là đa tập hợp (họ) các cung, đó là các cặp có thứ tự gồm hai đỉnh (không nhất thiết phải khác nhau) c a V. Ví dụ: Đa đồ thị vô hƣớng G= (V, E) bao gồm: V là tập không rỗng các đỉnh E là đa tập hợp (họ) các cạnh: đó là các cặp không có thứ tự gồm hai đỉnh khác nhau c a V Cạnh e1 và e2 đƣợc gọi là cạnh song song/cạnh bội/cạnh lặp nếu ch ng tƣơng ứng nối cùng 2 đỉnh Ví dụ Giả đồ thị -Trƣờng hợp này không xảy ra Giả đồ thị vô hƣớng G = (V, E) bao gồm: V là tập không rỗng các đỉnh E là đa tập hợp (họ) các cạnh: đó là các cặp không có thứ tự gồm hai phần tử (không nhất thiết phải khác nhau) c a V. Cạnh e đƣợc gọi là 1 khuyên hay 1 vòng (loop) nếu có dạng e = (u, u). Ví dụ: 11  Biểu diễn đồ thị trên máy tính Định nghĩa: Biểu diễn đồ thị G=(V, E) trên máy tính nghĩa là số hóa đồ thị nhằm mục đích lƣu trữ và thao tác trên đồ thị đó. Số hóa đồ thị là số hóa các đỉnh trong tập V c a đồ thị và số hóa các cạnh/cung trong tập E c a đồ thị.  Ma trận kề Đồ thị G=(V, E) là một đơn đồ thị cấp n có Tập đỉnh V={v1, v2, v3, , vn} và tập cạnh E={e1, e2, e3,, em} G đƣợc biểu diễn bằng ma trận kề (Adjacency matrix) nhƣ sau: Tập đỉnh: Số hóa các đỉnh bằng các số nguyên V={0, 1, 2, , n-1} Tập cạnh: Các cạnh đƣợc số hóa bằng ma trận vuông A=[ai,j] cấp n (với i,j=0...n-1). Trong đó: • aij = 1 nếu (i, j) ∈ E • aij = 0 nếu (i, j) ∉ E • Quy ƣớc aii = 0 với ∀i; Ví dụ 1: Đồ thị vô hƣớng Hình 2.3. Biểu diễn đồ thi vô hƣớng đối với ma trận kề Ví dụ 2:Đồ thị có hƣớng Hình 2.4. Biểu diễn đồ thị có hƣớng đối với ma trận kề Tính chất: 12 - Nếu nửa tam giác trên và nửa tam giác dƣới đối xứng nhau qua đƣờng chéo chính => là đồ thị vô hƣớng. Ngƣợc lại nếu có một phần tử không giống nhau => ma trận có hƣớng. - Nếu G là đồ thị vô hƣớng thì bậc c a đỉnh i bằng tổng phần tử khác 0 trên hàng i - Nếu G là đồ thị có hƣớng thì nửa bậc ngoài c a đỉnh i bằng tổng các phần tử khác 0 trên dòng i và nửa bậc trong c a đỉnh i bằng tổng các phần tử khác 0 trên cột i Cấu tr c file dữ liệu nhập cơ bản c a ma trận: Hình 2.5. Mô hình cấu trúc file dữ liệu đầu vào  Ma trận trọng số Khái niệm - Cho G = (V,E) là đơn đồ thị có trọng số. Ma trận trọng số c a G là một ma trận vuông A = (aij) cấp n. Trong đó: • aij = w(i,j) nếu (i, j) ∈ E • aij = 0 nếu (i, j) ∉ E • Quy ƣớc aii = 0 với ∀i Ví dụ 3: Đối với đồ thị có hƣớng Hình 2.6. Biểu diễn đồ thị có hƣớng của ma trận trọng số Ví dụ 4: Đối với đồ thị vô hƣớng 13 Hình 2.7. Biểu diễn đồ thị vô hƣớng của ma trận trọng số 2.4. Tổng quan lí thuyết lứng dụng chính cho đề tài nghiên cứu. 2.4.1.Python Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tƣơng tự nhƣ Perl, Ruby, Scheme, Smalltalk, và Tcl. Python đƣợc phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Theo đánh giá c a Eric S. Raymond, Python là ngôn ngữ có hình thức rất sáng s a, cấu tr c rõ ràng, thuận tiện cho ngƣời mới học lập trình. Cấu tr c c a Python còn cho phép ngƣời sử dụng viết mã lệnh với số lần gõ phím tối thiểu, nhƣ nhận định c a chính Guido van Rossumtrong một bài phỏng vấn. Ban đầu, Python đƣợc phát triển để chạy trên nền Unix. Nhƣng rồi theo thời gian, nó đã mở rộng sang các hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển c a Python có sự đóng góp c a rất nhiều cá nhân, nhƣng Guido van Rossum hiện nay vẫn là tác giả ch yếu c a Python. Ông giữ vai trò ch chốt trong việc quyết định hƣớng phát triển c a Python. Python là một ngôn ngữ lập trình năng động với nhiều tính năng đƣợc sử dụng trong một loạt các ứng dụng. Python thƣờng đƣợc so sánh với Tcl, Perl, Ruby, Scheme, hoặc Java. Một vài tính năng đặc trƣng c a nó gồm:c pháp rất trong sáng, dễ đọc;các khả năng tự xét (introspection) mạnh m ;hƣớng đối tƣợng trực giác;cách thể hiện tự nhiên mã th tục (procedural code);hoàn toàn mô-đun hóa, hỗ trợ các gói theo cấp bậc;xử lý lỗi dựa theo ngoại lệ (exception);kiểu dữ liệu động ở mức rất cao;các thƣ viện chuẩn và các mô-đun ngoài bao quát hầu nhƣ mọi việc;phần mở rộng và mô-đun dễ dàng viết trong C, C++ (hoặc Java cho Jython, hoặc các ngôn ngữ .NET cho IronPython);có thể nh ng trong ứng dụng nhƣ một giao diện kịch (scripting interface). 2.4.2 Metis for python Metis for Python là gói thƣ viện hỗ trợ phân chia đồ thị bằng ngôn ngữ Python. Wrapper cho thƣ viện Metis cho phân vùng đồ thị (và các công cụ khác). 14 Thƣ viện này là không liên quan đến PyMetis, ngoại trừ việc họ quấn cùng một thƣ viện. PyMetis là một phần mở rộng Boost Python, trong khi thƣ viện này là trăn tinh khiết và s chạy theo PyPy và phiên dịch với các thƣ viện ctypes tƣơng thích tƣơng tự. NetworkX đƣợc khuyến khích cho đại diện các đồ thị để sử dụng với wrapper này, nhƣng nó không phải là bắt buộc danh sách kề đơn giản đƣợc hỗ trợ là tốt. Các chức năng c a mối quan tâm chính trong module này part_graph(). Các đối tƣợng khác trong các mô-đun có thể quan tâm đến những ngƣời tìm kiếm để mangle datastructures đồ thị c a họ vào định dạng cần thiết. Cài đặt Đó là trên PyPI, vì vậy cài đặt nên dễ dàng nhƣ: pip install metis -or- easy_install metis Lƣu ý rằng các thƣ viện chia sẻ là cần thiết, và không đƣợc kích hoạt theo mặc định bởi quá trình cấu hình.Bật tính năng này bằng cách phát hành: make config shared=1 Quản lý gói hệ thống điều hành c a bạn có thể biết về Metis, nhƣng wrapper này đƣợc thiết kế để sử dụng với Metis 5. T i có Metis 4 s không làm việc. Wrapper này sử dụng một số biến môi trƣờng: METIS_DLL Wrapper này sử dụng mô-đun ctypes Python để giao tiếp với các thƣ viện chia sẻ Metis.Nếu nó không thể tự động xác định vị trí thƣ viện, bạn có thể chỉ định đƣờng dẫn đầy đ đến file thƣ viện trong biến môi trƣờng này. METIS_IDXTYPEWIDTH METIS_REALTYPEWIDTH Các kích thƣớc c a idx_t và real_t loại là không dễ dàng xác định đƣợc thời gian chạy, để họ có thể đƣợc cung cấp với các biến môi trƣờng. Giá trị mặc định cho mỗi trong số này (ở cả hai thời gian biên dịch và trong thƣ viện này) là 32, nhƣng họ có thể đƣợc thiết lập để 64 nếu muốn. Nếu giá trị này không phù hợp với những gì đã đƣợc sử dụng để biên dịch thƣ viện, Bad Things (TM) s xảy ra. Ví dụ 5 15 >>> import networkx as nx >>> import metis >>> G = metis.example_networkx() >>> (edgecuts, parts) = metis.part_graph(G, 3) >>> colors = ['red','blue','green'] >>> for i, p in enumerate(parts): ... G.node[i]['color'] = colors[p] ... >>> nx.write_dot(G, 'example.dot') # Requires pydot or pygraphviz Hình 2.8 Phân vùng đô thị Metis.part_graph(graph, nparts=2, tpwgts=None, ubvec=None, recursive=False, **o pts Thực hiện đồ thị phân vùng sử dụng k-cách này hay phƣơng pháp đệ quy. Trả về một 2-tuple (objval, các bộ phận), nơi bộ phận là một danh sách các chỉ số phân vùng tƣơng ứng và objval là giá trị c a hàm mục tiêu đó đã đƣợc giảm thiểu (hoặc các vết cắt cạnh hoặc tổng khối lƣợng). 16 Thông số: -Đồ thị :Có thể là một đồ thị NetworkX, một danh sách kề, hoặc một METIS_Graph tuple đặt tên. Để sử dụng phƣơng pháp tuple đặt tên, bạn s cần phải đọc hƣớng dẫn sử Metis cho ý nghĩa c a các lĩnh vực. Xem networkx_to_metis() để đƣợc gi p đ và thông tin chi tiết về cách đồ thị đƣợc chuyển đổi và cách n t / trọng lƣợng và kích thƣớc cạnh có thể đƣợc xác định. Xem adjlist_to_metis() để biết thông tin về việc sử dụng danh sách kề. Các phụ nodew và nodesz từ khóa đối số c a chức năng đó có thể đƣợc đƣa trực tiếp đến chức năng này và s đƣợc chuyển tiếp tới bộ chuyển đổi. Ngoài ra, một từ điển có thể đƣợc cung cấp nhƣ là graph và các mục c a nó s đƣợc thông qua nhƣ là đối số từ khóa. -Nparts: Số lƣợng mục tiêu c a phân vùng. Bạn có thể nhận đƣợc ít hơn. -Tpwgts: Mục tiêu trọng lƣợng phân vùng. Đối với mỗi phân vùng, cần có một (float) trọng lƣợng cho mỗi chế n t. Đó là, nếunparts là 3 và mỗi n t c a đồ thị có hai trọng lƣợng, sau đó tpwgts có thể trông nhƣ thế này: [(0.5, 0.1), (0.25, 0.8), (0.25, 0.1)] Danh sách này có thể đƣợc miễn phẳng. Các bộ dữ liệu nội bộ cho thuận tiện. Các trọng số phân vùng cho từng chế phải tổng hợp tới 1. -Ubvec: Dung sai tải imalance cho mỗi chế n t.Nên có một danh sách các giá trị dấu chấm động mỗi lớn hơn 1. Đệ quy: Xác định xem các phân vùng nên đƣợc thực hiện bằng cách cắt giảm k-cách trực tiếp hoặc bằng một loạt các vết cắt đệ quy.Những tƣơng ứng với METIS_PartGraphKway() và METIS_PartGraphRecursive() trong C API c a bất kỳ lựa chọn Metis bổ sung có thể đƣợc quy định nhƣ các thông số từ khóa. metis.networkx_to_metis (G) Chuyển đổi NetworkX đồ thị vào một cái gì đó có thể tiêu thụ MetisCác đồ thị có thể xác định trọng lƣợng và kích thƣớc bằng cách sử dụng các thuộc tính đồ thị dƣới đây: edge_weight_attr node_weight_attr (nhiều tên cho phép) node_size_attr Ví dụ 6 17 >>> G.edge[0][1]['weight'] = 3 >>> G.node[0]['quality'] = 5 >>> G.node[0]['specialness'] = 8 >>> G.graph['edge_weight_attr'] = 'weight' >>> G.graph['node_weight_attr'] = ['quality', 'specialness'] Nếu node_weight_attr là một danh sách thay vì một chuỗi, sau đó nhiều nhãn trọng lƣợng n t có thể đƣợc cung cấp. Tất cả trọng lƣợng phải có giá trị nguyên.Nếu một nhãn attr đƣợc quy định nhƣng một node / cạnh thiếu thuộc tính đó, nó mặc định là 1. Nếu một thuộc tính đồ thị không đƣợc cung cấp, không có defaut đƣợc sử dụng.Đó là, nếu edge_weight_attr không đƣợc thiết lập, sau đó 'weight' không đƣợc sử dụng nhƣ là mặc định, và biểu đồ s xuất hiện không trọng số để Metis. metis.adjlist_to_metis(adjlist, nodew=None, nodesz=None) Thô sơ chuyển đổi danh sách kề. Ch yếu sử dụng nếu bạn không có hoặc không muốn sử dụng NetworkX. Thông số: -Adjlist:Một danh sách các hàng. Mỗi phần tử danh sách đại diện cho một n t hoặc đỉnh c a đồ thị.Mỗi mục trong bộ dữ liệu đại diện cho một cạnh.Các mục này có thể là các số nguyên duy nhất đại diện cho chỉ số hàng xóm, hoặc họ có thể là một (index, trọng lƣợng) tuple nếu bạn muốn cạnh trọng.Mặc định trọng lƣợng là 1 cho trọng lƣợng mất tích. Các biểu đồ phải đƣợc vô hƣớng, và mỗi cạnh phải đƣợc đại diện hai lần (một lần cho mỗi node).Các trọng nên đƣợc giống hệt nhau, nếu đƣợc cung cấp. -Nodew: là một danh sách các trọng n t, và phải có cùng kích thƣớc nhƣ adjlist nếu đƣợc. Nếu muốn, các yếu tố c anodew có thể tuples có cùng kích thƣớc (> = 1) để cung cấp nhiều trọng lƣợng cho mỗi n t. -Nodesz: là một danh sách các kích thƣớc n t.Đây là có liên quan khi thực hiện phân vùng khối lƣợng dựa trên. Lƣu ý rằng tất cả trọng lƣợng và kích thƣớc phải là số nguyên không âm Ứng dụng phân chia bản đồ thu gom rác(hình ảnh minh họa) 18 Hình 2.9.Phân chia thu gom rác 2.4.3 P_center Là một bài toán phân chia đồ thị thành P phần với tầm ảnh hƣởng tại tâm các phần là ít nhất. Nói cách khác, đó là bài toán tối ƣu tìm cách phân chia đồ thị thành P phần sau cho tâm c a các phần có độ dài đƣờng đi đến các đỉnh còn lại c a phần đó là cực tiểu. P_center đƣợc xây dựng:   JjI,iY Jj,X IiYdW JjI,iXY PX IiY W ij j Jj ijij jij Jj j Jj ij             0 10 1s.t. Min W bằng khoảng cách tối đa.Mục tiêu c a W là để giảm thiểu khoảng cách tối đa giữa các n t nhu cầu bất kì và cơ sở phục vụ c a nó. 2.4.4. Công cụ trong arcgis ứng dụng nghiên cứu  Sử dụng Python trong ArcGIS Trong ArcGIS, có hai tùy chọn để làm việc và chạy các script python: trực tiếp trong ArcMap sử dụng cửa sổ , hoặc trong một môi trƣờng phát triển tích hợp (IDE) nhƣ PythonWin. 19 Python có thể chạy trực tiếp trong ArcGIS bằng cách nhấp vào n t Python tìm thấy trên thanh công cụ chuẩn. Bằng cách nhấn vào n t, cửa sổ python ArcMap c a mở.Cửa sổ python có thể đƣợc cập cảng bằng cách kéo nó vào thanh công cụ hoặc có thể đƣợc lƣu hành trên ArcMap. Cửa sổ python là phân chia thành hai phần: phần python nhanh chóng và sự gi p đ và c pháp cửa sổ.Dấu nhắc python đƣợc tìm thấy ở phía bên trái c a cửa sổ python và đây là phần mà nhắc nhở python có thể đƣợc gõ vào hoặc python script chạy.Phía bên phải c a cửa sổ cung cấp thông tin với c pháp thông tin đó xuất hiện khi một lệnh đƣợc gõ vào phía bên trái. Để tải một kịch bản viết trƣớc vào cửa sổ , nhấp chuột phải và chọn "tải" tùy chọn từ trình đơn. Điều hƣớng đến thƣ mục chứa các file python là cửa hàng và chọn. Nhấp vào n t "mở" để thêm các kịch bản để các cửa sổ. Để chạy một kịch bản nạp, nhấn vào n t "enter" trên bàn phím hai lần. Phía bên phải bây giờ s in ra bản cập nhật trạng thái trên kịch bản đang chạy. Chạy một kịch bản python trong ArcMap cho phép ngƣời dùng xem động kết quả đầu ra nhƣ kịch bản xử lý mỗi bƣớc xử lý dữ liệu. Python kịch bản cho quá trình ArcMap cũng có thể đƣợc chỉnh sửa và chạy trong một IDE.IDE là viết tắt c a môi trƣờng phát triển tích hợp.IDEs cho python kịch bản bao gồm IDLE, PythonWin, PyScripter.  Trong ArcGIS Network Analysis có công cụ phân tích mạng networkanalyst. Network Analyst : Tìm những đƣờng đi phức tạp, cơ sở gần nhất, và phân tích phân vùng dịch vụ.ArcGIS Network Analyst cung cấp chức năng phân tích không gian dựa trên hệ thống mạng lƣới nhƣ tuyến đƣờng, tuyến tàu, định hƣớng du lịch, cơ sở gần nhất, khu vực dịch vụ và location-allocation. Với ArcGIS Network Analyst, bạn có thể tự động lập mô hình mạng lƣới thực tế, bao gồm đƣờng một chiều, giới hạn r và độ cao, giới hạn tốc độ, và nhiều loại tốc độ khác nhau tùy vào tình hình giao thông. Bạn có thể dễ dàng xây dựng các mạng lƣới cho mình từ dữ liệu GIS bằng mô hình dữ liệu mạng lƣới phức tạp. Với ArcGIS Network Analyst, bạn có thể: -Tìm đƣờng đi ngắn nhất. -Xác định các tuyến đƣờng hiệu quả nhất cho đội xe phải đi đến nhiều địa điểm. -Sử dụng khung thời gian để giới hạn thời gian các phƣơng tiện có thể đi đến các địa điểm.Xác định các cơ sở gần nhất. -Xác định vị trí tối ƣu cho các cở sở bằng phân tích location-allocation. 20 -Xác định khu vực dịch vụ dựa trên thời gian di chuyển hoặc khoảng cách. -Tạo ra mạng lƣới dựa trên dữ liệu GIS hiện có c a bạn. -Tạo ra một ma trận chi phí đi lại tử mỗi điểm khởi hành cho tất cả các điểm đến. Location-allocation_vị trí phân bổ: Là công cụ trong phần mềm mở rộng Arrcgis Netwwork Analyst s xác định 1 vị trí tối ƣu cho 1 hoặc nhiều cơ sở để phục vụ nhu cầu c a dân cƣ xung quanh. Vị trí có thể gi p giữ cho chi phí cố định và chi phí thấp và khả năng tiếp cận cao tiện ích công cộng c a khu vực nhƣ trƣờng học, bệnh viện, thƣ viện, các trạm cứu hỏa, và các dịch vụ ứng phó khẩn cấp (ERS) trung tâm, có thể cung cấp dịch vụ chất lƣợng cao cho cộng đồng với chi phí thấp khi một vị trí tốt đƣợc chọn. Cơ sở cho rằng cung cấp hàng hóa và dịch vụ và một tập hợp các điểm nhu cầu tiêu thụ ch ng, mục tiêu c a vị trí phân bổ là để xác định vị trí các cơ sở trong một cách mà cung cấp các điểm nhu cầu một cách hiệu quả nhất.Nhƣ tên cho thấy, vị trí phân bổ là một vấn đề hai mặt đồng thời đặt cơ sở và phân bổ điểm nhu cầu cho các cơ sở.Ban đầu, nó có thể xuất hiện mà tất cả các vị trí phân bổ phân tích giải quyết cùng một vấn đề, nhƣng vị trí tốt nhất là không giống nhau cho tất cả các loại phƣơng tiện.Ví dụ, vị trí tốt nhất cho một trung tâm ERS là khác nhau hơn so với vị trí tốt nhất cho một nhà máy sản xuất. Cũng nhƣ việc ứng dụng cho việc QL CTRSH c a quận sử dụng vị trí phân bố vị trí thu gom rác với mục đích để xác định vị trí cơ sở là các điểm hẹn, ,TTC thỏa mãn các mục tiêu nhƣ các vị trí có khả năng chứa đựng đƣợc bao nhiêu khối lƣợng rác trong ngày hay với một khoảng cách nhất định thì có thể thu gom đƣợc bao nhiêu vị trí nguồn rác đã thu gom .Ngoài ra chức năng cũng có thể đặt các cơ sở mới là các vị trí để có thể thu gom hết đƣợc số lƣợng rác ở vị trí còn lại một cách hiệu quả trực quan. Với các chức năng riêng biệt nhƣ sau: Các ArcGIS phân tích định vị phân bổ lớp cung cấp bảy loại vấn đề khác nhau: - Minimize impedance_ Giảm thiểu trở kháng -Maximize coverage_ Tối đa hóa vùng bao ph -Maximize capacitated coverage_ Tối đa hóa vùng bao ph cho những ai -Minimize facilities_ Giảm thiểu các cơ sở -Maximize attendance_ Tối đa hóa tham dự -Maximize market share_ Tối đa hóa thị phần 21 -Target market share_ Mục tiêu thị phần. Đề tài ứng dụng ch yếu với chức năng (Maximize coverage_ Tối đa hóa vùng bao ph ).Để phân tích vị trí phân bổ thu gom. 2.5.Hiện trạng thu gom,vận chuyển chất thải của quận Thủ Đức 2.5.1 Hệ thống quản lí thu gom, vận chuyển rác c a quận Hình 2.10. Sơ đồ hệ thống quản lí nhà nƣớc về công tác QLCTR của quận Chú thích: :quản lí trực tiếp quản lí gián tiếp 2.5.2. Quy trình thu gom,vận chuyển chất thải rắn trên địa bàn quận Th Đức Hình 2.11 Quy trình thu gom,vận chuyển chất thải rắn c a quận 22 Nguồn phát sinh chất thải là các vị trí thu gom rác mà phát sinh từ những hộ gia đình,khu dân cƣ,chợ.. Điểm hẹn là điểm tập trung rác từ nguồn phát sinh(hộ gia đình..) đƣợc các công nhân vê sinh thu gom lại một nơi tập kết chờ xe đến vân chuyển tới trạm trung chuyển. Trạm trung chuyển là nơi lƣu giữ tập trung rác đã thu gom đƣợc vận chuyển đến nơi đây sau đó đƣợc vận chuyển đến nhà máy xử lí. Hay hiểu theo các khác trạm trung chuyển rác là nơi tập kết rác thải từ các đơn vị thu gom cá nhân trƣớc khi đƣợc đƣa đi xử lý ở những bãi rác.Là nơi tiếp nhận rác từ xe thu gom nhỏ sang xe có tải trọng lớn vận chuyển đến khu xử lí. Thu gom chất thải rắn là hoạt động tập hợp, phân loại, đóng gói và lƣu giữ tạm thời chất thải rắn tại nhiều điểm thu gom tới địa điểm hoặc cơ sở đƣợc cơ quan nhà nƣớc có thẩm quyền chấp thuận. Vận chuyển chất thải rắn là quá trình chuyên chở chất thải rắn từ nơi phát sinh, thu gom, lƣu giữ, trung chuyển đến nơi xử lý, tái chế, tái sử dụng hoặc bãi chôn lấp cuối cùng. Chôn lấp chất thải rắn hợp vệ sinh là hoạt động chôn lấp phù hợp với các yêu cầu c a tiêu chuẩn kỹ thuật về bãi chôn lấp chất thải rắn hợp vệ sinh 2.5.3 Hiện trạng các điểm hẹn,các trạm trung chuyển chất thải rắn c a quận Th Đức.  Hiện trạng các điểm hẹn,các trạm trung chuyển chất thải rắn của quận Thủ Đức.theo từng giai đoạn năm 2015. Bảng 2.2. Tổng hợp lộ trình,cự ly thu gom vận chuyển chất thải rắn sinh hoạt về trạm trung chuyển 12A Quang Trung & khu liên hiệp xử lí chất thải rắn Đa Phƣớc giai đoạn (31/12/2014 đến 30/3/2105): STT Lộ Trình KhốiLƣợng (tấn/ngày) Cự ly (km) Tấn.km/ngày Lộ trình thu gom vận chuyển CTRSH bằng xe ép 4 tấn về TTC 12A Quang Trung Lộ trình 1 5 28.44 142.2 1 Điểm hẹn Chợ Th Đức 3.5 29.35 102.73 2 Điểm hẹn Gò Dƣa 1 27.45 27.45 3 Điểm hẹn Linh Tây 0.5 24.05 12.03 Lộ trình 2 4 28.45 113.8 1 Điểm hẹn gần chợ Th Đức 4 28.45 113.8 Lộ trình 3 4 27.7 110.8 1 Điểm hẹn gần chợ Linh Trung 4 27.7 110.8 Lộ trình 4 12 27.53 330.3 1 Điểm hẹn gần chợ Linh Xuân 1 6 28.6 171.6 23 2 Điểm hẹn gần chợ Linh Xuân 2 6 26.45 158.7 Lộ trình thu gom vận chuyển CTRSH bằng xe ép 10 tấn về khu liên hiệp xử lí CTR Đa Phƣớc 320 tấn mỗi ngày Lộ trình 1 112.5 46 5175 1 TTC Sở Gà 112.5 46 5175 Lộ trình 2 52.5 43.61 2289.75 1 Điểm hẹn Linh Trung Khu phố 6 12.5 50.7 633.75 2 Điểm hẹn Linh Xuân 6 46.5 279 3 TTC Linh Xuân 34 40.5 1377 Lộ trình 3 21 40.5 850.5 1 TTC Linh Xuân 21 40.5 850.5 Lộ trình 4 42 46.5 1953 1 Điểm hẹn Bình Chiểu 24 51 1224 2 TTC Linh Xuân 18 40.5 729 Lộ trình 5 34.5 39.09 1348.65 1 Điểm hẹn Linh Trung đƣờng số 12 5 41.9 209.5 2 TTC Bệnh Viện 24.5 39.7 972.65 3 TTC Trƣờng Thọ 5 33.3 166.5 Lộ trình 6 23.5 36.21 850.95 1 Điểm hẹn Gò Dƣa 12 39 468 2 TTC Trƣờng Thọ 11.5 33.3 382.95 Lộ trình 7 34 35.75 1215.4 1 TTC Bệnh Viện 13 39.7 516.1 2 TTC Trƣờng Thọ 21 33.3 699.3 Bảng 2.3. Tổng hợp lộ trình,cự ly thu gom vận chuyển chất thải rắn sinh hoạt về TTC 12A Quang Trung& khu liên hiệp xử lí chất thải rắn Đa Phƣớc giai đoạn (31/3/2015 đến 30/12/2105) STT Lộ Trình Khối Lƣợng(tấn/ngày) Cự ly(km) Tấn.km/ngày Lộ trình thu gom vận chuyển CTRSH bằng xe ép 4 tấn về TTC 12A Quang Trung Lộ trình 1 5 28.44 142.2 1 Điểm hẹn Chợ Th Đức 3.5 29.35 102.73 2 Điểm hẹn Gò Dƣa 1 27.45 27.45 3 Điểm hẹn Linh Tây 0.5 24.05 12.03 Lộ trình 2 4 28.45 113.8 24 1 Điểm hẹn gần chợ Th Đức 4 28.45 113.8 Lộ trình 3 4 27.7 110.8 1 Điểm hẹn gần chợ Linh Trung 4 27.7 110.8 Lộ trình 4 12 27.53 330.3 1 Điểm hẹn gần chợ Linh Xuân 1 6 28.6 171.6 2 Điểm hẹn gần chợ Linh Xuân 2 6 26.45 158.7 Lộ trình thu gom vận chuyển CTRSH bằng xe ép 10 tấn về khu liên hiệp xử lí CTR Đa Phƣớc 320 tấn mỗi ngày Lộ trình 1 118.5 46 5451 1 TTC Sở Gà 118.5 46 5451 Lộ trình 2 56.5 43.2 2440.95 1 Điểm hẹn Linh Trung Khu phố 6 12.5 50.7 633.75 2 Điểm hẹn Linh Xuân 6 44.7 268.2 3 TTC Linh Xuân 38 40.5 1539 Lộ trình 3 21 40.5 850.5 1 TTC Linh Xuân 21 40.5 850.5 Lộ trình 4 44 46.23 2034 1 Điểm hẹn Bình Chiểu 24 51 1224 2 TTC Linh Xuân 20 40.5 810 Lộ trình 5 34 38.99 1325.6 1 Điểm hẹn Linh Trung đƣờng số 12 5 41.9 209.5 2 TTC Bệnh Viện 23.5 39.7 932.95 3 TTC Trƣờng Thọ 5.5 33.3 183.15 Lộ trình 6 11.5 33.3 382.95 1 TTC Trƣờng Thọ 11.5 33.3 382.95 Lộ trình 7 34.5 35.9 1238.45 1 TTC Bệnh Viện 14 39.7 55.8 2 TTC Trƣờng Thọ 20.5 33.3 682.65  Hiện trạng các điểm hẹn,các trạm trung chuyển chất thải rắn của quận Thủ Đức hiện nay. Hiện nay các TTC, các điểm tập kết rác gây ô nhiễm môi trƣờng trầm trọng nhƣ trạm trung chuyển rác tại khu phố 7, phƣờng Hiệp Bình Chánh, quận Th Đức.Mà còn tự phát,lấn sang nhiều khu dân cƣ,chợ nơi sinh sông c a nhiều ngƣời dân nhƣ bô rác Th 25 Đức trên đƣờng Lê Văn Chí, phƣờng Linh Trung bên cạnh Bệnh viện Đa khoa Th Đức đang gây ô nhiễm rất nghiêm trọng.Dƣới đây là một số hình ảnh minh họa: Hình 2.12. Bãi rác trên đƣờng Lê Văn Chí Hình 2.13. Trạm trung chuyển rác nằm gần chợ và nhà dân ven đƣờng Kha Vạn Cân, phƣờng Hiệp Bình Chánh 2.6.Bài toán phân bổ thu gom chất thải rắn theo vị trí tại khu dân cƣ. 2.6.1 Phân tích bài toán. Cho một mạng lƣới tuyến đƣờng và n địa điểm( A,B,C,D,E,F) là các vị trí thu gom rác trong quận.(Hình 2.11).Bài toán đặt ra là tìm các điểm hẹn,các trạm trung chuyển thích hợp.Phân bố tƣơng đối đồng đều về mặt không gian theo một chu trình tối ƣu. 26 Hình 2.14. Mô hình bài toán. 2.6.2 Mô hình thực thi bài toán. Khai báo: Ma trận kề:với 0 là cặp đỉnh(i,i);9999 là cặp đỉnh (i;j) Giá trị (i;j) = (j;i) nếu đồ thị vô hƣớng Giá trị (i;j) = -(j,i) nếu đồ thị có hƣớng Hình 2.15 Hiển thị thông tin ở dạng ma trận kề Lập trình trên python nhƣ sau: IDLE 2.6.5 >>> import os >>> import sys >>> import math >>> class GISGraph: V_nums = 0 # so dinh cua do thi (Gph) 27 E_set = [] # tap canh cua do thi Gph = [] # Ma tran do thi: V_nums x V_nums Pro = [] # Ma tran luy thua: V_nums x V_nums 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()) # doc so dinh cua do 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 do 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): 28 for q in range(self.V_nums): if (p == q): self.Pro[p][q] = 0 else: if self.Gph[p][q] == 9999: self.Pro[p][q] = sys.maxint else: self.Pro[p][q] = self.Gph[p][q] Thực thi kết quả hiển thị nhƣ sau: >>> gg = GISGraph ("C:\\BT\\matrix3.txt") >>> gg.Pro [[0, 9, 12, 10, 2147483647, 2147483647], [9, 0, 13, 2147483647, 17, 2147483647], [12, 13, 0, 8, 7, 2147483647], [10, 2147483647, 8, 0, 13, 7], [2147483647, 17, 7, 13, 0, 9], [2147483647, 2147483647, 2147483647, 7, 9, 0]] >>> gg.V_nums 6 >>> gg.E_set [] IDLE 2.6.5 >>> import os >>> import sys >>> import math class GISGraph: V_nums = 0 # so dinh cua do thi (Gph) E_set = [] # tap canh cua do thi Gph = [] # Ma tran do 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) 29 self.V_nums = int(f.readline()) # doc so dinh cua do 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 do 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] = 0 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 = "" 30 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 do 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 nay tra ve 0 neu khong doi, tra ve 1 neu co it nhat 1 gia tri doi. chgVal = 0 # Gia tri thay doi. Neu co thay doi thi chgVal = 1 # khai bao ma tran tam 1 ProTemp1 = [] ProTemp1 = [[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): ProTemp1[p][q] = self.Pro[p][q] # khai bao ma tran tam 2 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: 31 # self.Pro = [[0 for i in range(self.V_nums)] for j in range(self.V_nums)] # khong can thiet vi dinh nghia trong 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 = 1 self.Pro[p][q] = myMin return chgVal # Neu co thay doi, thi gia tri se > 0; nguoc lai gia tri tra ve la 0 (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 trong 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 nay idx = idx + 1 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): 32 self.P_center_list[p] = p else: if (self.weight_set[len(self.weight_set)-1] < giatriNguong): # Neu giaTriNguong qua qua cao thi lay 1 dinh bat ki: self.P_center_list = [0] else: # truong hop nguong nam trong gia tri mang: remove_list = [] #Chon cac dinh co min 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): # khi min gia tri ma van lon hon thi chon dinh do self.P_center_list.append(p) remove_list.append(p) # con lai chon cac dinh co bac cao va dua cac dinh phu thuoc vao trong remove_list: while (len(remove_list) < self.V_nums): min_MAX = sys.maxint p_Max = 0 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 = 0 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): 33 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] <= giatriNguong)): remove_list.append(q) Thực thi kết quả hiển thị: >>> gg = GISGraph("C:\\BT\\matrix3.txt") >>> gg.TinhToanDuongDiNganNhat() 1 >>> gg.TinhToanDuongDiNganNhat() 0 >>> gg.P_center(4) >>> gg.P_center_list [0, 1, 2, 3, 4, 5] >>> gg.P_center(7) >>> gg.P_center_list [0, 1, 2, 3] >>> gg.P_center(200) gg.P_center_list 34 CHƢƠNG 3: PHƢƠNG PHÁP NGHIÊN CỨU 3.1 Dữ liệu 3.1.1. Dữ liệu không gian Bảng 3.1 Mô tả dữ liệu không gian STT Tên lớp Nội Dung Định dạng 1 Diem_thu_gom Điểm thu gom là điểm vị trí thu gom rác. point 2 Diem_hen Diem_trung_chuyen Điểm hẹn,Trạm trung chuyển là nơi tập kết rác đã thu gom để vận chuyển đến nhà máy xử lí, bãi chôn lấp point 3 Giao_thong Giao thông là đƣờng giao thông c a quận. line 4 Thu_Duc Th Đức là ranh giới các phƣờng trong quận polygon 3.1.2 Dữ liệu thuộc tính: Thu_Duc.shp là trong đó chứa tên phƣờng,diện tích,dân số,mật độ Giao_thong.shp chứa tên,loại đƣờng Diem_thu_gom chứa thông tin tên các các điểm Diem_hen, Diem_trung_chuyen chứa thông tin tên, tọa độ X;Y, địa chỉ 3.2. Phƣơng pháp -Phƣơng pháp nghiên cứu các cơ sở lý thuyết -Phƣơng pháp thu thập thông tin, số liệu,dữ liệu đầu vào. -Phƣơng pháp phân tích mạng lƣới -Phƣơng pháp thành lập bản đồ. 35 Hình 3.1 Sơ đồ phương pháp nghiên cứu Chi tiết quy trình thực hiện: Thu thập dữ liệu Xây dựng cơ sở dữ liệu Phân tích mạng lƣới Thành lập bản đồ Đặc điểm tự nhiên,xã hội các cơ sở lí thuyết liên quan. -Dữ liệu nền: Thu_duc.shp;giao_thong.shp. -Thu thập các vị trí thu gom rác;điểm hẹn; trạm trung chuyển c a quận. -Cấu hình phân tích mạng. -Thêm một dữ liệu mạng. -Tạo các lớp phân tích mạng. -Thêm đối tƣợng phân tích mạng. -Thiết lập thuộc tính phân tích mạng. -Thực hiện các phân tích và hiển thị kết quả. Phân bổ vị trí thu gom CTRSH cho cơ sở. Tối ƣu cơ sở thích hợp để thu gom vị trí rác. 36 Bƣớc 1: Thu thập dữ liệu -Dữ liệu nền: Thu_Duc.shp; giao_thong.shp -Dữ liệu thuộc tính cho các điểm hẹn,trạm trung chuyển Hình 3.2 Hiển thị bản đồ nền quận Thủ Đức. Bƣớc 2:Xây dựng cơ sở dữ liệu -Tạo mạng lƣới giao thông Hình 3.3 Hiển thị giao lộ đường giao thông -Xây dựng lớp vị trí thu gom, điểm hẹn và trạm trung chuyển. 37 Hình 3.4 Hiển thị các lớp vị trí thu gom, điểm hẹn và trạm trung chuyển -Xây dựng dữ liệu điểm hẹn:dựa theo lộ trình c a quận( tài liệu sở tài nguyên môi trƣờng TP.HCM cung cấp Hình 3.6 Hiển thị dữ liệu thuộc tính Bƣớc 3:Phân tích mạng lƣới -Bật thanh công cụ,cửa sổ trong network analyst. 38 Hình 3.6 Hiển thị chức năng netwwork analyst. -Thêm dữ liệu mạng lƣới( duong_ND2_Netwwokanalyst). Hình 3.7 Hiển thị add dữ liệu mạng lưới -Tạo các lớp phân tích mạng:lớp phân tích vị trí phân bổ 39 Hình 3.8 Hiển thị lớp phân tích mạng(New Location-Allocation) Hình 3.9. Hiển thị chức năng phân bổ vị trí -Thêm đối tƣợng phân tích mạng:Demo 1 với Facilities_Điểm cơ sở là các trạm trung chuyển rác,demand point_nhu cầu điểm là các vị trí thu gom rác. Hình 3.10 Hiển thị khi thêm đối tương phân tích mạng 40 -Thiết lập thuộc tính phân tích mạng: Demo 1 với Facilities_Điểm cơ sở là các trạm trung chuyển rác,demand point_nhu cầu điểm là các vị trí thu gom rác.Impedance cutoft_trở kháng cutoft là 10000 meter( nghĩa là trạm trung chuyển s thu đƣợc bao nhiêu vị trí thu gom với điều kiện trên). Trở kháng Cutoff định trở kháng tối đa mà một điểm nhu cầu có thể đƣợc phân bổ cho một cơ sở. Các trở kháng tối đa đƣợc đo bằng con đƣờng chi phí thấp nhất cùng mạng. Hình 3.11:Hiển thị thuộc tính của TTC Hình 3.12 Hiển thị thông tin thuộc tính cho vị trí thu gom -Mô tả trƣờng dữ liệu trong bảng thuộc tính: 41 Sourceid:Các định dạng số c a các lớp đối tƣợng nguồn vị trí mạng có vị trí trên. SourceOID: Các định dạng số c a tính năng nguồn. PosAlong: Các vị trí theo hƣớng số hóa c a các tính năng dòng mã nguồn. Giá trị này đƣợc lƣu trữ nhƣ là một tỷ lệ; Tuy nhiên, nó là null nếu vị trí mạng tham chiếu đến một ngã ba. SideOfEdge: Các bên cạnh liên quan đến hƣớng số hóa c a các tính năng dòng. DemandCount: Trƣờng này chứa tổng điểm nhu cầu phân bổ cho cơ sở.Một giá trị khác không có nghĩa là cơ sở đã đƣợc lựa chọn nhƣ là một phần c a giải pháp. DemandWeight: Trƣờng này chứa một tổng trọng lƣợng có hiệu lực từ tất cả các điểm cầu đã đƣợc phân bổ cho cơ sở.Giá trị là một tổng c a tất cả các giá trị trọng lƣợng từ các điểm cầu đã đƣợc phân bổ cho cơ sở. Trong trƣờng hợp sự tham dự tối đa hóa và thị phần các loại vấn đề, giá trị là một số tiền phân bổ c a các giá trị trƣờng Trọng lƣợng, vì các loại vấn đề cho phép cầu bị hƣ hỏng với khoảng cách hoặc đƣợc phân chia giữa nhiều thiết bị. Total_ [Trở kháng](ví dụ, Total_Miles, nơi Miles là trở kháng cho mạng) : Trƣờng này chứa một khoản chi phí mạng giữa các cơ sở và mỗi điểm cầu đã đƣợc phân bổ cho cơ sở. Các [Trở kháng] phần c a tên trƣờng đƣợc thay thế bằng mạng tên thuộc tính, ví dụ,Total_Meters, nơi Meters là tên c a thuộc tính mạng. TotalWeighted_ [Trở kháng](ví dụ,TotalWeighted_Miles,nơi Miles là trở kháng cho mạng) : lĩnh vực này lƣu trữ các chi phí trọng tích lũy cho một cơ sở.Chi phí trọng cho một điểm cầu là trọng lƣợng c a nó nhân với đƣờng chi phí thấp nhất giữa các cơ sở và các điểm cầu.Các chi phí cân nhắc đối với một cơ sở là tổng hợp c a tất cả các chi phí có trọng điểm nhu cầu đó đƣợc phân bổ cho cơ sở. 42 Bƣớc 4: Hiển thị kết quả Hình 3.13 : Hiển thị kết quả phân bổ vị trí thu gom CTRSH với điều kiện trở kháng là 10 km Hình 3.14 Hiển thị kết quả khi phân tích phân bổ vị trí CTRSH với điều kiện trở kháng là 10 km. Demo2: Facilite_cơ sở là điểm hẹn( 11 vị trí) và điều kiện trở kháng là 1000 meter. 43 Hình 3.15: Hiển thị các khi add các đối tượng phân tích 44 Hình 3.16: Hiển thị các tab Advanced Settings Hình 3.17. Hiển thị phân bổ vị trí thu gom đối với điểm cơ sở là điểm hẹn. 45 Hình 3.18 Hiển thị thuộc tính của phân bổ vị trí thu gom đối với điểm hẹn Demo 3 Facilites_cơ sơ là điểm hẹn và khoảng cách là 500meter Hình 3.19 Hiện thị add các cơ sở( diem_hen) phân bổ vị trí thu gom với khoảng cách 500 meter 46 Hình 3.20 Hiện thị các thông tin thuộc tính khi phân tích vị trí phân bổ của điểm hẹn với khoảng cách là 500 meter. 47 CHƢƠNG 4 KẾT QUẢ VÀ THẢO LUẬN 4.1. Kết quả: -Bản đồ thể hiện phân bổ vị trí thu gom rác các đối với cơ sở là các trạm trung chuyển c a quận. Hình 4.1 Hiển thị bản đồ thể hiện phân bổ vị trí thu gom rác các đối với trạm trung chuyển 48 -Bản đồ tối ƣu vị trí thu gom. Hình 4.2 Bản đồ tối ưu vị trí thu gom của quận Thủ Đức 4.2. Thảo luận Với đề tài nghiên cứu phân bổ vị trí thu gom rác trên chỉ dừng lại ở phần quản lí các vị trí thu gom, điểm hẹn, trạm trung chuyển ở mặt không gian hiển thị trên bản đồ.Với việc ứng dụng Gis đặc biệt sử dựng các công cụ phân tích mạng lƣới đã gi p cho việc phân bổ vị trí thu gom đƣợc trực quan hơn.Tuy nhiên vẫn còn tồn tại một số vấn đề là dữ liệu bài làm chỉ là demo sơ lƣợc chƣa đạt đƣợc kết 49 quả thực tế.Nhƣng với đề tài nghiên cứu trên cũng chỉ ra đƣợc tầm quan ứng dụng c a Gis trong bài toán phân bổ thu gom vị trí CTRSH.Với mục tiêu chính để phân bổ vị trí thu gom CTRSH c a quận Từ đó gi p xây dựng và quản lí đƣợc các điểm tập kết,các trạm trung chuyển,điểm thu gom hiển thị trên bản đồ trực quan và dễ hiểu hơn rất nhiều.Đặc biệt ứng dụng Gis còn tạo đƣợc cơ sở mới để quản lí các vị trí thu gom mà không bỏ xót vị trí nào hay hiển thị các điểm thu gom với các điểm hẹn,trạm trung chuyển trên bản đồ.Đề tài nghiên cứu phân bổ vị trí theo khu dân cƣ dựa trên khoảng cách với đơn vị là meter.Ngoài ra trên thực tế có thể xây dựng đƣợc cơ sở dữ liệu thời gian thu gom,vận chuyển; và biết đƣợc khối lƣợng thu gom theo ngày,tháng ,năm chứa đựng tối đa c a CTR ở mỗi điểm hẹn hay trạm trung chuyển thì việc quản lí, phân bổ vị trí thu gom s đem lại hiệu quả hơn rất nhiều đối với quản lí cấp quận 50 CHƢƠNG 5 KẾT LUẬN,KIẾN NGHỊ 5.1 Kết Luận -Với việc ứng dụng c a lí thuyết đồ thị và các công cụ trong arcgis nhƣ công cụ phân tích mạng lƣới đã hỗ trợ bài toán phân bổ vị trí thu gom CTRSH với các mục tiêu quan trọng đó là : +Phân tích tìm ra vị trí phân bổ thu gom rác theo cơ sở các điểm hẹn;trạm trung chuyển. + Tối ƣu các vị trí thu gom bằng cách xây dựng cơ sở chọn các trạm trung chuyển, điểm hẹn để việc thu gom hiệu quả -Bằng việc hiển thị không gian trên bản đồ Gis còn lƣu trữ đƣợc thông tin dữ liệu khá lớn do vậy mà gi p cho việc quản lí, tìm kiếm thông các vị trí thu gom,các điểm hẹn, các trạm trung chuyển đƣợc dễ dàng.Ngoài ra còn giải quyết các bài toán các điểm rác tự phát c a quận. 5.2 Kiến nghị -Từ đề tài nghiên cứu trên một số phƣơng pháp đƣợc mở rộng,cần bổ sung nhƣ: +Thu thập dữ liệu bên quản lí CTRSH về vị trí thu gom,điểm hẹn,trạm trung chuyển,khối lƣợng, thời gian thu gom vận chuyển có nhƣ thế bài toán đƣợc đa dạng và thực tế và đem lại kết quả cao đối với ngƣời quản lí cũng nhƣ bảo vệ cuộc sống c a ngƣời dân,môi trƣờng,đô thị đƣợc đảm bảo hơn. +Đề tài nghiên cứu có thể ứng dụng đƣợc trên địa bàn nhiều quận khác nhau.Hoặc ứng dụng với mô hình quản lí rộng hơn nhƣ ở Tỉnh,Thành phố. 51 TÀI LIỆU THAM KHẢO  Tài liệu sách tham khảo: -Đồ thị và các thuật toán c a tác giả PGS.TS.Hoàng Chí Thanh - Hệ thống thông tin địa lý đại cƣơng c a các tác giả Nguyễn Kim Lợi, Lê Cảnh, Trần Thống Nhất 2009 -Hệ thống thông tin địa lý nâng cao. NXB Nông nghiệp, Tp.Hồ Chí Minh  Các wesite tham khảo: - - https://www.python.org/ - allocation.htm. - - https://vi.wikipedia.org/ - https://vi.wikipedia.org/ - ran-sinh-hoat-tren-dia-ban-quan-thu-duc-49896/.

Các file đính kèm theo tài liệu này:

  • pdfluongthiphuong_972.pdf
Luận văn liên quan