GithubHelp home page GithubHelp logo

esri / i3s-spec Goto Github PK

View Code? Open in Web Editor NEW
315.0 50.0 83.0 61.46 MB

This repository hosts the specification for Scene Layers which are containers for arbitrarily large amounts of geographic data. The delivery and persistence model for Scene Layers, referred to as Indexed 3d Scene Layer (I3S) and Scene Layer Package (SLPK) respectively, are specified.

License: Other

web-development 3d specification

i3s-spec's Introduction

Scene Layers: Service and Package Standard

Multiple scene layers in web scene viewer

This GitHub repository hosts the specification for scene layers. Scene layers are containers for large volumes of geographic data. The delivery format and persistence model, referred to as indexed 3D scene layer (I3S) and scene layer package (.slpk) respectively, are detailed in this specification. Both formats are encoded using JSON and binary array buffers.

The I3S format originated from investigation into technology for rapidly streaming and distributing large volumes of 3D content across enterprise systems. These systems can include server components, cloud hosted components, and a variety of client software from desktop to web to mobile applications.

A single I3S data set, referred to as a scene layer, is a container for arbitrarily large volumes of heterogeneously distributed 3D geographic data. A scene layer is characterized by a combination of layer type and profile to fully describe the behavior of the layer. For example, the profile type MeshPyramids is a specific implementation instance that is used for integrated mesh scene layer, 3D object scene layer, and sublayers of building scene layers.

The I3S format is declarative and extendable, and can be used to represent different types of 3D data. The following layer types are detailed in this documentation and validated via implementation and production deployments:

  • 3D objects (e.g. building exteriors, from GIS data as well as 3D models in various formats)
  • Integrated mesh (e.g. an integrated surface representing the skin of the earth, gathered through satellite, aerial, or drone imagery via dense matching photogrammetry software)
  • Point (e.g. hospitals, schools, trees, street furniture, signs, from GIS data)
  • Point cloud (e.g. large point data from LiDAR)
  • Building scene layer (e.g. comprehensive building model including building components)

The specification of the indexed 3D scene layer (I3S) and the specification for accessing I3S resources as scene service REST endpoints, are described in this document as open formats. The REST endpoint implementations are described in the ReadMe for each layer type. You can use I3S tool to convert to the newest i3s specification or validate your existing SLPK.

This GitHub repo includes documentation for 1.6, 1.7, 1.8, 1.9 and 2.0. Deprecated elements from a minor version will be removed as part of the next major revision.

Designed for Web, Mobile and cloud

The goal for I3S is to enable streaming large 3D datasets with high performance and scalability. The I3S format is designed from the ground up to be cloud, web and mobile friendly. It is based on JSON, REST and modern web standards, making it easy to handle, parse, and render by web and mobile clients.

Designed for 3D

The I3S format is intrinsically designed to support 3D geospatial content. The requisite coordinate reference systems and height models are used in conjunction with a rich set of layer types.

Open Standard

For the purpose of encouraging community adoption and feedback, the I3S format is maintained by ESRI as an open specification. Further, an earlier version of this specification was submitted to the Open Geospatial Consortium (OGC) and was approved as an OGC Community Standard. By being an open specification, we further hope to ensure that adopting organizations have flexibility in accessing and visualizing their 3D data. Both the current I3S specifciation and the OGC standard are licensed under the Creative Commons Attribution-NoDerivatives 4.0 International Public License. Implementers can use the standard in services, clients or processing tools without restrictions. Consult the license section below for more information.

An OGC Community Standard

The Open Geospatial Consortium (OGC) approved I3S as a Community Standard which was publicly released September 2017 as the OGC Indexed 3d Scene Layer (I3S) version 1.0.

The open community specification hosted in this GitHub repository is the sole source of content for the OGC I3S Community Standard. The community specification evolves driven by advancements in technology as well as community needs. The OGC process allows for updating and synchronizing the Community Standard with this community specification at regular intervals to achieve equivalency.

Following similar patterns used in the past, in late December 2022 OGC updated the I3S Community Standard to include Building Scene Layer Type from this repository. To facilitate this process, as well as to quickly provide new capabilities to the community without impacting other existing scene layer types and profiles, each I3S layer evolves independently and follows its own release cycle.

The table below shows how the OGC community standard relates to the community specification hosted here.

