Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# @geoarrow/deck.gl-layers
# @geoarrow/deck.gl-geoarrow

The easiest, most efficient way to render large geospatial datasets in [deck.gl](https://deck.gl), via [GeoArrow](https://geoarrow.org).

This is just a _glue library_ to deck.gl. It generates the same layer objects as upstream deck.gl does, but uses a [low-level binary interface](https://deck.gl/docs/developer-guide/performance#supply-attributes-directly) for best performance. Using the binary interface directly is really easy to mess up. Instead, the layer classes exposed by `@geoarrow/deck.gl-layers` focus on making the process easy to use and validating user input, and under the hood pass buffers to deck.gl's binary interface.
This is just a _glue library_ to deck.gl. It generates the same layer objects as upstream deck.gl does, but uses a [low-level binary interface](https://deck.gl/docs/developer-guide/performance#supply-attributes-directly) for best performance. Using the binary interface directly is really easy to mess up. Instead, the layer classes exposed by `@geoarrow/deck.gl-geoarrow` focus on making the process easy to use and validating user input, and under the hood pass buffers to deck.gl's binary interface.

![](assets/hero.jpg)

Expand All @@ -27,15 +27,15 @@ More hosted examples on Observable are planned.

All deck.gl layers have two types of properties: ["Render Options"](https://deck.gl/docs/api-reference/layers/scatterplot-layer#render-options) — constant properties across a layer — and "Data Accessors" — properties that can vary across rows. An accessor is any property prefixed with `get`, like `GeoArrowScatterplotLayer`'s `getFillColor`.

With `@geoarrow/deck.gl-layers` specifically, there are two ways to pass these data accessors, either as pre-computed columns or with function callbacks on Arrow data.
With `@geoarrow/deck.gl-geoarrow` specifically, there are two ways to pass these data accessors, either as pre-computed columns or with function callbacks on Arrow data.

### Pre-computed Arrow columns

If you have an Arrow column ([`Vector`](https://arrow.apache.org/docs/js/classes/Arrow_dom.Vector.html) in Arrow JS terminology), you can pass that directly into a layer:

```ts
import { Table } from "apache-arrow";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";

const table = new Table(...);
const deckLayer = new GeoArrowScatterplotLayer({
Expand Down Expand Up @@ -82,7 +82,7 @@ If you already have Arrow IPC files (also called Feather files) with a GeoArrow

```ts
import { tableFromIPC } from "apache-arrow";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";

const resp = await fetch("url/to/file.arrow");
const jsTable = await tableFromIPC(resp);
Expand All @@ -103,7 +103,7 @@ If you have a Parquet file where the geometry column is stored as _GeoArrow_ enc
```ts
import { readParquet } from "parquet-wasm"
import { tableFromIPC } from "apache-arrow";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";

const resp = await fetch("url/to/file.parquet");
const arrayBuffer = await resp.arrayBuffer();
Expand All @@ -117,7 +117,7 @@ const deckLayer = new GeoArrowScatterplotLayer({
});
```

See below for instructions to load GeoParquet 1.0 files, which have WKB-encoded geometries that need to be decoded before they can be used with `@geoarrow/deck.gl-layers`.
See below for instructions to load GeoParquet 1.0 files, which have WKB-encoded geometries that need to be decoded before they can be used with `@geoarrow/deck.gl-geoarrow`.

### GeoParquet

Expand All @@ -126,7 +126,7 @@ An initial version of the [`@geoarrow/geoparquet-wasm`](https://www.npmjs.com/pa
```ts
import { readGeoParquet } from "@geoarrow/geoparquet-wasm";
import { tableFromIPC } from "apache-arrow";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";

const resp = await fetch("url/to/file.parquet");
const arrayBuffer = await resp.arrayBuffer();
Expand All @@ -149,7 +149,7 @@ An initial version of the [`@geoarrow/flatgeobuf-wasm`](https://www.npmjs.com/pa
```ts
import { readFlatGeobuf } from "@geoarrow/flatgeobuf-wasm";
import { tableFromIPC } from "apache-arrow";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";

const resp = await fetch("url/to/file.fgb");
const arrayBuffer = await resp.arrayBuffer();
Expand Down
2 changes: 1 addition & 1 deletion examples/linestring/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { GeoArrowPathLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowPathLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer, PickingInfo } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/linestring/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "vite build"
},
"dependencies": {
"@geoarrow/deck.gl-layers": "*",
"@geoarrow/deck.gl-geoarrow": "workspace:*",
"apache-arrow": ">=14",
"deck.gl": "^9.2.1",
"react": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/multilinestring/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { GeoArrowPathLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowPathLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/multipoint/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/multipoint/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "vite build"
},
"dependencies": {
"@geoarrow/deck.gl-layers": "*",
"@geoarrow/deck.gl-geoarrow": "workspace:*",
"apache-arrow": ">=14",
"deck.gl": "^9.2.1",
"react": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/multipolygon/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Example: Use `@geoarrow/deck.gl-layers` with GeoArrow MultiPolygon data
## Example: Use `@geoarrow/deck.gl-geoarrow` with GeoArrow MultiPolygon data

## Data for example:

Expand Down
2 changes: 1 addition & 1 deletion examples/multipolygon/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { GeoArrowSolidPolygonLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowSolidPolygonLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer, PickingInfo } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/multipolygon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "vite build"
},
"dependencies": {
"@geoarrow/deck.gl-layers": "*",
"@geoarrow/deck.gl-geoarrow": "workspace:*",
"apache-arrow": ">=14",
"deck.gl": "^9.2.1",
"react": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/point/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@deck.gl/core": "^9.3.0",
"@deck.gl/layers": "^9.3.0",
"@deck.gl/mapbox": "^9.3.0",
"@geoarrow/deck.gl-layers": "workspace:^",
"@geoarrow/deck.gl-geoarrow": "workspace:^",
"@loaders.gl/compression": "^4.1.4",
"@loaders.gl/crypto": "^4.1.4",
"@luma.gl/core": "^9.3.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/point/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { Layer, PickingInfo } from "@deck.gl/core";
import type { MapboxOverlayProps } from "@deck.gl/mapbox";
import { MapboxOverlay } from "@deck.gl/mapbox";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowScatterplotLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import "maplibre-gl/dist/maplibre-gl.css";
import { useEffect, useState } from "react";
Expand Down
2 changes: 1 addition & 1 deletion examples/polygon/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Example: Use `@geoarrow/deck.gl-layers` with GeoArrow polygon data
## Example: Use `@geoarrow/deck.gl-geoarrow` with GeoArrow polygon data

## Data for example:

Expand Down
2 changes: 1 addition & 1 deletion examples/polygon/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { GeoArrowPolygonLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowPolygonLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer, PickingInfo } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/polygon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "vite build"
},
"dependencies": {
"@geoarrow/deck.gl-layers": "*",
"@geoarrow/deck.gl-geoarrow": "workspace:*",
"apache-arrow": ">=14",
"deck.gl": "^9.2.1",
"react": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/text/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { _GeoArrowTextLayer } from "@geoarrow/deck.gl-layers";
import { _GeoArrowTextLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer, PickingInfo } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/text/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "vite build"
},
"dependencies": {
"@geoarrow/deck.gl-layers": "*",
"@geoarrow/deck.gl-geoarrow": "workspace:*",
"apache-arrow": ">=14",
"deck.gl": "^9.2.1",
"react": "^18.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/trips/app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { GeoArrowTripsLayer } from "@geoarrow/deck.gl-layers";
import { GeoArrowTripsLayer } from "@geoarrow/deck.gl-geoarrow";
import * as arrow from "apache-arrow";
import type { Layer, PickingInfo } from "deck.gl";
import DeckGL from "deck.gl";
Expand Down
2 changes: 1 addition & 1 deletion examples/trips/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "vite build"
},
"dependencies": {
"@geoarrow/deck.gl-layers": "*",
"@geoarrow/deck.gl-geoarrow": "workspace:*",
"apache-arrow": ">=14",
"deck.gl": "^9.2.1",
"react": "^18.0.0",
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "deck.gl-layers-monorepo",
"name": "deck.gl-geoarrow-monorepo",
"private": true,
"scripts": {
"build": "pnpm --recursive --filter \"./packages/*\" build",
Expand All @@ -14,7 +14,7 @@
"test": "pnpm -r test",
"typecheck": "pnpm -r typecheck"
},
"repository": "https://github.com/geoarrow/deck.gl-layers",
"repository": "https://github.com/geoarrow/deck.gl-geoarrow",
"author": "Kyle Barron <kylebarron2@gmail.com>",
"license": "MIT",
"devDependencies": {
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@geoarrow/deck.gl-layers",
"version": "0.4.0-beta.6",
"name": "@geoarrow/deck.gl-geoarrow",
"version": "0.4.0",
"description": "",
"type": "module",
"main": "./dist/index.js",
Expand All @@ -24,7 +24,7 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/geoarrow/deck.gl-layers.git"
"url": "git+https://github.com/geoarrow/deck.gl-geoarrow.git"
},
"author": "Kyle Barron <kylebarron2@gmail.com>",
"license": "MIT",
Expand Down
65 changes: 21 additions & 44 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@
},
"exclude": ["node_modules"],
"files": [],
"references": [{ "path": "packages/deck.gl-layers/tsconfig.build.json" }]
"references": [{ "path": "packages/deck.gl-geoarrow/tsconfig.build.json" }]
}
2 changes: 1 addition & 1 deletion typedoc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@geoarrow/deck.gl-layers",
"name": "@geoarrow/deck.gl-geoarrow",
"cleanOutputDir": true,
"darkHighlightTheme": "github-dark",
"entryPoints": ["dist/index.d.ts"],
Expand Down