Python’o konsolės naudojimas ruošiant be prisijungimo veikiantį žemėlapį iš WMS (kaladėlių atsiuntimas)

Ši studija paaiškina, kaip paruošti be interneto veikiantį žemėlapį iš WMS/WFS arba bet kokio žemėlapio, įkelto į QGIS rodinį, atsiunčiant kaladėles python’o konsolės scenarijumi. Scenarijus taipogi sukuria visų kaladėlių mozaiką, kurią galima naudoti vėliau.

Prieiga prie žemėlapių per Web Mapping Service (WMS) paslaugas labai populiari ir efektyvi. Jos pranašumai yra saugumas, centralizuoti ir lankstūs žemėlapių stiliai. Šių paslaugų pavyzdžiai yra Google žemėlapiai, Yahoo, Bing, MODIS, Landsat, NASA publikuojami žemėlapiai, NRSC (Indija). WMS apribojimas yra tai, kad jis veikia tik prisijungus prie interneto ar intraneto. Deja internetas ne visur pasiekiamas, ypač vykdant apžiūras lauke. Taipogi WMS yra lėtas, lyginant su kitais ne internetinių vaizdų formatais, tokiais kaip GeoTiff, jpg, img ir pan.

QGIS naudojimas

QGIS turi priemones, leidžiančias prisijungti/prieiti prie bet kokios WMS paslaugos. WMS jungties pagrindas - paprastas URL ir iš karto po prisijungimo QGIS vaizde galima matyti žemėlapį. Jei įrašome QGIS matomo vaizdo žemėlapį kaip jpg (projektas->įrašyti kaip piešinį), bus sukurtas pasaulio failas, turintis konkretaus regiono geografinių koordinačių informaciją. Pavyzdžiui faile pavyzdys.jpg bus žemėlapis, o faile pavyzdys.jpgw bus koordinatės. Tai reiškia, kad atsiųstas vaizdas yra geografiškai pririštas. Mes galime rankomis atsisiųsti kaladėles tinklelio formatu ir vėliau naudoti jas be interneto. Galima siųsti rankomis, jei plotas yra nedidelis arba tinka žemos rezoliucijos piešiniai.

QGIS su WMS kaladėlėmis

QGIS su WMS kaladėlėmis

Python’o konsolė

„Python’o konsolėje“ buvo parašytas trumpas scenarijus, o jo aprašymą galima rasti oficialioje QGIS svetainėje PyQGIS Kūrėjo receptuose. Scenarijus sudarytas iš 4 toliau išvardintų dalių:

  1. Pirmos kaladėlės X,Y koordinatė (viršutinis kairys ir apatinis dešinys kampai)

  2. Atsiunčiamos kaladėlės dydis (pvz. 0.001 X 0.001 laipsnių)

  3. Atsiunčiamų kaladėlių skaičius (paskaičiuojamas pagal pilną žemėlapio apimtį ir kaladėlės dydį)

  4. Išvesties aplankas, į kurį įrašomos kaladėlės/failai

Scenarijuje dirba du paprasti ciklai, pirmas kurių nustato žemėlapio apimtį QGIS rodinyje ir vykdo eilutes/stulpelius. Nustačius žemėlapio apimtį, žemėlapis įkeliamas į QGIS. Prieš įrašant žemėlapį kaip jpg į naudotojo nurodytą aplanką pridėtas 3 sekundžių uždelsimas (priklausomai nuo interneto jungties). Po scenarijaus įvykdymo visos kaladėlės, sukurtos aplanke, gali būti tiesiogiai įkeltos į QGIS arba viena mozaika yra paruošiame iš Rastras -> Įvairūs -> Sulieti arba kurti virtualų rastrą (katalogas). Abu įrankiai sukuria mozaiką, bet pagrindinis skirtumas tame, kad suliejimas sukuria paveikslą, nepriklausantį nuo kaladėlių, o virtualus rastras sukuria nuorodą į visas konkrečias kaladėles (kaladėlės reikalingos).

Python'o scenarijus ir aplankas, į kurį įrašytos kaladėlės.

Python’o scenarijus ir aplankas, į kurį įrašytos kaladėlės.

Šio metodo apribojimas tas, kad žemėlapiui pasikeitus serveryje, pakeitimai nesimatys atsisiųstoje versijoje (be prisijungimo prie interneto). Tokiu atveju naudotojas turės pakartoti procesą` ir sukurti/atsisiųsti naują žemėlapį. Antras apribojimas - sukurtas ne internetinis žemėlapis bus piešinių formato, tai reiškia, kad jo negalima bus naudoti tematiniams žemėlapiams ar klasifikacijai. Pridėjus šiek tiek papildomų pastangų kai kuriuos žemėnaudos žemėlapius galima konvertuoti į vektorinius žemėlapius prarandant šiek tiek duomenų.

Apimtis

Sukurta mozaika yra grynas paveikslas, net jei ji atsiųsta iš tematinio žemėlapio (7-8 spalvų). Naudojant sudėtingesnį įrankį, tokį kaip perklasifikavimas, sluoksnių/juostų sukrovimas, šį rastrą galima konvertuoti į poligonų vektorius. WMS turi kelias užklausas, tokias kaip getcapabilities, getpam, getfeatureinfo ir pan. Naudojant getfeatureinfo galima gauti kiekvieno poligono atributų informaciją. Scenarijus gali būti konvertuotas į priedą, kad net tie, kas neturi scenarijų žinių, galėtų jį naudoti.

Išvada

Aukščiau pateiktas pavyzdys rodo, kad QGIS galima naudoti bet kokio sudėtingumo lygmenyje. Turint bazines programavimo žinias bet kas gali parašyti nedidelį scenarijų arba priedą, kuris keltų darbo kokybę ir taupytų laiką. QGIS viena geriausių pusių - priėjimas prie viso pasaulio programuotojų sukurtų priedų skirtų QGIS. PyQGIS programuotojo receptai - puiki medžiaga rašant scenarijų, o rastro duomenų apdorojimas dabar daug paprastesnis, kai naudojami GDAL įrankiai.

Autoriai

Šį straipsnį 2014 gegužę parašė Prashant Kadgi, gyvenantis Pune (Indija) ir šiuo metu dirbantis konsultantu GIS APP Consultancy Services. Nuo 2009 jis naudoja GIS ir RS NRM, miškų, e-valdymo, programinės įrangos kūrimo projektuose skirtinguose Indijos regionuose ir likusiame pasaulyje.