Skip to content

Latest commit

 

History

History
123 lines (114 loc) · 8.05 KB

store.cmn.md

File metadata and controls

123 lines (114 loc) · 8.05 KB

store [common profiles]

The store object describes the exact physical storage of a layer and enables the client to detect when multiple layers are served from the same store. Storing multiple layers in a single store - and thus having them share resources - enables efficient serving of many layers of the same content type, but with different attribute schemas or different symbology applied.

Related:

cmn::3DSceneLayer

Properties

Property Type Description
id string A store ID, unique across a SceneServer. Enables the client to discover which layers are part of a common store, if any. {meshes, polygons, points, lines, analytics, meshpyramids, pointclouds, symbols}
profile string Indicates which profile this scene store fulfills.
resourcePattern string[] Indicates the resources needed for rendering and the required order in which the client should load them.
Possible values for each array string:
  • 3dNodeIndexDocument: JSON file describes a single index node within a store, with links to other nodes (children, sibling, and parent), links to feature data, geometry data and texture data resources, metadata such as metrics used for LoD selection, its spatial extent. Read more
  • SharedResource: Shared resources are models or textures that can be shared among features within the same layer.
  • featureData: The FeatureData JSON file(s) contain geographical features with a set of attributes, accessors to geometry attributes and other references to styling or materials.
  • Geometry: Each geometry resource is an array of geometries.
  • Texture: The texture resource for a node contains the images that are used as textures for the features stored in the node.
  • Attributes: Attribute resource for node containing feature data attributes
rootNode string Relative URL to root node resource.
version string Format version of this resource. Used here again if this store hasn't been served by a 3D Scene Server.
extent number[4] The 2D spatial extent (xmin, ymin, xmax, ymax) of this store, in the horizontal indexCRS.
indexCRS string The horizontal CRS used for all minimum bounding spheres (mbs) in this store. The CRS is identified by an OGC URL. Needs to be identical to the spatial reference.
vertexCRS string The horizontal CRS used for all 'vertex positions' in this store. The CRS is identified by an OGC URL. Needs to be identical to the spatial reference.
normalReferenceFrame string Describes the coordinate reference frame used for storing normals.
Possible values are:
  • east-north-up: Normals are stored in a node local reference frame defined by the easting, northing and up directions at the MBS center, and is only valid for geographic (WGS84) vertexCRS.
  • earth-centered: Normals are stored in a global earth-centered, earth-fixed (ECEF) reference frame where the x-axis points towards the Prime meridian (lon = 0°) and Equator (lat = 0°), the y-axis points East towards lon = +90 and lat = 0 and the z-axis points North. It is only valid for geographic vertexCRS. Earth centered is the default value.
  • vertex-reference-frame: Normals are stored in the same reference frame as vertices and is only valid for projected vertexCRS.
nidEncoding string Deprecated in 1.7. MIME type for the encoding used for the Node Index Documents. Example: application/vnd.esri.I3S.json+gzip; version=1.6.
featureEncoding string Deprecated in 1.7. MIME type for the encoding used for the Feature Data Resources. For example: application/vnd.esri.I3S.json+gzip; version=1.6.
geometryEncoding string Deprecated in 1.7. MIME type for the encoding used for the Geometry Resources. For example: application/octet-stream; version=1.6.
attributeEncoding string Deprecated in 1.7. MIME type for the encoding used for the Attribute Resources. For example: application/octet-stream; version=1.6.
textureEncoding string[] Deprecated in 1.7. MIME type(s) for the encoding used for the Texture Resources.
lodType string Deprecated in 1.7. Optional field to indicate which LoD generation scheme is used in this store.
Possible values are:
  • MeshPyramid: Used for integrated mesh and 3D scene layer.
  • AutoThinning: Use for point scene layer.
  • Clustering: Fill in which profile types are using this lodType
  • Generalizing: Fill in which profile types are using this lodType
lodModel string Deprecated in 1.7. Optional field to indicate the LoD switching mode.
Possible values are:
  • node-switching: A parent node is substituted for its children nodes when its lod threshold is exceeded. This implies that: parent and children are never shown at the same time. The bounding volumne of the parent has to enclose the features of all grandchildren. Nodes have a single parent, except the root node that have no parent.
  • none: No switching model.
indexingScheme string Deprecated in 1.7. Information on the Indexing Scheme (QuadTree, R-Tree, Octree, ...) used.
defaultGeometrySchema defaultGeometrySchema A common, global ArrayBufferView definition that can be used if the schema of vertex attributes and face attributes is consistent in an entire cache; this is a requirement for meshpyramids caches.
defaultTextureDefinition texture Deprecated in 1.7. A common, global TextureDefinition to be used for all textures in this store. The default texture definition uses a reduced profile of the full TextureDefinition, with the following attributes being mandatory: encoding, uvSet, wrap and channels.
defaultMaterialDefinition materialDefinition Deprecated in 1.7. If a store uses only one material, it can be defined here entirely as a MaterialDefinition.

Note: properties in bold are required

Examples

Example: Store example

 {
  "id": "e9ecfade-0d85-4dd7-abb5-a3b0a07b9fd7",
  "profile": "meshpyramids",
  "resourcePattern": [
    "3dNodeIndexDocument",
    "SharedResource",
    "Geometry",
    "Attributes"
  ],
  "rootNode": "./nodes/root",
  "version": "1.4",
  "extent": [
    -106.5054122583675,
    38.99467780548919,
    -103.99630101552692,
    39.99697134061471
  ],
  "indexCRS": "http://www.opengis.net/def/crs/EPSG/0/4326",
  "vertexCRS": "http://www.opengis.net/def/crs/EPSG/0/4326",
  "nidEncoding": "application/vnd.esri.i3s.json+gzip; version=1.4",
  "featureEncoding": "application/vnd.esri.i3s.json+gzip; version=1.4",
  "geometryEncoding": "application/octet-stream; version=1.4",
  "attributeEncoding": "application/octet-stream; version=1.4",
  "textureEncoding": [
    "image/jpeg",
    "image/vnd-ms.dds"
  ],
  "lodType": "MeshPyramid",
  "lodModel": "node-switching",
  "defaultGeometrySchema": {
    "geometryType": "triangles",
    "header": [
      {
        "property": "vertexCount",
        "type": "UInt32"
      },
      {
        "property": "featureCount",
        "type": "UInt32"
      }
    ],
    "topology": "PerAttributeArray",
    "ordering": [
      "position",
      "normal",
      "uv0",
      "color"
    ],
    "vertexAttributes": {
      "position": {
        "valueType": "Float32",
        "valuesPerElement": 3
      },
      "normal": {
        "valueType": "Float32",
        "valuesPerElement": 3
      },
      "uv0": {
        "valueType": "Float32",
        "valuesPerElement": 2
      },
      "color": {
        "valueType": "UInt8",
        "valuesPerElement": 4
      }
    },
    "featureAttributeOrder": [
      "id",
      "faceRange"
    ],
    "featureAttributes": {
      "id": {
        "valueType": "UInt64",
        "valuesPerElement": 1
      },
      "faceRange": {
        "valueType": "UInt32",
        "valuesPerElement": 2
      }
    }
  }
}