Tải bản đầy đủ (.doc) (22 trang)

tìm hiểu về công nghệ webgis và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (217.88 KB, 22 trang )

Tìm hiểu công nghệ WebGIS và ứng dụng
MỤC LỤC
LỜI MỞ ĐẦU 2
1.1Hệ thống thông tin địa lý 3
1.1.1Các khái niệm cơ bản về GIS 3
1.1.1.1.Khái niệm GIS 3
1.1.1.2. Các thành phần của GIS 4
1.1.2Các nhiệm vụ của GIS 6
1.1.2.1 Nhập dữ liệu 6
1.1.2.2 Thao tác dữ liệu 6
1.1.2.4. Hỏi đáp và phân tích 7
1.1.3Cấu trúc dữ liệu Raster và Vecto 8
1.1.3.1Cấu trúc dữ liệu Raster 8
1.1.3.2Cấu trúc dữ liệu Vecto 9
1.1.3.3Ưu nhược điểm của cấu trúc Raster và Vecto 9
1.1.4Các công nghệ liên quan 10
1.2WebGIS và ứng dụng 11
1.2.1. Khái niệm 11
1.2.2 Ứng dụng của WebGIS 11
1.3Ngôn ngữ lập trình Java 11
1.3.1 Các đặc điểm và các thành phần cơ bản của Java 12
1.3.1.1. Các đặc điểm của ngôn ngữ lập trình Java 12
1.3.1.2. Các thành phần cơ bản của Java 12
1.3.1.3. Cấu trúc điều khiển 12
1.3.2 Xây dựng chương trình Java 13
1.3.2.1 Phương thức, lớp và chương trình Java 13
1.3.2.2. Đối tượng Exception, gói, interface và thread 15
1.3.2.3 Lớp String 16
1.3.3 Giao diện đồ hoạ của Java 16
1.3.4. Đối tượng đồ hoạ (Graphics) 18
1.3.5 Java Applet 19


Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
1
Tìm hiểu công nghệ WebGIS và ứng dụng
LỜI MỞ ĐẦU
Ngày nay, GIS là một công nghệ “đắt giá”, có hàng trăm nghìn người trên
thế giới đang làm việc với nó. Các nhà chuyên môn của hầu hết các lãnh vực
đang dần nhận thấy lợi ích trong phương pháp suy nghĩ và làm việc theo phương
diện địa lý. GIS không phải chỉ dùng để tạo ra những bản đồ tĩnh, mà nó còn cho
phép tạo ra các bản đồ đẹp nhiều màu sắc và hơn thế nữa là khả năng tạo bản đồ
động. Khả năng tạo lập bản đồ động giúp người dùng có thể lựa chọn và loại bỏ
bất cứ các thành phần nào trên bản đồ nhằm phân tích một cách nhanh chóng các
nhân tố khác biệt ảnh hưởng đến mô hình và ngoài ra giúp việc đưa ra các quyết
định đối với những vấn đề phức tạp.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
2
Tìm hiểu công nghệ WebGIS và ứng dụng
Chương 1: Lý thuyết cơ sở
1.1 Hệ thống thông tin địa lý
Từ vài thập niên trở lại đây, công nghệ GIS (Geographical Information
Systems) đã có những bước phát triển và ứng dụng không chỉ trong lĩnh vực Địa
lý, mà trong nhiều lĩnh vực khác của khoa học và của cuộc sống hàng ngày như:
đô thị hoá, thương mại, phát triển cơ sở hạ tầng, bản đồ điện tử, hoạt động quân
sự
1.1.1 Các khái niệm cơ bản về GIS
1.1.1.1. Khái niệm GIS
Hệ Thông tin địa lý (GIS) là một công cụ máy tính để lập bản đồ và phân
tích các sự vật, hiện tượng thực trên trái đất. Công nghệ GIS kết hợp các thao tác
cơ sở dữ liệu thông thường (như cấu trúc hỏi đáp) và các phép phân tích thống
kê, phân tích địa lý, trong đó phép phân tích địa lý và hình ảnh được cung cấp
duy nhất từ các bản đồ. Những khả năng này phân biệt GIS với các hệ thống

thông tin khác và khiến cho GIS có phạm vi ứng dụng rộng trong nhiều lĩnh vực
khác.
GIS cho phép tạo lập bản đồ, phối hợp thông tin, khái quát các viễn cảnh,
giải quyết các vấn đề phức tạp, và phát triển các giải pháp hiệu quả mà trước
đây không thực hiện được. GIS là một công cụ được các cá nhân, tổ chức, trường
học, chính phủ và các doanh nghiệp sử dụng nhằm hướng tới các phương thức
mới giải quyết vấn đề.
Lập bản đồ và phân tích địa lý không phải là kỹ thuật mới, nhưng GIS
thực thi các công việc này tốt hơn và nhanh hơn các phương pháp thủ công cũ.
Trước công nghệ GIS, chỉ có một số ít người có những kỹ năng cần thiết để sử
dụng thông tin địa lý giúp ích cho việc giải quyết vấn đề và đưa ra các quyết
định. GIS được sử dụng để cung cấp thông tin nhanh hơn và hiệu quả hơn cho
các nhà hoạch định chính sách. Các cơ quan chính phủ dùng GIS trong quản lý
các nguồn tài nguyên thiên nhiên, trong các hoạt động quy hoạch, mô hình hoá
và quan trắc.
Hệ thống thông tin địa lý là hệ thống quản lý, phân tích và hiển thị tri thức
địa lý, tri thức này được thể hiện qua các tập thông tin:
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
3
Tìm hiểu công nghệ WebGIS và ứng dụng
 Các bản đồ: giao diện trực tuyến với dữ liệu địa lý để tra cứu, trình
