Skip to content

Commit

Permalink
Simplify Greyhound installation/configuration via NPM (#31)
Browse files Browse the repository at this point in the history
  • Loading branch information
connormanning committed Sep 24, 2016
1 parent 5d9c6a4 commit d783f47
Show file tree
Hide file tree
Showing 79 changed files with 246 additions and 39,361 deletions.
4 changes: 2 additions & 2 deletions .dockerignore
@@ -1,3 +1,3 @@
examples/*
*node_modules*
controller/build/*
data/*
build/*
28 changes: 4 additions & 24 deletions .gitignore
@@ -1,28 +1,8 @@
*.o
.DS_Store
pdal-session/pdal-session
examples/cpp/get-points
examples/cpp/put-pipeline
*.log
*.swp
*.rdb

key.pem
cert.pem
config.json
credentials.js
node_modules
*node_modules*
npm-debug.log
.vagrant
doc/*.pdf
web/public/css/style.css
scripts/vagrant/pdal
scripts/vagrant/entwine
controller/build
src/build/*
*.gypi

examples/data/*
!examples/data/autzen.las
!examples/data/half-dome.laz
!examples/data/read.xml
!examples/data/half-dome.xml
data/*
!data/autzen.las
2 changes: 2 additions & 0 deletions .npmignore
@@ -0,0 +1,2 @@
data/*
build/*
81 changes: 0 additions & 81 deletions Makefile

This file was deleted.

64 changes: 44 additions & 20 deletions README.md
@@ -1,27 +1,51 @@
# Greyhound
# GREYHOUND

A point cloud querying and streaming framework over HTTP for the web and your native apps.
A point cloud streaming framework for dynamic web services and native applications.

# Tell me more
_Greyhound_ is powered by [Entwine](https://entwine.io/) which is used to organize
data in a form that Greyhound can then emit to clients. Entwine uses [PDAL](http://pdal.io)
for data access and abstraction to a wide variety of formats. See the [client
documentation](https://github.com/hobu/greyhound/blob/master/doc/clientDevelopment.rst)
and the [administrator
documentation](https://github.com/hobu/greyhound/blob/master/doc/administration.rst)
for more details on development and deployment.
See it in action with the dynamic [Plas.io](http://speck.ly) client at [speck.ly](http://speck.ly) and the [Potree](http://potree.org) client at [potree.entwine.io](http://potree.entwine.io).

A simple
[RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) HTTP
protocol is used to query and stream points in a format specified by the
client.
# Getting started

# How to hack?
## Obtaining Greyhound

For now, see the usage instructions in the [entwine repository](https://entwine.io).
### Using Docker
```bash
docker pull connormanning/greyhound
docker run -it -p 8080:8080 connormanning/greyhound
```

# License
_Greyhound_ is under **MIT** license and is Copyright [Howard
Butler](http://hobu.co), [Uday Verma](https://github.com/verma), and [Connor
Manning](https://github.com/connormanning).
### Natively

Prior to installing natively, you must first install [PDAL](https://pdal.io) and its dependencies, and then install [Entwine](https://entwine.io). Then you can install Greyhound via NPM.

```bash
npm install -g greyhound-server
greyhound
```

## Indexing some data

Greyhound uses data indexed by [Entwine](https://entwine.io/). See [the instructions](https://github.com/connormanning/entwine) for how to use Entwine. By default, Greyhound will look for indexed data in `~/greyhound` (natively) and `/opt/data` (dockerized). If you are eager to get started, we have some publicly hosted data you can index and serve locally:

```bash
docker pull connormanning/entwine
mkdir ~/greyhound
docker run -it -v ~/greyhound:/opt/data connormanning/entwine \
entwine build \
-i https://entwine.io/sample-data/red-rocks.laz \
-o /opt/data/red-rocks
```

## Viewing the data

You've just indexed a LAZ file from the internet (data credit to [DroneMapper](https://dronemapper.com/sample_data)) and created a local Entwine dataset. It's sitting at `~/greyhound/red-rocks`. Now let's start Greyhound and take a look at the data. We'll be mapping that output directory into Greyhound's default search path at `/opt/data` within the container:

```bash
docker run -it -p 8080:8080 -v ~/greyhound:/opt/data connormanning/greyhound
```

Now that Greyhound is awake, you should be able to browse your data with [Plasio](http://speck.ly/?s=http://localhost:8080/&r=red-rocks) or [Potree](http://potree.entwine.io/data/custom.html?s=localhost:8080&r=red-rocks).

# Further reading
See the [client documentation](https://github.com/hobu/greyhound/blob/master/doc/clientDevelopment.rst) if you are interested in developing an application that streams data from Greyhound. For instructions regarding configuring and deploying Greyhound, see the [administrator documentation](https://github.com/hobu/greyhound/blob/master/doc/administration.rst).

22 changes: 11 additions & 11 deletions controller/binding.gyp → binding.gyp
Expand Up @@ -4,23 +4,23 @@
{
'target_name': 'session',
'sources': [
'./session/bindings.cpp',
'./session/session.cpp',
'./src/session/bindings.cpp',
'./src/session/session.cpp',

'./session/commands/read.cpp',
'./session/commands/hierarchy.cpp',
'./src/session/commands/read.cpp',
'./src/session/commands/hierarchy.cpp',

'./session/read-queries/base.cpp',
'./session/read-queries/entwine.cpp',
'./session/read-queries/unindexed.cpp',
'./src/session/read-queries/base.cpp',
'./src/session/read-queries/entwine.cpp',
'./src/session/read-queries/unindexed.cpp',

'./session/types/source-manager.cpp',
'./src/session/types/source-manager.cpp',

'./session/util/buffer-pool.cpp',
'./session/util/once.cpp'
'./src/session/util/buffer-pool.cpp',
'./src/session/util/once.cpp'
],
'include_dirs': [
'./session', '/usr/include/jsoncpp'
'./src/session', '/usr/include/jsoncpp'
],
'cflags!': [ '-fno-exceptions', '-fno-rtti' ],
'cflags_cc!': [ '-fno-exceptions', '-fno-rtti' ],
Expand Down
111 changes: 0 additions & 111 deletions config.template.js

This file was deleted.

6 changes: 0 additions & 6 deletions controller/Makefile

This file was deleted.

16 changes: 0 additions & 16 deletions controller/interfaces/http/package.json

This file was deleted.

0 comments on commit d783f47

Please sign in to comment.