intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hướng dẫn sử dụng phần mềm đồ họa Mapinfo - Chương 18

Chia sẻ: Nguyễn Nhi | Ngày: | Loại File: PDF | Số trang:0

230
lượt xem
76
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

HÀM SỐ VÀ BIỂU THỨC TRONG MAPINFO Trong các chương trước chúng ta đã sơ lược qua cách sử dụng hàm số và biểu thức ở nhiều phần khác nhau trong quá trình xây dựng và phân tích bản đồ. Việc sử dụng hàm số được thực hiện thông qua biểu thức (Expression). Biểu thức cho phép sử dụng một lúc nhiều hàm số thông qua việc phối hợp chúng với nhau nhờ các phép toán cũng như từ khoá.

Chủ đề:
Lưu

Nội dung Text: Hướng dẫn sử dụng phần mềm đồ họa Mapinfo - Chương 18

  1. CHÖÔNG XVIII. HAØM SOÁ VAØ BIEÅU THÖÙC TRONG MAPINFO Trong caùc chöông tröôùc chuùng ta ñaõ sô löôïc qua caùch söû duïng haøm soá vaø bieåu thöùc ôû nhieàu phaàn khaùc nhau trong quaù trình xaây döïng vaø phaân tích baûn ñoà. Vieäc söû duïng haøm soá ñöôïc thöïc hieän thoâng qua bieåu thöùc (Expression). Bieåu thöùc cho pheùp söû duïng moät luùc nhieàu haøm soá thoâng qua vieäc phoái hôïp chuùng vôùi nhau nhôø caùc pheùp toaùn cuõng nhö töø khoaù. Bôûi vì vieäc söû duïng moät haøm soá ñôn leû thöôøng chæ cho ta nhöõng keát quaû ñôn giaûn, coù tính chaát tröïc quan nhöng vieäc phoái hôïp nhieàu haøm soá trong moät bieåu thöùc ñoâi khi coù theå cho ta nhöõng keát quaû raát aán töôïng ñoàng thôøi ruùt ngaén ñöôïc nhieàu böôùc trong quaù trình phaân tích thoâng tin. Hieåu ñöôïc chöùc naêng cuûa töøng haøm soá khoâng phaûi laø vieäc khoù nhöng söû duïng chuùng trong tröôøng hôïp naøo, phoái hôïp caùc haøm soá vôùi nhau trong bieåu thöùc nhö theá naøo ñeå ñaït ñöôïc keát quaû mong muoán laïi laø moät vaán ñeà khoâng ñôn giaûn. Noù ñoøi hoûi ngöôøi söû duïng phaûi hieåu roõ muïc ñích mình muoán ñaït ñöôïc cuõng nhö nhôù tính naêng cuûa caùc haøm soá ñeå söû duïng. Haøm soá vaø bieåu thöùc coù theå ñöôïc söû duïng trong raát nhieàu öùng duïng cuûa MapInfo. Ta coù theå söû duïng haøm soá trong caùc leänh sau: Select, SQL Select, Update Column, Create Thematic Map, vaø Layer Control (Labels > Label Options, choïn menu thaû xuoáng cuûa Label). Vieäc söû duïng haøm soá gaàn nhö khoâng coù giôùi haïn vì chuùng coù theå ñöôïc söû duïng vaøo vieäc tìm kieám hay phaân tích thoâng tin, laøm chuù giaûi cho moät phaàn baûn ñoà naøo ñoù, thay ñoåi vaø caäp nhaät thoâng tin, hieån thò baûn ñoà theo yù muoán,v.v.... Coù theå noùi vieäc söû duïng haøm soá vaø bieåu thöùc laø “muoân hình vaïn traïng”. Haøm soá khieán cho vieäc tìm kieám vaø phaân tích thoâng tin trong MapInfo ñöôïc trôû neân nhanh choùng vaø theo yù muoán cuûa ngöôøi duøng. Caùc haøm soá trong MapInfo ñöôïc chia thaønh moät soá nhoùm khaùc nhau. Ta seõ laàn löôït xem xeùt chuùng. XVIII.1. CAÙC HAØM SOÁ TRONG MAPINFO XVIII.1.1. Caùc Haøm Toaùn hoïc - Abs(num): Traû veà giaù trò tuyeät ñoái cuûa moät soá. - Cos(num): Traû veà cosine cuûa moät soá; num ñöôïc tính baèng radian. (1 radian = 57,29578 ñoä) - Int(num): Traû veà phaàn soá nguyeân cuûa moät soá. - Maximum(num, num): Traû veà soá lôùn hôn trong hai soá. - Minimum(num, num): Traû veà soá nhoû hôn trong hai soá. PDF created with pdfFactory Pro trial version www.pdffactory.com
  2. - Round(num1, num2): Traû veà giaù trò cuûa soá num1, ñöôïc laøm troøn ñeán giaù trò gaàn nhaát vôùi giaù trò cuûa num2 (ví duï nhö neáu num2 laø 10 thì num1 ñöôïc laøm troøn ñeán giaù trò gaàn vôùi 10 nhaát). - Sin(num): Traû veà sine cuûa moät soá; num tính baèng radian. - Tan(num): Traû veà tang cuûa moät soá; num ñöôïc tính baèng radian. XVIII.1.2. Caùc Haøm toång hôïp soá lieäu cuûa MapInfo (Aggregate Functions) - Count(*): Ñeám soá löôïng baûn ghi (haøng) trong moät nhoùm. Haøm naøy laáy daáu hoa thò (*) laøm ñoái soá vì noù aùp duïng cho baûn ghi moät caùch toång quaùt vaø khoâng aùp duïng cho moät tröôøng ñaëc bieät naøo cuûa baûn ghi. - Sum (): Tính toång cuûa caùc giaù trò trong bieåu thöùc cho taát caû caùc baûn ghi trong moät nhoùm. - Avg (): Tính giaù trò trung bình cuûa caùc giaù trò trong bieåu thöùc trong taát caû caùc baûn ghi cuûa moät nhoùm. - Max (): Tìm giaù trò lôùn nhaát trong trong taát caû caùc baûn ghi cuûa moät nhoùm. - Min(): Tìm giaù trò thaáp nhaát trong trong taát caû caùc baûn ghi trong moät nhoùm. XVIII.1.3. Caùc Haøm traû veà giaù trò laø vaät theå ñoà hoaï - Buffer( obj , num_res , num_width , str ): Traû veà moät vaät theå kieåu vuøng bieåu thò cho moät vuøng ñeäm. Thoâng soá num_res chæ ñònh ñoä phaân giaûi, tính theo soá noát treân moät voøng troøn; num_width laø baùn kính cuûa vuøng ñeäm; str laø teân cuûa ñôn vò tính khoaûng caùch söû duïng trong num_width. - Centroid(obj ): Traû veà moät vaät theå ñieåm coù toaï ñoä taïi troïng taâm cuûa vaät theå obj. - CreateCircle(num_x, num_y, num_radius): Traû veà moät vaät theå laø ñöôøng troøn. num_radius laø khoaûng caùch tính theo daëm. - CreateLine(num_x, num_y, num_x2, num_y2): Traû veà moät vaät theå kieåu ñöôøng thaúng. - CreatePoint(num_x, num_y): Traû veà moät vaät theå ñieåm. Moãi haøm soá treân traû veà moät vaät theå ñoà hoaï. Neáu ta goõ leänh Update trong cöûa soå MapBasic thì ta coù theå söû duïng nhöõng haøm soá naøy ñeå taïo ra caùc vaät theå cho moãi haøng trong baûng. Ví duï, neáu baûng cuûa ta chöùa caùc coät x1, y1, x2 vaø y2 thì leänh sau seõ taïo ra moät ñöôøng thaúng cho moãi haøng trong baûng: Update Set Obj = CreateLine(x1,y1,x2,y2) Löu yù: Leänh Update ñònh nghóa laïi moãi vaät theå ñoà hoaï trong baûng. Ta neân sao löu laïi lôùp baûn ñoà caàn laøm vaø thöïc taäp treân baûn sao ñoù. XVIII.1.4. Caùc Haøm soá traû veà caùc tính toaùn ñòa lyù - Area(obj, str): Traû veà dieän tích cuûa vaät theå. Thoâng soá str chæ ñònh teân ñôn vò tính dieän tích, ví duï “sq mi” (daëm vuoâng) hay “sq km” (km2). PDF created with pdfFactory Pro trial version www.pdffactory.com
  3. - CentroidX(obj): Traû veà kinh ñoä X cuûa troïng taâm cuûa moät vaät theå. - CentroidY(obj): Traû veà vó ñoä Y cuûa troïng taâm cuûa moät vaät theå. - Distance(num_x, num_y, num_x2, num_y2, str): Traû veà khoaûng caùch giöõa hai vò trí. Hai thoâng soá ñaàu tieân xaùc ñònh giaù trò x vaø y cuûa vò trí baét ñaàu; hai thoâng soá tieáp theo xaùc ñònh giaù trò x vaø y cuûa vò trí keát thuùc; thoâng soá str laø teân ñôn vò ño khoaûng caùch, ví duï nhö “mi” hay “km”. - ObjectLen(obj, str): Traû veà chieàu daøi cuûa vaät theå. Giaù trò str xaùc ñònh teân ñôn vò khoaûng caùch ví duï nhö “mi” hay “km”. Chæ coù caùc vaät theå laø ñöôøng thaúng, ñöôøng (gaáp khuùc) vaø cung laø coù chieàu daøi khaùc khoâng. - Perimeter(obj, str): Traû veà chu vi cuûa vaät theå. Giaù trò str xaùc ñònh teân ñôn vò ño khoaûng caùch. Chæ coù caùc vaät theå kieåu vuøng, ellipse vaø hình chöõ nhaät laø coù chu vi khaùc khoâng. XVIII.1.5. Caùc haøm ngaøy thaùng - CurDate( ): Traû veà ngaøy thaùng naêm hieän haønh. - Day(date): Traû veà phaàn ngaøy trong thaùng (1 - 31) cuûa ngaøy. - Month(date): Traû veà phaàn thaùng (1 - 12) cuûa ngaøy. - Weekday(date): Traû veà phaàn ngaøy trong tuaàn (1 - 7) cuûa ngaøy, 1 = Chuû Nhaät. - Year(date): Traû veà phaàn naêm cuûa ngaøy. XVIII.1.6. Caùc haøm veà chuoãi - Chr$( num ): Traû veà moät kyù töï töông öùng vôùi maõ kyù töï laø num (ví duï chr$(65) seõ traû veà chuoãi “A”). - DeformatNumber$( str ): Ñaûo ngöôïc taùc ñoäng cuûa haøm FormatNumber$, traû veà moät chuoãi khoâng coù caùc daáu phaân caùch haøng ngaøn. - Format$( num , str ): Traû veà moät chuoãi bieåu thò moät soá ñaõ ñöôïc ñònh daïng. Ví duï Format$(12345.678,”$,#.##”) traû veà giaù trò “$12,345.68”. - FormatNumber$( num ): Traû veà moät chuoãi bieåu thò moät con soá ñaõ ñöôïc ñònh daïng. Haøm soá naøy ñôn giaûn hôn haøm Format$, nhöng cho ta ít quyeàn kieåm soaùt trong vieäc ñònh daïng hôn (ví duï nhö soá ñònh daïng luoân coù daáu phaân caùch haøng ngaøn). - InStr( num , str1 , str2 ): Tìm kieám chuoãi str1 baét ñaàu töø vò trí kyù töï thöù num, vaø tìm söï hieän dieän cuûa phaàn ñoù trong chuoãi str2. Haøm naøy traû veà vò trí khi tìm thaáy keát quaû trong str2, hoaëc traû veà 0 neáu khoâng tìm thaáy. Ñeå baét ñaàu tìm kieám chuoãi töø ñaàu, naïp giaù trò num laø moät (1). - LCase$( str ): Traû veà ñònh daïng chöõ vieát thöôøng cuûa chuoãi str. - Left$( str , num ): Traû veà num soá kyù töï ñaàu tieân cuûa chuoãi str. - Len( str ): Traû veà soá kyù töï trong chuoãi str. - LTrim$( str ): Caét boû baát kyø khoaûng traéng naøo ôû ñaàu chuoãi str vaø traû veà keát quaû. - Mid$( str, num1, num2 ): Traû veà moät phaàn cuûa chuoãi str baét ñaàu töø kyù töï thöù num1 PDF created with pdfFactory Pro trial version www.pdffactory.com
  4. vaø daøi num2 soá kyù töï. - Proper$( str ): Traû veà moät chuoãi vôùi caùch vieát hoa ñuùng kieåu (chöõ ñaàu tieân vieát hoa). - Right$( str , num ): traû veà num soá kyù töï cuoái cuøng cuûa chuoãi str. - RTrim$( str ): Caét boû baát kyø khoaûng traéng naøo ôû phaàn cuoái cuûa chuoãi str vaø traû veà keát quaû. - Str$( expr ): traû veà moät chuoãi töông öùng vôùi giaù trò cuûa bieåu thöùc expr. - UCase$( str ): Traû veà daïng chöõ vieát hoa (toaøn boä) cuûa chuoãi str. - Val( str ): Traû veà giaù trò soá cuûa moät chuoãi; ví duï Val(“18”) traû veà soá 18. XVIII.2. CAÙC TOAÙN TÖÛ VAØ TÖØ KHOAÙ TRONG BIEÅU THÖÙC Nhö ñaõ trình baøy sô boä ôû phaàn treân, vieäc hieåu caùc haøm soá ñôn leû laø töông ñoái ñôn giaûn. Tuy nhieân caùc haøm soá ñôn leû ít khi naøo cho ta moät keát quaû phaân tích trong tröôøng hôïp coù nhieàu bieán soá. Ñoái vôùi vieäc phaân tích thoâng tin nhö vaäy ngöôøi ta caàn phaûi phoái hôïp nhieàu haøm soá vôùi nhau. Caùc haøm soá ñöôïc lieân keát vôùi nhau thoâng qua caùc toaùn töû vaø caùc töø khoaù. Vieäc söû duïng nhieàu haøm soá chung vôùi nhau ñöôïc theå hieän qua bieåu thöùc. Phaàn naøy seõ trình baøy caùc toaùn töû vaø töø khoaù ñeå phoái hôïp caùc haøm soá vôùi nhau trong bieåu thöùc. XVIII.2.1. Caùc Toaùn töû So saùnh Trong MapInfo coù caùc toaùn töû so saùnh sau: = baèng khaùc > lôùn hôn < nhoû hôn >= lôùn hôn hay baèng =< nhoû hôn hay baèng _ töông töï (töôïng tröng cho moät kyù töï baát kyø) % töông töï (töôïng tröng cho nhieàu kyù töï baát kyø) XVIII.2.2. Caùc Toaùn töû Toaùn hoïc kyù hieäu yù nghóa ví duï + coäng A+B - tröø A-B, -A (aâm A) * nhaân A*B / chia A/B ^ luõy thöøa A^B Ñoái vôùi caùc bieåu thöùc coù caùc giaù trò ñöôïc ñònh daïng theo caùc kieåu khaùc nhau, MapInfo seõ xöû lyù caùc soá lieäu nhö sau: - Ngaøy thaùng (Date) + moät soá: keát quaû ñöôïc ñònh daïng laø ngaøy thaùng (Date). PDF created with pdfFactory Pro trial version www.pdffactory.com
  5. Soá nguyeân (Integer) + Soá nguyeân: keát quaû ñöôïc ñònh daïng laø soá nguyeân (Integer). - Ngaøy thaùng (Date) - moät soá: keát quaû ñöôïc ñònh daïng laø ngaøy thaùng. - Soá - Ngaøy thaùng (Date): keát quaû ñöôïc ñònh daïng laø ngaøy thaùng (Date) - Soá nguyeân - Soá nguyeân: keát quaû ñöôïc ñònh daïng laø soá nguyeân (Integer) - Moät soá - Moät soá: keát quaû ñöôïc ñònh daïng laø Float. - Soá nguyeân * Soá nguyeân: keát quaû ñöôïc ñònh daïng laø soá nguyeân (Integer) - Moät soá * Moät soá: keát quaû ñöôïc ñònh daïng laø Float. - Moät soá/Moät soá: Keát quaû ñöôïc ñònh daïng laø Float. - Moät soá ^ Moät soá: keát quaû ñöôïc ñònh daïng laø Float. - Trong MapInfo ta coù theå thöïc hieän ñöôïc caùc pheùp tính toaùn sau: - Theâm moät soá vaøo moät ngaøy ñeå taïo ra moät ngaøy khaùc. - Tröø moät ngaøy cho moät soá ñeå taïo ra moät ngaøy khaùc. - Tröø moät ngaøy cho moät ngaøy ñeå taïo ra moät soá. Khi coäng hay tröø moät soá vaøo giaù trò ngaøy thì MapInfo xöû lyù con soá ñoù nhö laø soá ngaøy. Khi coäng hay tröø trong moät tuaàn haõy söû duïng soá 7; coäng/tröø trong moät thaùng haõy söû duïng soá 30 hay 31. Khi tröø moät ngaøy cho moät ngaøy thì keát quaû seõ laø soá ngaøy (moät con soá). XVIII.2.3. Caùc toaùn töû Luaân lyù vaø caùc Toaùn töû Ñòa lyù XVIII.2.3.1. Caùc Toaùn töû Luaân lyù Caùc toaùn töû “and” (vaø), “or” (hoaëc) vaø “not” (khoâng) laø caùc toaùn töû luaân lyù. Chuùng ñöôïc söû duïng ñeå phoái hôïp caùc Bieåu thöùc trong leänh Select vaø trong meänh ñeà Where condition cuûa leänh SQL Select. MapInfo coi caùc bieåu thöùc naøy laø moät pheùp kieåm tra ñeå aùp duïng cho moãi baûn ghi (haøng) trong moät baûng. Moãi pheùp kieåm tra nhö vaäy seõ traû veà caâu traû lôøi laø coù/khoâng (hay ñuùng/sai). MapInfo söû duïng caùc toaùn töû luaân lyù ñeå phoái hôïp caùc caâu traû lôøi coù/khoâng rieâng leû thaønh moät caâu traû lôøi coù/khoâng cuoái cuøng ñeå giaûi quyeát caâu hoûi: baûn ghi (haøng) ñang ñöôïc xem xeùt coù thoaû ñieàu kieän choïn hay khoâng? - and ñöôïc coi laø ñuùng (“true”) khi (vaø chæ khi) taát caû tham soá cuûa noù (töùc laø caùc bieåu thöùc maø noù noái laïi) ñeàu ñuùng. Moät baûn ghi phaûi thoaû maõn taát caû caùc ñieàu kieän trong bieåu thöùc thì môùi ñöôïc choïn. - or ñöôïc coi laø ñuùng khi moät,vaøi hay taát caû caùc tham soá (töùc laø caùc bieåu thöùc maø töø khoaù naøy lieân keát) ñuùng. Moät baûn ghi thoaû maõn moät trong nhöõng ñieàu kieän cuûa bieåu thöùc thì seõ ñöôïc choïn. Noù cuõng ñöôïc choïn khi hai hay taát caû ñieàu kieän ñeàu ñöôïc thoaû. - not laø ñuùng khi ñoái tham soá cuûa noù (bieåu thöùc maø noù ñöôïc söû duïng vaøo ñoù) laø sai (“false’). Moät baûn ghi seõ ñöôïc choïn khi noù khoâng thoaû ñieàu kieän ñöa ra. XVIII.2.3.2. Caùc Toaùn töû Ñòa lyù MapInfo coù moät soá toaùn töû ñòa lyù. Chuùng ñöôïc söû duïng ñeå choïn caùc vaät theå döïa PDF created with pdfFactory Pro trial version www.pdffactory.com
  6. treân moái quan heä khoâng gian ñoái vôùi (caùc) vaät theå khaùc. MapInfo coù moät töø khoaù ñaëc bieät (teân tröôøng) ñeå söû duïng trong caùc toaùn töû ñòa lyù: “obj” hay “object” (vaät theå). Töø khoaù naøy (ñöôïc coi nhö moät teân tröôøng) cho MapInfo bieát raèng noù phaûi choïn giaù trò döïa treân caùc vaät theå ñoà hoaï trong baûng cuûa MapInfo chöù khoâng döïa vaøo baûng döõ lieäu. Caùc toaùn töû ñòa lyù naèm giöõa caùc vaät theå ñang ñöôïc xem xeùt. Ta coù theå choïn caùc toaùn töû ñòa lyù trong menu thaû xuoáng Operators. Döôùi ñaây laø nhöõng toaùn töû ñòa lyù: Toaùn töû YÙ nghóa - Contains (Chöùa): Vaät theå A chöùa vaät theå B neáu troïng taâm cuûa vaät theå B naèm trong ranh giôùi cuûa vaät theå A. - Contains Entire (Chöùa hoaøn toaøn): Vaät theå A chöùa hoaøn toaøn vaät theå B neáu ranh giôùi cuûa B naèm hoaøn toaøn trong ranh giôùi cuûa A. - Within (naèm trong) Vaät theå A naèm trong vaät theå B neáu troïng taâm cuûa noù naèm trong ranh giôùi cuûa B. - Entirely Within (Hoaøn toaøn naèm trong): Vaät theå A hoaøn toaøn naèm trong vaät theå B neáu ranh giôùi cuûa noù hoaøn toaøn naèm trong vaät theå B. - Intersects (Giao, Caét): Vaät theå A giao (caét) vaät theå B neáu chuùng coù ít nhaát moät ñieåm chung. XVIII.2.4. Caùc töø khoaù trong Bieåu thöùc MapInfo cho pheùp söû duïng caùc töø khoaù sau: “any” (baát kyø), “all” (taát caû), “in” (trong) vaø “between” (trong khoaûng). Nhöõng töø khoaù naøy phaûi ñöôïc goõ vaøo bieåu thöùc (khoâng coù saün). Söû duïng “any” ñeå choïn baát kyø yeáu toá naøo trong taäp hôïp caùc yeáu toá. Ta seõ laáy ví duï trong lôùp baûn ñoà cac_tinh. Ví duï: Ten = any(“Souøc Traeâng”, “Tieaøn Giang”, “Voùnh Long”) Bieåu thöùc naøy ñuùng khi teân tænh laø Soùc Traêng, Tieàn Giang, Vónh Long (xin nhaéc laïi laø tieáng Vieät khoâng hieån thò ñuùng trong bieåu thöùc). Ta seõ xem xeùt ví duï sau ñeå hieåu yù nghóa cuûa “all”” Ten all(“Souøc Traeâng”, “Tieaøn Giang”, “Voùnh Long”) Bieåu thöùc naøy coù nghóa laø choïn taát caû caùc tænh ngoaïi tröø 3 tænh Soùc Traêng, Tieàn Giang vaø Vónh Long. Haõy xem chuyeän gì xaûy ra neáu ta goõ bieåu thöùc sau: Ten any(“Souøc Traeâng”, “Tieaøn Giang”, “Voùnh Long”) Ví duï döôùi ñaây cho thaáy caùch söû duïng “in”: PDF created with pdfFactory Pro trial version www.pdffactory.com
  7. Ten in(“Souøc Traeâng”, “Tieaøn Giang”, “Voùnh Long”) Trong tröôøng hôïp naøy “in” töông ñöông vôùi “=any” vaø “not in” baèng vôùi “ all”. Ví duï döôùi ñaây minh hoïa vieäc söû duïng “between”: dien_tich between 200000 and 500000 (caùc tænh coù dieän tích trong khoaûng 200000 ha ñeán 500000 ha) (dien_tich between 200000 and 500000) or (dien_tich between 550000 and 700000) (caùc tænh coù dieän tích trong khoaûng 200000 ha ñeán 500000 ha hay caùc tænh coù dieän tích trong khoaûng 550000 ha ñeán 700000 ha) XVIII.2.5. Nhaäp caùc giaù trò rieâng (Haèng soá) vaøo Bieåu thöùc Khi ñöa caùc chuoãi kyù töï, caùc con soá, vaø giaù trò ngaøy thaùng vaøo bieåu thöùc, ta caàn chuù yù caùc quy öôùc sau: - Ñoái vôùi chuoãi kyù töï: Khi goõ moät chuoãi kyù töï ñaëc bieät naøo ñoù vaøo bieåu thöùc, ta phaûi ñaët noù naèm giöõa ngoaëc keùp. Nhö vaäy MapInfo seõ xem noù nhö moät chuoãi kyù töï chöù khoâng coi ñoù laø teân cuûa moät tröôøng. Ví duï neáu ta goõ “Soùc Traêng” (coù ngoaëc keùp) laø ñuùng nhöng chæ ñeå laø Soùc Traêng (khoâng coù ngoaëc keùp) laø sai. Khi ñöa chuoãi kyù töï vaøo bieåu thöùc ta cuõng coù theå söû duïng caùc toaùn töû ñeå thöïc hieän caùc pheùp so saùnh chuoãi. Ta coù theå söû duïng caùc toaùn töû so saùnh nhö lôùn hôn (>), nhoû hôn (=), nhoû hôn hay baèng (= “N”: tìm caùc thaønh phoá coù teân baét ñaàu töø chöõ caùi sau chöõ “N”. (Xem theâm veà xeáp thöù töï trong phaàn phuï luïc). Trong moät tình huoáng khaùc, ví duï nhö khi laøm chuù giaûi, ta coù theå söû duïng bieåu thöùc ñeå ñöa caùc chuoãi vaøo chuù giaûi, ví duï nhö: * dien_tich + “ heùcta”: daùn nhaõn leân baûn ñoà laø soá trong tröôøng dien_tich coäng theâm chöõ heùcta phía sau. * “Dieän tích: “ + dien_tich + “ heùcta”: töông töï nhö ví duï treân nhöng nhaõn seõ coù theâm chöõ “Dieän tích: “ phía tröôùc con soá töø tröôøng dien_tich. Caùc ví duï khaùc veà chuoãi ñaõ ñöôïc trình baøy trong phaàn treân. - Ñoái vôùi con soá: Khi goõ caùc giaù trò baèng soá, khoâng ñöôïc söû duïng daáu phaåy (daáu phaân caùch haøng ngaøn), daáu ñoâla hoaëc baát kyø kyù töï naøo ngoaïi tröø caùc con soá, daáu thaäp phaân (trong tieáng Anh laø daáu chaám) hoaëc daáu tröø ñeå chæ soá aâm. Ta coù theå söû duïng E ñeå chæ soá muõ. - Ñoái vôùi ngaøy thaùng: Moät ngaøy thaùng ñaày ñuû bao goàm moät giaù trò ngaøy, moät giaù trò thaùng vaø moät giaù trò PDF created with pdfFactory Pro trial version www.pdffactory.com
  8. tuyø choïn laø naêm. Naêm ñöôïc xaùc ñònh baèng hai hay boán chöõ soá vaø ñöôïc ñaët trong daáu ngoaëc keùp. Caùc thaønh phaàn cuûa moät ngaøy thaùng ñöôïc taùch bieät ra baèng daáu tröø (-) hay daáu xuyeäc xuoâi (/). Khi nhaäp giaù trò ngaøy thaùng vaøo bieåu thöùc, ngaøy thaùng cuõng phaûi ñaët trong daáu ngoaëc keùp. Neáu giaù trò naêm khoâng ñöôïc xaùc ñònh thì giaù trò maëc ñònh laø naêm hieän haønh treân ñoàng hoà maùy tính. Caùc giaù trò döôùi ñaây laø caùc haèng soá ñuùng: Thöù töï trong heä thoáng Keát quaû MapInfo mong ñôïi ta goõ vaøo M/d/yy " 02/28/1998" M/d/yyyy " 02/28/1998" MM/dd/yy "02/28/1998" MM/dd/yyyy "02/28/1998" yy/MM/dd "1998/02/28" dd-MMM-yy "02-28-1998" (M: thaùng; d: ngaøy; y: naêm. Soá kyù töï chæ soá chöõ soá ñöôïc söû duïng) Khi thao taùc vôùi caùc soá lieäu lieân quan ñeán ngaøy thaùng, ta coù theå söû duïng caùc haøm soá veà ngaøy thaùng ñeå tìm kieám döõ lieäu. Giaû söû trong baûng MapInfo cuûa ta coù moät tröôøng ñöôïc ñònh daïng laø Date (kieåu ngaøy thaùng) coù teân laø thoi_gian (thôøi gian) vaø ta nhaäp vaøo ñoù caùc soá lieäu veà ngaøy cuûa moät coâng vieäc naøo ñoù. Haõy xem caùc ví duï sau: * thoi_gian = 9/12/99: tìm nhöõng baûn ghi naøo coù thôøi gian laø ngaøy 12 thaùng 9 naêm 1999 (thaùng ñöôïc ñaët tröôùc ngaøy khi nhaäp soá lieäu theo thieát laäp maëc ñònh treân maùy tính, tröø khi ta ñaõ thay ñoåi ñònh daïng ngaøy thaùng trong maùy tính tröôùc ñoù). * thoi_gian > 12/23/2001: tìm nhöõng soá lieäu naøo coù thôøi gian sau ngaøy 23 thaùng 12 naêm 2001. * Month (thoi_gian) > 3 and Month (thoi_gian) < 5: tìm nhöõng soá lieäu naøo coù thôøi gian sau thaùng 3 vaø tröôùc thaùng 5. Trong ví duï naøy ta söû duïng haøm soá Month ñeå trích rieâng phaàn thaùng cuûa ngaøy thaùng naêm ra; löu yù raèng neáu soá lieäu cuûa ta coù nhieàu naêm khaùc nhau thì MapInfo khoâng quan taâm ñeán soá lieäu ñoù laø naêm naøo. Ñieàu naøy cuõng coù yù nghóa nhaát ñònh. Giaû söû ta thöïc hieän ñieàu tra veà soá löôïng cuûa moät loaøi ñoäng vaät hoang daõ chaúng haïn trong nhieàu naêm, vaø ta giaû ñònh muøa loaøi ñoù xuaát hieän nhieàu vaøo khoaûng thaùng 3 ñeán thaùng 5. Ñeå kieåm tra giaû thuyeát, ta coù theå söû duïng bieåu thöùc treân vaø choïn ra taát caû nhöõng soá lieäu ghi nhaän ñöôïc veà loaøi ñoù trong thôøi gian treân cuûa caùc naêm ñeå tính tyû leä phaàn traêm xem coù ñuùng laø nhö vaäy hay khoâng. Neáu ta khoâng thích daøi doøng, bieåu thöùc treân coù theå vieát ngaén hôn baèng caùch söû duïng töø khoaù between: Month (thoi_gian)between 3 and 5. * Weekday(thoi_gian) = 1 or Weekday(thoi_gian) = 7: tìm nhöõng ngaøy thaùng naøo coù thöù trong tuaàn laø thöù Baûy vaø Chuû Nhaât. Trong ví duï naøy ta söû duïng haøm Weekday ñeå trích ra phaàn thöù trong tuaàn cuûa moät ngaøy (1 ñöôïc quy öôùc laø Chuû Nhaät). Moät nhaø kinh doanh coù theå tính xem ngöôøi tieâu duøng coù ñi mua haøng nhieàu vaøo hai ngaøy cuoái tuaàn hay khoâng baèng bieåu thöùc naøy chaúng haïn. Ngoaøi ra MapInfo coù tuyø choïn ñoåi giaù trò naêm naïp vaøo laø 2 chöõ soá thaønh giaù trò 4 chöõ soá. Noù cuõng cho pheùp ta thay ñoåi ñònh daïng ngaøy thaùng maëc ñònh thaønh ñònh daïng ngaøy thaùng naøo phuø hôïp nhaát vôùi döõ lieäu cuûa ta. Thieát laäp maëc ñònh laø cöûa soå PDF created with pdfFactory Pro trial version www.pdffactory.com
  9. ngaøy thaùng naøy ñöôïc taét ñi. Ta vaøo thieát laäp naøy baèng caùch choïn Options > Preferences > Systems Settings. Coù hai tuyø choïn: - Turn date windowing off (taét cöûa soå ngaøy thaùng): söû duïng theá kyû hieän haønh. - Set date window to: nhaäp giaù trò trong khoaûng töø 0 ñeán 99. Giaù trò naêm baèng 2 chöõ soá do ta nhaäp seõ ñöôïc theâm giaù trò theá kyû vaøo tuyø thuoäc vaøo con soá thieát laäp treân. Ví duï neáu ta goõ trong oâ Set date window to laø 30 thì nhöõng giaù trò naêm 2 chöõ soá ta nhaäp vaøo neáu trong khoaûng töø 00 ñeán 29 thì noù seõ trôû thaønh naêm trong khoaûng 2000 ñeán 2029, neáu ta nhaäp giaù trò töø 30 ñeán 99 thì giaù trò naêm seõ ôû trong khoaûng 1930 ñeán 1999. XVIII.2.6. Tính öu tieân cuûa caùc toaùn töû Khi MapInfo thöïc hieän bieåu thöùc, noù caàn bieát yeáu toá naøo trong bieåu thöùc ñöôïc thöïc hieän tröôùc. Ñieàu naøy ñöôïc goïi laø tính öu tieân. Theo quy öôùc caùc toaùn töû ñöôïc gaùn tính öu tieân khaùc nhau. Nhöõng toaùn töû coù tính öu tieân cao nhaát seõ ñöôïc thöïc hieän tröôùc. Döôùi ñaây lieät keâ tính öu tieân cuûa caùc toaùn töû theo thöù töï öu tieân töø cao nhaát ñeán thaáp nhaát. Caùc toaùn töû coù möùc ñoä öu tieân ngang baèng nhau seõ ñöôïc thöïc hieän tuaàn töï töø traùi sang phaûi: 1. daáu ngoaëc ñôn 2. soá muõ (luyõ thöøa) 3. daáu tröø (soá aâm) 4. nhaân, chia 5. coäng, tröø 6. caùc toaùn töû ñòa lyù 7. caùc toaùn töû so saùnh 8. “not” 9. “and” 10. “or” XVIII.3. VAØI LÔØI VEÀ SÖÛ DUÏNG BIEÅU THÖÙC (EXPRESSION) TRONG MAPINFO Vieát bieåu thöùc cuõng töông töï nhö vieát moät caâu vaên. Khi vieát moät caâu vaên, chuùng ta söû duïng caùc töø coù trong moät ngoân ngöõ naøo ñoù ñeå phoái hôïp chuùng vôùi nhau vaø taïo thaønh caâu theo nhöõng quy taéc ngöõ phaùp (hay cuù phaùp) nhaát ñònh. Cuù phaùp cuûa bieåu thöùc trong MapInfo ñôn giaûn hôn nhieàu so vôùi cuù phaùp cuûa ngoân ngöõ maø chuùng ta söû duïng thöôøng ngaøy vaø soá löôïng töø thì ít hôn raát nhieàu. Trong khi haàu heát moïi ngöôøi trong chuùng ta söû duïng ngoân ngöõ moät caùch bình thöôøng trong moät thôøi gian raát daøi vaø chuyeän caâu cuù coù veû nhö raát töï nhieân vaø bình thöôøng thì vieäc laäp bieåu thöùc thoaït ñaàu laïi coù veû khoù khaên. Maëc duø vaäy, cuõng gioáng nhö vieát vaên, chuùng ta coù nhöõng caâu ñôn vaø nhöõng caâu phöùc, do vaäy cuõng coù nhöõng bieåu thöùc ñôn giaûn vaø nhöõng bieåu thöùc phöùc taïp. Ngay caû khi chuùng ta khoâng muoán “chuùi muõi” vaøo vieäc vieát nhöõng bieåu thöùc phöùc taïp thì ta vaãn coù theå söû duïng nhöõng leänh naøo trong MapInfo coù söû duïng bieåu thöùc, bôûi vì laäp nhöõng bieåu thöùc ñôn giaûn khoâng phaûi laø chuyeän khoù maø noù coøn giuùp chuùng ta laøm vieäc vôùi döõ lieäu moät caùch raát maïnh meõ. PDF created with pdfFactory Pro trial version www.pdffactory.com
  10. XVIII.3.1. Bieåu thöùc ñôn giaûn Chuùng ta laäp bieåu thöùc baèng caùch söû duïng teân caùc coät (tröôøng) vaø caùc haèng soá phoái hôïp vôùi caùc haøm soá vaø caùc toaùn töû. Teân caùc tröôøng vaø caùc haèng soá gioáng nhö caùc danh töø coøn caùc haøm soá vaø caùc toaùn töû gioáng nhö caùc ñoäng töø, giôùi töø vaø caùc töø noái. Chuùng ta söû duïng caùc toaùn töû vaø caùc haøm soá nhö theá naøo hoaøn toaøn phuï thuoäc vaøo vieäc chuùng ta laäp moät bieåu thöùc ñeå laøm gì. Moät bieåu thöùc ñôn giaûn nhaát coù theå chæ coù teân cuûa moät coät. Ví duï nhö khi taïo baûn ñoà chuû ñeà (Chöông XIII), trong böôùc 2 ta choïn teân tröôøng (dan_so cuûa baûng cac_tinh chaúng haïn) thì ñoù chính laø moät bieåu thöùc ñôn giaûn, vaø bieåu thöùc ñoù laø: dan_so. Haõy xem moät vaøi ví duï phöùc taïp hôn chuùt ít: dan_so > 500000 Bieåu thöùc treân kieåm tra xem daân soá cuûa tænh naøo (trong baûng cac_tinh) lôùn hôn 500 nghìn ngöôøi. Hoaëc: dan_so/dien_tich > 100 Bieåu thöùc treân kieåm tra xem daân soá chia cho dieän tích (töùc maät ñoä) cuûa tænh naøo lôùn hôn 100 (ngöôøi/ñôn vò tính dieän tích). XVIII.3.2. Bieåu thöùc phöùc taïp Bieåu thöùc phöùc taïp thöïc chaát chæ laø söï phoái hôïp cuûa caùc bieåu thöùc ñôn giaûn laïi vôùi nhau. Ví duï: dan_so > Avg(dan_so) Bieåu thöùc naøy tìm nhöõng tænh naøo coù daân soá lôùn daân soá trung bình cuûa taát caû caùc tænh. Hoaëc ta haõy xem ví duï sau: Format$(dan_so/Area(obj,”hectare”),”#”) = Format$(Avg(dan_so/Area(obj,”hectare”)),”#”) Veá traùi cuûa Bieåu thöùc treân (beân traùi daáu baèng) tính maät ñoä cuûa daân soá tænh baèng caùch laáy soá daân chia cho dieän tích tænh, dieän tích tænh khoâng coù saün neân ñöôïc tính baèng haøm soá tính dieän tích Area. Sau khi tính maät ñoä xong, giaù trò maät ñoä ñöôïc laøm troøn veà soá nguyeân baèng haøm Format$(). Veá phaûi cuûa bieåu thöùc hoaøn toaøn töông töï nhöng ôû trong laïi tính trung bình maät ñoä daân soá cuûa taát caû caùc tænh baèng haøm Avg(). Nhö vaäy toaøn bieåu thöùc naøy coù nghóa laø tìm nhöõng tænh naøo coù maät ñoä daân soá baèng vôùi maät ñoä daân soá trung bình cuûa taát caû caùc tænh. Moät trong nhöõng thuû thuaät töông ñoái ñôn giaûn ñeå laäp bieåu thöùc laø chuùng ta phaân tích xem mình caàn tính caùi gì vaø vieát caùi caàn tính ra ôû daïng ñôn giaûn nhaát cuûa noù, chia vaán ñeà ra thaønh töøng caâu hoûi nhoû vaø giaûi töøng caâu moät roài raùp chuùng vaøo caâu traû lôøi toång quaùt nhaát. Ví duï: Ta caàn tính maät ñoä daân soá cuûa tænh, vaäy maät ñoä = daân soá/dieän tích. Ta xem xeùt tieáp nhö sau: ta ñaõ coù daân soá trong tröôøng dan_so, dieän tích tænh chöa coù, vaäy coù theå tính dieän tích tænh baèng caùch naøo? Traû lôøi: söû duïng haøm soá tính dieän tích ra, ñoù chính laø haøm Area. Khi söû duïng haøm soá naøy ta caàn tính dieän tích cuûa caùi gì? Traû lôøi: tính dieän tích cuûa baûng cac_tinh, nhö vaäy haøm soá coù daïng Area(obj,”ñôn vò PDF created with pdfFactory Pro trial version www.pdffactory.com
  11. tính dieän tích”). Obj (töùc Object - vaät theå) baùo cho ta bieát phaûi laáy vaät theå treân baûn ñoà ñeå tính dieän tích, vaäy tröôùc ñoù ta phaûi baùo cho MapInfo bieát laáy vaät theå töø baûng naøo, do theá tröôùc ñoù ta phaûi choïn baûng cac_tinh. Nhö vaäy caâu hoûi seõ ñöôïc traû lôøi nhö sau: maät ñoä = daân soá/haøm soá tính dieän tích. Ta phaân tích tieáp: maät ñoä daân soá tính baèng ngöôøi/ñôn vò dieän tích vaø thöôøng ñöôïc tính laø soá nguyeân, vaäy ta phaûi laøm troøn giaù trò maät ñoä tính ñöôïc. Laøm troøn laø moät pheùp tính veà ñònh daïng con soá, vaäy ta söû duïng haøm Format$(), töùc laøm haøm ñònh daïng con soá. Haøm soá naøy coù caáu truùc laø Format$(con soá, “ñònh daïng con soá”). Con soá ôû ñaây laø maät ñoä, vaäy taïi vò trí con soá ta phaûi thay baèng coâng thöùc tính maät ñoä. Chöõ soá trong MapInfo ñöôïc quy ñònh laø kyù hieäu #, ta khoâng muoán laáy soá leû naøo, vaäy trong phaàn “ñònh daïng con soá” ta vieát seõ vieát laø “#”). Keát quaû laø bieåu thöùc coù daïng: Format$(dan_so/Area(obj,”hectare”),”#”). PDF created with pdfFactory Pro trial version www.pdffactory.com
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2