bày kết quả và sử dụng như là một nền thao tác với thế giới thực
 Các tập thông tin địa lý: thông tin địa lý dạng file và dạng cơ sở dữ
liệu gồm các yếu tố, mạng lưới, topology, địa hình, thuộc tính
 Các mô hình xử lý: tập hợp các quy trình xử lý để phân tích tự động
 Các mô hình dữ liệu: GIS cung cấp công cụ mạnh hơn là một cơ sở dữ
liệu thông thường bao gồm quy tắc và sự toàn vẹn giống như các hệ
thông tin khác. Lược đồ, quy tắc và sự toàn vẹn của dữ liệu địa lý
đóng vai trò quan trọng
 Metadata: hay tài liệu miêu tả dữ liệu, cho phép người sử dụng tổ

chức, tìm hiểu và truy nhập được tới tri thức địa lý
Ngày nay, GIS là một ngành công nghiệp hàng tỷ đô la với sự tham gia
của hàng trăm nghìn người trên toàn thế giới. GIS được dạy trong các trường phổ
thông, trường đại học trên toàn thế giới. Các chuyên gia của mọi lĩnh vực đều
nhận thức được những ưu điểm của sự kết hợp công việc của họ và GIS.
1.1.1.2. Các thành phần của GIS
GIS được kết hợp bởi năm thành phần chính: phần cứng, phần mềm, dữ
liệu, con người và phương pháp.
Phần cứng
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
4
Tìm hiểu công nghệ WebGIS và ứng dụng
Phần cứng là hệ thống máy tính trên đó một hệ GIS hoạt động. Ngày nay,
phần mềm GIS có khả năng chạy trên rất nhiều dạng phần cứng, từ máy chủ
trung tâm đến các máy trạm hoạt động độc lập hoặc liên kết mạng.
Phần mềm
Phần mềm GIS cung cấp các chức năng và các công cụ cần thiết để lưu
giữ, phân tích và hiển thị thông tin địa lý. Các thành phần chính trong phần mềm
GIS là:
 Công cụ nhập và thao tác trên các thông tin địa lý
 Hệ quản trị cơ sở dữ liệu(DBMS)
 Công cụ hỗ trợ hỏi đáp, phân tích và hiển thị địa lý
 Giao diện đồ hoạ người-máy (GUI) để truy cập các công cụ dễ dàng
Dữ liệu
Có thể coi thành phần quan trọng nhất trong một hệ GIS là dữ liệu. Các dữ
liệu địa lý và dữ liệu thuộc tính liên quan có thể được người sử dụng tự tập hợp
hoặc được mua từ nhà cung cấp dữ liệu thương mại. Hệ GIS sẽ kết hợp dữ liệu
không gian với các nguồn dữ liệu khác, thậm chí có thể sử dụng DBMS để tổ
chức lưu giữ và quản lý dữ liệu.
Dữ liệu không gian có thể đến từ nhiều nguồn khác nhau như: số liệu tính

toán thống kê, báo cáo, các quan trắc thực địa, ảnh vệ tinh, ảnh máy bay, bản đồ
giấy (dạng analog). Kỹ thuật hiện đại về viễn thám và GIS có khả năng cung
cấp thông tin không gian bao gồm các thuộc tính địa lý, khuôn dạng dữ liệu, tỷ lệ
bản đồ và các số liệu đo đạc.
Con người
Công nghệ GIS sẽ bị hạn chế nếu không có con người tham gia quản lý hệ
thống và phát triển những ứng dụng GIS trong thực tế. Vì GIS la một hệ thống
tổng hợp của nhiểu công việc kỹ thuật, do đó đòi hỏi người điều hành phải được
đào tạo và có kinh nghiệm trong nhiểu lĩnh vực. Hơn nữa sự phát triển không
ngừng của các kỹ thuật phần cứng và phần mềm đòi hỏi người điều hành phải
luôn được đào tạo. Những yêu cầu cơ bản về người điều hành bao gồm các vấn
đề sau: có kiến thức cơ bản về địa lý, bản đồ, máy tính và công nghệ tin.
Người sử dụng GIS có thể là những chuyên gia kỹ thuật, người thiết kế và
duy trì hệ thống, hoặc những người dùng GIS để giải quyết các vấn đề trong
công việc.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
5
Tìm hiểu công nghệ WebGIS và ứng dụng
Phương pháp
Đó là tập hợp các quy định, quy phạm, tiêu chuẩn, định hướng, chủ trương
ứng dụng của nhà quản lý, các kiến thức chuyên ngành và các kiến thức về công
nghệ thông tin.
Một hệ GIS thành công theo khía cạnh thiết kế và luật thương mại là được
mô phỏng và thực thi duy nhất cho mỗi tổ chức.
1.1.2 Các nhiệm vụ của GIS
Mục đích chung của các Hệ Thông tin địa lý là thực hiện sáu nhiệm vụ
sau:
 Nhập dữ liệu
 Thao tác dữ liệu
 Quản lý dữ liệu

 Hỏi đáp và phân tích
 Hiển thị
