Stilsätta Geoserver med QGIS
QGIS är utmärkt att stilsätta kartografiska teman. Genom export av SLD filer kan stilsättningen direkt användas i Geoserver och på så sätt publiseras som webb-tjänst
QGIS
Börja med att ansluta en datakälla i QGIS som ska vara densamma som för Geoserver.
När datakällan är ansluten så högerklickas anslutningen eller underliggande scheman. I menyn så väljs “Kör SQL”. Klistra in en SQL fråga som är väl utprovad. Se till att inge extra tecken finns med som t.ex. ;. Samma fråga kommer att användas i Geoserver. Viktigt att de attribut som ska användas för stilsättning finns med i frågan och att de är distinkta.
Kör sedan frågan och kontrollera att tabellen ser bra ut. Därefter klickas “Ladda in som lager”. Klicka ID-kolumn och geometri-kolumn samt ge lagret ett distinkt namn som motsvarar stilsättning. Klicka på “Läs in lager”
Nu är det klart att stilsätta lagret. Den här dokumentation går inte igenom själva stil-sättningen men tar upp några konsekvenser. Det finns många symboler som följer med QGIS och ännu fler finns i bibliotek hos Viamap. När dessa symboler används så refereras de till symbolens fil och som kommer synas när vi sparar stilen som en .sld.
Geoserver
Symbolerna som användes i QGIS kopieras till Geoserver:s datakatalog. I detta fall GEOSERVER_DATA_DIR=C:\opt\Ikartan\Applications\geoserver\data_dir. Geoserver leter i första hand efter symbolerna i ./styles och andra hand i ./workspaces/<mitt workspace>/styles. Det är en fördel att ha symbolerna knutna till ett workspace. I detta fall kopieras de till ./workspaces/skfab/styles fär även SLD-filerna kommer att ligga. I SLD-filen behövs det inte finnas någon sökväg när de ligger direkt i katalogen styles.
I Geoserver administration så öppna stilar och väljer ny stil. Stilen ges ett namn, ‘skador_skjul’ och kopplas till ett workspace ‘skfab’. SLD-filen från QGIS hämtas eller texten från denna kopieras in i redigeraren. Sökvägen till SVG symbolen tas bort (se bilden) och stilen sparas. Den får namnet skfab:skador_skjul och kommer att ligga i samma katalog som symbolerna.
Nu ansluts datakällan till Geoserver, samma som för QGIS. Det kopplas till workspace skfab i detta fall.
Nästa steg är att publicera ett kartlager. Välj Lager och klicka på ‘Lägg till ett nytt lager’
Välj rätt datakälla och klicka sedan ‘Konfigurera en ny SQL-vy…’
Skriv in lagrets namn och klistra in samma SQL fråga som användes i QGIS. Klicka på ‘Uppdatera’ så körs fråga och kolumnerna visas i nedre delen. Kryssa i vilken kolumn som är ID, typ av geometri samt projektion. När spara-knappen klickas så kommer publicerings-formuläret upp och konfigureras som vanligt
Under datafliken skrivs eventuellt en beskrivning och begränsnings-rutor fylls i eller beräknas från datat.
Under publiceringsfliken så anges under WMS, standard stil och eventuella alternativa stilar
Klicka på publicera för att färdigställa
Nu ka lagret förhandsgranskas. Använd Openlayers
Notera
Det finns grafik som kan göras i QGIS men där det in finns stöd i SLD och Geoserver
Det finns grafiska tillägg i Geoserver såsom kluster och heatmap som inte stöds av QGIS
Men den mesta av kartografin går utmärkt att använd QGIS för att stilsätta i Geoserver
Tillgång till SVG symboler
I Dropbox finns ett helt bibliotek med symboler under:
…\ViaMap_Gemensam\Weave\fontawesome-pro-5.5.0-web\svgs
De kan kopieras till lämplig katalog för användning. Om Dropbox plugin är monterad i lokala datorn så kan filhanteraren användas för att se SVG-symbolerna grafiskt om de visas som ‘stora ikoner’
För att använda symbolen i QGIS och Geoserver med möjlighet att sätta färger för fyllnad och linjer så måste den modifieras. Orgignal så ser en fil ut så här:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"/>
</svg>
<!--
Font Awesome Pro 5.5.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license (Commercial License)
Följande kod läggs till inom elementet <path />
fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)"
stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width)"
Resultatet blir
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"
fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)"
stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width)" />
</svg>
<!--
Font Awesome Pro 5.5.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license (Commercial License)
-->
Nu kan den klar att användas
Symboler
Skadegörelse
exclamation.svg
Inbrott/Stöld
mask.svg eller user-secret.svg
Vattenskada
Brand
fire-smoke.svg eller burn.svg eller flame.svg