I fredags släpptes QGIS 3.20 och för första gången så kallar man den första releasen av en ny version ”Release Candidate” för att göra det tydligt att det kan finnas lite fler buggar och liknande än normalt när det släpps nya versioner. Anledningen är inte minst på grund av tidigare erfarenheter men några initiala releaser som varit mindre lyckade. Version 3.20.0 är inte ”sämre” än någon tidigare x.xx.0 version, men signalen är tydlig till användare.
Som vanligt, eller kanske lite mer än vanligt, så är det massor med nya funktioner och förbättringar i den nya versionen. Något som kanske passerar många förbi, men som jag direkt fastnade för, är stödet för att läsa in punktmolnsdata från online-källor i Entwine EPT/JSON. Detta kan bli mycket användbart och något som är en stor fördel för QGIS jämfört med exempelvis Esri ArcGIS. ArcGIS Pro kan läsa EPT formatet, om man har FME tillägget ”Data Interoperability extension”, men även då så tror jag inte att det direkt går att visa dessa data i ArcGIS Pro utan att först konvertera data till *.zlas eller *.lasd som är formaten som ArcGIS framför allt använder. Det som framför allt liknar sättet som Entwine hanterar punktmoln i Esri världen är formatet I3S som framför allt paketeras i *.slpk eller Scene Layer Package. Detta är en Esri standard som man öppnat upp för allmän användning, men det är vad jag känner till ytterst få förutom Esri som valt att arbeta med formatet. Ett slpk paket kan eventuellt läsas dynamiskt från en delad resurs på nätverket, men jag tror inte att det går via en vanlig url…?
Fördelen med att kunna läsa data direkt från en online-källa blir uppenbar om det handlar om dataset med många miljarder punkter eller mer… Försök ladda hem, konvertera och lagra detta lokalt på 30 sekunder.
Det enda som krävs i QGIS 3.20 för att visa dessa punktmolnsdata är en url till en ept.json fil som är det format som EPT/Entwine använder för att beskriva hur data är lagrat. Själva punkterna finns sedan i exempelvis *.laz, men det behöver man inte bry sig om.
I Data Source Manager så går man till Point Cloud och där väljer man Protocol i stället för File. Då kan man skriva in sökvägen till ept.json filen och vid behov även ange autentisering.
Just nu är det bara vanliga url enligt http/https/ftp som stöds, men på sikt så kommer det att gå att använda även andra protokoll.
Det är nu online-data, så man är beroende av såväl egen uppkopplingshastighet som serverns kapacitet, men alla data streamas sedan direkt till såväl 2D kartor som till 3D. Alla problemområden är sannolikt inte identifierade ännu, men det är anmärkningsvärt problemfritt att lägga till data från de källor man kan hitta öppet online.
Om man vill skapa sina egna data som EPT/Entwine så är det inte speciellt svårt det heller.
Så vilken server behöver man installera för att kunna använda EPT? Svaret är ingen! EPT är en lagringsstruktur som kan sparas i ett vanligt filsystem, en S3 Bucket, Dropbox, eller FTP… Förutsättningen är att det finns en speciell ept.json fil som håller ihop alltsammans. För att konvertera dataset till EPT så behöver man lite verktyg, men det går exempelvis att göra med PDAL. Men om man använder QGIS så har man redan alla verktyg man behöver!
Så fort man öppnar ett punktmolnsdataset i QGIS så konverteras detta till just EPT. Om man som i mitt exempel i bilden ovan har ett *.laz dataset som man öppnar i QGIS så är det första som sker en automatisk konvertering där en katalog med just ept.json, samt alla data som behövs skapas i korrekt struktur. I exemplet i bilden ovan så har jag helt enkelt startat en http-server med python3 från sökvägen med den genererade EPT katalogen och sökvägen till ept.json filen kan sedan läsas in som url. Se bara till att kopiera katalogen till den server som skall leverera punktmolnstjänsten och publicera sökvägen någonstans.
Om man använder OpenDroneMap så har man också mycket gratis. Direkt i paketet, om man laddar ner ”All” data, så finns där en katalog med entwine_pointcloud som är korrekt formaterad för såväl QGIS som för publicering som EPT på nätet.
Om man väljer att spara sina punktmoln på en egen server, via en molntjänstleverantör, eller lokalt spelar ingen roll. Det går extremt enkelt att lägga till dessa punktmolns data i QGIS 3.20.
Om man jämför prestanda med att öppna EPT data i QGIS från en lokal nätverkssökväg, eller via url och en webbserver, så fungerar det naturligtvis bättre om man inte behöver gå via http protokollet, men det tror jag alla förstår.