1.1.2.1 Nhập dữ liệu
Trước khi dữ liệu địa lý có thể được dùng cho GIS, dữ liệu này phải được
chuyển sang dạng số thích hợp. Quá trình chuyển dữ liệu từ bản đồ giấy sang các
file dữ liệu dạng số được gọi là quá trình số hoá.
Công nghệ GIS hiện đại có thể thực hiện tự động hoàn toàn quá trình này
với công nghệ quét ảnh cho các đối tượng lớn; những đối tượng nhỏ hơn đòi hỏi
một số quá trình số hoá thủ công (dùng bàn số hoá). Ngày nay, nhiều dạng dữ
liệu địa lý thực sự có các định dạng tương thích GIS. Những dữ liệu này có thể
thu được từ các nhà cung cấp dữ liệu và được nhập trực tiếp vào GIS.
1.1.2.2 Thao tác dữ liệu
Có những trường hợp các dạng dữ liệu đòi hỏi được chuyển dạng và thao
tác theo một số cách để có thể tương thích với một hệ thống nhất định. Ví dụ, các
thông tin địa lý có giá trị biểu diễn khác nhau tại các tỷ lệ khác nhau (hệ thống
đường phố được chi tiết hoá trong file về giao thông, kém chi tiết hơn trong file
điều tra dân số và có mã bưu điện trong mức vùng). Trước khi các thông tin này
được kết hợp với nhau, chúng phải được chuyển về cùng một tỷ lệ (mức chính
xác hoặc mức chi tiết). Ðây có thể chỉ là sự chuyển dạng tạm thời cho mục đích
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
6
Tìm hiểu công nghệ WebGIS và ứng dụng
hiển thị hoặc cố định cho yêu cầu phân tích. Công nghệ GIS cung cấp nhiều công
cụ cho các thao tác trên dữ liệu không gian và cho loại bỏ dữ liệu không cần
thiết.
1.1.2.3 Quản lý dữ liệu
Ðối với những dự án GIS nhỏ, có thể lưu các thông tin địa lý dưới dạng
các file đơn giản. Tuy nhiên, khi kích cỡ dữ liệu trở nên lớn hơn và số lượng
người dùng cũng nhiều lên, thì cách tốt nhất là sử dụng hệ quản trị cơ sở dữ liệu
(DBMS) để giúp cho việc lưu giữ, tổ chức và quản lý thông tin. Một DBMS chỉ

đơn giản là một phần mền quản lý cơ sở dữ liệu.
Có nhiều cấu trúc DBMS khác nhau, nhưng trong GIS cấu trúc quan hệ tỏ
ra hữu hiệu nhất. Trong cấu trúc quan hệ, dữ liệu được lưu trữ ở dạng các bảng.
Các trường thuộc tính chung trong các bảng khác nhau được dùng để liên kết các
bảng này với nhau. Do linh hoạt nên cấu trúc đơn giản này được sử dụng và triển
khai khá rộng rãi trong các ứng dụng cả trong và ngoài GIS.
1.1.2.4. Hỏi đáp và phân tích
Một khi đã có một hệ GIS lưu giữ các thông tin địa lý, có thể bắt đầu hỏi
các câu hỏi đơn giản như:
 Ai là chủ mảnh đất ở góc phố?
 Hai vị trí cách nhau bao xa?
 Vùng đất dành cho hoạt động công nghiệp ở đâu?
 Và các câu hỏi phân tích như:
 Tất cả các vị trí thích hợp cho xây dựng các toà nhà mới nằm ở đâu?
 Kiểu đất ưu thế cho rừng sồi là gì?
 Nếu xây dựng một đường quốc lộ mới ở đây, giao thông sẽ chịu ảnh
hưởng như thế nào?
GIS cung cấp cả khả năng hỏi đáp đơn giản "chỉ và nhấn" và các công cụ
phân tích tinh vi để cung cấp kịp thời thông tin cho những người quản lý và phân
tích. Các hệ GIS hiện đại có nhiều công cụ phân tích hiệu quả, trong đó có hai
công cụ quan trọng đặc biệt:
Phân tích liền kề
Tổng số khách hàng trong bán kính 10 km khu hàng?
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
7
Tìm hiểu công nghệ WebGIS và ứng dụng
Những lô đất trong khoảng 60 m từ mặt đường?
Ðể trả lời những câu hỏi này, GIS sử dụng phương pháp vùng đệm để xác
định mối quan hệ liền kề giữa các đối tượng.
Phân tích xếp chồng

Xếp chồng là quá trình tích hợp các lớp thông tin khác nhau. Các thao tác
phân tích đòi hỏi một hoặc nhiều lớp dữ liệu phải được liên kết vật lý. Sự xếp
chồng này, hay liên kết không gian, có thể là sự kết hợp dữ liệu về đất, độ dốc,
thảm thực vật hoặc sở hữu đất với định giá thuế.
1.1.2.5 Hiển thị
Với nhiều thao tác trên dữ liệu địa lý, kết quả cuối cùng được hiển thị tốt
nhất dưới dạng bản đồ hoặc biểu đồ. Bản đồ khá hiệu quả trong lưu giữ và trao
đổi thông tin địa lý. GIS cung cấp nhiều công cụ mới và thú vị để mở rộng tính
nghệ thuật và khoa học của ngành bản đồ. Bản đồ hiển thị có thể được kết hợp
với các bản báo cáo, hình ảnh ba chiều, ảnh chụp và những dữ liệu khác (đa
phương tiện).
1.1.3 Cấu trúc dữ liệu Raster và Vecto
Hình 1.1 Mô hình dữ liệu Raster và Vecto
1.1.3.1 Cấu trúc dữ liệu Raster
Mô hình raster biểu diễn không gian như là một ma trận số nguyên, mỗi
giá trị số nguyên đại diện cho một thuộc tính, vị trí của số nguyên chính là vị trí
của đối tượng
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
8
Tìm hiểu công nghệ WebGIS và ứng dụng
Liên hệ với thế giới thực: mỗi pixel sẽ tương ứng với một ô nào đó trong
thế giới thực.
Trong cấu trúc raster:
 Đường được biểu diễn bằng những pixel có cùng giá trị f(x,y) liên tiếp
