GISMentors Blog

PDF verze školení QGIS a GRASS GIS

Minulý pátek proběhl kurz QGIS pro začátečníky a tento pátek se chystáme na kurz GRASS GIS. Všechny naše materiály jsou dostupné pod licencí Creative commons zdarma na internetu. Díky úsilí našich školitelů a editorské práci zejména Martina máme pro vás již delší dobu PDF verzi pro GRASS GIS, ale nově také PDF verzi školení QGIS. Dohromady přes 200 stránek aktuálního českého textu na téma open source desktopové GISy.

Přejít na článek »

Danube Hack a pôdna mapa z WMS do vektorů

Tento víkend jsem se účastnil jako mentor akce DanubeHack a měl jsem tam možnost řešit celou řadu zajímavých úloh. Někdy se snad dostanu ke svojí malé aplikaci, která vyroběla api postavené nad Djangem a RedHatím OpenShiftem. Dneska bych se s vámi rád podělil o to, jak jsme převáděli rastrovou mapu staženou z WMS na vektory pomocí GRASSu. Půdní mapu si vyžádal jeden z týmů a našli dokonce i funkční WMS z Pôdneho portálu Slovenska. Nejdřív jsem si založil GRASS LOCATION a MAPSET a nastavil na hranice Slovenska. Potom jsem stáhnul data z WMS služby – použil jsem formát GeoTIFF, protože JPEG díky ztrátové kompresy potrhá barvy v pixelech a místo rozumných cca 20 kategorií by jich tam bylo asi 3000. Samozřejmě jsem nastavil použitelné rozlišení regionu na 50m (původní mapa je 1:400~000): GRASS> g.region -p projection: 99 (Krovak) zone: 0 datum: hermannskogel ellipsoid: bessel north: -1132700 south: -1334770 west: -591450 east: -165430 nsres: 50.00494927 ewres: 50.00234742 rows: 4041 cols: 8520 cells: 34429320 a stáhnu data pomocí r.in.wms GRASS> r.in.wms url=”http://sscri.vupop.sk/arcgis/services/vupop_wms/MapServer/WMSServer” wms_version=”1.3.0″ srs=102067 format=tiff layers=0 out=podnamapa –o –v Jak můžete vidět, mapa je ošklivá – plná kartografických šraf a nápisů – nic, co byste mohli převézt na rozumně vypadající vektory. Přemýšlel […]

Přejít na článek »

Jak to udělat bez QGISu

Jelen napsal, jak publikovat vybranou mapovou vrstvu pomocí QGIS pluginu. Já napíšu, jak bych to udělal sám: <link rel=”stylesheet” href=”http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.css” /> <script src=”http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.js”></script> <script src=”/wordpress/wp-content/uploads/2015/10/exp_brdyfinal.js”></script>   <style type=”text/css”> img.leaflet-tile {margin: 0px;} #mapicka { height: 300px } </style>   <div id=”mapicka”></div>   <script type=“text/javascript”> // vyrobit mapičku var map = L.map(‘mapicka’); // // přidat podkladovku L.tileLayer(‘http://{s}.tile.osm.org/{z}/{x}/{y}.png?{foo}’, {foo: ‘bar’}).addTo(map); // // přidat vrstvu geojson naimportěnou výše var geojson = L.geoJson(exp_brdyfinal) geojson.addTo(map); // // zoom to map.fitBounds(geojson.getBounds()); </script>

Přejít na článek »

Jak jednoduše vytvořit mapovou aplikaci s Leafletem

Před nějakolika málo dny byla vyhlášena nová chráněná krajinná oblast Brdy. Chtěli jsme se tedy podívat, kde nás po lese bude honit stráž přírody, když si budeme na výletě chtít opéct buřta a kde nás bude otravovat jen četník, hajnej, nebo zelený obejda s flintou. K tomuto účelu je však, bohužel, statická mapka na stránkách AOPK hrubě nedostačující. Proto jsme pro Vás připravili krátký návod, jak vytvořit jednoduchou webovou mapovou aplikaci se zoomovatelnou mapkou. Není k tomu potřeba žádná znalost webových technologií nebo javascriptu, protože použijeme package v open source GIS desktopu QGIS. Bohužel se nám nepodařilo získat aktuální vektorový obrys CHKO, použijeme tedy upravenou verzi návrhu z roku 2013, která se v několika málo drobnostech liší (kontrolováno oproti georeferencovanému obrázku ze stránek AOPK). Budete potřebovat nainstalovaný QGIS. Na horní liště najdeme tlačítko “Vrstva” a vybereme “Přidat vrstvu”->”Přidat vektorovou vrstvu” (také funguje klávesová zkrátka “CTRL+SHIFT+v”). U vrstvy vybereme vlastnosti (levé tlačítko myši) a nastavíme souřadnicový systém na S-JTSK (SRID 5514), pakliže už nastavený není. Vrstvu nastylujeme (doporučuji nastavit průhlednost 50%, šrafování, nebo plocha bez výpně nefunguje ideálně). Z menu “Zásuvné moduly”-> “Spravovat zásuvné moduly” přidáme zásuvný modul qgis2leaf. Pokud všechno provedete správně, objeví se vám na liště nové tlačítko. Aktualizace: […]

