Đi vô rạp coi phim không còn xa lạ với mọi người nhất là những người sống ở các thành phố lớn. Tôi còn nhớ một lần đi xem phim Kungfu Panda 2 với bạn tôi. Tôi xem tại 1 rạp khá lớn. Trên vé ghi giờ chiếu là 8h. Đúng 8h tôi vào ghế ngồi nhưng thật lạ là trong rạp rất ít người. Có lẽ những người ở đây đã quá hiểu chuyện này rồi nên họ đến muộn. Đúng 8h chiếu phim nhưng không phải phim tôi coi mà là quảng cáo. Nào là nước ngọt, bánh snack,...và quảng cáo phim. Cảm giác giống như mình bỏ tiền vô rạp xem quảng cáo vậy. Vấn đề này không xa lạ với tôi, bởi ở nhà xem truyền hình cáp phải trả tiền nhưng vẫn quảng cáo đầy dẫy đó. Trước phim quảng cáo, giữa phim quảng cáo, kết thúc phim quảng cáo. Có khi cứ chiếu chừng 15 phút là quảng cáo. Nhưng tiền thuê bao truyền hình cáp không nhiều lắm nên thôi kệ nhắm mắt chấp nhận. Nhưng đằng này vô rạp mua một vé gần bằng 1 tháng xem truyền hình cáp ở nhà để xem quảng cáo. Nhưng cũng đành chịu, chẳng biết kêu ai, cắn răng chịu đựng thôi.
Nói về quảng cáo, nếu như quảng cáo nước ngọt, hay các sản phẩm tiêu dùng thì mặc dù chói mắt thật nhưng còn đỡ hơn khi coi quảng cáo phim. Tôi đi coi Kungfu Panda 2, là một bộ phim hoạt hình được rất nhiều người yêu thích, đặc biệt là trẻ em. Nên cũng dễ hiểu là khi đó trong rạp rất nhiều trẻ em. Thế nhưng không biết những người biên tập đoạn quảng cáo đó nghĩ thế nào mà lại quảng cáo phim Việt Nam. Không phải tôi chê phim Việt Nam, mà phim Việt Nam ra rạp bây giờ toàn là những phim lấy chủ đề da thịt. Khán giả chủ yếu là con nít vậy mà chiếu trailer phim Việt Nam đó toàn những cảnh không phù hợp. Một lần nữa chỉ biết nhìn mấy đứa trẻ hồn nhiên rồi lắc đầu ngán ngẩm.
Về phim, tôi thấy sự khác một cách đáng ngạc nhiên về cái cách người ta xem phim. Tôi còn nhớ ngày đó, đài truyền hình chiếu phim Những cuộc phiêu lưu của Sinbad, báo chí lúc đó kêu ca trách mắng nhà đài rất nhiều về phim đó. Bởi họ nói trong phim diễn viên ăn mặc quá hở hang. Nếu bạn có xem phim đó thì bạn cũng biết, diễn viên mặc váy, hoặc phần trên mặc như bikini. Trong phim, các diễn viên diễn cảnh nóng lắm cũng là hai diễn viên hôn nhau. Còn bây giờ thì sao, xem một số phim Việt Nam bạn sẽ biết. Mệt (đó cũng là lý do vì sao tôi thích coi phim hoạt hình hơn, vừa vui vừa trong sáng). Tại sao bây giờ người ta không trách mắng như hồi đó, tôi không biết, có thể người ta sống thoáng gì đó. Nhưng tôi chỉ thấy một sự vô trách nhiệm đối với trẻ em.
Người lớn ơi hãy tạo cho trẻ em một tâm hồn trong sáng thơ ngây.
NNS
Thứ Năm, 2 tháng 8, 2012
Thứ Tư, 1 tháng 8, 2012
Geosimulation
Đây là một lĩnh vực rất khó. Tôi
tò mò nên đọc qua cho biết. Bên công nghệ thông tin thì tôi không biết sao, chứ
bên lĩnh vực thông tin địa lý thì tôi chưa thấy có nghiên cứu nào về lĩnh vực
này ở Việt Nam
(ở trường tôi học cũng không thấy và các bài báo trong hội nghị GIS toàn quốc năm
rồi (2011) tôi cũng không thấy). Tình cờ trong lúc tìm kiếm tài liệu làm luận
văn tôi phát hiện lĩnh vực này. Bây giờ rãnh rỗi tìm hiểu cho vui. Phần này chủ
yếu là tổng hợp những gì tôi đọc được (thường tôi đọc tài liệu, sau đó tôi sẽ tóm
lược lại để dễ nhớ). Paul M. Torrens là cái tên tôi thấy xuất hiện nhiều trong
lĩnh vực này.
Nhìn vào thuật ngữ chúng ta cũng
có thể thấy đó là sự kết hợp của 2 lĩnh vực khoa học thông tin địa lý (geo) và
khoa học máy tính (simulation). Geosimulation nhìn các vấn đề như là kết quả
của một tập hợp các sự vận động của những đối tượng tương tác nhau, trong vấn
đề về đô thị thì các đối tượng này thường là cá nhân hộ gia đình, con người, và
đơn vị bất động sản hay theo thời gian bằng cách tiếp cận thời gian thực. Geosimulation
giống với phương pháp truyền thống là microsimulation, nhưng có một vài điểm
giúp chúng ta phân biệt hai loại này :
+ Thứ nhất là đơn vị không gian
+ Thứ hai là liên quan đến những
mối quan hệ không gian.
+ Thứ ba là thời gian
+ Thứ tư là mục tiêu của sự mô
phỏng.
Nghiên cứu trong geosimulation hầu
hết tập trung vào những kỹ thuật cải tiến công nghệ mô phỏng không gian : nguồn
gốc của những thuật toán mới phục vụ việc xử lý không gian, phương pháp luận
mới về khái niệm những thực thể không gian và những mối quan hệ giữa những thực
thể đó, ứng dụng những mô hình mô phỏng trong những vấn đề của thế giới thực,
và tạo phần mềm mới cho những thí nghiệm của hệ thống địa lý. Nhiều ý tưởng
trong geosimuation được lấy từ các lĩnh vực khác như : khoa học máy tính, vật
lý, hóa học, toán học, kinh tế, sinh thái học và sinh học. Trong đó, khoa học
máy tính liên quan gần gũi nhất, đặc biệt là trí thông minh nhân tạo
(artificial intelligence), cuộc sống nhân tạo (artificial life), và lập trình
hướng đối tượng.
Các vấn đề liên quan đến đô thị
thường hấp dẫn những người làm mô phỏng đặc biệt là những người làm về
geosimulation. Hai dạng mô hình thường được sử dụng trong geosimulation là
cellular automata và multi-agent system.
Vài nét về cellular automata
trước, còn multi-agent system để sau.
Cellular automata (hay dạng số ít
là cellular automaton, viết tắt CA) là một mô hình rời rạc được nghiên cứu
trong lý thuyết khả năng tính toán (computability theory hay recursion theory),
toán học, vật lý, khoa học phức hợp (complexity science), sinh học lý thuyết
(theoretical biology), mô hình vi cấu trúc (microstructure modelling). Trong
đó, chúng ta thấy có khoa học phức hợp, đây là lĩnh vực đáng chú ý, chắc phải
dành thời gian đọc qua cho vui. CA bao gồm lưới những cell đều nhau, mỗi cell
có một số trạng thái xác định, như “on” hay “off”. Lưới có thể có nhiều chiều .
Đối với mỗi cell, một tập các cell lân cận, gọi là hàng xóm (thường bao gồm
luôn cả bản thân cell đó) được định nghĩa tương đối theo cell đó. Trạng thái
của các cell được xác định trong từng vòng lặp dựa trên trạng thái các cell
hàng xóm và bảng quy luật. Để hiểu rõ hơn, chúng ta có thể xem xét một dạng
cellular automaton đơn giản nhất là elemantary cellular automata (ECA). ECA có
lưới dạng 1 chiều (dạng đường) các cell, mỗi cell có giá trị là 0 hoặc 1, và
những quy luật chỉ dựa trên giá trị các hàng xóm (cell bên trái, cell bên phải
và chính cell đó) để xác định trạng thái cell đó trong vòng lặp tiếp theo. Sự
phát triển của ECA có thể được mô tả bởi 1 bảng trạng thái của 1 cell được chọn
sẽ có trong vòng lặp kế tiếp dựa trên giá trị của chính nó, những cell bên trái
và bên phải của nó. Từ đó sẽ có 2x2x2 = 8 trạng thái có thể có của 3 cell (2
cell lân cận và bản thân cell đó) , có tổng cộng 28 = 256 ECA. Hình
bên dưới thể hiện bảng luật 30 của ECA.