nhau.
 Vùng được xác định thành một mạng gồm nhiều pixel có cùng giá trị
thuộc tính f(x,y).
1.1.3.2 Cấu trúc dữ liệu Vecto
Các đối tượng không gian khi biểu diễn ở cấu trúc dữ liệu vector được tổ
chức dưới dạng điểm (point), đường (line) và vùng (polygon), và được biểu diễn

trên một hệ thống tọa độ nào đó. Đối với các đối tượng biểu diễn trên mặt phẳng,
mỗi đối tượng điểm được biểu diễn bởi một cặp tọa độ (x, y); đối tượng đường
được xác định bởi một chuỗi liên tiếp các điểm (vertex), đoạn thẳng được nối
giữa các điểm (vertex) hay còn gọi là cạnh (segment), điểm bắt đầu và điểm kết
thúc của một đường gọi là các nút (node); đối tượng vùng được xác định bởi các
đường khép kín.
Hai loại cấu trúc được biết đến trong cấu trúc dữ liệu vector là cấu trúc
Spaghetti và cấu trúc Topology. Cấu trúc Spaghetti ra đời trước và được sử dụng
cho đến ngày nay ở một số các phần mềm GIS như: phần mềm Arcview GIS,
ArcGIS, MapInfo,… Cấu trúc Topology ra đời trên nền tảng của mô hình dữ liệu
cung – nút (Arc - Node).
1.1.3.3 Ưu nhược điểm của cấu trúc Raster và Vecto
STT RASTER VECTOR
1 Cấu trúc dữ liệu đơn giản
Cấu trúc dữ liêu phức tạp hơn
raster
2
Các thao tác chập bản đồ thực
hiện dễ dàng và đơn giản
Các phép chập bản đồ khó thực
hiện được
3
Bài toán mô hình thực hiện dễ
dàng
Bài toán mô hình khó thực hiện
4 Dữ liệu cồng kềnh
Dữ liệu gọn (chiếm ít bộ nhớ)
hơn mô hình raster
5 Mối quan hệ topo khó có thể
thể hiện được. Bài toán mạng

Cho phép mã hóa topo hiệu quả
hơn và vì vậy cho phép thực
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
9
Tìm hiểu công nghệ WebGIS và ứng dụng
khó thực hiện
hiện các phép liên quan đến các
thông tin topo (như trong phân
tích mạng)
6
Thích hợp với việc sử dụng dữ
liệu viễn thám
Thích hợp với dữ liệu đo đạc
trực tiếp
1.1.4 Các công nghệ liên quan
Desktop mapping
Là desktop mapping system sử dụng bản đồ để tổ chức dữ liệu và tương
tác người dùng. Trọng tâm của hệ thống này là thành lập bản đồ: bản đồ là cơ sở
dữ liệu. Phần lớn các hệ thống Desktop Mapping đều hạn chế hơn so với GIS về
khả năng quản lý dữ liệu, phân tích không gian và khả năng tuỳ biến. Các hệ
thống Desktop mapping hoạt động trên các máy tính để bàn như PC, Macintosh,
và các máy trạm UNIX nhỏ.
CAD (Trợ giúp thiết kế nhờ máy tính)
Hệ thống CAD trợ giúp cho việc tạo ra các bản thiết kế xây dựng nhà và
cơ sở hạ tầng. Tính năng này đòi hỏi các thành phần của những đặc trưng cố
định được tập hợp để tạo nên toàn bộ cấu trúc. CAD yêu cầu một số quy tắc về
việc tập hợp các thành phần và các khả năng phân tích rất giới hạn. Hệ thống
CAD có thể được mở rộng để hỗ trợ bản đồ nhưng thông thường bị giới hạn
trong quản lý và phân tích các cơ sở dữ liệu địa lý lớn.
Viễn thám và GPS (Hệ thống định vị toàn cầu)

