TÓMTẮTKHÓALUẬN KhóaluậnnàytrìnhbàynhữnghiểubiếtcơbảnvềmộthệthốngthôngtinđịalýGIS,cũngnhưcáckháiniệmliênquan.QuaviệcxemxétmộtsốhệthốngGIStiêubiểu,đểcóthểhìnhdungđượccáchthứclưutrữ,quảnlýd
Trang 1ĐẠIHỌCQUỐCGIAHÀNỘITRƯỜN GĐẠIHỌCCÔNGNGHỆ
Trang 2ĐẠIHỌCQUỐCGIAHÀNỘITRƯỜN GĐẠIHỌCCÔNGNGHỆ
Trang 3Lờicảmơn
Trướctiên,tôixinbàytỏlòngcảmơnchânthànhđếnTS.NguyễnNgọcHóa,ngườiđãhếtlòngchỉbảo,hướngdẫn,chotôicácphươngpháptiếpcậnvấnđề,giúptôigiảiđápnhữngthắcmắc,giảiquyếtcáckhókhănmắcphảiđểcóthểhoànthànhđượckhóaluậnnày
TôicũngxinchânthànhcảmơncácthầycôởkhoaCôngNghệThôngTinđãhếtlòngtruyềnđạtchotôinhữngkiếnthứcnềntảngvềCNTT,giúptôicóđủkiếnthứcđểtiếpcận,hoànthànhđượckhóaluậnnày.Bêncạnhđótôicũngvingửilờicảmơnđếnsựsựgiúpđởnhiệttìnhcủanhàtrườngtạođiềukiệntốtnhấtchotôiđểhoànthànhkhóaluậnnày
Tôixingửilờicảmơnsâusắcđếnnhữngngườithântronggiađình,họđãđộngviênrấtnhiềuvềmặttinhthầnđểtôicóđủnghịlựcđểhoànthànhkhóaluậnnày.Tôicũngxinchânthànhcảmơnbạnbètôi,nhữngđãluônluônbêncạnh,độngviên,tạomọiđiềukiệnthuậnlợinhấtchotôitrongquátrìnhhoànthànhkhóaluận
HàNội,tháng5năm2010
SinhviênNguyễnVănBách
Trang 4TÓMTẮTKHÓALUẬN
Khóaluậnnàytrìnhbàynhữnghiểubiếtcơbảnvềmộthệthốngthôngtinđịalý(GIS),cũngnhưcáckháiniệmliênquan.QuaviệcxemxétmộtsốhệthốngGIStiêubiểu,đểcóthểhìnhdungđượccáchthứclưutrữ,quảnlýdữliệutrongmộtdữliệukhônggian,nhằmphụcvụhiệuquảchoviệcquảnlýdữliệuđịalý.KhóaluậncũngtrìnhbàychitiếtvềcấutrúcđánhchỉsốR-tree–
mộtcấutrúcđượcdùngphổbiếnchocácCSDLkhônggian.MộtsốphươngphápxửlýtruyvấntrongCSDLkhônggiancũngđượcđưaraởmứctìmhiểusơqua
PhầncuốicủakhóaluậntrìnhbàyvềviệcxâydựngứngdụngbảnđồtrênthiếtbịdiđộnghổtrợGPS.BằngviệcsửdụngGoogleMapsđểcungcấpcácchứcnăngGIScơbảnchongườidùng,nhưhiểnthịbảnđồ,hướngdẫnlộtrình,tìmlộtrìnhtheovịtríhiệntại,điểmđầuđiểmcuối
Trang 6Mởđầu 1
CHƯƠNG1.TỔNGQUANVỀHỆTHỐNGTHÔNGTINĐỊALÝ 2
1.1 Kháiniệmvềhệthốngthôngtinđịalý 2
1.2 LợiíchvàhạnchếcủaviệcsửdụngGIS 3
1.3 OGC–OPENGIS 3
1.4 Kháiniệmchungvềbảnđồđịalý 4
1.5 TìmhiểumộtsốhệthốngGIStiêubiểu 5
1.5.1 MapInfo 5
1.5.2 ArcViewcủaESRI 5
1.6 MobileGIS 6
1.6.1 HệthốngWebGIS 7
CHƯƠNG2.TỔCHỨCDỮLIỆUTRONGGIS 9
2.1 Tổchứcdữliệutronghệthốngthôngtinđịalý 9
2.1.1 MôhìnhdữliệuVector 10
2.1.2 HệthốngRaster 11
2.1.3 MôhìnhTIN 13
2.2 ĐiểmquacáchtổchứcdữliệutrongmộtsốhệthốngGISthôngdụng 13
2.2.1 TổchứcdữliệutrongMapInfo 13
2.2.2 TổchứcdữliệutrongArcGIScủaESRI 14
2.2.3 TổchứcdữliệutrongGRASS 14
2.3 TìmhiểucấutrúclưutrữcủaShapefile 15
CHƯƠNG3.XỬLÝTRUYVẤNKHÔNGGIAN 20
3.1 CấutrúcR-Treeindex 20
3.1.1 CấutrúccủaR-tree 20
3.1.2 TìmkiếmvàcậpnhậttrongR-tree 21
3.1.3 Cậpnhậtvàcácthaotáckhác 24
3.2 TìmhiểumộtsốthuậttoánxửlýtruyvấntrongCSDLkhônggian 26
3.2.1 XửlýtruyvấntrongkhônggianO-clit 27
3.2.2 Xửlýtruyvấntrongmạngkhônggian 28
3.2.3 Tìmđườngđitrongcókhônggiancóchướngngạivật 28
3.3 TìmhiểuvềPostGIS 32
3.3.1 Giớithiệu 32
3.3.2 SửdụngcácchuẩnOpenGIS 32
Trang 73.3.3 ImportdữliệuGIS 32
3.3.4 XuấtbảndữliệuGIS 32
3.3.5 Tạoindexs 33
3.3.6 MộtsốtruyvấnspatialSQLđơngiản 33
CHƯƠNG4.XÂYDỰNGỨNGDỤNG 36
Dựatrênnhữngkiếnthứcthuđược,trongchươngnày,tôisẽtrìnhbàyvềhệthốngdẫnđường(na vigator)thửnghiệmvớimụcđíchminhhọanhữnghiểubiếtvềhệthốngthôngtinđịalývàcácvấ nđềxửlýtruyvấnkhônggian 36
4.1 Mộtsốứngdụngdẫnđườngphổbiến 36
4.1.1 Việtmap 36
4.1.2 Pguider 37
4.1.3 GoogleMapschomobile 37
4.2 Cácchứcnăngcủachươngtrình 38
4.3 Môhìnhđềxuất 39
4.4 Lựachọnngônngữ 41
4.5 TìmhiểucơchếhoạtđộngcủahệthốngGPS 42
4.5.1 Đokhoảngcáchtừmáythuđếncácvệtinh 43
4.5.2 Xácđịnhvịtríhiệntạicủacácvệtinh 44
4.6 Thửnghiệmứngdụng 44
4.6.1 Cáclớpchínhcủachươngtrình 44
4.6.2 Screenshotcủachươngtrình 44
4.7 Nhậnxét 49
CHƯƠNG5.KẾTLUẬN 50
5.1 Kếtquảđạtđược 50
5.2 Hạnchế 50
5.3 Hướngpháttriển 50
Trang 8Mởđầu
NgàynayvớisựpháttriểnmạnhmẽcủaCNTT,cácứngdụngcủaCNTTđãđượcđưavàohầuhếtcáclĩnhvựccủacuộcsống.Vớisựtrợgiúpcủamáytính,cáccôngviệcphứctạpđượcxửlýnhanhchóngvàchínhxác.CùngvớisựpháttriểncủaInternet,việcchiasẽthôngtingiữacáccánhân,tổchứchaylàmviệcquamạngđãtrởnêndễdàngvàhiệuquả.Hệthốngthôngtinđịalý(GeographicInformationSystem–
GIS)làmộtnhánhcủaCNTTđãtrởthànhmộtcôngcụtrợgiúpquyếtđịnhrấttốtchocáctổchức,chínhphủtrongcáclĩnhvựcliênquanđếnthôngtinđịalý
Đểhoànthànhkhóahọccủamình,tôinhậnthấyGISlàmộthệthốngthôngtinrấtthúvị,việctìmhiểuvềGISsẽgiúptôicómộtcáinhìnsâusắchơnvềmộthệthốngthôngtin,quảntrịCSDL.Giúptôicóđượccáinhìnbanđầuvềphươngpháptiếpcậnđểxâydựng,quảnlýhiệuquảmộthệthốngCSDLmôphỏngthựctế-
hệthốngCSDLđịalý.Vớiđộnglựcđó,khóaluậntốtnghiệpcủatôihướngđếnmụctiêunghiêncứu,tìmhiểuvềhệthốngthôngtinđịalýnóichung,từđóứngdụngtrongbàitoánpháttriểnhệthốngdẫnđườngdựatrêncácthiếtbịdiđộngcóhỗtrợđịnhvịvệtinh(GPS)
Trang 91.1 Kháiniệmvềhệthốngthôngtinđịalý
Hệthốngthôngtinđịalý(GeographicInformationSystem–
gọitắtlàGIS)làmộtnhánhcủacôngnghệthôngtinđượchìnhthànhvàonhữngnăm1960vàpháttriểnrấtrộngrãitrong10nămlạiđây.GISngàynaylàcôngcụtrợgiúpquyếtđịnhtrongnhiềuhoạtđộngkinhtế-
xãhội,quốcphòngcủanhiềuquốcgiatrênthếgiới.GIScókhảnăngcungcấpchocáccơquanchínhphủ,cácnhàquảnlý,cácdoanhnghiệp,cáccánhân…
đánhgiáđượchiệntrạngcủacácquátrình,cácthựcthểtựnhiên,kinhtế–
xãhộicủacácvùngđịalýthôngquacácchứcnăngthuthập,quảnlý,truyvấn,phântíchvàtíchhợpcácthôngtinđượcgắnliềnvớimộtnềnhìnhhọc(bảnđồ)nhấtquántrêncơsởtọađộcủacácdữliệuđầuvào
CónhiềucáchtiếpcậnkhácnhaukhiđịnhnghĩaGIS.Nếuxétdướigócđộhệthống,thìGIScó
thểđượchiểunhưmộthệthốnggồm5thànhphầmcơbản:conngười–chuyênviên,thiếtbị-phầncứng,phầnmềm,sốliệu-cơsởdửliệuvàcácquytrìnhkiếnthứcchuyêngia–
nơitậphợpcácquyphạm,tiêuchuẩn,địnhhướng,chủtrươngứngdụngcủanhàquảnlý,cáckiếnthứcchuyênngànhvàcáckiếnthứcvềCNTT
Hình1:CácthànhphầnthiếtyếuchocôngnghệGISTheocáchtiếpcậntruyềnthống,GISlàmộtcôngcụmáytínhđểlậpbảnđồvàphântíchcácsựvật,hiệntượngthựctrêntráiđất.CôngnghệGISkếthợpcácthaotácCSDLthôngthườngkếthợpvớichophépphântíchthốngkê,phântíchkhônggian.NhữngkhảnăngnàyphânbiệtGISvớicáchệthốngthôngtinkhácvàkhiếnGIScó
Trang 101.2 LợiíchvàhạnchếcủaviệcsửdụngGIS
GISlàmộtcôngnghệứngdụngtiếnbộcủakhoahọcmáytính,dođóviệcsửdụngGIStrongcácmụctiêunghiêncứusovớicácphươngtiệncổđiểncóthểmanglạihiệuquảcao
- Chiphívànhữngvấnđềkỹthuậtđòihỏitrongviệcchuẩnbịlạicácsốliệuthôhiệncó,đểchuyểntừbảnđồdạngthô(trêngiấy)sangdạngsốtrênmáytính
- Đòihỏinhiềukiếnthứccủacáckỹthuậtcơbảnvềmáytính,vàyêucầulớnvềnguồntàichínhbanđầu
Trang 11- Đốivớingườipháttriểnứngdụngcóthểdễdàngvàlinhhoạttrongviệcthiếtkếcácphầnmềmtruycậpđếncơsởdữliệuđịalý,sửdụngchungnhữngnguồntàinguyênđịalý.Từđócóthểchọnmôitrườngpháttriểnhoặccungcấpnhữngnềntảngứngdụngđadạngmàvẫncóthểsửdụnglại
- Đốivớicácnhàquảnlýthôngtin:Giúpchoviệcsửdụnghoặcphânphốicơsởdữliệuđịalý,cungcấpnhữngkhảnăngxửlýđịalýtớikháchhàng,tíchhợpdữliệuđịalývàxửlývàomộtkiếntrúctínhtoánliênhợp
- Đốivớingườidùngcuốilànhữngngườihưởnglợitốiưu,họnhậnđượcsựtruynhậpmộtcáchnhanhchóngđếnmộthệthốngthôngtinrộnglớnvớinhiềuứngdụng
VớiviệcrađờicủaOGC-OpenGISgiúpxâydựngnênmộtứngdụngcóthểtổnghợpcácthôngtintừnhiềuhệthốngthôngtinđịalýkhácnhau.Vídụ:cổngthôngtinđịalý(GeoPortal),GeoPortalchophéptổnghợpcácthôngtintừcáchệthốngđịalýkhácnhauthôngquadịchvụWeb
1.4 Kháiniệmchungvềbảnđồđịalý
Địnhnghĩa:Bảnđồđịalýlàsựbiểuthịthunhỏquiướccủabềmặttráiđấtlênmặtphẳng,xâydựngtrêncơsởtoánhọc,sửdụngcáckýhiệuquyướcđểphảnánhsựphânbố,trạngtháivàmốiquanhệtươngquancủacáchiệntượngthiênnhiênvàxãhội
Trênbảnđồngườitathểhiệncácđốitượngvàhiệntượngcótrênmặtđấttrongthiênnhiên,xãhộivàcáclĩnhvựchoạtđộngcủaconngười.Cácyếutốnộidungcủabảnđồlà:
Trang 12- Cácbảnđồ:giaodiệntrựctuyếnvớidữliệuđịalýđểtracứu,trìnhbàykếtquảvàsửdụngnhưlàmộtnềngiaothứcvớithếgiớithực.
- Cácthôngtinđịalý:chứatrongcáctệptintrongcơsởdữliệugồmcácyêutốcơbản,mạnglưới,topology,địahình,thuộctính,…
- Cácmôhìnhxửlý:tậphợpcácquytrìnhxửlýđểphântíchtựđộng
- Cácmôhìnhdữliệu:GIScungcấpcáccôngcụmạnhhơnlàmộtCSDLthôngthường,baogồmcácquytắcvàsựtoànvẹndữliệugiốngnhưcáchệthốngthôngtinkhác
- Siêudữliệu(metadata)haytàiliệumôtảdữliệu,chophépngườisửdụngtổchức,tìmhiểuvàtruynhậpđượctớitrithứcđịalý
1.5 TìmhiểumộtsốhệthốngGIStiêubiểu
1.5.1 MapInfo
MapInfolàcôngcụkháhữuhiệuđểtạoravàquảnlýmộtCSDLđịalýtrênmáytínhcánhân,làmộtphầnmềmtươngđốigọnnhẹvàdễsửdụng.Đặcbiệt,dùngchomụcđíchgiảngdạyvàthànhlậpcácbảnđồchuyênđềphântíchtrongđịalý
MapBasiclà1ngônngữlậptrìnhtrongmôitrườngMapInfochophéppháttriểncácứngdụngGIS.Nótạoracáchệthốnggiaodiệnngườidùngthuậnlợivànhanhchóngnhưtạothanhmenumới,hộpthoạiđiềukhiểnnhưýmuốnchophéptiếtkiệmthờigianvàtiệnlợichoviệctriểnkhaiứngdụng
MapBasiccũngcungcấpcôngcụxửlýdữliệu,đápứngcácyêucầuđadạngvềdữliệụNóchophéptruyvấnCSDL,lựachọnvàcậpnhậtdữliệubẳngcáccâulệnhtheocúphápSQL.Hiểnthịkếtquảtruyvấntheokhuôndạngmongmuốn
Ngoàira,MapBasicchophépxâydựngchươngtrìnhcócấutrúcmởvìnócókhảnăngliênkếtvớicácứngdụngkhác.ChươngtrìnhMapBasiccóthểgọicácthủtụctrongcácthưviệncáctệpliênkếtđộngcủaWindowsDLLhoặcsửdụngdữliệuchuyểnđổiđộngĐE(DynamicDataExchange)đểlinkếtvớicácphầnmềmkhác
Trang 13- Tạocácbiểuđồđơngiảndựatrênthuộctínhcủacácđốitượngtrênbảnđồ
- Chuẩnbịcácbảninragiấy
Hình–ArcViewchạytrênWindowsNgoàiraArcViewGIScònhỗtrợchứcnănglậptrìnhthôngquangônngữlậptrìnhAvenue,đượctíchhợpsẵntrongphầnmềm.ArcViewGIScũngcókhảnăngchophéplậptrìnhliênkếtvớicácngônngữkhácnhưVB,VC++
ArcViewGISthíchhợpchonhữngứngdụngGISnhỏ,đơnngườidùng,thíchhợpchoviệcnghiêncứuvềGISvàgiảngdạytrongcáctrườngĐạihọc,Caođẳng
ArcViewcungcấpngônngữkịchbảnriêngcủamình
CáckhotàinguyênscriptsmẫudoESRIcungcấpvớiArcView.NhiềuscriptscóthểtảivềmiễnphítừtrangwebArcScriptscủaESRIvàđưavàochươngtrình
1.6 MobileGIS
MobileGISlàphầnmởrộngcủahệthôngtinđịalý(GIS),chophépcácứngdụngGIScóthểhoạtđộngtrênthựcđịathayvìhoạtđộngtrongphòng.MobileGISchophépngườisửdụngởbênngoàithựcđịathuthập,lưutrữ,cậpnhật,thaotác,phântích,vàhiểnthịcácthôngtinđịalý
Trang 14Cáckhảnăngchính
- Đượcxâydựngvớicáccôngcụcậpnhậtdữliệuđịalýmạnh,quảnlýdữliệukhônggiantốt,phụcvụquátrìnhchỉnhsửa,cậpnhậtthôngtinchodữliệukhônggianvàthuộctính
- ChophépsửdụngvớicácthiếtbịnhưPPC,SmartPhone,Pcphone
- Chophépsửdụngnhiềudạngdữliệu
- Xâydựngvàquảnlýcơsởdữliệu,ứngdụngcácđoạnmãchươngtrìnhđểxửlýcácquytrìnhGIStựđộng
- ChophépcậpnhậtdữliệuGIStựđộngvàđơngiảnhóa,đồngthờichophéphiệnt
hịvàtạocácbảnđồchấtlượngcaoHệthốngMobileArcGISDesktop
1.6.1.HệthốngWebGIS
WebGISlhệthốngthôngtinđịalýphântántrênmạngmáytínhđểthuthập,phânphát,truyềntảicácthôngtinđịalýdựatrênnềncôngnghệWeb.HệthốngWebGISsửdụngmôhìnhkiếntrúckhách–
chủ.Môhìnhkháchchủcóthểtriểnkhaitheo3cáchtiếpcận“nhẹkhách”(thinclient),“nặngkhách
”(thickclient),hoặcmôhìnhcânđối.
Môhình“nhẹkhách”cónghĩalàhầuhếtcôngviệcxữlýởphíadịchvụ,phíakháchkhônglàm
gìnhiềuhơnlàhiểnthịkếtquả.Ưuđiểmcủamôhìnhnàylàngườidùngkhôngcầncàiđặtthêmcácứngdụng.Máykháchnhẹtảinênkhôngcầncấuhìnhcao.Tuynhiênđểgiảmtảichophíachủcungcấpdịchvụ,cácmáychủWeb,máychủCSDLvàWebGIScóthểkhôngtậptrungtrênmộtmáynềnduynhấtmàphântántrêncácmáychủkhácnhauvàliênkếtquamạng.Vìởmáykháchchỉcónhiệmvụhiểnthịkếtquảdođókhingườisửdụngmuốnsửdụngcácthaotácvớidữliệukhônggian,ví
Trang 15Môhình“nặngkhách”đốilậpvới“nhẹkhách”.Phíakháchđảmnhiệmthêmmộtsốchứcnă
ngxửlý,cầncàiđặtthêmcáctiệníchvídụcáctrìnhplug-in,ActiveXhayJava-
applets.CáctiệníchGISplug-inmởrộngkhảnăngcủabộduyệtweb,làmchonócókhảnăngxửlýcáckhuôndạngdữliệuGIS.MộtsốchứcnăngGISđơngiảncóthểdocáctrìnhplug-
inhaycácappletthựchiệntạiphíakhách,khôngcầngửivềmáychủdịchvụgiúpgiảmbớtviệctruyềndữliệutrênmạng.Ưuđiểmcủagiảipháp“nặngkhách”làkhảnăngtươngtáccaohơn,ngườisửdụngđượchòanthiệnhơn.Nhượcđiểmcủagiảiphápnàychủyếulàởkhâuphânphátcôngcụngphầnmềmđểcàiđặtởmáykhách
Môhình“cânđối”,ngườithiếtkếphảiquyếtđịnhphânphốitínhtoángiữamáychủvàmáytr
ạmsaochohợplýcũngnhưcânnhắc,tínhtoándữliệutruyền
VídụvềmôhìnhWebGIS:GoogleEarth(KML)làphầnmềmGIScủaGooglexâydựngtrênphạmvitoàncầu,nóđượcxâydựngtrênnềntảngClient-
ServernhờsửdụngKMLđểlưutrữvàquảnlýdữliệu.Cungcấphệthốngbảnđồphongphúvàđadạng,tốcđộxửlýnhanh.KMLcócấutrúcngữphápXMLvàkhuôndạngdữliệuđểmôhìnhvàlưutrữcácđốitượngđồhọađịalýnhưcácđiểm,đường,ảnhvàpolygonđểhiểnthịởphíaClientcủaGoogleEarth.GoogleEarthkếthợpvớicáchệthốngvệtinhđểđưaracáchìnhảnhmớinhấtvàsốngđộngnhấtchongườidùng.GoogleEarthlàmộtsảnphẩmphụctốtchongườidùngnghiệpdư,vớicácchuyêngia,GoogleEarthvẫnchưađápửngđủyêucầu
Trang 162.1 Tổchứcdữliệutronghệthốngthôngtinđịalý
GIScungcấpđầyđủcácthôngtinđịalýcủabảnđồ,GISlưutrữcácthànhphầncủabảnđồthành1tậpcáclớptheochủđề,liênkếtvớinhau.Cáchtiếpcậnthànhtừnglớp(layer)chophéptổchứcthếgiớithựcphứctạpthànhdạngđơngiảnhơn,dễquảnlýhơn
Hình2–Tổchứccáclớpcủathếgiớithực
Tronghệthốngthôngtinđịalý,dữliệuđượcchialàmhailoạidữliệucơbản:dữliệukhônggia nvàdữliệuphikhônggian.Mỗiloạicónhữngđặcđiểmriêngvàchúngkhácnhauvềyêucầulưugiữ
sốliệu,hiệuquảxửlývàhiểnthị
Dữliệukhônggianlàdữliệuvềvịtríđịalýcủacácđốitượngtheomộthệtọađộhayhệquychiế
unàođó,lànhữngmôtảsốcủahìnhảnhbảnđồ,chúngbaogồmtoạđộ,quyluậtvàcáckýhiệudùngđểxácđịnhmộtđốitượngđịalýcụthểtrênbảnđồ.Hệthốngthôngtinđịalýdùngcácsốliệukhônggianđểtạoramộtbảnđồhayhìnhảnhbảnđồtrênmànhìnhhoặctrêngiấythôngquathiếtbịngoạivi,…
Dữliệukhônggiancóthểbiểudiễnbằngmôhìnhdữliệurasterhaymôhìnhdữliệuvector.
Dữliệuphikhônggianhaydữliệuthuộctínhlànhữngđặctính,sốlượng,mốiquanhệkếtnốil
ogicgiữacácdữliệukhônggiancủacácđốitượngbảnđồvớivịtríđịalýcủachúng.Dữliệuthuộctínhnóichungthuộckiểusố,hoặcchữsốvàchúngđượctổchứclưuthànhcácbảngdữliệutrongCSDLtheomôhìnhquanhệ
Trang 172.1.1 MôhìnhdữliệuVector
Môhìnhdữliệuvectorxemcácsựvật,hiệntượnglàtậpcácthựcthểkhônggiancơsởvàtổhợpcủachúng.Trongmôhình2Dthìcácthựcthểcơsởbaogồm:điểm(point),đường(line),vùng(polygon).Cácthựcthểcơsởnàyđượchìnhthànhtrêncởsởcácvectorhaytoạđộcủacácđiểmtrongmộthệtrụctoạđộnàođó
Loạithựcthểcơsởđượcsửdụngphụthuộcvàotỷlệquansáthaymứcđộkháiquátcủabảnđồ.Vớibảnđồcótỷlệnhỏthìthànhphốđượcbiểudiễnbằngđiểm(point),đườngđi,sôngngòiđượcbiểudiễnbằngđường(line).Khitỷlệthayđổikéotheosựthayđổivềthựcthểbiểudiễn.Thànhphốlúcnàysẽđượcbiểudiễnbởivùngcóđườngranhgiới.Khitỷlệlớnhơn,thànhphốcóthểđượcbiểudiễnbởitậpcácthựcthểtạonêncácđốitượngnhàcửa,đườngsá,cáctrìnhtiệních,…
Cóthểnóimôhìnhdữliệuvectorsửdụngcácđoạnthẳnghaycácđiểmrờirạcđểbiểudiễncácđốitượngđịalýcủathếgiớithực
Hình2–sốliệuVectorđượcbiểudiễndướidạngvùng(polygons)
Đốitượngđiểmđượcbiểudiễndướidạngmộtvector2chiều(x,y),xácđịnhvịtrícủađiểmđótrênbảnđồ.Đốitượnglàđườngđượcxácđịnhnhưtậphợpdãycủacácđiểm,vùngđượcxácđịnhbởiranhgiớicácđườngthẳng,nhữngđốitượngnàyđượcgọilàcácpolygons,đượcmôtảbằngtậpcácđườngvàđiểmnhãn(lablepoints)
Môhìnhdữliệuvectorđịnhhướngđếncáchệthốngquảntrịcơsởdữliệu.Chúngcóưuviệttrongviệclưutrữsốliệubảnđồ.VìcácthànhphầnđồhọabiểudiễncácđặctrưngcủabảnđồliênkếttrựctiếpvớicácthuộctínhđượclưutrongCSDL,dođóviệctìmkiếmcóthểđượcthựchiệndễdàng
Trang 182.1.2 HệthốngRaster
Môhìnhdữliệudạngrasterphảnánhtoànbộvùngnghiêncứudướidạngmộtlướicácôvuônghayđiểmảnh(cell).Độphângiảidữliệurasterphụthuộcvàokíchthướccủatếbàohayđiểmảnh,khácnhautừvàichụcdmđếnvàikm.Dữliệurastergắnliềnvớidữliệudạngảnhhoặcdữliệucótínhliêntụccao.Dữliệurastercóthểbiểudiễnđượcrấtnhiềucácđốitượngtừhìnhảnhbềmặtđấtđếnảnhchụptừvệtinh,ảnhquétvàảnhchụp.Địnhdạngdữliệurasterrấtđơngiảnnhưnghỗtrợrấtnhiềukiểudữliệukhácnhau.Môhìnhrastercócácđặcđiểm:
Trongcấutrúcdữliệuraster,cácđiểm(points)cóthểđượcbiểudiễnbằngmộtcell.Lineđượcbiểudiễnbởimộttậpcáccellcóhướngxácđịnh,độrộngcủalinebằngchiểurộngcủamộtcell.Polygonđượcbiểudiễnbởimộtdãycáccellnằmkềsátnhau
Hình3-Mảngcellvàbảngthuộctính
Hình4-Biểudiễncácđốitượngcơsởtrongraster
Trang 19Tuynhiêndocáchthứcxửlýthôngtinthuộctínhkhácnhau,nênmôhìnhrasterthườngcónhiềubảnđồhơn.Vídụ,trongmôhìnhvectorđểbiểudiễnmứcđộônhiểmcủamột“consông”cóthểđượcgántrựctiếpchonó.Nhưngtrongmôhìnhrasterkhônglàmđượcnhưvậy.Trướchếtphảitạolậptầngbảnđồcho“consông”,sauđótạotầngbảnđồthứhaiđểchỉmứcđộônhiểm.Kếtquảlàsốlượngtầngbảnđồcủamộthệthốngrastertănglênđángkểsovớimôhìnhvector
Ưuđiểmcủamôhìnhrasterlàđơngiản,lướilàmộtbộphậncủabảnđồđãđượcsửdụngđểkiếntạothôngtinđịalý.Khicácsốliệuđầuvàolàcácảnhvệtinhhayảnhtừmáyquét–
cókhuônmẫulưới,chúngsẽphùhợpchomôhìnhdữliệunày.Lợithếlớnnhấtcủahệthốngrasterlàdữliệuhìnhthànhtrongbảnđồtrongbộnhớmáytính.Dovậy,cácthaotáckiểunhưsosánhlướitếbàođượcthựchiệndễdàng.Tuynhiênhệthốngrasterkhôngthuậntiệnchoviệcbiểudiễnđường,điểmvìmổichúnglàtậpcáctếbàotronglưới,dođóđườngthẳngdễbịđứtđoạnhoặcrộnghơnthựctế.Điểmyếunhấtcủamôhìnhdữliệurasterlàphảixửlýkhốidữliệurấtlớn.Nếuđộphângiảicủalướicàngthấpthìcácthựcthểtrênbảnđồcàngcóthểbịmấtđi.NgượclạinếuđộphângiảicaothìphảilưutrữmộtkhốilượnglớncácthôngtintrongCSDL
Môhìnhdữliệuvectorchotanhiềuthaotáchơntrêncácđốitượngsovớimôhìnhraster.Việctínhdiệntích,đokhoảngcáchcủacácđốitượngđượctrongmôhìnhVectorthựchiệnbằngcáctínhtoánhìnhhọctừtoạđộcủacácđốitượngthayvìviệctínhtoántrêncácđiểmảnhnhưởmôhìnhraster
Hình3–Kếthợpgiữamôhìnhvectorvàraster
Trang 20Vectornếucầnthiết.Thôngthườngngườitabiểudiễnthếgiớithựcbởisựkếthợpgiữagiữliệuvectorvàraster
2.1.3 MôhìnhTIN
Cácứngdụngmôhìnhhoáđịahìnhđòihỏiphươngphápbiểudiễnđộcaosovớibềmặtnướcbiển.Córấtnhiềumôhìnhbiểudiễnbềmặtthựchiệncôngviệcnày,trongđómôhình“lướitamgiáckhôngđều”-gọitắtlàmôhìnhTINđượcđánhgiálàhiệuquảnhất
Hình5-BảnđồvớimôhìnhdữliệuTINTINcókhảnăngbiểudiễnbềmặtliêntụctừnhữngtậphợpđiểmrờirạc.Vềmặthìnhhọc,TINlàtậpcácđiểmđượcnốivớinhauthànhcáctamgiác.Cáctamgiácnàyhìnhthànhnênbềmặt3chiều.Cácđiểmđượclưutrữcùngvớigiátrịgốcchiếucủachúng.Cácđiểmnàykhôngcầnphảiphânbốtheomộtkhuânmẫunàovàmậtđộphânbốcũngcóthểthayđổiởcácvùngkhácnhau.Mộtđiểmbấtkỳthuộcvùngbiểudiễnsẽnằmtrênđỉnh,cạnhhoặctrongmộttamgiáccủalướitamgiác.Nếumộtđiểmkhôngphảilàđỉnhthìgiátrịhìnhchiếucủanócóđượctừphépnộisuytuyếntính(củahaiđiểmkhácnếuđiểmnàynằmtrêncạnhhoặccủabađiểmnếuđiểmnàynằmtrongtamgiác).VìthếmôhìnhTINlàmôhìnhtuyếntínhtrongkhônggian3chiềucóthểđượchìnhdungnhưsựkếtnốiđơngiảncủamộttậphợpcáctamgiác
TacóthểlưutrữsơđồcủaTINbằngdanhsáchliênkếtđôihoặccấutrúctứphân.Cảhaiphươngphápnàyđềumôtảcấutrúchìnhhọctôpôcủabảnđồchianhỏ
2.2 ĐiểmquacáchtổchứcdữliệutrongmộtsốhệthốngGISthôngdụng.
2.2.1 TổchứcdữliệutrongMapInfo
CácthôngtintrongMapInfođượctổchứctheotừngbảng,mỗimộtbảnglàmộttậpcácFilevềthôngtinđồhọahoặcphiđồhọachứacácbảnghidữliệumàhệthốngtạora.CơcấutổchứcthôngtincủacácđốitượngđịalýđượctổchứctheocácFilesauđây:
Trang 21- tab:môtảkhuôndạngtab,chứathôngtinđểkếtnốitấtcảcáctệpkháctrongứngdụngMapInfo,thôngtinvềkiểudữliệu.
- dathoặc.dbf:tệpchứadữliệuthuộctính,cócấutrúctươngtựnhưtệpCSDLdBaseIII
- map:filechứacácthôngtinmôtảđốitượngđịalýdướidạngmãnhịphân,chophéphiểnthịmộtbảnđồtrênmànhình
- id:filechứacácthôngtinliênkếtcácđốitượnglạivớinhau
- ind:filechứacácchỉsốđốitượng
- wor:tậptinlưutrữtổnghợpcáctablehoặccáccửasốthôngtinkhácnhaucủaMapInfo
2.2.2 TổchứcdữliệutrongArcGIScủaESRI
KhuôndạngshapefileđượcđưavàosửdụngtrongArcGIS2từđầunhữngnăm
90.Thuậtngữ“shapefile”thườngđượcdùngđểchỉmộttậphợpnhiềutệpcóchungtênnhưngvớiphầnmởrộngkhácnhau,cùngtrong1thưmục.ĐểhiểusâuhơnvềcấutrúclưutrữcủamộtGIStasẽđisâutìmhiểushapefilenhưlàmộtvídụởphầnsau
2.2.3 TổchứcdữliệutrongGRASS
GRASSlàmộttrongnhữngứngdụngGISnguồnmởrấtmạnh.GRASSnổitiếngvềphântíchdữliệuraster,điềumàchúngtakhôngthấyởcácGISthươngmạinhưMapInfoProfessionalhoặcArcview.Tuynhiên,saunàycácchứcnăngliênquanđếndữliệuvectorcũngđangđượcpháttriển.DữliệuGIStrongGRASSnằmtrongmộtthưmụcđượcgọilàCSDLGIS(GISDBASE).TrongCSDLGISđócócácthưmụcconđượcgọilàLOCATION(vịtrí),trongcácLOCATIONcócácthưmụccongọilàMAPSET(bộbảnđồ).Cácmapsetsẽchứacáctệpvàcácthưmụccon,gọilàcácphầntử(thànhphần)cơsởdữliệu.MỗimộtphiênlàmviệccủaGRASSchỉđượclàmviệcvớimộtMAPSETtrongmộtLOCATIONmàthôi.Nếukhôngcódữliệusẵn,bạnphảitựtạoraLOCATIONvàMAPSETmới
BảnđồvectortrongGRASSđượclưutrữtheocácbiểudiễncung-nút,baogồmcácđườngconggọilàcung.Mộtcungđượclưutrữnhưmộtdanhsáchcáccặptọađộx,y.Điểmđầu,điểmcuốicủamộtcungđượcgọilànude.Haicặptọađộx,yliêntiếpnhauxácđịnhmộtđoạn(segment)củacung.Cáccungđơnlẽhaykếthợpvớicáccungkháctạoracácđốitượngbảnđồởmứccaohơn.Cáccungđơnlẽtạonêncáclinebiểudiễncácđốitượngnhưđường,sôngsuối,…cáccungbaoquanh1vùngđượcgọilàareaedgeshayareaslines
Trang 222.3 TìmhiểucấutrúclưutrữcủaShapefile
Shapefilelàmộtcấutrúcdữliệu I SG đượcđưarabởiESRIchocácnphầnmềmhệthốngthôngtinđịalý,nhưmộtchuẩnmởchoviệcchiasẽdữliệugiữaESRIvàcácphầnmềmGISkhác.Mộtshapefilethườnglà1tậpcácfilescùngtênvớiđuôi
.shp,.shx,.dbf,…
Shapefiledùngđểmôtảcácđốitượngđịalý:điểm,đường,đagiác.Mổiđốitượngcócácthuộctínhđịalý,vídụ:tên,nhiệtđộ,độcao,…
Shapefilelưutrữdữliệudướidạngvectorđểchứacácđốitượngđịalývàcácthôngtinliênquan.Tuynhiên,nókhôngcókhảnăngchứathôngtinmạngtopohìnhhọc
Shapefilelưutrữcácloạidữliệuđịalýcơbảncủacácđiểm,đường,đagiác.Đểcónhữngthôngtinthuộctínhvềcácđốitượngđểxácđịnhđốitượngnàomàchúngbiểudiễn,mộtbảngcácbảnghisẽchứacácthuộctínhchomỗiđốitượngtrongshapefile.Nhữngbiểudiễncủacácđốitượngđịalý(cácđiểm,cácđường,cácđagiác)nàycóthểtạorarấtnhiềubiểudiễncủadữliệuđịalýcungcấpkhảnăngtínhtoánđịalýmạnhmẽvàchínhxác
Trang 23- sbnvà.sbx:mộtkiểuindexkhônggiancủacácđặctrưng(features)
- fbnvà.fbx:mộtindexkhônggiancủacácđặctrưngchonhữngshapefilechỉđọc
- ainvà.aih:mộtindexthuộctínhcủacáccủacáctrườnghoạtđộngtrongbảnghoặctrongcácthuộctínhcủabảng
- …
Địnhdạnhcủashapefile(.shp)
Filechính(.shp)chứadữliệuthamchiếucủađốitượngđịalýchínhtrongshapefile.Nógồm1tiêuđềđộdàicốđịnhtheosaubởimộthoặcnhiềubảnghiđộdàicóthểthayđỗi.Mỗibảnghinàychứamộtthànhphầnbảnghitiêuđềvàmộtthànhphầnbảnghinộidung
Tiêuđềcủamainfilevớichiềudàicốđịnh:100bytes:
(Trongcácbảng,cộtEndiannesschỉmứcđộquantrọngcủadữliệu).
0-3 Int32 Big Filecode(alwayshexvalue0x0000270a) 4-23 Int32 Big Unused;fiveuint32
24-27 Int32 Big Filelength(in16-bitwords,includingtheheader)
Trang 2428–31 int32 little Version
32–35 int32 little Shapetype(seereferencebelow)
36–67 double little M in i mumbounding r e c t a n g l e (MBR)ofallshap
escontainedwithintheshapefile;fourdoublesint hefollowingorder:minX,minY,maxX,maxY
68-83 Double Little RangeofZ;twodoublesinthefollowingorder:mi
nZ,maxZ 84-99 Double Little Range of M; two doubles in
thefollowingorder:minM,maxM
File.shpchứasốlượngbảnghithayđổivớisốlượngbấtkỳ.Mỗibảnghiđượcthêmvàođầubởi1bảnghitiêuđềdài8bytes
0-3 Int32 Big Recordnumber(1-based)
4-7 Int32 big Recordlength(in16-bitwords)
Theosaubảnghitiêuđềlàbảnghithật
0-3 Int32 Little Shapetype
Nộidungcủacácbảnghicóchiềudàithayđổiphụthuộcvàoloạicủađốitượngbiểudiễn
Trang 25
Filechỉsốcủashapefilecũngchứatiềuđề100-bytenhư.shp,theosaubởibấtkỳmộtsốcácbảnghicóđộdàicóđịnh8bytevới2trường
0-3 Int32 Big Recordoffset(in16-bitwords) 4-7 Int32 Big Recordlength(in16-bitwords)
Sửdụngchỉsốnày,chophéptìmgiậtlùitrongshapefilebằngcáchtìmkiếmgiậtlùitrongshapeindex,đọcrecordoffset,vàsửdụngnóđểtìmđếnvịtrítươngứngtrong.shpfile.Tươngtự,nócũngchophéptìmkiếmtrênmộtsốtùyýbảnghibởicùngphươngpháp
Filedữliệu(.dbf)
CácthuộctínhchomỗishapeđượcchứadướidạngdBase.MộtđịnhdạngthaythểcũngcóthểđượcsửdụnglàxBase
FileđịnhdạngProject(.prj)
Trang 26ThôngtinProjectđượcchứatrong.prjfilegiúpngườidùngcóthểhiểuđượcdữliệuđượcchứatrong.shpfilemộtcáchchínhxác.Mặcdùfilenàylàtùychọn,nhưngnóthườngluônđượctạo.
Trang 27biểudiễnchocácđốitượngkhônggianvàmỗitublecómộtIDduynhất.TrongR-treecácnốtláchứacácbảnghiindexcódạng:
(I,tuple–identifier)Vớituple–identifierthamchiếuđếntupletrongCSDLvàIlàmộthìnhchửnhậtn-
chiều,làhộpbaocủađốitượngkhônggianđượcindex
I=(I0,I1,…,In-1)ỞđâynlàsốchiềuvàIilàmộtkhoảngbịchặnđóng[a,b]môtảsựmởrộngcủađốitượngtheochiềui.Tuynhiên,Iicóthểcómộthoặchaiđiểmcuốibằngvôcùngđểchỉrằngđốitượngmởrộngvôcùngtheohướngi.Mộtnodekhôngphảilàláchứanhữngentriescódạng
(I,child–pointer)Vớichild-pointerlàđịachỉcủanodecontrongR-
root
(3) MỗinodekhôngphảinodelácótừmđếnMcontrừkhinólà
(4)
Vớimỗientry(I,child-pointer)trong1nodekhôngphảilá,Ilàhìnhchửnhậtnhỏnhấtbaocáchìnhchửnhậtcon
Trang 28(5) Noderootcóítnhất2contrừkhinólàlá.
(6) Tấtcảcácláxuấthiệnvớicùngmức
Hình6–CấutrúcR-treeHình6a,và6bbiểudiễncấutrúccủamộtR-
treevàminhhọamốiquanhệbaohàmvàchồngphủlẫnnhaucóthểtộntạigiữacáchìnhchửnhậttrongR-tree
ChiềucaocủamộtR-treechứaNbảnghiindexítnhấtlà|logmN|-1,vìhệsốnhánhcủamỗinodeítnhấtlàm,sốnodetốiđalà|N/m|+|N/m2|+
+1.Trườnghợpxấunhấtlàtấtcảcácnodechứamentry.Thôngthường,cácnodethườngcónhiềuhơnmentry,vìvậychiềucaocủacâysẽíthơn|logmN|-1
3.1.2
TìmkiếmvàcậpnhậttrongR-treeTìmkiếm
Trang 29ThuậttoántìmkiếmđixuốngtừroottươngtựnhưB-tree.Tuynhiên,docấutrúcbaohàmvàchồngphủlẫnnhaucóthểtồntạinênsốcâyconđượctìmkiếmcóthểlớnhơn1,vìvậykhôngthếđảmbảomộthiệunăngtốttrongtrườnghợpxấunhất.Tuynhiênvớihầuhếtcácloạidữliệuthuậttoánupdatesẽduytrìcâyởdạngchophépthuậttoántìmkiếmđánhgiácácmiềnkhôngphùhợpcủakhônggianindex,vàchỉxemxétnhữngdữliệugầnvùngtìmkiếm
ThuậttoánSearch.ChomộtR-treevớinoderootlàT,tìmtấtcảcácbảnghiindexchứanhữnghìnhchửnhậtchồnglênhìnhchửnhậtđangtìmS
- S1[Tìmcâycon]NếuTkhôngphảilàlá,kiểmtramỗientryEcủaTđểxácđịnhxemEIcóchồnglênShaykhông.Vớitấtcảentrieschồng,gọihàmSearchtrêncâymànoderootđượctrỏbởiEp
- S2[Tìmnodelá]NếuTlà1lá,kiểmtratấtcảentryEđểxácđịnhEIcóchồnglênShaykhông.Nếucó,Elà1bảnghi“cóchấtlượng”
(ỞđâyEIlàhìnhchửnhậtđượctrởđếnbởientryE,EplàcontrỏtrongentryE).
Chèn
ViệcchèncácbảnghiindexchonhữngtuplesdatamớicũngcótưtưởngtươngtựnhưchèntrongB-
tree:cácbảnghimớisẽđượcthêmvàocáclá,cácnodebịtrànsẽđượccắtra,vàviệccắtsẽlantruyềnlên
ThuậttoánInsertchèn1indexmớiEvàoR-tree:
- I1[Tìmvịtríchobảnghimới]GọihàmChoseLeafđểtìmmộtnodeláLđểđặtE
- I2[Thêmbảnghivàonodelá]NếuLcóchốtrống,đưaEvàoL.NếukhônggọihàmSplitNodeđểđượcLvàLLchứaEvàtấtcảcácentriescủcủaL
- I3[Lantruyềnthayđổilêntrên]GọihàmAdjustTreetrênL,cảLLnếuxảyraviệcchianode
- I4[Mọccâycaohơn]Nếuviệclantruyềnchianodelàmchorootcũngbịchia,tạomộtrootmớicócácconlà2nodeđượctạora
ThuậttoánAdjustTree:ĐilêntừnodeláLđếnroot,điểuchỉnhcáchỉnhchửnhậtbaoph
ủvàlantruyềnviệcchiacácnodenếucầnthiết
- AT1[khởitạo]ĐặtN=L,nếuLđãbịchiatrướcđó,đặtNNlàkếtquảthứ2(NN=LL)
- AT2[kiểmtrahoànthành]NếuNlàroot,dừng