Vậy thì từ đâu có luật đó ? Dựa vào các số nhị
phân. Cụ thể, như chúng ta thấy ở trên, số 30 biểu diễn ở dạng nhị phân là
0001110. Như vậy, trong automaton thứ nhất tính từ trái sang, nếu hai cell hàng
xóm là đen, bản thân cell đó là đen, thì ứng với số 0 đầu tiên bên trái trong
số 30 ở dạng nhị phân. Nghĩa là cell đó ở vòng lặp tiếp theo sẽ là trắng (giá
trị là 0). Từ đó, chúng ta có thể dễ dàng hiểu các luật còn lại (các luật từ 0
đến 255). Trên cơ sở luật 30, giả sử chúng ta có 1 cell có trạng thái là 1 (màu
đen) ban đầu, trong 20 vòng lặp, chúng ta sẽ có kết quả sau :

Trong ví dụ trên, 2 vấn đề cần làm
rõ hơn là loại lưới và hàng xóm. Loại lưới là một trong số những thuộc tính cơ
bản của cellular automata. Đơn giản nhất là lưới 1 chiều như ví dụ trên. Bên
cạnh đó, còn có các lưới 2 chiều có các dạng như : tam giác, hình vuông và lục
giác. Đối với các lưới nhiều chiều hơn thí chúng ta chưa đề cập đến. Hình bên
dưới thể hiện các dạng lưới :

Vấn đề thứ 2 là hàng xóm. 2 loại
hàng xóm thường gặp là hàng xóm Moore
(hàng xóm dạng vuông) và hàng xóm von Neumann (hàng xóm dạng kim cương). Hàng
xóm Moore là
loại hàng xóm có dạng hình vuông bao quanh cell cho sẵn. Hàng xóm Moore trong phạm vi r có
thể được định nghĩa như sau :

Số cell trong hàng xóm Moore là (2r+1)2.

Hàng xóm von Neumann tập hợp những
cell các cạnh tiếp xúc với cell cho sẵn. Hàng xóm von Neumann được định nghĩa
như sau :
Số cell trong hàng xóm von Neumann
là 2r(r+1)+1

Một dạng CA 2 chiều rất nổi tiếng
là Game of Life của Convay. Một ví dụ của Game of Life được thể hiện bên dưới.

