This is an application for demoing point cloud support in GeoTrellis applications.
- Vagrant 1.8+
- VirtualBox 4.3+
- Ansible 2.2+
Make sure you have a geotrellis
profile in your aws-cli profiles, with keys that can access
your data on S3.
Clone the project, cd
into the directory, then run ./scripts/setup.sh
to create the Vagrant VM and then build the Docker container(s).
setup.sh
can also be used to restore the project to its initial state: it will re-provision the VM, then remove and rebuild the Docker container(s).
Note: this will destroy the VM's existing Docker container before rebuilding it.
make load-local
will download the necessary data.
The other project scripts are meant to execute in the VM in the /vagrant
directory. To run the container during development use the following commands:
vagrant up
vagrant ssh
./scripts/server.sh
Name | Description |
---|---|
cibuild.sh |
Build the project for CI server TODO |
clean.sh |
Clean up unused Docker resources to free disk space. TODO |
console.sh |
Run docker-compose exec app /bin/sh TODO |
lint.sh |
Run ESLint TODO |
server.sh |
Run docker-compose up and start a server on port 8284 |
setup.sh |
Bring up the VM, and then destroy and rebuild the Docker container |
test.sh |
Run tests TODO |
update.sh |
Update the app container with npm dependencies TODO |
Command | Description |
---|---|
local-run | Run benchmark job locally |
upload-code | Upload code and scripts to S3 |
create-cluster | Create EMR cluster with configurations |
load-hdfs | Load input source into hdfs |
ingest-idw | IDW ingest with or without pyramiding |
ingest-tin | TIN ingest with or without pyramiding |
ingest-pc | Raw PointCloud ingest without pyramiding yet |
local-ingest-idw | Local IDW ingest with or without pyramiding |
run-server | Run server on EMR master |
local-run-server | Run server locally |
wait | Wait for last step to finish |
proxy | Create SOCKS proxy for active cluster |
ssh | SSH into cluster master |
get-logs | Get spark history logs from active cluster |
update-route53 | Update Route53 DNS record with active cluster ip |
clean | Clean local project |
Command | Description |
---|---|
inputPath | default: /data/test |
catalogPath | default: /data/catalog |
layerName | default: elevation |
persist | default: true |
pyramid | default: true |
zoomed | default: true |
cellSize | default: 0.5,0.5 |
numPartitions | default: 5000 |
minZoom | default: 7 |
maxValue | default: None |
destCrs | default: EPSG:3857 |
extent | default: None |
inputCrs | default: None |
testOutput | default: None |
Requires: Reasonably up to date aws-cli
.
EMR boostrup script would build PDAL with JNI bindings on each node.
- config-aws.mk AWS credentials, S3 staging bucket, subnet, etc
- config-emr.mk EMR cluster type and size
- config-run.mk Ingest step parameters
You will need to modify config-aws.mk
to reflect your credentials and your VPC configuration. config-emr.mk
and config-ingest.mk
have been configured with an area over Japan. Be especially aware that as you change instance types config-emr.mk
parameters like EXECUTOR_MEMORY
and EXECUTOR_CORES
need to be reviewed and likely adjusted.
make upload-code && make create-cluster
make load-hdfs # after launching cluster
make ingest-idw
make run-server # after completing ingest
- Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0