Runt 2015 så lanserade Esri en modell för hur man skulle kunna dela 3D information. Man kallade modellen ”i3s” och man hoppades att den skulle bli en standard för den här typen av data.
Det är inte ett ”format” i sig, utan främst tänkt som tjänst för att hantera stora datamängder 3D data över nätverk (REST). Man har dock implementerat i3s i ett dataformat som man kallar slpk eller Scene Layer Package, vilket är en zippad fil med de resurser som krävs.
Modellen blev en formell OGC standard och kom så sent som i december 2021 i en uppdaterad version (länk).
Att något är en OGC standard betyder i sig inte speciellt mycket. Har man inflytande i organisationen så kan man driva standardiseringsfrågor lite enklare än om man står helt utanför. Esri har, inte minst på grund av sin dominerande ställning, ett inflytande som möjligen haft betydelse för varför standardiseringen gick så snabbt. Att det dessutom handlade om ett område där det behövdes standardisering gjorde såklart saken inte svårare.
För att en standard skall bli framgångsrik så krävs dock inte bara att den är formaliserad genom ett standardiseringsorgan. Det krävs även acceptans och att berörda tillämpar standarden för att den skall få betydelse.
Utöver Esri så är det ganska få som på bred front tagit till sig standarden. Jodå, företag som Bently och Pix4D kan hantera den, men det är ytterst få (om några) Open Source projekt som implementerat standarden.
Att publicera en standard är i stort bara en beskrivning av vad något är och hur det skall se ut. Vägen dit beskrivs inte, utan det är upp till varje implementerande organisation att hantera. Att från scratch implementera en standard i en mjukvara är komplicerat och i många fall kostsamt, vilket åtminstone delvis kan förklara varför det inte finns ett större stöd för standarden.
För att en kostnad eller arbetsinsats skall vara motiverad så krävs det även ett uttalat behov. Hur det är med den saken kring en standard som i3s har jag inte full koll på, men det är ju inte så att det helt saknas format för 3D redan (även om i3s har en del fördelar i jämförelse).
En anledning till att många format som används i bland annat Open Source är framgångsrika, är att det är förhållandevis enkelt att implementera stöd för dessa genom externa bibliotek som exempelvis GDAL och PDAL. Om det funnits stöd för i3s i ett sådant öppet bibliotek så skulle det underlätta acceptansen och minska kostnader.
Esri har släppt ett C++ bibliotek för att skapa *.slpk filer på GitHub (länk), vilket borde underlätta. Den senaste uppdateringen av biblioteket var för 11 månader sedan och aktiviteten på sidan är högst marginell, så det kunde varit bättre. Dessutom så har jag inte riktigt klart för mig vilka användningsvillkor som gäller. I licensfilen så står det ”Licensing Copyright 2020 Esri”, men samtidigt så anger man ”Apache 2” som licensmodell. Jag antar att det är Apache 2 som gäller, men jag har för dålig insikt i vilka faktiska begränsningar detta sätter på exempelvis QGIS som är GPL, för att använda biblioteket. Biblioteket kan ju sedan ha andra beroenden som gör det olämpligt eller omöjligt att använda rakt av, och som kräver mycket arbete för att implementera.
Det finns standarder som verkar vara mer framgångsrika bland öppen källkod som har ett liknande användningsområde. Det har funnits ”COG” ett tag nu (Cloud Optimized GeoTiff) och det håller på att utvecklas en ”COPC” standard (Cloud Optimized Point Cloud). Dessa är varianter av GeoTiff och LAZ som förutom att vara anpassade till strömmande online-tjänster, även är 100% bakåtkompatibla med sina föregångare. Ett program som stödjer GeoTiff eller LAZ kan läsa och hantera formaten precis som vanligt, medan COG/COPC anpassade program kan hantera samma data på ett betydligt mera effektivt sätt, genom att data är lagrat på ett smart sätt i en trädstruktur som gör det effektivare att läsa och visualisera stora datamängder i olika skalor.
Standarden i3s och formatet slpk är inte kompatibelt med någonting som fanns tidigare. Vill man stödja formatet så krävs det en betydande arbetsinsats. Intill dess att det blir enkelt att implementera i3s/slpk så kommer vi nog tyvärr inte att se ett speciellt omfattande stöd för formatet. Åtminstone inte inom Open Source, eller i närtid.
Skulle det vara möjligt att skapa ett ”Cloud Optimized OBJ” format (förhoppningsvis inte)? Kan man implementera ”geospatial” i något annat öppet 3D projekt (ex: O3DE – Open 3D Engine)? Om nu stöd för i3s/slpk är önskvärt i fler program, hur skall det då bäst implementeras? Det är tydligt att det inte räcker med att få en standard fastställd av OGC. Om ett ”konkurrerande” format för 3D tas fram och får spridning bland öppen källkod, kommer Esri att implementera stöd för det?