Chúng ta thấy Game of Life rất đơn
giản trong hình bên trên, nhưng thực tế nó ứng dụng rất lớn trong nhiều lĩnh
vực. Có thể download phần mềm golly về để xem cho vui. Download tại đây : http://golly.sourceforge.net/
Về Cellular Automata nên biết qua
một nhân vật là Stephen Wolfram.
NNS
Thứ Sáu, 20 tháng 7, 2012
Bài học từ anh xe ôm
Một câu chuyện chạm mạnh vào lòng tự ái của tôi. Nhưng với khía cạnh
tích cực, tôi thầm cảm ơn anh xe ôm đã làm cho sự ham học hỏi của tôi
trỗi dậy. Sau này, mỗi lần tôi gặp khó khăn trong việc gì đó, câu chuyện
như một liều thuốc an thần giúp tôi cố gắng tìm cách giải quyết công
việc.
Câu chuyện xảy ra vào năm cuối đại học, khi đó, tôi đang đi thực tập tốt nghiệp tại một trung tâm gần Thảo Cầm Viên. Cũng như mọi ngày,sáng hôm đó, tôi và thằng bạn cùng đến trung tâm để thực tập. Chúng tôi gửi xe tại nhà xe của trung tâm. Bình thường, hai chúng tôi thường đi về chung, nhưng hôm ấy thằng bạn tôi có việc nên xin về sớm. Đến chiều,như mọi ngày, khi mọi người trong trung tâm ra về, tôi cũng ra về. Khi ra nhà xe lấy xe, tôi mới phát hiện ra chìa khóa xe bị mất. Tôi chạy kiếm khắp nơi nhưng vẫn không thấy nó ở đâu. Những giọt mồ hôi bắt đầu chảy xuống khuôn mặt lo lắng của tôi. Thứ nhất, chỗ thực tập khá xa chỗ tôi ở trọ. Thứ hai, tôi tuy ở thành phố mấy năm trời nhưng tôi lại ít đi chơi nên không có nhiều bạn và cũng không rành đường sá. Và điều quan trọng nhất là tôi không biết gì về xe máy. Lúc trước tôi toàn đi xe đạp và đi bộ tới trường. Mấy cài chuyện về xe máy nghe thằng bạn cùng phòng tôi nói nhiều lắm nhưng tôi chẳng quan tâm. Tôi đành dắt bộ xe ra đường để tìm chỗ sửa nhưng đoạn đường này là đường lớn trong thành phố nên không thấy có tiệm sửa xe nào. Tôi bắt đầu lo lắng và hầu như không nghĩ được cách gì khác ngoài việc cứ dắt bộ về, nhưng đường về tới nhà lại khá xa. Trời cũng đã bắt đầu mưa và màn đêm cũng dần buông xuống làm tôi càng cảm thấy lo lắng hơn bởi buổi tối rất khó phân biệt đường ở thành phố. Bỗng một anh xe ôm chạy lại gần tôi và hỏi: "Xe bị sao vậy, có cần sửa không?". Tôi vui mừng trả lời : "Tôi bị mất chìa khóa rồi. Không chạy được." Anh xe ôm bảo tôi đưa xe lên vỉa hè. Chỉ một thao tác đơn giản là mở hộp đèn ra và rút dây ngay ổ khóa, chiếc xe đã khởi động lại được. Tôi vui mừng hỏi anh xe ôm bao nhiêu tiền. Anh trả lời " Mười ngàn". Mười ngàn là một món tiền lớn lúc đó, bởi sáng tôi ăn bò kho có 3000, trưa và chiều ăn cơm sườn mỗi dĩa cũng có 5 ngàn thôi. Tôi đưa tiền và không quên cảm ơn anh. Trước khi đi anh xe ôm quay lại nhìn tôi, cười mỉa mai và nói: " Mất mười ngàn mà học được điều mới, đúng không ?". Tôi như bị một nhát chí mạng vào đầu. Gương mặt đó, nụ cười đó còn sắc bén hơn bất cứ con dao nào trên thế giới này. Trên đường về nhà, càng nghĩ tôi càng thấy đau thật. Không phải đau vì mất mười ngàn, mà đau vì tôi vẫn luôn cho mình là thông minh, là giỏi mà chỉ có mỗi một việc nhỏ như thế mà không biết làm, để cho người ta cười vào mặt mình.
Sau này khi làm bất cứ việc gì thường thì tôi chỉ làm 1 mình, ít có nhờ cậy ai lắm. Như hồi làm luận văn cũng vậy, thầy hướng dẫn đâu có hướng dẫn tôi gì đâu, tất cả từ ý tưởng đến nội dung, tôi tự làm hết, cái nào không biết tôi lên mạng tìm hiểu. Một điều tôi luôn tự nhủ là mình hãy tự cố gắng, trước khi nghĩ đến việc nhờ người khác.
NNS
Câu chuyện xảy ra vào năm cuối đại học, khi đó, tôi đang đi thực tập tốt nghiệp tại một trung tâm gần Thảo Cầm Viên. Cũng như mọi ngày,sáng hôm đó, tôi và thằng bạn cùng đến trung tâm để thực tập. Chúng tôi gửi xe tại nhà xe của trung tâm. Bình thường, hai chúng tôi thường đi về chung, nhưng hôm ấy thằng bạn tôi có việc nên xin về sớm. Đến chiều,như mọi ngày, khi mọi người trong trung tâm ra về, tôi cũng ra về. Khi ra nhà xe lấy xe, tôi mới phát hiện ra chìa khóa xe bị mất. Tôi chạy kiếm khắp nơi nhưng vẫn không thấy nó ở đâu. Những giọt mồ hôi bắt đầu chảy xuống khuôn mặt lo lắng của tôi. Thứ nhất, chỗ thực tập khá xa chỗ tôi ở trọ. Thứ hai, tôi tuy ở thành phố mấy năm trời nhưng tôi lại ít đi chơi nên không có nhiều bạn và cũng không rành đường sá. Và điều quan trọng nhất là tôi không biết gì về xe máy. Lúc trước tôi toàn đi xe đạp và đi bộ tới trường. Mấy cài chuyện về xe máy nghe thằng bạn cùng phòng tôi nói nhiều lắm nhưng tôi chẳng quan tâm. Tôi đành dắt bộ xe ra đường để tìm chỗ sửa nhưng đoạn đường này là đường lớn trong thành phố nên không thấy có tiệm sửa xe nào. Tôi bắt đầu lo lắng và hầu như không nghĩ được cách gì khác ngoài việc cứ dắt bộ về, nhưng đường về tới nhà lại khá xa. Trời cũng đã bắt đầu mưa và màn đêm cũng dần buông xuống làm tôi càng cảm thấy lo lắng hơn bởi buổi tối rất khó phân biệt đường ở thành phố. Bỗng một anh xe ôm chạy lại gần tôi và hỏi: "Xe bị sao vậy, có cần sửa không?". Tôi vui mừng trả lời : "Tôi bị mất chìa khóa rồi. Không chạy được." Anh xe ôm bảo tôi đưa xe lên vỉa hè. Chỉ một thao tác đơn giản là mở hộp đèn ra và rút dây ngay ổ khóa, chiếc xe đã khởi động lại được. Tôi vui mừng hỏi anh xe ôm bao nhiêu tiền. Anh trả lời " Mười ngàn". Mười ngàn là một món tiền lớn lúc đó, bởi sáng tôi ăn bò kho có 3000, trưa và chiều ăn cơm sườn mỗi dĩa cũng có 5 ngàn thôi. Tôi đưa tiền và không quên cảm ơn anh. Trước khi đi anh xe ôm quay lại nhìn tôi, cười mỉa mai và nói: " Mất mười ngàn mà học được điều mới, đúng không ?". Tôi như bị một nhát chí mạng vào đầu. Gương mặt đó, nụ cười đó còn sắc bén hơn bất cứ con dao nào trên thế giới này. Trên đường về nhà, càng nghĩ tôi càng thấy đau thật. Không phải đau vì mất mười ngàn, mà đau vì tôi vẫn luôn cho mình là thông minh, là giỏi mà chỉ có mỗi một việc nhỏ như thế mà không biết làm, để cho người ta cười vào mặt mình.
Sau này khi làm bất cứ việc gì thường thì tôi chỉ làm 1 mình, ít có nhờ cậy ai lắm. Như hồi làm luận văn cũng vậy, thầy hướng dẫn đâu có hướng dẫn tôi gì đâu, tất cả từ ý tưởng đến nội dung, tôi tự làm hết, cái nào không biết tôi lên mạng tìm hiểu. Một điều tôi luôn tự nhủ là mình hãy tự cố gắng, trước khi nghĩ đến việc nhờ người khác.
NNS
Thứ Năm, 28 tháng 6, 2012
Ý tưởng kinh doanh mới
Sau những ngày rong ruổi trên các nẻo đường thành phố, tôi nhận thấy một
ý tưởng kinh doanh mới đó là kinh doanh các sản phẩm làm từ da...
chuột. Một điều dễ nhận thấy là nguồn nguyên liệu của mặt hàng này rất
phong phú. Chỉ cần đi lòng vòng trên các nẻo đường là bạn có thể có một
số lượng lớn nguyên liệu. Da chuột còn tươi do người dân ném ra đường
cũng có, da phơi khô đã được ép bởi các xe qua đường cũng có,...Nếu bạn
muốn trực lấy da từ chuột sống, bạn có thể tổ chức một đội ngũ chuyên
bắt chuột ở các công viên, những nơi công cộng hoặc đến từng nhà người
dân. Sau đó, chuột sẽ được lấy phần da cho việc chế biến sản phẩm để
kinh doanh, còn phần thịt có thể bán cho các quán nhậu bởi tại đây thì
chuột gì cũng tên là chuột đồng trên menu. Một điều bạn có thể yên tâm
là nguồn nguyên liệu chuột không bao giờ cạn kiệt.
Tôi hy vọng sẽ giúp ích cho những người đang tìm kiếm ý tưởng kinh doanh.
NNS
Tôi hy vọng sẽ giúp ích cho những người đang tìm kiếm ý tưởng kinh doanh.
NNS
Lịch sử GIS
Trong
năm 1854, John Snow đã thể hiện sự bùng phát bệnh dịch tả ở Luân Đôn bằng việc
sử dụng các điểm (points), các điểm này thể hiện vị trí của từng trường hợp cụ
thể. Đây có thể xem là việc sử dụng phương pháp địa lí sớm nhất. Nghiên cứu của
Snow về sự phân bố bệnh dịch tả dẫn ông đến nguồn gây bệnh, một máy bơm nước bị
ô nhiễm nằm tại vị trí trung tâm của đợt bùng phát dịch tả này.
Trong
khi những thành phần cơ bản liên quan đến địa hình (topography) và những chủ đề
đã có sẵn trước đó trong ngành bản đồ, thì bản đồ của Snow là duy nhất bởi lần
đầu tiên sử dụng những phương pháp bản đồ không chỉ để thể hiện mà còn để phân
tích nhóm (cluster) những vấn đề liên quan đến địa lý. Những năm đầu thế kỷ 20 đã chứng kiến sự phát triển của ngành thuật in ảnh bằng bản kẽm (photozincography), kỹ thuật này cho phép những bản đồ được chia thành các layer, chẳng hạn 1 layer về thực phủ, một layer về sông ngòi,... Kỹ thuật này đặc biệt được sử dụng cho việc in những đường đồng mức (contours) (bởi việc vẽ những đường này rất khó khăn và việc chia thành layer riêng giúp tránh được sự nhầm lẫn của người vẽ). Công việc này trước kia được vẽ trên những tấm kính nhưng sau đó, film nhựa (plastic film) được sử dụng do ưu điểm là nhẹ hơn, chiếm ít không gian lưu trữ và ít giòn hơn. Khi tất cả các layer được hoàn thành, chúng sẽ được kết hợp vào trong 1 ảnh sử dụng một camera chuyên dụng lớn (gọi là process camera). Khi màu được đưa vào, ý tưởng về việc chia thành từng lớp cũng được sử dụng để tạo ra các màu in riêng biệt. Khi mà việc sử dụng layer trở thành trở thành một trong những đặc trưng điển hình của GIS hiện đại, thì quá trình chụp ảnh được mô tả ở trên không được xem xét trong GIS.
Sự phát triển của phần cứng máy tính được thúc đẩy bởi nghiên cứu vũ khí hạt nhân dẫn đến những ứng dụng của việc thành lập bản đồ trên nền máy tính trong đầu những năm 1960.
Năm 1960 cũng chứng kiến sự phát triển của việc vận hành GIS thực sự ở Ottawa, Ontario, Canada của Cục Lâm Nghiệp và Phát triển Nông thôn Liên bang. Được phát triển bởi tiến sĩ Tomlinson, khi đó nó được gọi là Hệ thống thông tin địa lý Canada (CGIS) và được sử dụng để lưu trữ, phân tích, và thao tác trên dữ liệu được thu thập cho Canada Land Inventory (một nỗ lực xác định khả năng sử dụng đất cho vùng nông thôn Canada bằng việc thành lập bản đồ thông tin về thổ nhưỡng, nông nghiệp, giải trí, cuộc sống hoang dã, lâm nghiệp, và sử dụng đất ở tỷ lệ 1:50.000. Một nhân tố đánh giá sự phân loại cũng được đưa vào trong phân tích.
CGIS là một sự cải tiến những ứng dụng vẽ bản đồ trên nền máy tính khi nó cung cấp khả năng chồng lớp (overlay), đo lường và quét/số hóa. Nó hỗ trợ một hệ thống tọa độ quốc gia mà bao phủ toàn bộ lục địa, những đường được mã hóa gọi là arc có quan hệ (topology) với nhau và nó lưu trữ thông tin vị trí và thuộc tính trong những file khác nhau. Và do đó, Tomlinson được coi là cha đẻ của GIS, đặc biệt là việc ông sử dụng chồng lớp trong việc thúc đẩy phân tích không gian của dữ liệu địa lý.
CGIS tồn tại đến những năm 1990 và đã xây dựng một CSDL về tài nguyên đất ở dạng số rất lớn ở Canada. Nó được phát triển như là một hệ thống khung nền trong việc hỗ trợ tỉnh và liên bang trong việc quy hoạc và quản lý tài nguyên. Sức mạnh của nó được thể hiện ở việc phân tích trên khu vực lục địa rộng lớn với CSDL phức tạp. Và CGIS không bao giờ trở thành hệ thống thương mại được.
Trong năm 1964, Howard T. Fisher lập phòng thí nghiệm Đồ họa máy tính và phân tích không gian ở Harvard Graduate School of Design, nơi mà một số quan trọng những khái niệm trong kiểm soát dữ liệu không gian được phát triển và trong những năm 1970, đã phân phối mã nguồn và hệ thống phần mềm như SYMAP, GRID, và ODYSSEY (được xem là nguồn của các sự phát triển các phần mềm thương mại ngày nay).
Đầu những năm 1980 M&S Computer (mà sau này trở thành Intergraph) cùng với Bentley Systems Incorporated xây dựng nền tảng CAD, (Environmental Systems Research Institute) ESRI, (Computer Aided Resource Information System) CARIS, (Earth Resource Data Analysis System) ERDAS nổi lên như những phần mềm thương mại GIS, đã thành công trong việc kết hợp nhiều đặc trưng của CGIS, kết hợp phương pháp thời kỳ đầu là tách thông tin không gian và thuộc tính với phương pháp thời kỳ thứ hai là sắp xếp thuộc tính vào trong những cấu trúc CSDL. Song song đó, sự phát triển của hai hệ thống công cộng (MOSS và GRASS GIS) bắt đầu từ những năm 1970 đến đầu những năm 1980.
Cuối thế kỷ 20, sự phát triển nhanh chóng của những hệ thống khác nhau đã được hợp nhất và chuẩn hóa trên một vài nền tảng và người sử dụng bắt đầu khám phá khái niệm dữ liệu GIS thông qua Internet, đòi hỏi chuẩn dữ liệu và cách thức truyền dữ liệu. Gần đây, sự phát triển của các gói phần mềm mã nguồn mở chạy trên nhiều hệ điều hành và có thể tùy biến để thực thi những nhiệm vụ cụ thể.
Dịch từ : http://en.wikipedia.org/wiki/Geographic_information_system
Bài viết tuy hơi lộn xộn nhưng phần nào thể hiện được lịch sử GIS, hiện nay thì WebGIS đã trỏ nên rất quen thuộc với mọi người. Và tôi thấy người ta cũng bắt đầu đề cập đế Cloud GIS. Lâu rồi không có thông tin, ây da tụt hậu rồi.
NNS
Thứ Ba, 26 tháng 6, 2012
Học thêm của học sinh trung học
Thời học sinh trung học, hầu như
ai cũng đã trải qua giai đoạn học thêm. Thật ra học thêm không có gì xấu, ở
trường thầy cô chỉ dạy những gì cơ bản nhất, dạy ngắn gọn nhất nên những kiến
thức bạn học được không nhiều và khả năng áp dụng của bạn sẽ gặp nhiều khó
khăn. Cụ thể, đối với môn toán, trong trường học sinh sẽ học về định lý, nhưng
nếu muốn áp dụng định lý đó trong 1 bài tập cụ thể thì không phải dễ. Thường
thầy cô chỉ cho được chừng 1 ví dụ để áp dụng, nhưng nhiêu đó chưa đủ để học
sinh có thể hiểu hết định lý hay áp dụng vào bài toán bất kỳ là rất khó. Bên
cạnh đó, hầu hết học sinh đều thụ động, giáo viên dạy gì thì học đó, không dạy
thì không học, sách vở có sẵn cũng ít khi nào dở ra xem nên việc tự tìm hiểu là
hầu như không có. Do đó, học thêm trở thành một nhu cầu thiết yếu để học sinh
có cơ hội hiểu rõ hơn về cái mình học, áp dụng được và mở rộng được vấn đề. Đây
là cái lợi có thể dễ dàng nhận thấy. Tuy nhiên, còn nhiều vấn đề phức tạp nằm
bên trong cái vẻ ngoài đơn giản đó.
Nhiều khi đi học thêm như đi chơi
vậy. Thầy cô không thể kiểm soát nổi học sinh, vào học chúng chỉ nói chuyện,
sau khi về không về nhà mà đi chơi. Hoặc lấy cớ đi học thêm nhưng không đi mà
đi chơi. Cái này là do học sinh, tôi không đề cập đến.
Điều tôi cần nói là giáo viên. Không
nói tới chuyện trình độ giáo viên. Một thực trạng ngày nay là giáo viên đang
cạnh tranh dạy thêm. Những giáo viên có tiếng dạy giỏi thì học sinh học đông,
trong khi những giáo viên ít tiếng tăm thì ít hoặc thậm chí không ai học. Điều
này dẫn đến lòng đố kỵ, và học sinh sẽ lãnh hậu quả. Giáo viên đó sẽ giảng dạy
sơ sài trên lớp và tìm kiếm những vấn đề khó để cho học sinh làm kiểm tra. Kết
quả học sinh bị điểm thấp và ảnh hưởng đến thành tích học tập cả năm. Muốn giải
quyết thì chỉ có nước đi học thêm ở giáo viên đó thôi, mặc dù học sinh chán nản
không muốn đi, nhưng không đi không được. Trường hợp của em tôi là một ví dụ,
môn toán đi học thêm ở 1 cô có tiếng nhất trường, nhưng vô lớp học toàn đạt
điểm thấp, và cô giáo dạy trong lớp còn nói là “cô biết em đi học cô khác”. Thế
là em tôi phải về xin tiền đi học cô đó, về sau điểm số luôn đứng hàng top
trong lớp. Mà nói chi xa, bản thân tôi cũng bị rồi. Hồi tôi còn học cấp 3, môn
Vật lý đối với tôi là một thảm họa, vô lớp ông thầy chẳng dạy gì cả, cứ cho bài
tập, rồi hỏi đứa nào biết lên bảng làm. Thử hỏi không dạy lý thuyết, cứ cho bài
tập, biết gì mà làm. Vậy mà mấy đứa kia chen nhau lên làm mới hay chứ. Còn kiểm
tra, mới đọc đề xong, chừng 5 phút sau là đã có một nhóm đứa tranh nhau nộp.
Còn tôi ngồi hoài chẳng biết làm sao. Mà ông thầy đó chơi trò, 10 đứa nộp đầu
tiên điểm cao nhất là 10, 10 đứa kế tiếp là 9,…Tôi thì nhờ nhỏ bạn kế bên chỉ
là chủ yếu, mà nó làm xong mới chỉ, nên điểm cao nhất chỉ là 7 thôi. Sau này,
tôi thắc mắc hỏi sao mấy đứa đó giỏi thế, nhỏ bạn tôi mới nói là vì trong lớp
học thêm thầy đã cho công thức rồi, cứ vậy thế số vô tính thôi. Hay thật. Nhờ
ông thầy đó dạy mà mấy đứa luôn đạt điểm cao đó rớt đại học hết. Lớp tôi chỉ
đậu vài đứa, trong đó có tôi, giờ nghĩ lại cũng cám ơn ông thầy đó, nhờ ổng mà
tôi biết thế nào là tự học.
Mà nếu như đi học thêm các môn
chính có khả năng thi tuyển thì cũng không nói gì, còn đằng này, đi học thêm
vẽ, học thêm giáo dục công dân, mới chán chứ. Bởi nếu không học thêm, điểm số
mấy môn này luôn thấp, ảnh hưởng đến thành tích cuối năm. Em tôi ngày đó về xin
tiền mẹ đi học thêm vẽ, tôi hỏi bộ em thích vẽ hả. Nó nói nếu không học thì
điểm luôn dưới trung bình, khống chế kết quả học tập. Tôi lấy mấy cái hình nó
vẽ ra coi, không đẹp nhưng không đến nỗi xấu để đạt điểm 3, điểm 4. Từ ngày đi
học vẽ điểm 10 luôn xuất hiện. Tôi hỏi đi học thêm vậy thầy dạy gì. Nó nói vô
thầy cho ngồi can cái hình mà sắp kiểm tra, vậy thôi. ^_^.
Một chuyện tôi nghe em tôi kể lại
mà thấy rất buồn. Nhỏ bạn của nó nhà nghèo, không có tiền đi học thêm. Nhưng nó
rất siêng năng, chăm chỉ, năm nào cũng là học sinh giỏi. Năm nó học lớp 9, vô
học môn có khả năng thi tuyển, cô không dạy gì hết, chỉ đưa bài tập rồi cho kết
quả. Bà cô còn nói muốn biết thì đi học thêm đi. Mà tiền học thêm bà ta lấy rẻ
thôi, 1.5 triệu 1 em, bả nói ở trường em tôi học (là 1 trường lớn trong huyện)
thầy cô ở đó lấy mắc hơn nhiều. Em tôi nói, nó học thêm cô chủ nhiệm nó cũng
dạy môn đó, có 500 ngàn, bằng 1/3.
Tôi không biết nói gì hơn, trong
thời buổi kinh tế khó khăn này, đúng là kiếm tiền rất khó khăn, nhưng không
phải vì thế mà bất chấp tất cả. Một đứa học sinh học giỏi, chăm chỉ như vậy, mà
nỡ lòng nào đối xử với nó vậy. Nó không có tiền đi học thêm thì nó sẽ không thể
có điều kiện học sao ? Thật không công bằng.
Còn chuyện mấy chuyện gian lận thi
cử báo chí đưa tin ở một trường nào đó. Tôi không thấy bất ngờ, bởi nếu bạn có
quen với giáo viên thì bạn sẽ hiểu. Áp lực thành tích, áp lực phổ cập. Thành
tích thì ai cũng biết rồi, còn áp lực phổ cập là gì ? Tôi lấy ví dụ, nếu một
học sinh bỏ học trung học cơ sở, thì giáo viên phải đến nhà năn nỉ nó đi học,
nếu năn nỉ không được thì giáo viên sẽ bị khiển trách bởi chỉ tiêu phổ cập
không đáp ứng. Còn nếu năn nỉ được thì khi nó vô học phải ráng nâng niu nó, bởi
không nó nghỉ nữa thì phải đi năn nỉ. Nó thi thì phải tìm cách cho nó đậu. Đại
khái là vậy. Bởi vậy vì sao mà ngày nay ít thất giáo viên đánh học sinh học dở.
Tôi nhớ hồi tôi còn học cấp 2, năm lớp 9, đứa nào mà không làm được bài, không
thuộc bài, bất kể trai hay gái đều cuối xuống cho cô đánh. Nhờ vậy mà năm đó
lớp tôi ai cũng đậu tốt nghiệp. Còn bây giờ ai cũng đậu tốt nghiệp nhưng vì cái
khác.
Đó là những gì tôi thấy, tôi nghe
người ta kể. Có lẽ khiến tôi bi quan nhưng tôi vẫn hi vọng đó chỉ là những “con
sâu” nhỏ nhoi mà thôi.
NNS
Thứ Tư, 6 tháng 6, 2012
Sử dụng ký hiệu trong Pmapper 2 - Ký hiệu dạng đường
Đối với ký hiệu cho các đối tượng dạng đường thì việc khai
báo ký hiệu có khác chút ít. Ba thông số cần khai báo khi định nghĩa ký hiệu
đường là LINECAP, LINEJOIN và LINEJOINMAXSIZE. Trong đó, LINECAP là việc xác
định đầu cuối của đường, ví dụ đầu cuối của đường có thể đầu giống như đầu cây
cơ trong bida (butt), các thông số có thể khai báo là : butt, round, square hay
triangle. Hình bên dưới thể hiện LINECAP square và round

LINEJOIN định nghĩa hình dạng chỗ thay đổi hướng của đường.
Một số thông số có thể được khai báo là round, miter, hay bevel. Hình bên dưới
giúp chúng ta hiểu rõ hơn :

Thông số LINEJOINMAXSIZE chỉ được khai báo khi loại miter
được sử dụng trong LINEJOIN. Hình bên dưới thể hiện giá trị m sẽ được khai báo
(mặc định là 3).

Trong phiên bản này loại cartoline của ký hiệu đường không
còn đường sử dụng nữa, nên nếu chúng ta lấy máy file khai báo symbol có khai
báo loại cartoline thì nó sẽ báo lỗi.
Ký hiệu đường trong Mapserver là sự kết hợp của các ký hiệu
đơn giản, ví dụ chúng ta muốn thiết kế 1 ký hiệu nét đứt cho đường, chúng ta
chỉ cần sử dụng ký hiệu 1 đường gạch ngang và khai báo các khoảng đứt. Cụ thể,
để khai báo đường gạch ngang, chúng ta khai báo như trong phần ký hiệu điểm như
sau :
SYMBOL
NAME
'duong_ngang'
TYPE
vector
POINTS
0
0.5
1
0.5
END
END
Để khai báo các khoảng đứt, chúng ta sử dụng từ khóa PATTERN
(trong các phiên bản trước là STYLE). Giả sử chúng ta muốn tạo ra nét đứt bao
gồm [nét dài – khoảng cách – nét ngắn – khoảng cách] – nét dài …Chỉ cần khai
báo phần trong ngoặc vuông, bởi các phần tiếp theo chỉ là phần lặp lại. Phần
này sẽ được khai báo trong phần STYLE trong CLASS của LAYER cần thể hiện ký
hiệu :
CLASS
STYLE
COLOR 51 51 51
LINECAP butt
PATTERN
4 2
1 2
END
WIDTH 5
END
#Style
END#Class
Tôi để WIDTH lớn để dễ quan sát, kết quả thể hiện trên
Pmapper như sau :

Một ví dụ khác, tôi muốn tạo ra ký hiệu bao gồm đường hai
nét bên ngoài và đường nhỏ 1 nét bên trong làm tim. Ngoài việc sử dụng ký hiệu
đường ngang đã định nghĩa trong file chứa ký hiệu, ở đây chúng ta có thể sử
dụng từ khóa OFFSET để tạo đường 2 nét. Trong từ khóa OFFSET 2 thông số cần
khai báo tương ứng với sự thay đổi theo trục x và y. Nếu giá trị x dương thì
đường tạo ra sẽ nằm bên phải và ngược lại sẽ nằm bên trái. Còn nếu giá trị y âm
thì sẽ nằm dưới đường gốc và ngược lại sẽ nằm trên. Nếu giá trị y bằng -99 thì
nó sẽ tạo ra các đường cách đường gốc 1 khoảng cách khai báo trong giá trị x.

Như trong hình trên, đường gốc là đường màu đen, hai đường
màu green và màu blue sử dụng giá trị -99 và đường màu đỏ không sử dụng giá trị
-99.
Trở lại ví dụ, chúng ta sẽ khai báo như sau trong mapfile :
CLASS
STYLE
SYMBOL 'duong_ngang'
COLOR
0 0 255
WIDTH
20
END
#Style
STYLE
SYMBOL 'duong_ngang'
WIDTH
50
COLOR
255 0 0
LINECAP round
LINEJOIN
miter
OFFSET -16 -99
END
#Style
STYLE
SYMBOL 'duong_ngang'
WIDTH
50
COLOR
0 255 0
LINECAP round
LINEJOIN miter
OFFSET 16 -99
END
#Style
END #Class
Kết quả thể hiện trên pmapper :

Tuy nhiên, nếu muốn sử dụng cách này để thể hiện ký hiệu
đường giao thông thì có lẽ không được tốt lắm. Có cách khác để chúng ta có thể
tạo ra đường 2 nét bên ngoài, 1 nét bên trong và những khoảng trống chính giữa
được tô màu. Cách này sử dụng các đường vẽ chồng lên nhau với các kích thước và
màu sắc khác nhau. Chẳng hạn, trong mapfile khai báo như sau :
CLASS
STYLE
COLOR 0 0 0
WIDTH 17.0
END
# STYLE
STYLE
COLOR 209 66 0
WIDTH 11.0
END
# STYLE
STYLE
COLOR 0 0 0
WIDTH 1.0
END
# STYLE
END #
CLASS
Khi thể hiện trên Pmapper sẽ giống như vầy :

Hai nét màu đen bên ngoài thực chất là đường màu đen có bề
rộng lớn bị đường màu cam có bề rộng nhỏ hơn một ít che khuất phần ở giữa, rồi
sau đó có 1 đường màu đen nhỏ nữa được vẽ chồng lên. Nhìn cũng đẹp nhỉ. ^_^.
Trong phần trên chúng ta không khai báo ký hiệu, pmapper sẽ lấy ký hiệu mặc
định vẽ đường của nó.
Ngoài ra, chúng ta có thể kết hợp với các ký hiệu khai báo
trong file ký hiệu, vẽ chồng lên đường để tạp ra các loại ký hiệu khác nhau
phục vụ nhu cầu của mình. Ví dụ,
CLASS
STYLE
COLOR 0 0 0
WIDTH 6
END
# STYLE
STYLE
COLOR 102 0 0
SYMBOL "ngoisao"
SIZE 20
GAP 20
OFFSET -10 -99
END
# STYLE
END#Class
Ở đây có thêm từ khóa GAP, dùng để khai báo khoảng hở giữa 2
ký hiệu. Vì chúng ta sử dụng ký hiệu ngôi sao để thể hiện đường nên cần khai
báo thông số GAP này. Kết quả thể hiện trên pmapper

Một điều dễ nhận thấy là các ngôi sao được rải không đều mặc
dù chúng ta đã khai báo một giá trị GAP cố định. Điều này là do dữ liệu đường
thường được tạo thành từ nhiều đường (mỗi đường được giới hạn bằng 2 cú click
chuột). Mỗi đường này sẽ dựa vào giá trị GAP để xác định xem có bao nhiêu ngôi
sao được rải lên. Có đường ngắn, đường dài, nên số lượng ngôi sao không đều là
điều dễ hiểu.
Ok, vậy là chúng ta có thể có khả năng thiết kế được một số
ký hiệu dạng đường trên Pmapper.
Còn một điều cần lưu ý về phiên bản của Mapserver. Khi chúng
ta tải Mapserver từ trang web chính thức, khi cài đặt xong, mở trình duyệt web
lê thấy để MS4W version 3.0.4 nghĩa là phiên bản cho Window là 3.0.4 còn phiên
bản của Mapserver thì khác, hiện nay là phiên bản 6 (2012). Nhiều khi nhằm lẫn
phiên bản sẽ gây khó khăn cho việc tìm kiếm thông tin về hướng dẫn sử dụng.
Trong bài viết có sử dụng các hình trong phần hướng dẫn trên
web của MAPSERVER.
NNS
Thứ Năm, 31 tháng 5, 2012
Cơ bản công cụ trong ArcToolbox 3
Nhóm công cụ Overlay, overlay
nghĩa là chồng các lớp lại với nhau phục vụ cho bài toán phân tích không gian.
Như vậy, tất cả các công cụ trong nhóm này đều mang ý nghĩa là lấy 1 (hay
nhiều) lớp chồng lên 1 (hay nhiều) lớp theo 1 cách nào đó để tạo ra 1 lớp đáp
ứng mục tiêu cần phân tích. Các công cụ bao gồm : Erase, Identity, Intersect,
Spatial Join, Symmetrical Difference, Union,
Update. Chúng ta sẽ tìm hiểu từng công cụ.
+ Erase : tạo ra một đối tượng mới
bằng cách xóa đối tượng nhập bằng những polygon được khai báo trong lớp Erase.
Ví dụ, chúng ta có lớp dữ liệu bản đồ có sẵn của một phường có quá nhiều sai
số. Nên chúng ta muốn xóa phường đó ra khỏi lớp dữ liệu đó. Chúng ta có thể sử
dụng Erase. Khởi chạy công cụ Erase, giao diện của nó sẽ xuất hiện.

Input Features khai báo lớp cần
xóa, trong trường hợp ví dụ này là lớp hành chính.
Erase Features khai báo lớp chứa
các polygons làm cơ sở để xóa dữ liệu trong lớp Input. Trong ví dụ này là lớp
chứa ranh giới phường cần xóa.
Output Feature Class khai báo nơi
lưu và tên lớp tạo thành.
XY Tolerance cũng giống như những
công cụ trước.
Kết quả, phường cần xóa sẽ bị xóa.

Hình bên phải là hình sau khi thực
hiện Erase.
Một ví dụ khác, nếu bây giờ
polygon trong lớp Erase không trùng với ranh giới 1 phường, vậy kết quả sẽ như
thế nào ?

Như hình trên, chúng ta muốn xóa
phần phía trong tứ giác. Chạy công cụ Erase. Kết quả như sau :

+ Identity : tính phần giao giữa
lớp Input và lớp Identity rồi sau đó giữ lại lớp Input kết hợp với phần giao
với lớp Identity. Lớp Input có thể là Point, Line hay Polygon nhưng lớp
Identity phải là Polygon. Giả sử chúng ta cần thực hiện Identity trên dữ liệu
bên dưới :

Khởi chạy công cụ, giao diện của
nó sẽ xuất hiện :

Ngoài những khai báo thông thường
như những công cụ trên, trong Identity còn một số khai báo khác như :
JoinAttributes là một tùy chọn, có
3 giá trị để lựa chọn : ALL, NO_FID và ONLY_FID. Tùy chọn này giúp xác định
những thuộc tính nào sẽ được giữ lại trong lớp xuất.
ALL : Tất cả các thuộc tính trong
lớp Input cũng như lớp Identity được giữ lại trong lớp xuất.
NO_FID : Ngoại trừ FID bị xóa, còn
các thuộc tính khác của lớp Input và Identity đều được giữ lại.
ONLY_FID : Chỉ giữ lại FID, tất cả
các thuộc tính còn lại sẽ bị xóa.
Giá trị mặc định của tùy chọn này
là ALL.
Một khai báo khác là tùy chọn checkbox
Keep relationships. Nếu chọn, kết quả sẽ giữ lại mối quan hệ không gian những
đối tượng trong lớp Input và đối tượng Identity. Điều này chỉ áp dụng khi lớp
Input là Line và lớp Identity là Polygon. Ví dụ, đối với một đường khi bạn chọn
checkbox đó thì thông tin về Polygon bên trái hay bên phải nó sẽ được ghi vào
trong bảng thuộc tính của lớp xuất. Kết
quả như sau :

+ Intersect : giữ lại phần giao của
các lớp Input. Cái khác của công cụ này so với các công cụ trước là chúng ta
khai báo tất cả các lớp trong phần Input, công cụ sẽ lấy ra phần giao của các
lớp đó. Dữ liệu thực hiện cũng như trong công cụ Identity.
Phần khai báo cũng giống như trên,
chỉ khác ở chỗ tùy chọn Output Type. Phần này khai báo loại giao mà chúng ta
muốn công cụ thực hiện. Có 3 giá trị có thể lựa chọn :
INPUT : Kết quả sẽ trả lại loại
hình học giống như trong các lớp Input nhưng với chiều thấp nhất. Ví dụ nếu
trong Input có Polygon và Line thì kết quả sẽ trả về Line vì Line có chiều thấp
hơn Polygon.
LINE : kết quả sẽ trả về Line, giá
trị này chỉ có hiệu lực khi trong Input không có Point.
POINT : kết quả trả về Point, nếu
trong Input chỉ có Polygon hoặc Line thì kết quả sẽ trả về Multipoint.
Khởi chạy công cụ :

Hai lớp nhập là Polygon và Output
Type là INPUT nên kết quả sẽ là Polygon như hình bên dưới :

Thứ Ba, 29 tháng 5, 2012
Vài điều thú vị về Kinh Dịch và khoa học.
Một vài sự trùng hợp giữa Kinh
Dịch và khoa học mà tình cờ đọc được khiến tôi hết sức kinh ngạc. Như chúng ta
đã biết, trong Kinh Dịch, để giải thích tất cả các quy luật vận hành trong trời
đất này đều dựa trên nền tảng thuyết âm dương. Thuyết âm dương bao gồm âm thể
hiện bằng một vạch đứt và dương thể hiện bằng một vạch liền. Hai vạch này chồng
lên nhau, thay đổi thứ tự với nhau tạo thành tứ tượng (4 hình) rồi bát quái (8 hình). Rồi cho tám
hình này chồng lẫn lên nhau sẽ có 64 hình nữa gọi là lục thập tứ quái. 64 hình
này có thể giải thích tất cả các quan niệm về vũ trụ, về nhân sinh, từ những
hiện tượng trên trời dưới đất những luật thiên nhiên tới những đồ dùng, những
công việc thường ngày như trị nước, ra quân, trị nhà, cưới hỏi, ăn uống , xử
thế...
Bạn có để ý không, điểm khởi đầu
của Kinh Dịch rất giống với điểm khởi đầu của công nghệ thông tin. Người ta sử
dụng hệ nhị phân (0 và 1) để xây dựng nên cả một hệ thống công nghệ thông tin
ngày nay. Một sự thật là người ta chỉ sử dụng 2 số 0 và 1 thì có thể diễn tả
hầu hết tất cả các hiện tượng sự việc trên máy tính, vậy thì nếu dùng thuyết âm
dương chúng ta cũng có thể giải thích được thế giới thật của chúng ta chăng ?
Trong Kinh Dịch có 64 quẻ, nếu coi
số 0 tương ứng với vạch Âm, 1 tương ứng với vạch dương thì 64 quẻ này đúng là
64 con số từ 0 đến 63 trong phép nhị phân. Ví dụ, muốn biết quẻ thứ 50 là quẻ
gì, chúng ta lấy 50 chia cho 2 được 25 dư 0, đó là vạch âm, lấy 25 chia 2 được
12 dư 1, đó là vạch dương, lấy 12 chia 2 được 6 dư 0, đó là vạch âm, lấy 6 chia
2 được 3 dư 0, đó là vạch âm, lấy 3 chia 2 được 1 dư 1 là vạch dương, số 1 còn
lại là vạch dương. Như vậy chúng ta có theo thứ tự âm-dương-âm-âm-dương-dương
đây đúng là quẻ thứ 50 (Thủy Trạch Tiết) trong Kinh Dịch.

Một ví dụ khác, nếu coi vạch âm là
A và vạch dương là B. Chúng ta xét bát quái. Đối với Càn (3 vạch dương) nghĩa
là AAA hay A3. Khôn (3 vạch âm) BBB hay B3. Đối với 3 quẻ
có 2 vạch dương 1 vạch âm là Đoài (âm-dương-dương) ABB hay AB2, Ly
(dương-âm-dương) BAB hay AB2,và Tốn (dương-dương-âm) BBA hay B2A.
Cộng lai, chúng ta có 3AB2. Tương tự, đối với 3 quẻ có 2 vạch âm 1
vạch dương, sẽ có 3A2B. Cộng lại, chúng ta có: A3 + 3A2B
+ AB2 + B3 = (A+B)3.
^_^
Một ví dụ khác, nếu chúng ta có
một hình lập phương.

Nếu chúng ta để ý mấy vị trí đánh dấu tròn màu đỏ trên hình
là các đĩnh của hình lập phương. Chúng được hình thành từ 3 hình vuông, nếu coi
hình vuông nhìn thấy tương ứng với vạch liền (vạch dương), hình vuông khuất
tương ứng với vạch đứt (vạch âm). Khi đó, bát quái sẽ hiện ra trên hình này. Chẳng
hạn, ở vị trí số 1 là âm-âm-âm chính là quẻ Khôn.
Và còn nhiều điều thú vị khác, mọi người có thể tham khảo
thêm.
NNS
Nội dung chủ yếu được lấy từ :
1) Nguyễn
Hiến Lê. Kinh Dịch đạo của người quân tử
2) Z.D.Sung. The Symbols of Yiking
Sử dụng ký hiệu trong Pmapper
Nhắc đến bản đồ là phải nói đến ký hiệu, bởi nó là ngôn ngữ
của bản đồ. Do đó, khi chúng ta muốn xây dựng bản đồ trong Pmapper thì đòi hỏi
phải có hệ thống ký hiệu đủ để thể hiện chủ đề mà chúng ta muốn thể hiện. Trong
pmapper nói riêng hay trong Mapserver nói chung, việc định nghĩa một ký hiệu có
thể thực hiện trong mapfile hoặc trong file chứa ký hiệu riêng. Trong mapfile,
chúng ta có thể trực tiếp định nghĩa ký hiệu trên đó bằng các câu lệnh, còn
trong file riêng chúng ta định nghĩa sẵn các câu lệnh và khai báo file đó trong
mapfile.
Như chúng ta đã biết, trong mỗi LAYER đều phải khai báo loại
ký hiệu là điểm, đường hay vùng. Dựa trên loại đó, pmapper sẽ lấy ra loại ký
hiệu phù hợp để hiển thị cho từng LAYER. Tuy nhiên, trong từng loại đòi hỏi
phải có những hình dạng ký hiệu khác nhau. Chẳng hạn, đối với điểm chúng ta có
thể sử dụng điểm hình vuông, điểm hình tròn, hình tượng trưng,…Do đó đòi hỏi
phải định nghĩa ký hiệu được sử dụng trong từng loại. Định nghĩa này được thực
hiện trong phần SYMBOL của mapfile. Một ví dụ đơn giản, có thể tìm thấy trong
file demo của pmapper là sử dụng điểm hình tròn để thể hiện điểm. Chúng ta khai
báo như sau trong mapfile :
Symbol
Name
'circle'
Type
ELLIPSE
Filled TRUE
Points
1 1
END
END
Và trong phần CLASS trong lớp điểm, khai báo ký hiệu là ký
hiệu vừa định nghĩa, như sau :
SYMBOL ‘circle’
Và kết quả, chúng ta sẽ có các điểm thể hiện bằng các hình
tròn.

Chúng ta có thể dễ dàng thay đổi kích thước, màu sắc của ký
hiệu bằng cách khai báo bằng cách từ khóa : SIZE, COLOR, OUTLINECOLOR hay
WIDTH. Việc này giúp chúng ta có được nhiều thuận lợi khi biên tập bản đồ,
chẳng hạn thể hiện chợ có quy mô nhỏ bằng điểm có kích thước nhỏ hơn chợ có quy
mô lớn.
Nói sơ qua về phần định nghĩa ký hiệu trong SYMBOL trong ví
dụ ở trên. Phần NAME thì dễ rồi, đó là tên của ký hiệu, nó sẽ được sử dụng để
gọi ký hiệu ra khi cần. Phần TYPE khai báo loại ký hiệu, trong ví dụ trên nó có
loại là ellipse. Phần POINTS khai báo các điểm để tạo thành ký hiệu, trong ví
dụ chúng ta khai báo loại lả ellipse nên trong POINTS này chỉ cần khai báo (1,1)
lả đủ. Đó là bán kính theo trục x và trục y trên hệ trục tọa độ phẳng. Khi 2
bán kính đó bằng nhau thì đó là vòng tròn. Phần FILLED khai báo nó là vòng tròn
hay hình tròn, nếu TRUE là hình tròn.
Tương tự, chúng ta có thể định nghĩa ký hiệu là hình vuông
như sau :
Symbol
Name
'square'
Type
VECTOR
Filled TRUE
Points
0 1
0 0
1 0
1 1
0 1
END
END
Để dễ hình dung phần khai báo trong POINTS, chúng ta có thể
vẽ ra hệ trục tọa độ phẳng và vẽ các điểm đó lên. Một số loại có thể khai báo
trong phần TYPE là : ellipse, hatch, pixmap, simple, truetype, vector.
Ví dụ, bây giờ tôi muốn thể hiện các điểm bằng các hình ngôi
sao màu đỏ. Khi đó, trong mapfile hoặc file chứa ký hiệu sẽ khai báo là :
SYMBOL
NAME
'ngoisao'
TYPE
VECTOR
POINTS
0
0.375
0.35 0.375
0.5
0
0.65 0.375
1
0.375
0.75 0.625
0.875 1
0.5
0.75
0.125 1
0.25 0.625
0
0.375
END
FILLED TRUE
END
Và khai báo trong lớp điểm là :
SYMBOL ‘ngoisao’
COLOR 255 0 0
Kết quả khi hiển thị lên Pmapper như sau :

Một loại khác của ký hiệu là sử dụng truetype font. Khi khai
báo loại ký hiệu này, chúng ta sẽ khai báo như sau
SYMBOL
NAME
"Font1"
TYPE
TRUETYPE
FONT
"FreeSerif"
CHARACTER "A"
END
Trong đó, NAME là tên chúng ta tự đặt để tiện cho việc gọi
font sau này. TYPE là loại ký hiệu, ở đây loại Truetype. FONT là khai báo kiểu
chữ dùng để viết chữ chúng ta cần viết. CHARACTER khai báo chữ mà chúng ta muốn
dùng làm ký hiệu, ở đây khai báo bằng mã lấy trong ASCII Table. Ví dụ muốn ký
hiệu bằng chữ A chúng ta khai báo mã của chữ A là A. Khi thể hiện trên
Pmapper, chúng ta có kết quả sau :

Chúng ta có thể lấy mã của các chữ trong ASCII Table sau :

Loại cuối cùng được đề cập đến là ký hiệu loại pixmap. Loại
này sử dụng ảnh raster nhỏ để làm ký hiệu. Khai báo ký hiệu dạng pixmap như sau
:
SYMBOL
NAME
‘star’
TYPE
PIXMAP
IMAGE
‘stern.png’
END
Ở ví dụ trên chúng ta sử dụng một ảnh ngôi sao để làm ký
hiệu cho điểm. Khai báo rất đơn giản như bên trên, kết quả dễ dàng trên Pmapper
như sau :

