Thư viện lập trình cho phép các nhà phát triển yêu cầu và thao tác dữ liệu Google Maps thông qua các phương thức lớp. Maps API là một dịch vụ không phải mã nguồn mở nhưng được cung cấp miễn phí đối với các nhà lập trình.
Google Maps API là một bộ sưu tập thư viện cho phép người dùng chồng dữ liệu của riêng của mình trên một Bản đồ Google tùy chỉnh. Người dùng có thể tạo các ứng dụng trên web và di động với nền tảng lập bản đồ mạnh mẽ của Google, bao gồm hình ảnh vệ tinh, chế độ xem phố, cấu hình độ cao, chỉ đường lái xe, bản đồ theo kiểu, nhân khẩu học, phân tích và một cơ sở dữ liệu mở rộng về địa điểm.
a. Bản đồ nền Google Maps:
Bản đồ nền Google Maps được chèn vào trong trang Web giám sát cháy rừng bằng đoạn mã javascript theo cấu trúc như sau:
''<script type="text/javascript"> function initialize() { var myOptions = {
center: new google.maps.LatLng(-34.397, 150.644), zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new
google.maps.Map(document.getElementById("map_canvas"),myOptions); }
</script>''
- Center: một điểm làm trung tâm của bản đồ.
- Zoom: độ zoom được quy định khi Map được tải.
- Map type: loại Map được hiển thị sau khi tải xong. có 4 loại để chọn: ROADMAP, SATELLITE, HYBRID, TERRAIN.
- Map object: Xác định id html chứa đối tượng Map với tùy chọn "myOptions" như trên.
b. Lớp phủ trên bản đồ:
Lớp phủ (overlays) là các đối tượng trên bản đồ và được xác định bằng vĩ độ, kinh độ nên nó sẽ di chuyển cùng bản đỗ khi kéo hoặc zoom bản đồ. Lớp phủ phản ánh các đối tượng mà người dùng thêm vào bản đồ như điểm (points), đoạn thẳng (line), vùng (areas), hoặc các bộ sưu tập đối tượng (collections of object)như: 1 khu vực công nghiệp, khu vực ven sông, khu vui chơi giải trí...
Sau khi tải được bản đồ có thể chèn thêm các đoạn chương trình xây dựng lớp phủ sau khi đối tượng map được khởi tạo. Các loại lớp phủ cơ bản như sau: markers, polylines, areas, info windows, polygons.
30
Thêm các lớp phủ: Đầu tiên phải xác định lớp phủ nào cần xây dựng để có thể hiên thị trên Map. Thêm lớp phủ trực tiếp lên bản đồ sử dụng phương thức setmap().
Các loại lớp phủ cơ bản được sử dụng xây dựng các lớp đối tượng trong giám sát cháy rừng:
Markers: Markers dùng để xác định một điểm bằng cách lựa chọn trực tiếp trên bản đồ hoặc đánh dấu địa điểm dựa trên vĩ độ và kinh độ. Theo mặc định sử dụng biểu tượng (icon) của google làm hình ảnh hiện lên điểm đánh dấu. Hoặc muốn một icon khác thì gọi phương thức setIcon().Sau đây là các trường thuộc tính của Markers:
var marker = new google.maps.Marker({ position: myLatlng, map: map, icon:icon, title:"Hello World!", draggable:true, animation:google.maps.Animation.DROP });
- Position (bắt buộc): quy định là tọa độ LatLng của điểm được đánh dấu.
- Map (tùy chọn): quy định đối tượng bản đồ được đánh dấu.
- Icon (tùy chọn): hình ảnh tùy chọn hiển thị thay thế hình ảnh mặc định. Dùng tùy chọn này thay cho phương thức marker.setIcon(link đến hình ảnh trong thư mục).
- Title (tùy chọn): tiêu đề của địa điểm.
- Draggable (tùy chọn): thuộc tính động của điểm đánh dấu, thể hiện sự chuyển động của điểm được đánh dấu. Nếu TRUE tính động được khởi động.
- Animation: cách thức chuyển động của điểm đánh dấu.
Đối với hệ thống hỗ trợ giám sát cháy rừng lớp đối tượng Markers sử dụng nhằm biểu diễn vị trí các điểm cháy rừng và vị trí các trạm quan trắc khí tượng.
Polylines: Polylines dùng để thể hiện đường kết nối trên bản đồ dựa vào các tọa độ. Các đoạn thẳng được hiển thị với các tùy chọn cho nó như màu sắc, độ đậm nhạt, độ rộng cùa đường. Phải có tối đa 2 điểm để tạo nên 1 đường thẳng.
Cũng giống như lớp phủ Markers ta khai báo lớp phủ Polyline và các thuộc tính của nó như sau:
new google.maps.Polyline({ path:
//giá trị là một mảng chứa các tọa độ cần nối với nhau strokeColor: "#FF0000",// tùy chọn màu sắc
strokeOpacity: 1.0,
//độ đậm nhạt của màu sắc strokeWeight: 2//độ rộng của đường })
31
Polygon: Cũng giống như đối tượng Polylines, Polygon xây dựng dựa trên một loạt các tọa độ, tuy nhiên thay vì mở thì nó hoàn toàn khép kín trong một khu vực.
new google.maps.Polygon({
paths: triangleCoords,//tập tọa độ với tọa độ đầu trùng tọa độ cuối. strokeColor: "#FF0000",//màu sắc của đường nối điểm
strokeOpacity: 0.8,//độ đậm nhạt
fillOpacity: 0.35//độ đậm nhạt của đa giác });
Đối với hệ thống hỗ trợ giám sát cháy rừng lớp đối tượng Polygon sử dụng nhằm biểu diễn các cánh rừng, phạm vi cảnh báo cháy.
Infowindows: Infowindows là một cửa sổ hiển thị các thông tin khi người dùng cần tham khảo thêm về một đối tượng trên bản đồ. Tạo một Infowindows cũng giống như các lớp phủ khác:
new google.maps.InfoWindow({
content: 'text'//chứa nội dung Infowindows });
Gọi thủ tục Infowindows.open() để có thể mở cửa sổ. Đối tượng này được sử dụng để hiển thị thêm các thông tin về thông tin địa chỉ, thông số khí tượng tại địa điểm xảy ra cháy, các thông số khí tượng tại các trạm quan trắc theo dữ liệu quan trắc.
c. Sự kiện:
Một số đối tượng trong Maps API được thiết kế để đáp ứng với sự kiện người sử dụng (chẳng hạn như các sự kiện chuột hoặc bàn phím). Một đối tượng google.maps.Marker có thể lắng nghe người sử dụng các sự kiện sau đây:
- 'click': Bấm đơn chuột trái lên đối tượng;
- 'dblclick': Bấm kép chuột trái lên đối tượng;
- 'mouseup': Thả chuột chuột sau khí bấm;
- 'mousedown': Bấm đơn chuột lên đối tượng;
- 'mouseover': Con trỏ chuột di chuyển trên đối tượng;
- 'mouseout': Con trỏ chuột di chuyển rời khỏi đối tượng; Một sự kiện được gọi như sau:
google.maps.event.addListener(đối tượng, sự kiện gọi, function() {}
Các sự kiện được sử dụng trong hệ thống nhằm xử lý các thao tác của người sử dụng: Bấm vào điểm cháy để xem thông tin, hiển thị các cửa sổ Infowindows.
Trong phạm vi nghiên cứu của luận văn, tác giả không xây dựng máy chủ bản đồ riêng do không đủ thời gian cũng như kinh phí, mà sử dụng bản đồ nền của Google cùng các hàm Google Maps API để chèn, thao tác, xử lý các lớp đối tượng của hệ thống giám sát cháy rừng.Ưu điểm là hệ thống gọn, nhẹ, tốc độ xử lý đồ họa bản đồ
32
nhanh. Tuy nhiên hệ thống phụ thuộc vào các điều khoản sử dụng bởi nhà cung cấp dịch vụ. Đây là giải pháp ban đầu nhằm tập trung vào nhiệm vụ nghiên cứu chính của luận văn.
KẾT LUẬN CHƢƠNG 1
Như đã trình bày ở trên, việc nắm bắt thông tin về vụ cháy nhanh chóng và kịp thời sẽ có tác dụng rất lớn trong việc ngăn chặn, hạn chế những đám cháy phát triển lớn, lan rộng, có phương án huy động và triển khai lực lượng, phương tiện, các lực lượng hỗ trợ được hiệu quả, thời gian đến đám cháy nhanh, thời gian đám cháy phát triển tự do ngắn, việc dập tắt đám cháy được dễ dàng, không mất nhiều thời gian và chất chữa cháy, ít gây thiệt hại về tính mạng con người cũng hạn chế thấp nhất thiệt hại về tài sản.
Các hệ thống giám sát phát hiện cảnh báo cháy rừng hiện đang sử dụng có nhiều ưu điểm, tuy nhiên vẫn tồn tại vấn đề chi phí giá thành lắp đặt ban đầu cũng như trong quá trình vận hành sử dụng (hệ thống Fire Watch) hay lượng dữ liệu chưa đa dạng phong phú, các chức năng mở rộng cho thống kê báo cáo còn thiếu.
Từ những thực tế trên, đề tài đi sâu nghiên cứu xây dựng một hệ thống thông tin địa lýtheo mô hình WebGIS trên nền bản đồ số Google Maps nhằm hỗ trợ giám sát cháy rừng phục vụ công tác PCCCR cũng như phục vụ công việc nghiên cứu phân tích. Đồng thời kết hợp, ứng dụng những tiến bộ khoa học trong lĩnh vực giám sát cháy rừng dựa trên dữ liệu vệ tinh hoàn toàn miễn phí tích hợp dữ liệu khí tượng, đặc tính rừng sẽ giúp chỉ huy chữa cháy có thời gian nắm bắt các phương án chữa cháy chữa cháy rừng đã được lập cũng như địa bàn và khả năng triển khai đội hình chữa cháy, qua đó có thể định hình được chiến thuật dập tắt đám cháy, số lượng cán bộ, chiến sĩ, nhân dân cần huy động và những phương tiện cần thiết. Công tác chỉ huy được thuận tiện, có sự phối hợp đồng bộ với lực lượng chữa cháy tại chỗ, cũng như sự phối hợp với lãnh đạo, chủ rừng, đề ra những biện pháp tốt nhất trong cả quá trình tổ chức công tác chữa cháy.
33
CHƢƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG