Lietojam GRASS izmantojot QuantumGIS?
Mūsu lasītājs “satelits” uzdeva interesantu jautājumu par to, cik ļoti atšķiras “tīrs” GRASS no tā, ko piedāvā QuantumGIS. Tiem, kas nav līdz ausīm iesaistīti GRASS vai QGIS izstrādē vai ikdienas lietošanā, tiešām tādas lietas kā QGIS GRASS spraudnis, JGrass (uDig) vai vtkGRASSBridge nav pārāk viegli saprotamas. Šoreiz sīkāk aplūkosim QGIS GRASS spraudni.
MS-Windows lietotājiem GRASS GIS atbalsts ir jau iekļauts pēc noklusējuma QGIS 1.5.0 instalatorā, savukārt GNU/Linux lietotājiem atliek paļauties uz sava distributīva pakotņu piegādātājiem. Kompilējot QGIS no pirmkoda, GRASS atbalsts tiek aktivizēts iestatot GRASS_PREFIX parametru vienādu ar GISBASE (piem. /usr/local/grass-64/) un aktivizējot WITH_GRASS. MacOS X lietotāji ir visvairāk apdalīti, jo standarta QGIS instalators nesatur GRASS atbalstu, kā arī nav iespējams to pievienot automātiski – atliek vien manuāli uzinstalēt GRASS un visus tam nepieciešamos ietvarus (bibliotēkas). Par GRASS atbalsta klātesamību var pārliecināties ielūkojoties QGIS izvēlnē “Spraudņi”. Ja tur nav rakstīts GRASS, tad ir nepieciešams doties uz “Spraudņi”-> “Pārvaldīt spraudņus” un ielikt ķeksīti pie GRASS spraudņa. Ja GNU/Linux lietotājiem pie spraudņiem GRASS neparādās, iemesls var būt GRASS neesamība globālajā dinamiskās sasaistes kešatmiņā. Šo problēmu visvienkāršāk var atrisināt palaižot GRASS un tad startējot QGIS no GRASS komandrindas. Ja viss ir sanācis pareizi, QGIS programmā ir jāparādās jaunai rīkjoslai ar GRASS rīkiem (“Iestatījumi”-> “Rīkjoslas”-> “GRASS”).
Ja aplūko QGIS GRASS spraudni pirmkoda līmenī, tad izrādās, ka datu attēlošanu uz ekrāna veic pati QGIS programma izmantojot GRASS gluži tā pat kā jebkuru citu datu avotu. Tam ir zināmas priekšrocības, jo automātiski ir pieejamas visas QGIS slāņu noformēšanas iespējas, kā arī vektordatu slāņu pārprojecēšana pie attēlošanas. Kas attiecas uz datu apstrādes rīkiem, tad tiem QGIS nodrošina tikai grafisko priekšpusi – savāc lietotāja norādītos parametrus un palaiž analīzes programmu ar dotajiem parametriem. Līdz ar to galvenais secinājums – “tīra” GRASS vai GRASS no QGIS darbināšana neietekmē analīzes rezultātus, jo tiek izmantotas vienas un tās pašas programmas.
No iepriekš noskaidrotā izriet vēl kāda svarīga lieta – pat ja mēs lietojam GRASS no QGIS vides, joprojām ir spēkā GRASS “spēles noteikumi”. Šie “noteikumi” ir salīdzinoši vienkārši.
- Lai gan ir iespējams pievienot vektoru/rastra karti no jebkura GRASS novietojuma, analīzes rīkiem būs pieejamas tikai aktīvā novietojuma/karšu kopas kartes.
- Rastra datu nolasīšana notiek tādā izšķirtspējā, kāda ir iestatīta reģiona iestatījumos. Tāda pati izšķirtspēja tiks izmantota no jauna veidotajiem rastriem. Pemērs redzams attēlā.
- Darbības ar rastru notiek tikai reģiona ietvaros. Ja nepieciešams izmantot ne-taisnstūra teritorijas ierobežojumu, ir pieejams rastra masku atbalsts. GRASS rastra reģionu var aplūkot QGIS vidē uzklikšķinot uz ikoniņas “Rādīt pašreizējo GRASS reģionu”, kas parādīs tā robežas kā sarkanu taisnstūri pa virsu pārējai kartei. Piemērs redzams attēlā.
- Ir iespējams rediģēt tikai aktīvajā karšu kopā esošos vektordatus, piedevām lietotājam ir jābūt karšu kopas mapes īpašniekam.
Vairāk par dažādām GRASS specifiskām lietām var palasīt GRASS GIS dokumentācijā. Ievads GRASS palīdzēs saprast, kas ir novietojums, karšu kopa. Savukārt ievads 2D rastra apstrādē un ievads vektordatu apstrādē palīdzēs izprast GRASS rastru un vektoru specifiku, kā arī kuros rīkos meklēt biežāk lietotās datu analīzes metodes.
Tiktāl viss ir bijis ļoti skaisti, taču GRASS lietošanā no QGIS vides ir arī savi trūkumi. Pirmkārt – QGIS uztur tikai vienkāršos vektordatus (OGC SFS) un nepieļauj dažādu ģeometriju paralēlu eksistenci vienā datu slānī. Šī iemesla dēļ attēlojot GRASS vektordatu slāni QGIS vidē ir jāizvēlas kāda tipa objekti tiks rādīti. Tāpat pagaidām QGIS GRASS spraudnis neuztur vektoru topoloģijas attēlošanu.
Nākamais ierobežojums ir saistīts ar QGIS veikto moduļu grafiskās saskarnes vienkāršošanu – grafiskajā vidē ir pieejami tikai tie moduļu parametri, kuri ir norādīti QGIS moduļa konfigurācijas failā. Lielākajai daļai moduļu ir pieejami visi parametri, lai gan atsevišķiem moduļiem parametri ir sadalīti pa atsevišķiem rīkiem. Tā, piemēram, modulis r.lake QGIS vidē parādās divās versijās – atkarībā no izvēlēta datu ievades tipa kā r.lake.xy, gan kā r.lake.seed.
Visbeidzot problēmas sagādā GRASS uzbūves arhitektūra – GRASS ir veidots kā rīku kopums nevis monolītas sistēmas daļa, līdz ar to, avārijas gadījumā, GRASS rīki un bibliotēka parasti pārtrauc programmas izpildi. GRASS darba sesijā tas nekādas problēmas nerada, taču monolītā programmā kā QGIS, tas var nozīmēt tūlītēju QGIS aizvēršanos vai avāriju.
Tāpat der piezīmēt, ka GRASS vektoru rediģēšana QGIS vidē šobrīd notiek tiešā režīmā – QGIS avārijas gadījumā vektoru slānis var tikt neatgriezeniski bojāts! Tāpat nav pieejamas “Atcelt” un “Pārdarīt” pogas – kļūdas ir jālabo manuāli. Tiesa gan “tiešās” rediģēšanas izmantošanai ir arī priekšrocības – GRASS vektordatu rediģēšana ir topoloģiska – uzreiz ir redzams, vai līniju gali ir savienoti, laukumi ir noslēgti utml. Ja ir vēlme nodrošināties pret nejaušu datu zudumu rediģējot vektordatus, drošākais ir izveidot tiem kopiju, ko var paveikt atverot GRASS čaulu (shell) un ieklabinot komandu “g.copy vect=old,new”, kur “old” ir vecās kartes nosaukums, “new” – jaunā karte. QGIS vidē šobrīd nav grafiskās saskarnes priekš g.copy moduļa.
Kā redzams – GRASS lietošanai QGIS vidē ir stiprās un vājās puses. Gluži tā pat kā ar jebkuru citu risinājumu – atliek tik pieņemt lēmumu, kurā brīdī kurš rīks labāk der. No analīzes rezultātu viedokļa – atšķirību nav – joprojām svarīgākās ir un paliek prasmes dotos rīkus pielietot pareizi. Jautājiet, un jums taps atbildēts.
Birkas: GRASS, qgis, quantumgis
Āmen!
Lielumlielais paldies. Man jau pietiktu ar pāris teikumiem, bet šis jau velk uz zinātnisko darbu. Nav ko teikt. Vareni !
Kā qgis var savienot līnijas abus galus, lai sanāktu aplis. Tas ir domāts tā, kad digitizē izolīnijas.
Ja ar to ir domāta pielipšana, tad šobrīd digitizējot līniju, pielipšana darbojas tikai jau esošām līnijām (jāaktivizē pie pielipšanas opcijām – precīzāka vieta un parametri ir atkarīgi no izmantotās versijas). Pielipšana pie zīmēšanā esošas līnijas nav pieejama (ziņota kļūda: http://trac.osgeo.org/qgis/ticket/3443 ).
Zini, šis izskatās jau GRASS un QGIS lietošanas otrais līmenis. Labāk būtu izstāstījis, kas vispār ir jādara, lai sāktu darbu.
Kas ir GRASS Database, Mapset, Location. Kāda sakarība ir starp Map name un Layer. Kas tur jānorāda?
Kāpēc izveidojot jaunu GRASS layer, pēc tam tas parādās kā Map name?
Ja man ir *.shp fails, kā es varu ar to strādāt izmantojot šo GRASS plugin. Tas vispār ir iespējams?
Tādas vnk lietas…