Viễn thám là ngành khoa học nghiên cứu bề mặt trái đất sử dụng kỹ thuật
cảm biến như quay camera từ máy bay, các trạm thu GPS hoặc các thiết bị khác.
Các thiết bị cảm biến này thu thập dữ liệu dạng ảnh và cung cấp các khả năng
thao tác, phân tích và mô phỏng những ảnh này. Do thiếu các tính năng phân tích
và quản lý dữ liệu địa lý, nên không thể gọi là GIS thực sự.
DBMS (Hệ quản trị cơ sở dữ liệu)
Hệ quản trị cơ sở dữ liệu chuyên về lưu trữ và quản lý tất cả các dạng dữ
liệu bao gồm cả dữ liệu địa lý. Nhiều hệ GIS đã sử dụng DBMS với mục đích
lưu trữ dữ liệu. DBMS không có các công cụ phân tích và mô phỏng như GIS.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
10
Tìm hiểu công nghệ WebGIS và ứng dụng
1.2 WebGIS và ứng dụng
1.2.1. Khái niệm
WebGIS là một hệ thống thông tin địa lý được phân bổ qua môi trường
mạng máy tính để tích hợp, phân phối và truyển tải thông tin địa lý trực diện
trên WWW (World Wide Web) thông qua Internet.
Yêu cầu của WebGIS là phải có phần mềm chạy trên nền độc lập, sử dụng
mạng theo tiêu chuẩn TCP/IP có thể kết nối đến Internet và trình duyệt Web.
1.2.2 Ứng dụng của WebGIS
Khả năng phân phối thông tin rộng rãi trên toàn cầu
Người dùng Internet có thể truy cập đến các ứng dụng GIS mà không phải
mua phần mềm.
Đối với phần lớn người dùng không có kinh nghiệm về GIS thì việc sử
dụng WebGIS sẽ đơn giản hơn việc sử dụng các ứng dụng GIS loại khác.
WebGIS cho phép thêm các chức năng GIS chạy trên cơ sở mạng như
thương mại, chính phủ, giáo dục. Nhiều ứng dụng loại này chạy trên mạng cục
bộ như một phương tiện phân phối và sử dụng dữ liệu địa lý không gian
(geospatial data).
Hiện nay trên thế giới có rất nhiều công nghệ WebGIS như công nghệ

MapServer, GeoServer, ESRI, Mapinfo …
1.3 Ngôn ngữ lập trình Java
Ngôn ngữ lập trình Java ra đời và được các nhà nghiên cứu của công ty
SunMicrosystem giới thiệu vào năm 1995. Sau khi ra đời không lâu, ngôn ngữ
lập trình này đã được sử dụng rộng rãi và phổ biến đối với các lập trình viên
chuyên nghiệp cũng như các nhà phát triển phần mềm.
Java là một nền tảng phát triển các ứng dụng phần mềm, đánh dấu sự
trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là một nền
tảng mang tính cách mạng trong nghành phần mềm. Mô hình máy ảo Viirtual
Machine đã cho phép các ứng dụng viết bằng Java có thể chạy trên nhiều hệ điều
hành khác nhau.
Không chỉ là một ngôn ngữ, Java còn là một nền tảng phát triển và triển
khai ứng dụng trong đó máy ảo Java, bộ thông dịch có vai trò trung tâm. Hiện
nay, công nghệ Java được chia làm ba bộ phận:
 J2SE: Gồm các đặc tả, công cụ, API của nhân Java giúp phát triển các ứng
dụng trên desktop và định nghĩa các phần thuộc nhân của Java.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
11
Tìm hiểu công nghệ WebGIS và ứng dụng
 J2EE: Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng
dụng qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server). Bộ phận
hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP: sử
dụng Java để làm các ứng dụng web.
 J2ME: Gồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng
Java chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay,
robo và những ngữ lập trình (programming language)
Java (công nghệ) là một công nghệ xây dựng các ứng dụng phần mềm. Nó
được coi là công nghệ mang tính cách mạng và khả thi nhất trong việc tạo ra các
ứng dụng có khả năng chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch
một lần.

1.3.1 Các đặc điểm và các thành phần cơ bản của Java
1.3.1.1. Các đặc điểm của ngôn ngữ lập trình Java
Sun Mycrosystem đã nêu lên đặc điểm của Java như sau:" Java là 1 ngôn
ngữ đơn giản, hướng đội tượng, phân tán, thông dịch lẫn biên dịch, mạnh mẽ,
bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả cao và linh động."
1.3.1.2. Các thành phần cơ bản của Java
Cũng như các ngôn ngữ lập trình khác, ngôn ngữ lập trình Java cũng bao
gồm các thành phần cơ bản của một ngôn ngữ lập trình:
 Các kiểu dữ liệu cơ sở: Kiểu số nguyên, kiểu chấm động, kiểu char, kiểu
boolean.
 Ghi chú: sử dụng ký hiệu
 // ghi chú trên một dòng
 /* ghi chú trên nhiều dòng */
 Các từ khoá: đó là các từ dùng riêng trong Java, không được sử dụng các
từ khoá để đặt tên biến hay các định danh khác.
 Khai báo biến và hằng
 Các toán tử và biểu thức
 Mảng
1.3.1.3. Cấu trúc điều khiển
Cấu trúc điều khiển là các lệnh kiểm tra và điều khiển quá trình thực hiện
các câu lệnh sao cho chương trình thực hiện đúng và đạt được yêu cầu đặt ra.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
12
Tìm hiểu công nghệ WebGIS và ứng dụng
 Cấu trúc lựa chọn: lệnh if, switchcase
 Cấu trúc lặp: vòng lặp for, do … while, while
 Lệnh break, continue và label (nhãn)
1.3.2 Xây dựng chương trình Java
1.3.2.1 Phương thức, lớp và chương trình Java
Chương trình của java được xây dựng từ lớp và lớp dùng phương thức để

