1"use strict";(self.webpackChunkxeosaurus=self.webpackChunkxeosaurus||[]).push([[4189],{10720:(e,t,i)=>{i.d(t,{R:()=>a,x:()=>s});var o=i(36672);const n={},r=o.createContext(n);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),o.createElement(r.Provider,{value:t},e.children)}},41102:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var o=i(66536),n=i(23420),r=i(10720);const a={slug:"viewing-a-cityjson-model-with-xktloaderplugin",title:"Viewing a CityJSON Model with XKTLoaderPlugin",authors:["xeokit"],tags:["xeokit"]},s="Viewing a CityJSON Model with XKTLoaderPlugin",l={authorsImageUrls:[void 0]},d=[{value:"Introduction",id:"introduction",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsxs)(t.p,{children:["In this mini-tutorial, we'll use xeokit's ",(0,n.jsx)(t.code,{children:"convert2xkt"})," CLI tool to convert a ",(0,n.jsx)(t.a,{href:"https://www.cityjson.org/",children:"CityJSON"})," model into xeokit's native XKT geometry format, which we'll then view in the browser using a xeokit Viewer."]}),"\n",(0,n.jsx)(t.p,{children:"CityJSON is a JSON-based encoding for a subset of the OGC CityGML data model (version 2.0.0), and is now published as an OGC community standard."}),"\n",(0,n.jsx)(t.p,{children:"The XKT format compresses models into a compact payload from which xeokit can load large numbers of objects over the Web in seconds, at full geometric precision."}),"\n",(0,n.jsxs)(t.p,{children:["For our CityJSON file, we'll use a LoD-3 model of a railway line, which is one of the sample datasets provided at ",(0,n.jsx)(t.a,{href:"https://www.cityjson.org/datasets",children:"here"}),". When that's converted and loaded, it will look like the example below."]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},66536:e=>{e.exports=JSON.parse('{"permalink":"/blog/viewing-a-cityjson-model-with-xktloaderplugin","source":"@site/blog/2024-06-05-viewing-a-cityjson-model-with-xktloaderplugin.mdx","title":"Viewing a CityJSON Model with XKTLoaderPlugin","description":"Introduction","date":"2024-06-05T00:00:00.000Z","tags":[{"inline":false,"label":"xeokit","permalink":"/blog/tags/xeokit","description":"xeokit related"}],"readingTime":1.85,"hasTruncateMarker":true,"authors":[{"name":"xeokit","url":"https://github.com/xeokit/","imageURL":"https://github.com/xeokit.png","key":"xeokit","page":null}],"frontMatter":{"slug":"viewing-a-cityjson-model-with-xktloaderplugin","title":"Viewing a CityJSON Model with XKTLoaderPlugin","authors":["xeokit"],"tags":["xeokit"]},"unlisted":false,"prevItem":{"title":"Viewer Performance Tips","permalink":"/blog/viewer-performance-tips"},"nextItem":{"title":"Viewing Federated IFC Models","permalink":"/blog/viewing-federated-ifc-models"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.