Trong hình vẽ minh hoạ 2.11, các thành phần của Mapfile bao gồm đối tƣợng MAP, các lớp dữ liệu LAYER, các nhãn LABEL và các thuộc tính Feature.
Đối tƣợng MAP:
Đối tƣợng chủ của mapfile. Nó định nghĩa những tham số của ứng dụng bản đồ.
EXTENT[minx][miny][maxx][maxy]
Kích thƣớc không gian của bản đồ đƣợc tạo. Trong hầu hết các trƣờng hợp ta cần xác định giá trị này, mặc dù mapserver đôi lúc cũng có thể tính giá trị này nếu chƣa đƣợc xác định.
FONTSET[filename]: Filename đƣờng dẫn đến file fontset đƣợc sử dụng. Có thể là đƣờng dẫn tƣơng đối đến mapfile, hay đƣờng dẫn tuyệt đối.
IMAGECOLOR[r][g][b]: Màu khởi tạo bản đồ (màu nền).
IMAGETYPE[gif|png|jpeg|wbmp|gtiff|swf|userddefined]: Định dạng hình ảnh xuất ra.
SHAPEPATH[filename]: Chỉ đến đƣờng dẫn chứa những shapefile.
STATUS [on|off]: Xác định bản đồ có đƣợc vẽ hay không. Đôi lúc bản đồ không đƣợc vẽ để chỉ hiện bản đồ tham khảo hay thanh tỉ lệ.
Đối tƣợng LAYER:
Đây là đối tƣợng đƣợc sử dụng nhiều nhất trong mapfile. Nó mô tả những lớp (layer) đƣợc sử dụng để sinh ra bản đồ. Các lớp đƣợc vẽ theo thứ tự xuất hiện của nó trong mapfile (lớp đầu tiên nằm ở dƣới cùng, lớp cuối cùng nằm ở trên cùng). Mỗi lớp layer phải có 1 class. Trong trƣờng hợp có nhiều hơn 1 class. Quan hệ thành viên đƣợc xác định sử dụng những giá trị thuộc tính hay những biểu thức. Bắt đầu với từ khóa CLASS và kết thúc với từ khóa END.
Mapfile
Map Layer Label Feature
Properties …… Properties Class1 Properties Properties
Hình 2.12. Chồng lắp các layer
Nếu có nhiều lớp thuộc cùng một LAYER thì thông số CLASSGROUP pahir đƣợc thiết lập, thì chỉ những class có cùng một nhóm đƣợc xem xét để xuất hình ảnh. Ví dụ: LAYER CLASSGROUP “group1” CLASS NAME “name1” GROUP “group1” …… END CLASS NAME “name2” GROUP “group2” …… END CLASS NAME “name3” GROUP “group1” ……. END ……. END Đối tƣợng Feature:
Định nghĩa các đặc tính (feature) bên trong. Có thể sử dụng các đặc tính bên trong này khi nó không có khả năng tạo 1 shapefile. Những đặc tính bên trong cũng có thể đƣợc xây dựng thông qua url hay form. Mở đầu với từ khóa FEATURE và kết thúc với từ khóa END.
POINTS
Cặp các giá trị xy kết thúc với END. Ví dụ: POINTS 1 1 50 50 1 50 1 1 END
Những lớp POLYGON/POLYLINE phải đƣợc bắt đầu và kết thúc tại cùng 1 điểm.
TEXT[string]: Chuỗi sử dụng để đánh nhãn đặc tính này.
WKT[string]
Layer 1
Layer 2
…… Layer N
Một hình học đƣợc thể hiện trong định dạng OpenGIS Well Known Text. Đặc tính này chỉ đƣợc hỗ trợ nếu Mapserver đƣợc xây dựng với sự hỗ trợ của OGR hoặc GEOS
Ví dụ: WKT “POLYGON((500 500, 3500 500, 3500 2500, 500 2500, 500 500))”
WKT “POINT(2000 2500)”
Đối tƣợng LABEL:
Đối tƣợng này đƣợc dùng để định nghĩa 1 nhãn, đƣợc dùng để chú thích 1 đặc tính bằng một đoạn văn bản. Nhãn cũng có thể đƣợc sử dụng nhƣ những ký hiệu thông qua việc sử dụng các phông TrueType khác nhau.
Ví dụ: LABEL COLOR [MYCOLOR] OUTLINECOLOR 255 255 255 FONT sans TYPE truetype SIZE 6 POSITION auto PARTIALS FALSE END
Ví dụ, đoạn mã sau đây có tên mapfile là thoitietVN.map. Tên của file này rất quan trọng; MapServer quản lý nhiều mapfile và các file khuôn mẫu theo tên của nó.
001 # This is our third map file 002 NAME "thoitiet" 003 UNITS DD 004 EXTENT 102.148926 8.561733 109.469490 23.393175 005 SIZE 640 480 006 IMAGECOLOR 189 202 222 007 IMAGETYPE PNG 008 SHAPEPATH "C:\ms4w\mapserver\mapdata\thoitiet" 009 FONTSET "C:\ms4w\mapserver\fonts\fonts.list"
Từ dòng 001 đến dòng 009 cung cấp đầy đủ các tham số hình ảnh cơ bản của bản đồ. Từ khoá NAME xác định tên của tất cả hình ảnh đã đƣợc tạo lập. Mỗi lần MapServer đƣợc gọi, nó tạo lập 1 định danh duy nhất bằng cách ràng buộc thời gian hệ thống và xử lý ID. Định danh duy nhất này cập nhật tên cơ bản tới tên tệp mẫu, 2 hoặc 3 kí tự mở rộng (phụ thuộc vào kiểu tệp) đƣợc nối vào sau đó. Trong một số trƣờng hợp, MapServer sẽ chèn chuỗi khác vào sau tên cơ bản để phân biệt hình ảnh bản đồ tham chiếu hoặc hình ảnh chú giải với hình ảnh của chính nó. Từ khoá SIZE chỉ rõ kích thƣớc các điểm ảnh bản đồ (chiều rộng hoặc chiều cao). IMAGECOLOR chỉ rõ 3 thành phần giá trị nguyên RGB từ 0 đến 255, với mầu trắng là 255,255,255. Thƣ mục cơ bản trong MapServer sẽ tìm
kiếm tập dữ liệu không gian \mapserver\mapdata\ trong dòng 008. Cuối cùng, tệp chứa font chữ bí danh và font chữ vị trí của bản đồ đƣợc chỉ định bằng từ khoá FONSET trong dòng 009.
010 WEB
011 TEMPLATE "/ms4w/mapserver/html/thoitietVN.html" 012 IMAGEPATH "/ms4w/mapserver/tmp/"
013 IMAGEURL "/mapserver_tmp/" 014 END
Từ dòng 010 đến dòng 014 xác định các tham số của đối tƣợng WEB. Nó bắt đầu với từ khoá WEB và kết thúc bằng từ khoá END. Đối tƣợng WEB chỉ cho MapServer tên của tệp khuôn mẫu HTML (trong trƣờng hợp này, nó chỉ có duy nhất 1 tên là thoitietVN.html), đƣờng dẫn tới tệp đƣợc tạo lập, và URL chỉ ra hình ảnh đó. Trong các trƣờng hợp khác, IMAGEPATH xác định đƣờng dẫn tới các hình ảnh đã đƣợc MapServer tạo ra. Chú ý rằng, không thể xoá mapfile đầu tiên hoặc cuối cùng từ IMAGEURL. Chuỗi kí tự xác định bởi IMAGEURL đƣợc bổ sung vào URL cơ bản (ví dụ, http://localhost) tự động tạo ra các URL thay cho các hình ảnh hiện tại trên trang.
Chú ý rằng, MapServer diễn tả các lớp theo thứ tự đƣợc chỉ rõ trong mapfile. Lớp cuối cùng trong mapfile là lớp đầu tiên trong bản đồ - phủ lên lớp trƣớc để xây dựng ảnh bản đồ. Điều này có nghĩa là các chi tiết hiện tại trong mapfile (đó là, các lớp ở dƣới trong ảnh bản đồ) có thể bị mờ. Nếu MapServer diễn tả 1 lớp điểm (ví dụ, diễn tả vị trí của các thành phố) và sau đó diễn tả 1 lớp đa giác miêu tả khu vực, các thành phố không thể nhìn thấy đƣợc trừ khi mầu đƣợc chỉ rõ trong các lớp đa giác là trong suốt. COLOR-1-1-1 chỉ ra lớp không đƣợc phủ màu cũng đạt tới sự trong suốt.
2.4.3. Xây dựng giao diện cho trang bản đồ trực tuyến
Học viên sử dụng phần mềm Macromedia Dreamweaver để thiết kế website bản đồ thời tiết. Giao diện bản đồ gồm có: Ảnh bản đồ, ảnh bản đồ tham chiếu, ảnh thƣớc tỷ lệ, các ký hiệu biểu diễn các đối tƣợng, công cụ phóng to, thu nhỏ, dịch chuyển bản đồ, thông tin dự báo thời tiết, …
- Thông tin dự báo:
o Thông tin chung nêu lên dự báo cho vùng khu vực gồm: khoảng trung bình nhiệt độ, kết luận nắng hay mƣa, sức gió,...
o Thông tin chi tiết: cho vùng hay khu vực.
Nhiệt độ. Lƣợng mƣa. Sức gió. Độ ẩm. Áp suất. ...
- Các loại dự báo
Số liệu đƣợc cập nhật (trạm gửi về đài) khoảng 12h/1 lần, nếu có thời tiết đặc biệt thời gian sẽ ngắn lại. Từ số liệu thô, tùy theo mô hình dự báo mà ta có hai loại dự báo nhƣ sau:
o Dự báo theo ngày
o Dự báo tƣơng lai: theo 3 ngày hoặc 1 tuần - Truy vấn dữ liệu với bản đồ
Thông tin thuộc tính mô tả về đối tƣợng trên bản đồ (thƣờng liên quan đến các yếu tố địa lý) không đủ để giải quyết bài toán dự báo. Hơn nữa, do yêu cầu dự báo thời tiết, số lƣợng lƣu trữ nhiều, thay đổi liên tục. Do đó. Dùng một hệ quản trị cơ sở dữ liệu là phƣơng án đƣợc lựa chọn. Nhƣ vậy bài toán truy vấn dữ liệu với bản đồ đƣợc đƣa về:
Hình 2.13. Bài toán truy vấn dữ liệu Mô tả:
- Ngƣời dùng nhấn chuột trên bản đồ, ta sẽ xác định đƣợc tỉnh/khu vực ngƣời dùng muốn có thông tin (theo mã tỉnh khu vực ID).
- Truy vấn cơ sở dữ liệu theo ID xác định - Hiển thị kết quả truy vấn cơ sở dữ liệu.
2.4.4. Xây dựng các chức năng thành phần của bản đồ trực tuyến
Các yêu cầu của ứng dụng Website dự báo thời tiết gắn liền với nhu cầu một ngƣời dùng khi sử dụng Website để xem thông tin thời tiết.
- Tình hình thời tiết khu vực trong ngày nhƣ thế nào? - Thời tiết của tỉnh, thành phố trong ngày nhƣ thế nào?
- Thời tiết một tỉnh, thành phố vào một ngày nào đó nhƣ thế nào? - ...
Các chức năng trên Web đƣợc chia thành 2 nhóm chính: - Các chức năng trên bản đồ
CSDL
Xác định tỉnh/ khu vực
Thông tin thời tiết theo tỉnh/
Bảng 2.1. Các chức năng trên bản đồ
STT Chức năng Giải thích
1 Phóng to, thu nhỏ bản đồ 2 Di chuyển bản đồ
3 Truy vấn thông tin trên bản đồ
Lấy thông tin của 1 tỉnh, thành phố, một khu vực khi nhấn chuột vào vùng không gian của tỉnh, thành phố hoặc khu vực đó. 4 Tìm kiếm vị trí của một
tỉnh, thành phố, một khu vực trên bản đồ.
Dịch chuyển tới khu vực chứa tỉnh, thành phố hoặc khu vực này
- Các chức năng dự báo thời tiết.
Bảng 2.2. Các chức năng dự báo thời tiết
STT Chức năng Giải thích
1 Xem thời tiết trong ngày Sử dụng các chức năng trên bản đồ để truy xuất thông tin thời tiết
2 Xem thời tiết vài ngày tới Cho phép truy xuất thông tin trong ngày và cả quá khứ
Chƣơng 3. XÂY DỰNG CHƢƠNG TRÌNH ỨNG DỤNG DỰ BÁO THỜI TIẾT TRÊN BẢN ĐỒ TRỰC TUYẾN
Ngày nay các Website ngày càng nhiều, càng phổ biến, do ngƣời dân ngày tiếp cận với tin học càng chú trọng vào việc tìm kiếm thông tin trên mạng, muốn nắm bắt thông tin một cách nhanh chóng, tiện lợi nhằm phục vụ cho việc kinh doanh và sinh hoạt trong đời sống hàng ngày.
3.1. Khảo sát hiện trạng
Tình hình thời tiết trên thế giới và trong nƣớc ngày càng phức tạp và luôn biến động một cách khó lƣờng, những thảm họa xảy ra một cách bất ngờ để lại những hậu quả nặng nề và thảm khốc. Để cung cấp thông tin thời tiết cho mọi ngƣời đã có các phƣơng tiện thông tin đại chúng nhƣ: đài phát thanh, truyền hình, bên cạnh đó còn có một số website,... Tuy nhiên các Website về dự báo thời tiết của nƣớc ta nói chung chƣa đáp ứng đƣợc nhu cầu về cung cấp thông tin.
3.1.1. Số liệu thời tiết trong dự báo
Dữ liệu gồm 3 dạng: - Số liệu dự báo. - Số liệu tức thời. - Số liệu lƣu trữ.
Trong đó số liệu lƣu trữ là không cần đáp ứng thời gian thực. Nghĩa là khi có cá nhân hay tổ chức nào có nhu cầu sử dụng số liệu lƣu trữ (quá khứ) sẽ nhận đƣợc kết quả sau một khoảng thời gian nào đó (vài giờ hay vài ngày).
Hình thức lưu trữ
Điện tử (lƣu vào máy tính) và giấy tờ (có bộ phận quản lý giấy tờ số liệu). Hai hình thức lƣu trữ: điện tử tiện sử dụng và tham khảo nhanh; giấy tờ tiện cho đối chiếu sau này nếu có nghi ngờ về độ chính xác của số liệu.
Quyền hạn trên số liệu
- Hiện nay chƣa có cơ chế phân quyền trên số liệu. Mọi ngƣời trong đài đều có quyền khai thác, sử dụng và loại bỏ số liệu (dạng điện tử)
- Về nguyên tắc không đƣợc tự ý chuyển giao số liệu ra bên ngoài (các hệ thống, cơ quan, cá nhân ngoài ngành) đặc biệt là đối với một số khu vực nhạy cảm cần phải đƣợc sự cho phép của lãnh đạo Đài.
Trao đổi số liệu và dự báo
Hình 3.1. Trao đổi số liệu thời tiết
- Các trạm “vệ tinh” gửi số liệu về Đài khí tƣợng khu vực (1).
- Đài khí tƣợng khu vực gửi số liệu của khu vực ra bên ngoài, tức là gửi về trung tâm tƣ liệu Khí tƣợng thủy văn (2) và nhận số liệu về các khu vực quốc tế (3)
- Bắt đầu trao đổi từ 1h sáng trong ngày, và cách 3 tiếng thì lặp lại cho đến hết ngày.
- Số liệu các trạm đƣợc gửi về theo hệ thống mạng của ngành và đƣợc lƣu trữ vào một máy tính chung trong mạng. Các máy khác truy cập vào máy chung này để khai thác dữ liệu.
- Số liệu lần lƣợt đổ về và cứ theo thời gian, số liệu lần sau “ghi đè” lên số liệu lần trƣớc. Những số liệu nhận đƣợc lúc này gọi là “số liệu tức thời”. Nếu nhận xét thấy số liệu có gì sai sót thì có thể loại bỏ số liệu này (không chỉnh sửa). Những số liệu tức thời này đƣợc sử dụng vào các mô hình dự báo để tạo ra số liệu dự báo.
- Số liệu dự báo đƣợc cập nhật cứ 12h/lần.
- Đến cuối tháng, các trạm con mới gửi 1 bản (dạng giấy) ghi số liệu, hoặc biểu đồ về Đài khu vực (1’). Sau khi nhận đƣợc và nhập liệu vào máy, Đài sẽ tiến hành kiểm định các số liệu này. Sau đó gửi kết quả kiểm định, file số liệu, văn bản do các trạm gửi ra trung tâm tại Hà Nội để duyệt (2’). Nếu đƣợc duyệt (3’) số liệu lúc này trở thành số liệu lƣu trữ.
3.1.2. Các vấn đề trong bài toán dự báo thời tiết trên bản đồ
Việc dùng bản đồ để minh họa trong dự báo thời tiết đƣợc nhiều website dùng đến nhƣ www.nchmf.gov.vn, www.hymettdata.com (Trung tâm tƣ liệu Khí tƣợng Thủy văn), www.thoitiet.net (Trung tâm Intecom, chuyên kinh doanh các giải pháp dự báo thời tiết),...
Các trang web chủ yếu sử dụng bản đồ tĩnh, nhiều màu sắc nhƣng không thay đổi hình dạng, không cung cấp đƣợc các chức năng cơ bản với thao tác bản đồ (nhƣ phóng to, thu nhỏ, dịch chuyển,...). Trên các trang web này đều hỗ trợ chức năng xác định thông tin thời tiết theo điểm nhấn chuột. Giải pháp của các trang sử dụng ảnh bản đồ tĩnh là vẽ lên ảnh bản đồ các hình cố định phạm vi theo từng khu vực, sử dụng JavaScript để xác định tọa độ chuột. Nếu tọa độ
chuột thuộc phạm vi hình nào thì sẽ suy ra đƣợc khu vực và thực hiện kết nối cơ sở dữ liệu để lấy thông tin dự báo.
Do sử dụng ảnh tĩnh và giải quyết việc xác định phạm vi khu vực bằng cách vẽ các hình cố định phạm vi nên bản đồ không thể phóng to, thu nhỏ, hay dịch chuyển đƣợc. Do đó luận văn này tập trung chủ yếu vào nghiên cứu sử dụng công nghệ MapServer ở chế độ API, kết hợp với hệ cơ sở dữ liệu PostgreSQL để xây dựng sản phẩm thử nghiệm là một ứng dụng bản đồ dự báo trên web.
3.2. Ứng dụng RSS xây dựng quy trình cập nhật cơ sở dữ liệu
Một dịch vụ Web - RSS (Readlly Simple Syndication) là một định dạng tập tin thuộc họ XML dùng trong việc chia sẻ tin tức Web (Web syndication), cung cấp nội dung cập nhật thƣờng xuyên. Đƣợc dùng bởi nhiều website tin tức và weblog. Công nghệ của RSS cho phép ngƣời dùng Internet có thể đặt mua thông tin từ các websites có cung cấp khả năng RSS (RSS feeds); chúng thƣờng là các site có nội dung thay đổi và đƣợc thêm vào thƣờng xuyên. Để có thể dùng công nghệ này, các ngƣời quản trị site đó tạo ra hay quản lí một phần mềm chuyên dụng (nhƣ là một hệ thống quản lý nội dung - content management system-CMS) mà, với định dạng XML mà máy có thể đọc đƣợc, có thể biểu diễn các bài tin mới thành một danh sách, với một hoặc hai dòng cho mỗi bài tin và một liên kết đến bài tin đầy đủ đó. Khác với việc mua nhiều ấn bản của các tờ báo hay tạp chí in giấy, hầu hết việc mua RSS là miễn phí. Về cơ bản, dịch vụ Web là mã mà ta trình bày trong một ứng dụng có thể đƣợc truy cập cục bộ, qua một intranet, hay qua internet. Ta có thể cho phép bất kỳ hệ khách nào truy cập dịch vụ Web của mình, hoặc hạn chế khả năng truy cập bằng cách chỉ cho các khách hàng đã đƣợc thẩm định quyền sử dụng.
Trƣớc hết, ngƣời dùng không cần nhiều kiến thức chuyên dụng để viết dịch vụ Web, và rất dễ để cung cấp một giao diện Web đối với đoạn mã hiện đang tồn tại trƣớc đây. Lợi thế thứ hai là các dịch vụ Web sử dụng chuẩn dữ liệu và những giao thức internet phục vụ cho việc giao tiếp, vì vậy dễ dàng hơn nhiều