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.
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:
- luongthiphuong_972.pdf