Menu
  • Hem
  • Dokument
  • Om Mig
Geosupportsystem

Skapa ”tiles” i QGIS3

Posted on 2019-01-282019-01-20

Något jag saknat i QGIS 3 sedan ett år tillbaka, är nu på gång att åtgärdas. Det handlar om att skapa x, y, z -tiles på ett smidigt sätt från ett projekt, som sedan kan användas med exempelvis Leaflet eller OpenLayers webbkartor.

För att installera detta plugin så behöver du aktivera experimentella plugin i inställningarna.

Du skall sedan välja eller skapa ett QGIS projekt som fungerar i de skalor som du vill generera tiles för.

Zoomnivåernas motsvarighet i skala är helt beroende av latituden, då grunden är en enda tile som är helt kvadratisk och omfattar hela jorden. För denna motsvaras varje pixel 156’250 meter vid ekvatorn. Med en skärm som har 96 dpi blir det en skala runt 1:590’000’000. För varje nivå så dubblas skalan, så nivå 1 är 1:295’000’000 och så vidare.

Om man vill ha en uppskattning av skalan på en viss latitud så kan man räkna exakt eller använda en uppskattning. Det blir nog tillräckligt nära om man kompenserar med cos(latituden).

Eksjö ligger på 57 grader norr, och om jag vill hitta en zoomnivå för en skala som ligger runt 1:50’000 så blir det ungefär nivå 13.

Vill jag därför generera kartblad i skalor runt 1:50’000 så bör jag välja nivå 12 och 13. För att testa väljer jag ett mindre område i ett projekt och begränsar genereringen till kartans utbredning.

Under de avancerade inställningarna kan man även lägga till att det skall skapas en enkel Leafletkarta med genererade tiles.

På den sökvägen som man angivit i dialogen för QTiles3 så hittar man när allt är klart en html-fil som man kan öppna i en webbläsare för att kontrollera resultatet.

Beräkningen verkar stämma ganska väl i praktiken vid en jämförelse. Kartan i bakgrunden är från QGIS och i skala 1:39’000, medan webbkartan är nivå 13.

Det blir lite speciellt med renderingen av dessa tiles, vilket nog är tydligt i bilden ovan. Texter blir inte lika stora, och en del texter verkar vara borta. En del av detta kan förklaras med att mina stiler är angivna med mått i kartenheter. Mitt antagande är därför att alla symboler är cos(57) så stora som de egentligen borde vara. För att testa detta så delar jag ortsnamnstextens storlek med cos(57), genererar nya tiles och jämför igen.

Och teorin verkar stämma! Om man skall generera tiles från QGIS och inte befinner sig på ekvatorn, men ändå vill att kartan skall se ut som den gör i QGIS. Då kan man behöva skapa stilar som kompenserar för latituden på det här sättet.

Det stora problemet med QTiles för 2.18 var i mitt tycke att etiketter klipptes och inte renderades över kanterna på de tiles som genererades.

Zoomar jag in till nivå 14 i webbkartan (ovan) så blir detta ganska tydligt. Texten Eksjö är avhuggen, likaså ”Ränneslätt” till vänster. Problemet från 2.18 finns därför kvar även i denna version.

Om man genererar tiles med QTiles och vill ha med etiketter, så måste man först göra om alla etiketter till raster. Detta gäller i princip för alla vektorsymboler som sticker ut från sitt geometriska centrum, så större punktsymboler och en del linjer, behöver också hanteras på samma sätt för att det skall bli bättre.

Men riktigt bra blir det inte… Däremot så slipper jag kompensera för latituden då bilden genereras i QGIS mot korrekt skala innan QTiles gör om lagren till tiles.

För mindre områden så är detta hanterbart då man kan generera rasterlager med mycket högre upplösning som kompensation för detta, men om man tänker sig att generera tiles för ett större område så blir det snabbt ganska ohanterbart på grund av datamängden.

Det bästa vore väl om det finns ett alternativ att generera tiles som är X % större än standard och sedan beskära dessa till rätt storlek. Det skulle ta längre tid, men om det ger snygga tiles så är det bättre att beräkningstid för datorn blir längre, än att min arbetstid med projektet skall öka.

Samma sak gäller att kompensera för latituden. Det borde också vara ett valbart alternativ.

Hur som helst är QTiles för QGIS 3 ett välkommet och efterlängtat tillskott.

1 thought on “Skapa ”tiles” i QGIS3”

  1. klakar skriver:
    2019-01-28 kl. 17:10

    Från Twitter:
    Qmetatiles löser etikettproblemet men det verkar tyvärr inte vara någon ny version på gång så där är det 2.18 som gäller.

    Svara

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Translate with Google

GBR In English
GER Auf Deutch
FRA En Français
ESP En Español
Swedish is a hard language for a machine to translate. Nuance and detail will likely be lost.
     

Bok om QGIS på Svenska

Bok

Beställ Boken/E-bok genom att klicka på bilden (även förhandsgranskning).

Senaste kommentarer

  • klakar om Laga hål i höjddata
  • Per Ekström om Laga hål i höjddata
  • Sur om Mera verktyg i QGIS
  • Anton om ”Mobile *.Geodatabase”
  • Fredrik Ekberg om Ingen är oskyldig

Arkiv

Prenumerera på Geosupportsystem

Skriv in namn och epost för att prenumerera på meddelanden från denna blogg.
Loading

geosupport

TrueNAS bygge. @fractaldesignna Define R5 är rikt TrueNAS bygge. @fractaldesignna Define R5 är riktigt trevlig att bygga i, och den sväljer väldigt mycket disk. Här skall virtualiseras både PostGis, WebODM och Geonode så småningom.
Då har jag lite att bläddra i ett tag framöver. Då har jag lite att bläddra i ett tag framöver.
YouTube video to frames. Processed in OpenDroneMap YouTube video to frames. Processed in OpenDroneMap and visualized in QGIS 3.17.
Ladda mer...

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
©2021 Geosupportsystem | WordPress Theme by Superbthemes.com