xử lí biến.
Phương thức(method)
Phương thức trong Java chính là các khối lệnh đơn vị thực hiện những
chức năng riêng biệt. Vì trong Java không có một hàm nào là toàn cục mà luôn
phải gắn với một đối tượng cụ thể, thể hiện hành vi ứng xử của đối tượng đó.
Nên trong ngôn ngữ Java sẽ dùng khái niệm phương thức thay cho khái niệm
hàm.
Định nghĩa một phương thức:
<private | public | protected> <static | abstract | final | native |
synchronized> <void | integer | … > <tên phương thức> (<đối số 1>, <đối số 2>,
… )
{ <khối lệnh> }
<private | public | protected> là các từ khoá xác định phạm vi truy xuất của
phương thức
<static | abstract | final | native | synchronized> là các từ khoá cho biết
cách thức truy xuất của phương thức.
<void | integer | … > là giá trị trả về của phương thức. void là phương thức
không trả về giá trị.
Khi muốn một phương thức được thực hiện, ta chỉ cần gọi tên của phương
thức và gán các đối số là các giá trị hay các biến có cùng kiểu với các đối số đã
được khai báo.
Phương thức tạo dựng (Constructor)
Phương thức tạo dựng( hay còn gọi là phương thức khởi tạo) là phương
thức có vai trò quan trọng trong lớp. Phương thức tạo dựng dùng để gán các giá
trị ban đầu và tạo ra một đối tượng cụ thể.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
13
Tìm hiểu công nghệ WebGIS và ứng dụng
Phương thức tạo dựng phải có cùng tên vói lớp chứa nó( giống cả cách
viết hoa, viêt thường), có hoặc không có đối số, được gọi đến khi chương trình

tạo một đối tượng mới thông qua từ khoá new.
Mỗi lớp ngoài phải có ít nhất một phương thức tạo dựng không tham số.
Nếu người lập trình không viết phương thức tạo dựng cho lớp thì Java sẽ
gán cho lớp đó một phương thức tạo dựng mặc định khi biên dịch.
Cấu trúc của phương thức tạo dựng:
[Từ khóa] <tên lớp> (có hoặc không có đối số)
{ Khối lệnh }
Hình thức khai báo chồng phương thức
Java cho phép khai báo nhiều phương thức cùng tên nhưng khác tham
số( khác kiểu dữ liệu hoặc số lượng tham số) gọi là các phương thức khai báo
chồng hay phương thức ghi đè.
Phương thức tạo dựng cũng có thể được khai báo chồng.
Các phương thức khai báo chồng khác nhau về tham số sẽ được tạo các
đối tượng khác nhau trong lớp gọi nó.
Một số phương thức chuẩn trong Java
Đó là các phương thức chuẩn trong lớp Math, DateFormat (định dạng
ngày tháng), Theard (lp tuyến thi hành), ArrayList (lớp tạo danh sách)
Lớp (class)
Lớp được xem là một khuôn mẫu (template) của đối tượng. Lớp bao gồm
các vùng dữ liệu của đối tượng và các phương thức tác động lên các dữ liệu đó.
Lớp có tính kế thừa (inheritance); một lớp (subclass) có thể thứa kế tất cả
các vùng dữ liệu và các phương thức của một lớp khác (superclass).
Lớp còn có tính đa hình (polymorphism) cho phép cài đặt các lớp dẫn xuất
rất khác nhau từ cùng một lớp nguồn.
Định nghĩa một lớp:
class ClassName {
}
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
14
Tìm hiểu công nghệ WebGIS và ứng dụng

Ta có thể lưu lớp trên với tên ClassName.java và biên dịch thành lớp
ClassName trong file ClassName.class.
Ta có thể tạo được những đối tượng của lớp này bằng câu lệnh:
ClassName ObjectName = new ClassName();
Vùng dữ liệu (field) hay thuộc tính của lớp
Ta có thể định nghĩa một vùng dữ liệu như khai báo một biến trong
chương trình như sau:
class ClassName {
int FieldName;
}
Các vùng dữ liệu của lớp có thể được đóng gói (encapsulation) để xác
định quyền truy xuất của các đối tượng khác đối với mỗi vùng dữ liệu. Để đóng
gói một vùng dữ liệu ta có thể dùng các từ khoá sau: public, private và protected.
Trong Java tồn tại các dạng lớp sau:
 Lớp chính: là lớp có phương thức chính (phương thức main).
 Lớp ngoài: không có phương thức chính, nhưng có phương thức khởi tạo.
 Lớp trừu tượng: là lớp có từ khoá abstract. Phương thức trừu tượng của
lớp trừu tượng cũng có từ khoá abstract và chưa có nội dung. Sử dụng lớp
trừu tượg trong trường hợp ta định nghĩa một lớp mà chưa xác định được
các vùng dữ liệu và phương thức của nó thì ta định nghĩa một lớp trừu
tượng
 Lớp nội: là lớp được khai báo trong một lớp khác.
1.3.2.2. Đối tượng Exception, gói, interface và thread
Exception
Exception là một đối tượng đặt biệt được tạo ra khi chương trình gặp lỗi.
Java sẽ trả về cho chương trình chạy đối tượng ngoại lệ này để chương trình giải
quyết. Việc trả về ngoại lệ của Java gọi là throwing, còn việc nắm bắt đối tượng
trả về của chương trình gọi là catching. Các ngoại lệ có thể chia theo 3 nhóm:
- Nhóm lớp ngoại lệ dẫn xuất trực tiếp từ ngoại lệ
- Lớp ngoại lệ trong khi chạy chương trình

Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
15
Tìm hiểu công nghệ WebGIS và ứng dụng
- Lớp ngoại lệ nhập/xuất
Gói (Packages)
Các lớp trong Java có thể đóng gói thành một bộ gọi là package, mỗi
package có một tên riêng.
Để khai báo một lớp là thành phần của một gói ta dùng câu lệnh package.
Interface
Để tránh đi tính phức tạp của đa thừa kế (multi-inheritance), Java thay thế
bằng giao tiếp (interface). Một lớp của Java chỉ có một siêu lớp trực tiếp nhưng
có thể cài đặt nhiều giao tiếp với các lớp khác để thừa hưởng thêm các vùng dữ
liệu và phương thức của các giao tiếp này.
Thread (phân lưồng)
Thread là một đơn vị hành động của hệ điều hành, một chương trình có thể
chia thành nhiều thread. Các thread trong mỗi chương trình sẽ được thực hiện
tuần tự và gần như đồng thời, chúng được giao tiếp với nhau qua các interface
hay được đồng bộ hóa (synchronized).
1.3.2.3 Lớp String
Java không cung cấp kiểu dữ liệu cơ sở String mà thay bằng lớp String.
Để khai báo hay khởi tạo một chuỗi ta có thể dùng các cách sau:
Cách 1:
String str1 = new String();
String str2 = new String(“Hello”);
Cách 2:
Char ch[ ] = {‘A’, ‘B’, ‘C’, ‘D’, ‘E’};
String str3 = new String(ch);
String str4 = new String(ch, 0, 2); // str4 gồm 2 phần tử “AB”
Có rất nhiểu phương thức được xây dựng trong lớp String, các phương
thức này được sử dụng để xử lý chuỗi.

1.3.3 Giao diện đồ hoạ của Java
Thư viện AWT
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
16
Tìm hiểu công nghệ WebGIS và ứng dụng
AWT (Abstract Windowing Toolkit) là một bộ các lớp trong Java cho
phép chúng ta tạo giao diện người dùng đồ hoạ (GUI_Graphics User Interface)
và chấp nhận các nhập liệu của người dùng thông qua bàn phím và chuột. AWT
cung cấp các thành phần khác nhau để tạo GUI hiệu quả và lôi cuốn người sử
dụng. Các thành phần này này có thể là:
 Container (vật chứa): là vùng có thể đặt các thành phần giao diện vào đó.
Bất cứ vật gì mà kế thừa từ lớp Container sẽ là vật chứa. Applet là một vật
chứa, applet được dẫn xuất từ Panel, lớp Panel lại được dẫn xuất từ lớp
Container.
 Các khung chứa: Frame, Panel, Canvas, khung chứa Dialog, khung chữa
scrollPane
 Các thành phần giao diện cơ bản: nhãn (label), ô văn bản (FextField),
vùng văn bản (TextArea), nút lệnh (Button), Checkbox và RadioButton,
lựa chọn (Choice), danh sách (List)
Bộ quản lý cách trình bày(Layout mannager)
Layout manager điều khiển cách trình bày vật lý của các phần tử GUI như
là button, textbox, option button v.v… Một layout manager tự động bố trí các
thành phần này trong container.
Các kiểu trình bày khác nhau:
- FlowLayout
- BorderLayout
- CardLayout
- GridLayout
- GridBagLayout
Xử lý các sự kiện

Các hệ thống GUI xử lý các tương tác người dùng với sự trợ giúp của mô
hình hướng sự kiện (event-driven). Tương tác của người dùng có thể là di
chuyển chuột, nhấn phím, nhả phím v.v…Tất cả các thao tác này thiết lập một sự
kiện của một loại nào đó.
Việc xử lý những sự kiện này phụ thuộc vào ứng dụng. Abstract
Windowing Toolkit (AWT) xử lý một vài sự kiện. Môi trường mà các ứng dụng
này được thi hành ví dụ như trình duyệt cũng có thể xử lý các sự kiện khác.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
17
Tìm hiểu công nghệ WebGIS và ứng dụng
Người lập trình cũng cần phải xử lý những sự kiện nhất định và cần phải viết
hàm xử lý các sự kiện đó.
Menu
Ngôn ngữ Java có một tập hợp các lớp đối tượng để tạo các menu. Có hai
loại menu – pull down và pop-up. Menu làm cho ứng dụng ta xây dựng dễ sử
dụng hơn. Ta chỉ có đặt duy nhất một thanh menubar trong một frame. Menubar
là một thanh nằm ngang được đặt tại đỉnh của frame. Nó liệt kê các mục chọn
khác nhau hay còn gọi là menu. Một menu độc lập có thể chứa các mục chọn
con, các mục con này được gọi là Menu Item. Java cung cấp các Checkbox
MenuItem, chúng có thể được bật hay mở, phụ thuộc vào trạng thái.
1.3.4. Đối tượng đồ hoạ (Graphics)
Java cung cấp gói AWT cho phép ta vẽ các hình đồ hoạ. Lớp Graphics bao
gồm tập hợp rất nhiều phương thức. Nhưng phương thức này được sử dụng để vẽ
bất cứ hình nào trong các hình như: đoạn thẳng, hình chữ nhật, elip, hình tròn,
hình đa giác, …
Phương thức drawString của đối tượng Gragphics giúp ta vẽ ra văn bản
hay chữ ra màn hình. Văn bản hay chữ có thể được trình bày bằng nhiểu phông
chữ khác nhau.
Phương thức drawImage dùng để vẽ ảnh ra màn hình, ta có thể vẽ ảnh vào
Applet hoặc vào cửa sổ ứng dụng.

Màu sắc được thể hiện qua lớp Color. Mỗi màu được tạo ra bằng cách pha
trộn 3 màu chính là đỏ (red), xanh lá cây (green), xanh dương (blue) (màu RGB).
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
18
Tìm hiểu công nghệ WebGIS và ứng dụng
1.3.5 Java Applet
Java Applet là một chương trình nhỏ nhúng trong trang web có khả năng
lập trình được. Tất cả các applet đều là các lớp con của lớp ‘Applet’.
Lớp Applet thuộc package ‘java.applet’. Lớp Applet bao gồm nhiều
phương thức để điều khiển quá trình thực thi của applet. Để tạo applet, cần
import hai gói sau:
java.applet
java.awt
Một Applet định nghĩa cấu trúc của nó từ 4 sự kiện xảy ra trong suốt quá
trình thực thi. Đối với mỗi sự kiện, một phương thức được gọi một cách tự động.
Các phương thức này được minh hoạ trong bảng sau:
Phương
thức
Chức năng
init() Được gọi trong quá trình khởi tạo applet. Trong quá trình
khởi tạo, nó sẽ tạo đối tượng để cung cấp cho applet.
Phương thức này được dùng để tải các hình ảnh đồ hoạ, khởi
tạo các biến và tạo các đối tượng.
start() Được gọi gọi khi một applet bắt đầu thực thi. Một khi quá
trình khởi tạo hoàn tất, thì applet được khởi động. Phương
thức này được dùng để khởi động lại applet sau khi nó đã
ngừng trước đó
stop() Được gọi khi ngừng thực thi một applet. Một applet bị
ngừng trước khi nó bị huỷ.
destroy() Được dùng để huỷ một applet. Khi một applet bị huỷ, thì bộ

nhớ, thời gian thực thi của vi xử lý, không gian đĩa được trả
về cho hệ thống.
Bảng 1.1: Các phương thức của một applet
Điều quan trọng là không phải lúc nào applet cũng bắt đầu từ ban đầu. Mà
nó bắt đầu từ vị trí tiếp theo của quá trình thực thi trước đó.
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
19
Tìm hiểu công nghệ WebGIS và ứng dụng
Ngoài những phương thức cơ bản này, còn có những phương thức
‘paint()’ và ‘repaint()’. Phương thức paint() dùng để hiển thị một đường thẳng
(line), text, hoặc một hình ảnh trên nền applet. Đối số của phương thức này là đối
tượng của lớp Graphics. Lớp này thuộc gói java.awt. Câu lệnh sau được dùng để
import lớp Graphics:
import java.awt.Graphics;
Phương thức ‘repaint()’ được dùng khi cửa sổ cần cập nhật lại. Phương
thức này chỉ cần một thông số. Tham số này là đối tượng của lớp Graphics.
Applet sử dụng phương thức ‘showStatus()’ để hiển thị thông tin trên
thanh trạng thái. Phương thức có tham số thuộc kiểu dữ liệu String. Để lấy các
thông tin của applet, user có thể overide phương thức ‘getAppletInfo()’ của lớp
Applet. Phương thức này trả về 1 đối tượng kiểu String.
Khai báo lớp cho Applet
Dùng lệnh khai báo lớp:
public class Ten_Lop extends Applet
{ }
Ở đây, Ten_Lop là tên tượng trưng, về sau khi viết Applet ta sẽ dùng các
tên cụ thể.
Tạo trang web có thẻ Applet bên trong
Cấu trúc thẻ Applet:
<APPLET CODE = "LopApplet.class" WIDTH = X HEIGHT = Y>
</APPLET>

Trong đó: "LopApplet.class" là một lớp Applet của Java. X là bề rộng và
Y là bề cao đo bằng pixel của một vùng màn hình trong trang Web có chèn thẻ
Applet vào.
Để có lớp "LopApplet.class" ta phải viết chương trình nguồn Java Applet,
xong biên dịch chương trình nguồn để tạo lớp "LopApplet.class", sau đó đưa lớp
Applet vào thẻ Applet và chèn thẻ Applet vào trang Web.
Sự khác nhau giữa application và applet:
 Để thực thi các application chúng ta dùng trình thông dịch java, trong khi
đó applet có thể chạy được trên các trình duyệt (có hổ trợ Java) hay sử
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
20
Tìm hiểu công nghệ WebGIS và ứng dụng
dụng công cụ appletViewer, công cụ này đi kèm với JDK.
 Quá trình thực thi của application bắt đầu từ phương thức ‘main()’. Tuy
nhiên applet thì không làm như vậy.
 Các application sử dụng ‘System.out.println()’ để hiển thị kết quả ra màn
hình trong khi đó applet sử dụng phương thức ‘drawString()’ để xuất ra
màn hình.
 Một điều đáng lưu ý là một chương trình Java đơn lẻ thì có thể vừa là
application vừa là applet. Chức năng của applet được bỏ qua khi nó được
thực thi như là một application và ngược lại.
Chương 2 : Tìm hiểu về công nghệ WebGIS và ứng dụng
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
21
Tìm hiểu công nghệ WebGIS và ứng dụng
TÀI LIỆU THAM KHẢO
1. Hệ thống thông tin địa lý_PGS.TS Nguyễn Ngọc Thạch_PGD trung tâm
nghiên cứu ứng dụng Viễn thám và Hệ thông tin Địa Lý.
2. www.nea.gov.vn
3. www.mathgis.com

4. www.javavietnam.org
5. Giáo trình Lý thuyết và Bài tập Java _ Trần Tiến Dũng (Nhà xuất bản Lao
Động Xã Hội).
6. Ngôn ngữ lập trình Java _ Đoàn Ngọc Tăng (Nhà xuất bản Đại Học Sư
Phạm).
7. Những bài giảng về Lập trình Java
Nguyễn Thị Thu Hoài_Đại học Kinh Tế Quốc Dân_K46
22

×