Loại này giúp cho việc thể hiện ký hiệu trở nên linh hoạt
hơn bởi một số ký hiệu phức tạp chúng ta có thể sử dụng ảnh. Để tạo ra các ký
hiệu này chúng ta có thể sử dụng Paint hoặc các phần mềm tạo icon. Đối với
Paint, để định nghĩa kích thước của ký hiệu, vào Image\Attributes…Tại đây chúng
ta có thể định nghĩa kích thước ký hiệu trong ô width và height. Sau đó, chúng
ta có thể tự do vẽ ký hiệu vào.

Một số trường hợp, chúng ta phải kết hợp các ký hiệu thành 1
ký hiệu. Để khai báo loại ký hiệu kết hợp này chúng ta khai báo các ký hiệu đơn
trong file ký hiệu giống như ở phần trên. Sau đó, trong phần LAYER cần thể hiện
ký hiệu, chúng ta khai báo thêm phần STYLE trong CLASS như sau :
CLASS
NAME
"Diem"
STYLE
SYMBOL 'square'
COLOR 0 0 255
SIZE 20
END
#Style
STYLE
SYMBOL 'ngoisao'
COLOR 125 125 125
SIZE 18
END
#Style
END # Class

Vậy là bây giờ chúng ta có thể tùy ý thiết kế ký hiệu cho
web bản đồ của mình. Vấn đề ở đây có thể hơi mất thời gian 1 chút. ^_^
NNS
Thứ Sáu, 25 tháng 5, 2012
Cơ bản công cụ trong ArcToolbox 2
Tiếp tục, chúng ta sẽ tìm hiểu
công cụ Split.
+ Split là công cụ thực hiện một
loạt các thao tác Clip. Để hiểu công cụ này thế nào, chúng ta thực hiện ví dụ
sau. Tôi có bản đồ các phường như sau :

Bây giờ tôi muốn lấy ra dữ liệu
sông suối của từng phường. Tôi thực hiện Split. Khởi động công cụ Split. Chúng
ta có giao diện sau :

Input Feature khai báo tên layer
muốn thực hiện Split,
ở đây chúng ta muốn lấy ra dữ liệu sông suối thì sẽ khai báo lớp sông suối.
Split Features khai báo lớp sử
dụng để cắt lớp Input. Ở đây là lớp ranh giới phường.
Split Field khai báo field dùng
làm căn cứ để phân chia các lớp xuất. Nghĩa là field được khai báo phải là
field có giá trị duy nhất đối với từng đối tượng (mà cụ thể là duy nhất với
từng phường). Tôi chọn field tên phường bởi mấy phường này không có tên trùng
nhau và kết quả sẽ tạo thành 3 layer với tên là tên của 3 phường.
Target Workspace khai báo thư mục
nơi bạn muốn lưu trữ kết quả. Như trong Clip chúng ta phải khai báo tên layer
xuất, nhưng trong Split này, tên của lớp xuất đã được xác định trong Split
Field nên chúng ta chỉ cần khai báo nơi lưu trữ.
XY Tolerance là tùy chọn và cũng
giống như mấy công cụ trước. Click OK. Chúng ta sẽ có 3 layer khác nhau chứa dữ
liệu sông suối tương ứng với 3 phường.