I3S Profile Supported Layer Types I3S community specification OGC I3S community standard
MeshPyramids 3D Object and Integrated Mesh 1.8 1.2
Points Point 1.8 1.2
PointClouds Point Cloud 2.0 1.1
Building Building scene layer 1.8 1.3

OGC I3S 1.2 Community Standard added backward compatible enhancements targeting MeshPyramids profile 3D Object and Integrated Mesh layers, that are released as version 1.8 in this repository. Specifically it added:

  • Support for node paging capability significantly reducing the client-server traffic by bundling individual node metadata resources into compact pages of nodes.

  • Support for Draco geometry compression. Compression of I3S geometry attributes creates more compact content, which in turn provides a smaller payload, increasing performance.

  • Support for supercompression of texture data using the Basis Universal Texture interchange system in Khronos® KTX™ 2.0 format, reducing compressed texture size by over 60%, which in turn provides a smaller payload, increasing performance.

  • More optimal selection strategy – standardizes on Oriented Bounding Boxes (OBBs) based node selection criterion Support for advanced material definitions such as physically based materials. Feature compatible with Khronos® glTF™ standard.

OGC I3S 1.3 Community Standard added support for a new layer type, Building Scene Layer (BSL) released as version 1.8 in this repository. Specifically it added:

  • A Building Scene Layer that captures 3D model content based on Building Information Models (BIM). BSL, similarly to the other layer types supported, adheres to common I3S principles such as: Bounding Volume Hierarchy (BVH) and geometric error driven selection criteria, multi-LOD data structure, content batching optimized for streaming as well as rendering and a compact packaging format – suited for easier sharing/portability.

  • Editorial updates/corrections.

What's New?

Please see the Version History for document updates.

Where Can I Use...?

There are several applications that can create and consume scene layers. The tables below list some of these applications. This is an evolving list and will be updated frequently. If an application that either consumes or generates scene layers is missing, please let us know so we can add it to the list.

Vendor Product/URL Scene Layer Type Creation Consumption
Urban Computing Foundation Vis.gl framework (loaders.gl and deck.gl modules) IntegratedMesh, 3D Object, Building supported
NFrames Sure 4.0 IntegratedMesh supported supported
Bentley ContextCapture IntegratedMesh supported
maxar maxar IntegratedMesh supported
Pix4D Pix4D IntegratedMesh supported
Skyline Skyline Services IntegratedMesh supported
Nearmap Nearmap 3D IntegratedMesh supported
Agisoft Metashape IntegratedMesh supported
GeoScene PRO 2.1 and GeoScene Enterprise 2.1 GeoScene 3D Object, IntegratedMesh, Point, PointCloud, Building supported

List of vendors and products that support creation and consumption of I3S layers.

The Table below shows the various scene layer types that are supported by the ArcGIS.

This table reflects the current versions of the ArcGIS Clients.


Scene Layer Types
ArcGIS Enterprise ArcGIS Pro
Publishing Consuming First Released Publishing Consuming First Released
3D Object supported supported 10.5 supported supported 1.4
Integrated Mesh supported 10.5 supported supported 1.4/2.1*
Point supported supported 10.5 supported supported 1.4
Point Cloud supported 10.5.1 supported supported 2.0
Building Scene Layer supported 10.7 supported supported 2.2

Scene Layer Types
ArcGIS Online ArcGIS API for Javascript ArcGIS Runtime
Publishing Consuming Publishing Consuming First Released Publishing Consuming First Released
3D Object supported supported supported supported 100.2
Integrated Mesh supported supported supported 100.2
Point supported supported supported supported 100.5
Point Cloud supported supported supported 100.5
Building Scene Layer supported supported

Scene Layer Types
ArcGIS Earth ArcGIS City Engine
Publishing Consuming First Released Publishing Consuming First Released
3D Object supported 1.6 supported 2017.1
Integrated Mesh supported 1.6
Point supported 1.10
Point Cloud supported 1.10
Building Scene Layer

Contributing

You are invited to fork this repository and to submit pull requests with ideas for improvements, bugs, or issues in this documentation. Creating a fork solely for this purpose does not constitute the creation and distribution of a derivative work. Please see our guidelines for contributing.

License for indexed 3D scene format and REST endpoint specification

