QGIS tutorial priekš Geocaching statistikas
QGIS ir programma darbam ar kartēm, tai ir milzīgs iespēju klāsts, un tas ko es šeit aprakstīšu ir pavisam maza kripata no tā. Kartes mani fascinējušas jau vienmēr, sākot no bērnības, kad pasaules karte man karājās pie gultas, un kad enciklopējias un atlanti bija vienas no mīļākajām grāmatām. Pavisam nesen sanāca nejauši uzņemties projektu, kura ietvaros bija jāizgatavo 12 kartes dabas taku stendiem. Biju domājis izmatot Openstreetmap, taču prasības auga, un biju spiests dažās dienās iemācīties GIS pamatus. Būtu mācijies ArcGIS ar ko strādā visi šajā jomā, taču tas eksistē tikai Windows vidē, un QGIS turklāt ir bezmaksas.
Šajā ātrajā pamācībā centīšos apskatīt QGIS galvenos pamatus, ar mērķi izveidot šādu te statistikas pārskata karti:
Sākam ar to, ka jāuzinstalē QGIS. Procesu šeit neapskatīšu sīkāk, atliek atrast programmu, un uzlikt versiju 1.9 (tā gan ir testa versija, bet tajā ir daudz iespēju, kas nav “stabilajā” versijā).
Lai izdarītu to, kas šeit aprakstīts, vajadzēs datus. Galvenais ir Latvijas Novadu karte SHP formātā (paldies @laacz). Tālāk mums vajadzēs geocache punktu koordinātes CSV formātā. Es darīju tā – izveidoju “My Finds” pocket query, tad rezultējošo ZIP failu iebaroju gpsvisualizer.com, kas man izdeva CSV failu. To atvēru ar Excel, un nodzēsu visas nevajadzīgās kolonnas izņemot “Type”,”Latitude”,”Longitude”. Saglabājam failu un tas arī viss. QGIS vajadzīgs, lai CSV failā vienības būtu atdalītas ar komatiem, un nebūtu ieliktas pēdiņās. Tāpat vajadzīgs pirmajā rindiņā ierakstīt katras kolonnas datu veidu (type,latitude,longitude)
Par datiem vispār – pasaules kartes, ezerus, upes, dažādas teritorijas – visu var dabīt par velti visādās EU aģentūrās. Piemēram pie Natura2000 projekta var dabūt aizsargājamās teritorijas, pie CORINE projekta – biotopus (meži, purvi utt). Vēl lielisks saits ir šeit – http://www.naturalearthdata.com/ kur var dabūt visu pasauli gan ar gan bez valstu kontūrām, un visādus statistikas datus, lai piemēram iekrāsotu valstis atbilstoši iedzīvotāju blīvumam utt.
Sākam. Atverot programmu, šādam jāizskatās standarta interfeisam. Lielais ir kartes logs, pa kreisi ir slāņi (layers) kuri attēlojas tādā kārtībā kā uzskaitīti (ar peli var pārvilkt citā kārtībā).
Tālāk piespiežam pogu Vektora slāņa pievienošanai, un izvēlamies Novadu SHP failu
Vajadzētu parādīties aptuveni šādai kartei
Pēc tam spiežam pogu CSV failu pievienošanai un izvēlamies savus geocache datus. Ja pogas nav, meklējam “Manage plugins” menu un ieslēdzam tur atbilstošo “Delimited text layer” spraudni
Kad norādīts kur stāv fails, parādīsies šāds lodziņš, un ja dati ir kārtībā, nekas cits nebūs jādara
Tālāk būs maza problēma ar koordinātu sistēmām. Novadu karte ir LKS92 (latvijas standarts) formātā, ģeoslēpņi ir WGS84 formātā. Līdz ar to punkti neparādīsies tur kur mūsu karte. To labi var pamanīt tajā lodziņā, kas atveras pie faila ielādes. CSV fails būs WGS84, Novadi būs LKS92. Ko darīt?
Atveram “Project properties” un pie CRS (koordinātu sistēmas) izvēlamies “Enable on the fly transformations”. Šis atļaus slāņu koordinātu sistēmu pārveidošanu. Pēc tam kad tas izdarīts, galvenā loga kreisajā pusē, spiežam labo pogu un “save”. Tur norādam WGS84 kā saglabāto formātu, un norādam kur failu novietot. Pēc tam saglabāto slāni pievienojam vēlreiz, kā norādīts augstāk. Šoreiz slānis būs WGS84 formātā un parādīsies turpat kur punkti:
Ja viss izdevās, un jau pārveidotais Novadu fails ir ielādējies pareizi, redzēsim ka karte tagad ir kopā ar punktiem (ja punkti ir zem tās, pārvelc slāņus tā lai punktu layer ir augstāk)
Konkrētajā piemērā Latvija izskatās dīvaini saspiesta, lai to izlabotu, varam aiziet pie projekta uzstādijumiem (vēlreiz) un tur iestādīt, ka projekts ir LKS92 formātā. Tad karte paliek vizuāli patīkamāka (daži noteikti iepleta acis – wait, projekts LKS92, layeri WGS84, what the? Jā, es arī biš te saputrojos, bet ja darīsi kā liku, viss vismaz izskatīsies normāli)
OK tik tālu viss labi, sākam karti izkrāsot. Pirmkārt izskaitīsim cik punktu ir katrā novadā. To veicam ar “Vector” menu atrodamo funkciju “Points per polygon”. Ja tev šāds nav atrodams, dodies pie “Plugins” -> “Fetch Python plugins” un uzinstalē “fTools” spraudni.
Palaižot minēto analīzes rīku, tiek prasīts, kurš no slāņiem satur punktus, un kurš satur daudzstūrus (novadus). Tā kā tev ir tikai divi, viņš pats jau būs izvēlējies pareizos. Ar “browse” norādi kur saglabāt analīzes rezultātu, un ieķeksē, ka vēlies lai rezulātu uzliktu arī uz kartes
Jaunais slānis pēc izskata ir tāds pats kā novadu karte, tikai tajā iekšā ir papildus kolonna, ar punktu skaitiem. Apskatīsimies ko slēpj slānis. Šis punkts ir ļoti svarīgs, jo SHP failā patiesībā ir daudz vairāk datu, un tos var apskatīties šādi – labo pogu uz jaunā slāņa, un izvēlamies “View attribute table”. Parādās šis logs, un mēs redzam jauno kolonnu PNTCNT. Ja tur ir nulles, tad kaut kas nebija labi ar taviem CSV datiem.
Atkal jau ar peli pārvelkam punktu slāni lai tas ir pa virsu, un veco novadu slāni varam izvākt pa visam
Tagad krāsojam karti atbilstoši punktu daudzumam. Dubultklikšķis uz jaunā slāņa atver parametru logu, ieejam Style sadaļā, un izvēlamies “Graduated”, par datu avotu punktu skaitu “PNTCNT” (tā ir tā kolonna, ko pievienoja Analīzes funkcija), un pieregulējam citus parametrus, piemēram sadalīšanas metodi “Jenks”, gradāciju skaitu “10”, un pievienojam arī jaunu gradāciju ar roku, kas apzīmēs tieši Nulles (0-0). Turpat var izvēlēties arī toņu skalu kādu izmantot.
Tāda tagad izskatās karte. Tumšākie tur kur daudz punktu, gaišākie tur kur maz punktu, un baltie (ko pievienojām ar roku) tur kur nulle punktu.
Tagad atveram punktu slāņa parametrus, iekrāsosim geocaches to atbilstošajās krāsās. Punkti visi izskatās vienādi, taču mūsu CSV failā jau bija norādīts arī tips. Pēc tā, mēs varam arī definēt stilu. Šoreiz liekam nevis graduated, bet categorized, jo šoreiz krāsas mums vajag konkrētas, nevis pēc gammas. Ja ilgāk papētīsi šo Style logu, sapratīsi ka var pamatīgi izvērsties. Ja ir vēlme, var pat uztaisīt, lai geokastes tiek attēlotas kā kastītes, lietojot bildes. Šoreiz gan pietiks ar krāsām.
Ar labo pogu var norādīt krāsu, caurspīdību utt.
Šādi izskatās pareizi iekrāsotas kastītes
Ja vēlamies lai uz kartes tiktu parādīti arī kaut kādi konkrēti dati, piemēram kastīšu skaits, izvēlamies konkrēto slāni (jaunie novadi), un piespiežam ABC pogu (Labeling), un ieķeksējam ka vēlamies attēlot noteiktu informāciju
Tur piedāvās visus pieejamos lauciņus, sākot no novada vārda, beidzot ar puntku skaitu (PNTCNT). Izvēlamies to
Ja izdaram tā, attēlojas skaits visiem novadiem, arī tiem kam ir nulles.
Man tas nelikās smuki, tāpēc piespiedu […] podziņu, un tur var ierakstīt visai sarežģītas funkcijas, kas noteiks kas tieši lai tiek attēlots (to pašu var darīt arī pie Layer Style, lai piemēram iekrāsotu tikai tos novadus, kuriem nosaukumā ir F burts, vai kuri lielāki par konkrētu izmēru utt).
Tas arī kopumā viss. Bildīti var saglabāt kā attēlu, vai spiest uz “New print composer” pogas, lai karti sagatavotu drukāšanai, vai izvadei uz PDF failu. Tur tālāk ir vesela atsevišķa raksta cienīgs funkciju skaits. Es ļoti ceru, ka šis raksts kādam noderēs, un sapratīsiet, ka QGIS ir interesants un ļoti jaudīgs rīks arī tad, ka neesiet kartogrāfi