Effortless aerial data management and sharing
DroneDB is free and open source software for aerial data storage. It provides a convenient location to store images, orthophotos, digital elevation models, point clouds and vector files.
See it in action: https://hub.dronedb.app/r/odm/waterbury
# Install from the latest release
sudo apt install ./ddb_X.Y.Z_amd64.deb
See Debian Package Documentation for more details.
DroneDB is designed to efficiently manage, process, and share aerial and geospatial data. The project consists of several key components:
DroneDB now uses vcpkg for dependency management. This simplifies the build process and ensures consistent dependency versions.
Clone the vcpkg repository:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
export VCPKG_ROOT=$(pwd)
Clone the DroneDB repository and build:
git clone https://github.com/DroneDB/DroneDB.git
cd DroneDB
./full-build-linux.sh
Clone the vcpkg repository:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
$env:VCPKG_ROOT = $(Get-Location).Path
Clone the DroneDB repository and build:
git clone https://github.com/DroneDB/DroneDB.git
cd DroneDB
.\full-build-win.ps1
We provide Docker images for both development and production use:
Build the Docker images:
# On Linux
./build-docker.sh
# On Windows
.\build-docker.ps1
Run DroneDB in a container:
docker run --rm -it -v $(pwd):/data ddb/app:latest
Before building, make sure to set the VCPKG_ROOT
environment variable to point to your vcpkg installation:
Windows (PowerShell):
$env:VCPKG_ROOT = "C:\path\to\vcpkg"
Linux/macOS:
export VCPKG_ROOT=/path/to/vcpkg
git clone https://github.com/DroneDB/DroneDB.git
cd DroneDB
git submodule update --init --recursive
# Configure with CMake
cmake -B build -S . -A x64 -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake"
# Build
cmake --build build --config Release --target ALL_BUILD -- /maxcpucount:14
# Run tests
.\build\tests\Release\ddbtest.exe --gtest_shuffle --gtest_repeat=2 --gtest_recreate_environments_when_repeating
For a quicker build, you can use the provided batch script:
.\full-build-win.bat
# Install required dependencies
sudo apt install build-essential cmake git bison flex libreadline-dev libssl-dev
# Configure with CMake
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
# Build
cmake --build build --config Release -j$(nproc)
# Run tests
./build/tests/ddbtest --gtest_shuffle --gtest_repeat=2 --gtest_recreate_environments_when_repeating
If you need to update the vcpkg dependencies:
vcpkg x-update-baseline --add-initial-baseline
Tests are built using Google Test framework:
Windows:
.\build\tests\Release\ddbtest.exe --gtest_shuffle --gtest_repeat=2 --gtest_recreate_environments_when_repeating
Linux:
./build/tests/ddbtest --gtest_shuffle --gtest_repeat=2 --gtest_recreate_environments_when_repeating
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the Mozilla Public License Version 2.0 (MPL 2.0) - see the LICENSE.md file for details.