Copyright © 2015 - 2023 Esri

The specification is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International Public License. You can implement the specification in services, clients or processing tools without restrictions.

You may also extend or modify the standard using the built-in extension and profiling mechanisms, however modified or extended versions of the standard may not be redistributed. The standard may only be redistributed in its unmodified version, under the same license.

You are free to:

  • Share — copy and redistribute the material in any medium or format for any purpose, even commercially.
  • The licensor cannot revoke these freedoms as long as you follow the license terms.

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • No derivatives — If you remix, transform, or build upon the material, you may not distribute (see note below) the modified material.
  • No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.

License history:

Version 1.0 – 1.5 (04/30/2015 to 01/30/2017) of this specification are licensed under the older Creative Commons Attribution-NoDerivs 3.0 Unported license.

Version 1.6 – Present Integrated mesh, 3D object, Point Scene Layer, Building Scene Layer (01/31/2017 to Present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.

Version 1.7 – Present Integrated mesh, 3D object, Point Scene Layer, Building Scene Layer(06/30/2019 to Present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.

Version 1.8 – Present Integrated mesh, 3D object, Point Scene Layer, Building Scene Layer (05/20/2021 to Present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.

Version 1.9 – Present Integrated mesh, 3D object, Point Scene Layer, Building Scene Layer (03/13/2023 to Present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.

Version 2.0 - Present Point Cloud Scene Layer (01/01/2017 to Present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.

Version 2.1 - Present Point Cloud Scene Layer (03/13/2023 to Present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.

License for JSON resources, validator, and examples

The supplementary resources may be updated without notice and are provided for use under the Apache 2.0 license and may be used, under the terms of that license, at your own risk.

i3s-spec's People

Contributors

ajuanr avatar alunalunnnnn avatar chri7928 avatar jfoster126 avatar joalvarez avatar rexhansen avatar rvargasesri avatar siu avatar tamrat-b avatar w12594822 avatar youyunhua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i3s-spec's Issues

Can you give me some code template about compresion geometry by draco?

Hello,Intckarl:
I use draco_decoder.exe and draco_encoder.exe to compress/uncompress geometry(include:position,normal,uv,color...) into 1.bin.gz file. This approach uses an intermediate file
(eg:obj file) and i did't like this way.So,can you give me a sample code that compress/uncompress the
geometry into draco.thank you very much!

Features Attributes

Hi,

In features file there is a definition of the geometry structure:

vertex ==> offset, number of elements...
normal ==> offset, number of elements...

I don't see the same definition for the features, such as Id and face range, where can I find their offset information?

Thanks

Add Skyline PhotoMesh software to the “Where Can I Use...?” listing

Hello @Tamrat-B ,
My name is Yaniv Dayan from Skyline Software Systems. producer of PhotoMesh (http://www.skylineglobe.com/SkylineGlobe/corporate/Products/photomesh.aspx) software, that produces high-resolution, textured, 3D mesh models from standard 2D photographs.
One of our supported output formats is I3S, and we wanted to see if it is possible to add our software to the “Where Can I Use...?” listing (https://github.com/Esri/i3s-spec#where-can-i-use):
Vendor: Skyline / Skyline Software Systems, Inc.
Product/URL: PhotoMesh (http://www.skylineglobe.com/SkylineGlobe/corporate/Products/photomesh.aspx)
Scene Layer Type: IntegratedMesh
Please let me know what is the best way to make this happen.
(I also sent a comment on Update README.md)
Thanks for your help and the great format.

3D object geometry format undocumented?

I am unable to find the specification for the binary geometry format indicated in 3D object and mesh SceneLayers.

Can someone point to me where I can find documentation on this file format?

In practice the content-type is application/octet-stream and it is delivered as a .bin - I'm guessing it's a TLV format reminiscent of ASN.1 but unable to find any official information about this ".bin" format.

This is the data I'm trying to work with:

$ hexdump -C 0.bin |head
00000000  1b 0f 00 00 1f 00 00 00  05 36 02 ba 9b 12 ab b8  |.........6......|
00000010  d5 5e 5c 41 60 4c 05 ba  1d b9 b0 b8 d5 5e 5c 41  |.^\A`L.......^\A|
00000020  f2 8b 01 ba 73 b2 b7 b8  d5 5e 5c 41 86 b4 08 ba  |....s....^\A....|
00000030  fa 5f b1 b8 3e 5f 5c 41  c4 17 0a ba 4f 84 9c b8  |._..>_\A....O...|
00000040  3e 5f 5c 41 4f 1f 0b ba  ba 24 b8 b8 d5 5e 5c 41  |>_\AO....$...^\A|
00000050  ce df ff b9 05 9e 97 b8  3e 5f 5c 41 60 4c 05 ba  |........>_\A`L..|
00000060  1d b9 b0 b8 d5 5e 5c 41  05 36 02 ba 9b 12 ab b8  |.....^\A.6......|
00000070  d5 5e 5c 41 83 98 0b ba  a6 78 55 b8 3e 5f 5c 41  |.^\A.....xU.>_\A|
00000080  ce df ff b9 05 9e 97 b8  3e 5f 5c 41 4d 87 f5 b9  |........>_\AM...|
00000090  9e 25 75 b8 3e 5f 5c 41  b6 94 f2 b9 dd 98 64 b8  |.%u.>_\A......d.|

How to adjust 1.7's texture

There used to be shared resourse in each node to contorl material and texture, but in 1.7, the shared resourse is deprecated, now there is only one materialDefinitions in 3DSceneLayer.json.

So how does it control texture in every node?

draco compression question

Hello,devs
I want to determine whether to remove duplicate vertices after reading the 0.bin.gz file and then use Draco compression or directly input the read duplicate nodes directly into the Draco mesh and use Draco to remove duplicate vertices.

Any sample UI client or library based on .NET for viewing/streaming i3s services?

We are doing a kind of proof of concept using .NET and Unity for viewing/streaming i3s services,
Is there any known library which is able to render/extract the i3s geometries based on .NET. We cannot use ArcGIS Runtime for .NET because of the underlying native C++ Runtime Core.

We only found PDAL based on C++ (points only) and CesiumJS based on JavaScript.

Here is a sample i3s scene and service:
Scene View
Scene Layer

Any help would be appreciated.
@hobu @tfili

options for planetary

More of a question than an issue.

In looking over the spec I see statements like

  • The location of all index-related data structures such as node bounding spheres SHALL be specified using a single, global geographic WGS 84 CRS.
    and
  • Allowed CRS specified using an EPSG code include: EPSG:4326.

but within the examples given, WGS 84 doesn't seem hard-wired and a specified WKT (or WKT v2) can be defined. Does this mean that other bodies like Mars can be defined?

If there are too many assumptions within the spec to allow for off-Earth bodies, what happens when the geospatial community needs to transition away from WGS84 (to the next best ellipsoid)?

LoD Selection

Hi,

I am having trouble to understand the LOD selection.

For example, if I have:

"lodSelection": [
{
"metricType": "maxScreenThreshold",
"maxError": 539.29734222795435
}
],

And mbs:

"mbs": [
-43.193687596934836,
-22.968234420300959,
196.58792681110327,
539.29734222795435
],

My graphics configuration is FOV of 3.0, aspect ratio of 1.0 and near plane at 1.0… window size is 800x800.

How do I calculate when to change the LOD?

OBB

Hi, I have a couple questions:

  1. I'm not familiar with quaternion, how do I use it in order to get the correct orientation?
  2. What are the units of quaternion's members? Is it degree, degree, degree, meter?

Thanks

How to modify the overall height of the model in slpk file?

Because some software can't change the height when exporting the SLPK file, the height of the model is inconsistent when multiple SLPK files are imported into the same software. How can the overall height of the model (including all nodes) be changed by modifying the SLPK file?

Question about LoD Selection

Hi, Guys
I have a question about "LoD Selection". When we are working on loading a slpk, we find all the nodes' index document say maxError: 0. So I want to know how to deal with maxError: 0. And is the data legal?

Thank you.

SharedResource

Hi,

In SharedResource there is a materialDefinitions field, and the explanation of it is:
"Materials describe how a Feature or a set of Features is to be rendered."

So it suppose to be an array of material definitions (materialDefinition[])?

Parameter Definition Issues

I found maxScreenThresholdSQ under lodSelection, with a similar parameter named maxScreenThreshold without SQ.

But in your doc, there is only description for maxScreenThreshold, so I'm wondering what does SQ means and how does it effect lodSelection

Thank you

i3s_converter doesn't properly set exit code

The i3s_converter application doesn't set the exit code to a non-zero value if it fails. Ideally, the exit code should be non-zero if an error occurred and zero if no error occurred.

singleComponentParams

In the description said:
"Objects of this type extend vestedGeometryParams and use one texture and one material..."

But you have an attribute of textureID as array of numbers. Should it be just a single number?

Thanks

Edit Feature Attributes In ArcScene

With the workflows I perform in house as well as for clientele, I think it would be extremely valuable to be able to edit attribute data in ArcScene, whether the data is a BIM model of a 3D feature.

A few question regarding to 1.7 Update.

By comparing 1.6 and 1.7, one could find that they are basic the same. All different I can find is 1.7 now support Draco compress and nodepages.

Even in ArcGIS Pro 2.4, it still only create version 1.6. One have to use the converter to update to 1.7.

By studying the outcome, I found that 1.7 make leaf node much smaller, with produce more nodes in total, thus make the result SLPK much larger.

Also, I found a hashtable in both 3d object and Integrated Mesh, which you failed to mention in the doc.

So far one could tell that 1.7 cut the nodes smaller and draco it more smaller to speed up transmitting, and use nodepages and hashtable to speed up querying. but in practice, it cause the server overwhelmed by sending too much requests. And actually make it slower to load.

Please give me an answer, Thank you.

i3s 1.7 geometry file

hello,I find 1.bin.gz file in geometries floder in i3s 1.7 and Is it comes from Draco compression?

attributeStorageInfo

In the desciption of the attributeByteCounts it says: "For string types only. Represents the byte count of the string, including the null character."

But the example given is not representing it and confusing.

{
"key": "f_2",
"name": "Family",
"header": [
{
"property": "count",
"valueType": "UInt32"
},
{
"property": "attributeValuesByteCount",
"valueType": "UInt32"
}
],
"ordering": [
"attributeByteCounts",
"attributeValues"
],
"attributeByteCounts": {
"valueType": "UInt32",
"valuesPerElement": 1
},
"attributeValues": {
"valueType": "String",
"encoding": "UTF-8",
"valuesPerElement": 1
}
}

Error converting to SLPK 1.7 from 1.5

Hi,

Currently trying to convert a 1.5 slpk file to 1.7 and the following message occurs

{
"version" : "0.5.07162019",
"log" : [{
"code" : "7009",
"level" : "Error",
"message" : " JSON parsing error in "nodes/0-2-1-2-1-3-1-1-0-3-3/features/0": * Line 1, Column 1\n Syntax error: value, object or array expected.\n"
}
],
"success" : false
}

We know that we have some empty nodes, but is there any way to skip this issue, as the conversion fails.

Thanks

SharedResource encoding

Hi,

In store module, shared resource encoding is missing (like for nidEncoding, or feature encoding...)

Question: Material Definition

Hello,

I'm trying to understand more deeply the format. Right now I'm focusing on the material.

In materialDefinition there are three parameters that I don't understand:

  • vertexRexion
  • vertexColors
  • useVertexColorAlpha

What do they mean and how should I use them?
Why they are defined as array (boolean[])?

Thanks
Three of them defined as boolean array (boolean[]). the question is why?

Extent should be 3D

The extent as shown here is 2D. This seems strange and limiting for a point cloud, which is naturally a 3D object. Is this information available elsewhere?

Performance Issue on High Resolution Display

We have a slpk file directly generate by Context Capture from oblique photographic images.
We publish a service and view it online in SceneViewer.
It doesn't have any geometry at root(level 1) and level 2 nodes. Although we believe this would be a Context Capture problem, but also something we want to ask here.

On my own computer, with a 1080P display, it looks fine.
But on other computer, with dual-4K display, it took very long time to load in full extent, and seems fine if only focus to very small, local extent.

We've tried to turn up the maxError value on level 3, I believe that would force to load only level 3 which is smaller and faster.
Still fine in my 1080P display, very little improve in dual-4K display.

So I start to wonder, how does it react on high resolution display? What's the difference between 1080P and dual-4K display? What can I do to improve this?

Thank you.

How to set pbr material ?

Like the last issue, there is only one materialDefinitions in a slpk file.

In glTF there is name of every material, but I didn't see that in materialDefinitions.cmn.md, I really can't see how to control each and every node's material and texture.

Draco compression

Hello,devs

I find draco compression in version1.7 document ,but ,i check the 1.bin.gz file and find it is diffent from google official document.The i3s spec document is too cryptic for me, so could you give me
a sample code for it that describe how to compress i3s geometrybuffer into draco file.thank you
very much!

The limited of i3s node size?

hi devs

How big can a node size be?I'd like to know the limitation of a node size in slpk file(gigabytes?terabytes?)
Specifically, the geometry binary file size / feature attribute binary file size / texture resources size ...

thanks.

Questions about UV Mapping of Atlas Textures

Hi,

Recently I'm trying to display i3s buildings on Cesium.js,
the normals and vertices parsed from geometry binary show the buildings' polygons really well.
building without texture
then I parsed and got the uv0 for textures mapping,
I parsed each feature's uv0 in the node, and used features' uv (array) to map the node's texture onto the geometric polygons,
(each node has only one atlas image texture in the i3s layers I tested )
but it seems that the images mapped onto the polygon weren't matched.

My result:
mapping result
Correct looking (screenshot of ArcGIS web viewer):
correct result

I've checked some nodes textures, each node has only one aggregated texture image like this:
aggregated texture

So, my questions are:

  1. Are the uv of each feature in node the coordinates of the whole atlas texture? or I need to seperate the atlas texture into several subImages because the uv is the coordinate of subImages instead of a whole atlas.
  2. If the uv is the coordinate of subImage, how can I sperate the atlas into subImages? I saw there is an attribute named subimageRegion from spec document, but I don't know where the attribute is.

Thanks for reading such a long question.

ps. codes of how I parse the uv0: github link

Image size

Hello,

I'v got some sample of the I3S format, and there the actual image size is 512x1024.
x size is 512.

So in order to know the y size I need to decode the image.

I need this information in case the texture is bigger than I need and in this case I won't use it.

Is it possible to add y size field to the format?

Thanks.

i3s to other 3D format.

Hope this finds you well.

I'm trying to use an i3s file to create a VR model in CityEngine.
My initial thought was that CityEngine would be able to take i3s or slpk, but it turns out that it doesn't. Do you have any recommendations on how to convert or work around the current limitation?

node

Hi,

In node document missing parentIndex.

geometry.bin file struct

hello!
thans for the brief description of the geometry.bin file, can I know the detail information of the file ?e.g. struct?

layers and sub-layers in 1.7

Hi,

I have a question regarding the layers and sub-layers structure:

  1. Why layers and sub-layers structure supports only buildings, and sub-layers only group, 3D objects and points?
  2. How can I divide into layers integrated-meshs and overlayers on-top of it, e.g. terrain, vegetation, roads...
  3. Why layer and sceneLayer has the same file name 3DSceneLayer? It's confusing.

Thanks

i3s_converter.exe not support unit of chinese

i3s_converter.exe not support unit of chinese
{
"version" : "0.5.11192019",
"log" : [{
"code" : "7009",
"level" : "Error",
"message" : " JSON parsing error in "/3dSceneLayer": JSON string "heightModelInfo.heightUnit" is not a known value for this enumeration (米)"
}
],
"success" : false
}

How to write attribute file(bin)?

I found that in ArcGIS Pro generated slpk files's attribute file, there are many blank in the beginning, and the attribute value would repeate for so many times, sometime even with unrelevant strings. Like this:

image

Can you tell me what's the rules here?

And how to write the attributeStorageInfo part?

LoD Selection structure

Hi,

In the spec there are two fields: metricType and maxError, but in the explanation it is written that "Cookers can add as many LodSelection objects as desired, but must provide one as soon as the layer's lodType is not null. Of the three min/avg/max values, typically only one or two are used."

So as I understand, the cookers can add avgScreenThreshold as metricType and than the second filed will be avgError? Or you meant something else?

Thanks

I3S convert tool is failed

hello!
there are some errors when i use the i3s_converter tool,the slpk is producted by arcgis pro and
the error is "Failed to decode image nodes/19-1-0-0-0-2-0/textures/0_0 using method jpg".
Can you add an error skip command to you program,eg:try sth except pass.
IMG_2446

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.