Skip to content

Commit

Permalink
Merge 869d8fa into 2799d6b
Browse files Browse the repository at this point in the history
  • Loading branch information
Pessimistress committed Aug 10, 2019
2 parents 2799d6b + 869d8fa commit acc218f
Show file tree
Hide file tree
Showing 76 changed files with 1,077 additions and 1,315 deletions.
60 changes: 0 additions & 60 deletions docs/api-reference/3d-tile-loaders/tile-3d-loader.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
# 3D Tiles Category
# @loaders.gl/3d-tiles

> The 3D tile loaders are still under development. If you are interested in early access, please open an issue.
Support for loading and traversing [3D Tile Sets](https://github.com/AnalyticalGraphicsInc/3d-tiles).

## Installation

```bash
npm install @loaders.gl/core @loaders.gl/3d-tiles
```

## Roadmap

The plan is to provide the following loaders/writers:
- `Tile3DLoader` for individual tiles
- `Tileset3DLoader` for the tileset
Expand All @@ -15,5 +23,8 @@ And the following helper classes
- `Tileset3DTraversal` class that accepts view frustum parameters and returns a culled, prioritized list of tiles to show.
- `Tileset3DCache` class that loads and LRU discards tiles based on prioritized lists (from Tileset3DTraversal).

Note:
- 3D tiles support in loaders.gl is developed in collaboration with the Cesium team.
## Attribution

3D tiles support in loaders.gl is developed in collaboration with the Cesium team.

The `Tile3DLoader` is a fork of 3d tile related code in Cesium (https://github.com/AnalyticalGraphicsInc/cesium) under Apache 2 License, in collabration with Sean Lilley, Josh Lawrence and Patrick Cozzi at Cesium.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Tile3DHeader (Experimental)
# Tile3DHeader

> The 3D tile loaders are still under development. If you are interested in early access, please open an issue.
Expand Down
45 changes: 45 additions & 0 deletions docs/api-reference/3d-tiles/tile-3d-loader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Tile3DLoader

> The 3D tile loaders are still under development. If you are interested in early access, please open an issue.
Parses a [3D tile](https://github.com/AnalyticalGraphicsInc/3d-tiles). glTF file into a hirearchical scenegraph description that can be used to instantiate an actual Scenegraph in most WebGL libraries. Can load both binary `.glb` files and JSON `.gltf` files.

| Loader | Characteristic |
| --------------------- | --------------- |
| File Extensions | `.b3dm`,`.i3dm`, `.pnts`, `.cmpt` |
| File Types | Binary (with linked assets) |
| Input Format | [glTF](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#tile-format-specifications) |
| Output Format | [Scenegraph](/docs/specifications/category-scenegraph) |
| Decoder Type | Synchronous (limited), Asynchronous |
| Worker Thread Support | No |
| Streaming Support | No \* |

\* Streaming is not supported for invididual tiles, however tilesets are streamed by loading only the tiles needed for the current view.

## Usage

```js
import {load} from '@loaders.gl/core';
import {Tile3DLoader} from '@loaders.gl/3d-tiles';
const gltf = await load(url, Tile3DLoader);
```

To decompress tiles containing Draco compressed glTF models or Draco compressed point clouds:

```js
import {load} from '@loaders.gl/core';
import {Tile3DLoader} from '@loaders.gl/3d-tiles';
import {DracoLoader} from '@loaders.gl/draco';
const gltf = await load(url, Tile3DLoader, {DracoLoader, decompress: true});
```

## Options

| Option | Type | Default | Description |
| ------------- | --------- | ----------- | ----------------- |
| `fetchLinkedResources` | Boolean | `true` | Fetch any linked .BIN files, decode base64 encoded URIS. Only supported in asynchronous parsing. |
| `fetch` | Function | `fetch` | Function used to fetch linked resources. |
| `decompress` | Boolean | `true` | Decompress Draco compressed meshes (if DracoLoader available). |
| `DracoLoader` | [DracoLoader](/docs/api-reference/draco/draco-loader) | `null` | Supply to enable decoding of Draco compressed meshes. |
| `postProcess` | Boolean | `false` | Perform additional post processing to simplify use in WebGL libraries. |
| `createImages` | Boolean | `false` | Create image objects from loaded image data. |
28 changes: 28 additions & 0 deletions docs/api-reference/3d-tiles/tileset-3d-loader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Tileset3DLoader

> The 3D tile loaders are still under development. If you are interested in early access, please open an issue.
Parses a main tileset JSON file as the entry point to define a 3D tileset.

| Loader | Characteristic |
| --------------------- | ---------------- |
| File Extensions | `.json` |
| File Types | JSON |
| Input Format | [3D Tileset JSON](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#tileset-json) |
| Output Format | JSON |
| Decoder Type | Synchronous |
| Worker Thread Support | No |
| Streaming Support | No |

## Usage

```js
import {Tileset3DLoader, Tileset3D} from '^loaders.gl/3d-tiles';
const tilesetJson = await load('http://localhost:8002/tilesets/Seattle/tileset.json', Tileset3DLoader);
const tileset = new Tileset3D(tilesetJson);
```

## Options

| Option | Type | Default | Description |
| ------------- | --------- | ----------- | ----------------- |
Original file line number Diff line number Diff line change
@@ -1,20 +1,13 @@
# Tileset3D (Experimental)
# Tileset3D

> The 3D tiles loaders are still under development. If you are interested in early access, please open an issue.
A [3D Tiles tileset](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification), used for streaming massive heterogeneous 3D geospatial datasets.
The definition of a [3D Tiles tileset](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification).

## Usage

```js
import {Tileset3DLoader, Tileset3D} from '^loaders.gl/3d-tiles';
const TILESET_URI = 'http://localhost:8002/tilesets/Seattle/tileset.json';
const tilesetJson = await parse(fetch(TILESET_URI), Tileset3DLoader);
const tileset = new Tileset3D(tilesetJson);
```

```js
const tileset = new Tileset3D( );
const tileset = new Tileset3D();
console.log(`Maximum building height: ${tileset.properties.height.maximum}`);
console.log(`Minimum building height: ${tileset.properties.height.minimum}`);
```
Expand Down
33 changes: 33 additions & 0 deletions docs/api-reference/arrow/arrow-loader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# ArrowLoader

> The Arrow loaders are still under development. If you are interested in early access, please open an issue.
The `ArrowLoader` parses the Apache Arrow columnar table format.


| Loader | Characteristic |
| --------------------- | --------------- |
| File Extension | `.arrow` |
| File Type | Binary |
| Input Format | [IPC: Encapsulated Message Format](http://arrow.apache.org/docs/ipc.html) |
| Output Format | [Columnar Table](/docs/specifications/category-table) |
| Decoder Type | Synchronous |
| Worker Thread Support | Yes |
| Streaming Support | Yes |

## Usage

```js
import {ArrowLoader, ArrowWorkerLoader} from '@loaders.gl/arrow';
import {load} from '@loaders.gl/core';

// Decode on main thread
const data = await load(url, ArrowLoader, options);
// Decode on worker thread
const data = await load(url, ArrowWorkerLoader, options);
```

## Options

| Option | Type | Default | Description |
| ------------- | --------- | ----------- | ----------------- |
13 changes: 13 additions & 0 deletions docs/api-reference/arrow/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @loaders.gl/arrow

This module handles [Apache Arrow](https://arrow.apache.org/), an emerging standard for large in-memory columnar data.

## Installation

```bash
npm install @loaders.gl/core @loaders.gl/arrow
```

## Attributions

ArrowLoader development benefitted from extensive technical advice from Paul Taylor @ Graphistry.
41 changes: 41 additions & 0 deletions docs/api-reference/csv/csv-loader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# CSVLoader

Streaming loader for comma-separated value and [delimiter-separated value](https://en.wikipedia.org/wiki/Delimiter-separated_values) encoded files.

| Loader | Characteristic |
| --------------------- | ---------------- |
| File Extension | `.csv`, `.dsv` |
| File Type | Text |
| Input Format | [RFC4180](https://tools.ietf.org/html/rfc4180) |
| Output Format | [Classic Table](/docs/specifications/category-table) |
| Decoder Type | Synchronous, Asynchronous |
| Worker Thread Support | No |
| Streaming Support | Yes |

## Usage

```js
import {CSVLoader} from '@loaders.gl/obj';
import {load} from '@loaders.gl/core';

const data = await load(url, CSVLoader, options);
```

## Options

The following options are passed on to [papaparse](https://www.papaparse.com/docs#config):


| Option | Type | Default | Description |
| ------------- | --------- | ------------ | ----------------- |
| `delimiter` | String | auto-detect | The delimiting character. |
| `header` | Boolean | auto-detect | If `true`, the first row of parsed data will be interpreted as field names. If `false`, the first row is interpreted as data. |
| `newline` | String | auto-detect | The newline sequence. Must be `\r`, `\n`, or `\r\n`. |
| `quoteChar` | String | `"` | The character used to quote fields. |
| `escapeChar` | String | `"` | The character used to escape the quote character within a field. |
| `dynamicTyping` | Boolean | `true` | If `true`, numeric and boolean data values will be converted to their type (instead if strings). |
| `comments` | String | `false` | Comment indicator (for example, "#" or "//"). Lines starting with this string are skipped. |
| `skipEmptyLines` | String | `false` | If `true`, lines that are completely empty (those which evaluate to an empty string) will be skipped. If set to `'greedy'`, lines that don't have any content (those which have only whitespace after parsing) will also be skipped. |
| `transform` | Function | - | A function to apply on each value. The function receives the value as its first argument and the column number or header name when enabled as its second argument. The return value of the function will replace the value it received. The transform function is applied before dynamicTyping. |
| `delimitersToGuess` | Array | `[',', '\t', '|', ';']` | An array of delimiters to guess from if the `delimiter` option is not set. |
| `fastMode` | Boolean | auto-detect | Force set "fast mode". Fast mode speeds up parsing significantly for large inputs but only works when the input has no quoted fields. Fast mode will be auto enabled if no `"` characters appear in the input. |
13 changes: 13 additions & 0 deletions docs/api-reference/csv/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @loaders.gl/csv

This module handles tabular data stored in the [CSV/DSV file format](https://en.wikipedia.org/wiki/Comma-separated_values).

## Installation

```bash
npm install @loaders.gl/core @loaders.gl/csv
```

## Attributions

CSVLoader is based on a minimal fork of the [papaparse](https://github.com/mholt/PapaParse) module, under MIT license.
30 changes: 0 additions & 30 deletions docs/api-reference/deprecated/category-gltf-deprecated.md

This file was deleted.

Loading

0 comments on commit acc218f

Please sign in to comment.