Vậy khi tôi khai báo field tên
phường trong Split
field, nhưng lại có nhiều phường trùng tên (nghĩa là không duy nhất) vậy chuyện
gì xảy ra ?

Như bạn thấy trong thông báo đó,
khi 2 phường trùng tên, ArcGIS sẽ tạo ra 2 layer trùng tên, và nó sẽ giữ lại
cái có trước, cái sau nó sẽ không thực hiện.
+ Table Select dùng để rút những
records (hàng) hoặc những features trong input table và lưu chúng trong 1 table
mới. Ví dụ, chúng ta muốn lấy ra dữ liệu những phường xã có diện tích lớn hơn
hoặc bằng 20.000.000m2 .Khởi chạy công cụ Table Select.

Input Table khai báo layer chứa
table cần lấy dữ liệu.
Output Table khai báo nơi lưu trữ
và tên Table kết quả.
Expression khai báo biểu thức SQL
làm cơ sở để lấy dữ liệu. Nếu không khai báo nó sẽ lấy nguyên Table của layer
nhập.
Kết quả thể hiện bên dưới

Vậy là đã hoàn thành nhóm công cụ
Extract.
NNS
Thứ Tư, 23 tháng 5, 2012
Cơ bản công cụ trong ArcToolbox
Thay vì ngồi tìm hiểu mớ lý thuyết
khô cứng, đau đầu, tôi sẽ tiến hành tìm hiểu từng công cụ trong ArcGIS về khía
cạnh thực hiện. Nghĩa là sẽ thực hiện trên dữ liệu cụ thể, ra kết quả cụ thể.
Rồi sau đó sẽ tìm hiểu cơ bản lý thuyết bên trong của nó. Như vậy sẽ thú vị và
bớt nhàm chán hơn. Về lý thuyết, cũng chỉ tìm hiểu ý tưởng và cách thức nó thực
hiện, chứ không đi sâu vào thuật toán (có chăng cũng chỉ là những thuật toán
đơn giản, mấy cái phức tạp quá cần có thời gian để tìm hiểu, mà nhiều khi ngồi
cả tuần, cả tháng mà cũng không hiểu, ^_^).
Công cụ đầu tiên được đề cập đến
là Analysis Tool (công cụ phân tích).
1. Analysis Tool : Trong bộ công cụ này, chúng ta có thể thấy có
các công cụ như : Extract, Overlay, Priximity và Statistics. Đầu tiên, tôi sẽ
đề cập đến công cụ Extract. Nếu bạn tra từ điển từ chữ Extract nghĩa đại khái
là lấy ra, rút ra. Ý nghĩa của các công cụ trong Extract cũng giống vậy. Chúng
bao gồm : Clip, Select, Split
và Table Select.
+ Clip : để dễ hiểu chúng ta xét
ví dụ bên dưới. Giả sử tôi có 2 layer, layer ranh giới hành chính và layer
đường giao thông. Bây giờ tôi muốn lấy ra các đường giao thông trong 1 đơn vị
hành chính nhất định. Như hình bên dưới tôi muốn lấy ra tất cả các đường giao
thông trong khu vực được chọn.

Chạy công cụ Clip, hộp thoại sau
sẽ xuất hiện

Chỗ Input Features sẽ khai báo
layer mà chúng ta muốn lấy dữ liệu ra (trong trường hợp này là lớp giao thông).
Clip Features khai báo lớp sử dụng làm cái khuôn để lấy ra đối tượng khai báo
trong Input Features. Output Feature Class khai báo nơi lưu và tên layer mới
tạo thành. XY Tolerance là tùy chọn, khai báo cũng được mà không khai báo cũng
được. XY Tolerance có đơn vị được khai báo ở phía sau (thường là theo đơn vị
của bản đồ). Giả sử nếu bạn khai báo là 0.01 thì nó có ý nghĩa gì ? XY có thể
hiểu là tọa độ x,y của 1 đối tượng. 0.01 ở đây thể hiện một phạm vi trên trục x
cũng như trên trục y. Khi đó, nếu bạn có 2 điểm có tọa độ x là 1.22 và 1.23 thì
hai điểm đó là khác nhau. Còn nếu bạn có 2 điểm có tọa độ x là 1.222 và 1.223
thì 2 điểm đó có tọa độ x như nhau. Bởi sự khác biệt của 2 điểm này là 1.223 -
1.222 = 0.001 <0.01.
Khi đã khai báo xong, click OK,
kết quả sẽ tạo thành 1 layer chứa dữ liệu giao thông được rút ra.

Thuộc tính của các đối tượng sẽ
được giữ lại. Một điều lưu ý là Input layer có thể là point, line hay polygon,
còn clip layer thì bắt buộc phải là polygon.
+ Select : công cụ này giúp lấy ra
những đối tượng theo yêu cầu từ đối tượng input. Ví dụ, chúng ta muốn lấy ra
một phường từ dữ liệu hành chính của TPHCM. Chúng ta chỉ việc truy vấn SQL để
tìm ra phường đó, rồi sử dụng công cụ Select để lấy đối tượng đó ra thành 1
layer mới.
Chẳng hạn chúng ta muốn lấy ra những
phường xã có diện tích lớn hơn hoặc bằng 20.000.000m2, chúng ta tiến
hành như sau :
Chạy công cụ Select, giao diện
xuất hiện

Input Features là dữ liệu gốc cần
thực hiện chức năng Select. Output Feature Class khai báo tên layer mới và nơi
lưu trữ nó. Phần Expression là tùy chọn, nếu chúng ta không ghi gì vào trong
này thì kết quả nó sẽ tạo ra lớp mới giống hệt lớp gốc (cái này giống như copy
và paste lớp cũ trên TOC (Table of content) vậy. Với yêu cầu chúng ta đưa ra
ban đầu, thì biểu thức nên viết là “AREA”>=20000000. AREA để trong dấu ngoặc
kép “” là tên field (trường) trong bảng thuộc tính sử dụng để truy vấn SQL.
Một số hàm SQL có thể gặp ở đây là
:
Hàm
|
Mô tả
|
=
<
>
>=
<=
<>
LIKE
AND
OR
NOT
|
Tìm giá trị trong field bằng với giá trị cho trước.
Tìm giá trị trong field nhỏ hơn giá trị cho trước.
Tìm giá trị trong field lớn hơn giá trị cho trước.
Tìm giá trị trong field lớn hơn hoặc bằng với giá trị cho
trước.
Tìm giá trị trong field nhỏ hơn hoặc bằng với giá trị cho
trước.
Tìm giá trị trong field khác với giá trị cho trước.
Về mặt ý nghĩa nó cũng giống như “=”. Nhưng nó rộng hơn,
nó có thể tìm gần đúng. Ví dụ, kết quả của phép truy vấn này có thể là ArcGIS
hay ArcView : “Ten” Like ‘Arc%’.
Dùng để kết hợp 2 điều kiện. Ví dụ, “Tuổi”>10 AND “Cao”
>1.30. Một đối tượng thõa mãn điều kiện đó khi nó thõa mãn cả 2 điều kiện
còn thõa mãn 1 điều kiện trở xuống thì nó không phải là đối tượng cần tìm.
Cũng dùng để kết hợp 2 điều kiện. Ví dụ, “Tuổi”>10 OR
“Cao” >1.30. Một đối tượng thõa mãn điều kiện đó khi nó chỉ cần thõa mãn 1
trong 2 điều kiện. Nghĩa là kết quả của phép toán AND cũng nằm trong này.
Có nghĩa là phủ định lại cái cần tìm. Ví dụ, chúng ta muốn
tìm tất cả các phường, trừ phường Đa Kao, thì biểu thức sẽ là : NOT “Phuong”
= “Đa Kao”.
|
Sau khi click OK thực thi công cụ
Select, chúng ta có kết quả bên dưới :

Phần màu đỏ (rose) là kết quả cần
tìm.
NNS
Đăng ký:
Nhận xét (Atom)