Přejít na článek »

MapBox podkladové mapy v QGIS

MabBox je populární služba a platforma pro publikaci prostorových dat. Nepotřebujete server, nepotřebujete podkladovou mapu – prostě si použijete jeden z dostupných podkladů založených buď na datech OpenStreetMap nebo volně dostupných satelitních datech, nahrajete svůj GeoJSON nebo KML soubor a máte mapu, kterou můžete nasdílet světu (postavené je to na Leafletu). Jejich platební politika je pravda asi trochu dražší, ale základ zadarmo je celkem použitelný. Řešil jsem ale problém, jak zobrazit některé podkladové mapy z MapBox např. v QGIS. Na StackOverflow jsem našel zajímavý postup: Nadefinuje se soubor XML, který definuje službu Tile Map Service (TMS) pro GDAL. Například:  <GDAL_WMS> <Service name=”TMS”> <ServerUrl>https://api.tiles.mapbox.com/v4/mapbox.streets-satellite/${z}/${x}/${y}.png</ServerUrl> </Service> <DataWindow> <UpperLeftX>-20037508.34</UpperLeftX> <UpperLeftY>20037508.34</UpperLeftY> <LowerRightX>20037508.34</LowerRightX> <LowerRightY>-20037508.34</LowerRightY> <TileLevel>18</TileLevel> <TileCountX>1</TileCountX> <TileCountY>1</TileCountY> <YOrigin>top</YOrigin> </DataWindow> <Projection>EPSG:3857</Projection> <BlockSizeX>256</BlockSizeX> <BlockSizeY>256</BlockSizeY> <BandsCount>3</BandsCount> <Cache /> </GDAL_WMS> Na tomto souboru pak můžete pustit např. gdalinfo Driver: WMS/OGC Web Map Service Files: mapbox.xml Size is 67108864, 67108864 Coordinate System is: PROJCS[“WGS 84 / Pseudo-Mercator”, GEOGCS[“WGS 84”, DATUM[“WGS_1984”, SPHEROID[“WGS 84”,6378137,298.257223563, AUTHORITY[“EPSG”,”7030″]], AUTHORITY[“EPSG”,”6326″]], PRIMEM[“Greenwich”,0, AUTHORITY[“EPSG”,”8901″]], UNIT[“degree”,0.0174532925199433, AUTHORITY[“EPSG”,”9122″]], AUTHORITY[“EPSG”,”4326″]], PROJECTION[“Mercator_1SP”], PARAMETER[“central_meridian”,0], PARAMETER[“scale_factor”,1], PARAMETER[“false_easting”,0], PARAMETER[“false_northing”,0], UNIT[“metre”,1, AUTHORITY[“EPSG”,”9001″]], AXIS[“X”,EAST], AXIS[“Y”,NORTH], EXTENSION[“PROJ4″,”+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs”], AUTHORITY[“EPSG”,”3857″]] Origin = (-20037508.339999999850988,20037508.339999999850988) Pixel Size = (0.597164283394814,-0.597164283394814) Image Structure Metadata: INTERLEAVE=PIXEL Corner Coordinates: Upper Left (-20037508.340,20037508.340) (180d 0′ 0.00″W, […]

Přejít na článek »

Mapa zastoupení dřevin po ORP (2. díl)

Generujeme SVG z PostGISu Komu se nelení, tomu se jasaní Vyrobíme si mapku zastoupení jasanů. První díl věnovaný získání dat a nahrání dat do PostGISu. Co vrací ST_AsSVG Takže, co tedy vrací? SELECT ST_AsSVG(generalizovanehranice) FROM hratky_se_svg.orpecka LIMIT 1; Ale to nevypadá jako XML! Ano, jistě. Není to totiž celé SVG, pouze zápis vektorových geometrií jednotlivých prvků. Je to kvůli tomu, že budeme chtít prvkům určovat jejich grafickou reprezentaci. Tloušťku čar, barvu a tak dále. Element path Použijeme XML funkce PostGISu k sestavení kompletního elementu path. SET SEARCH_PATH = hratky_se_svg, public; SELECT XMLELEMENT(NAME path, XMLATTRIBUTES( ST_AsSVG(generalizovanehranice, 0, 1) AS d , ‘black’ AS stroke , 50 AS “stroke-width” , ‘none’ AS fill ) ) svg_path from orpecka; Tady se nám již vrací XML elementy. Co jsem to právě povedl? Funkce XMLELEMENT vyrobí, jak již název napovídá XML element. Pomocí funkce XMLATTRIBUTES tento element naplníme atributy. První atribut pojmenujeme d a naplníme ho výstupem z funkce ST_AsSVG. Všimněte si druhého a třetího parametru funkce ST_AsSVG. Druhý parametr rozlišuje, jestli mají být souřadnice lomových bodů v absolutních hodnotách nebo relativně k prvku. Nula značí absolutně, jednička relativně. Druhý je počet desetinných míst. Jednička znamená jedno desetinné místo. Přesnost na deset centimetrů je u […]

Přejít na článek »

Posts navigation