boat
C++23 geospatial library
Loading...
Searching...
No Matches
boat

ugis2

Ubuntu Windows Latest GitHub Release

boat

A cross-platform, header-only C++23 library for working with geospatial data.

Modules

  • geometry — Boost.Geometry wrapper and extensions: WKB conversion, raster algorithms
  • db — type-safe database access (commands, rowsets, variants, reflection)
  • sql — SQL dialect abstraction (MySQL, ODBC, PostgreSQL/PostGIS, SQLite/SpatiaLite)
  • gdal — GDAL/OGR wrappers for raster and vector I/O
  • gui — Qt and wxWidgets providers for map rendering and tile caching

Documentation

API reference. Generate it locally with doxygen Doxyfile.

ugis

A micro GIS application built on top of the boat library — browse, inspect and copy geospatial data from a variety of sources.

Run

Ubuntu

sudo dpkg -i ugis.ubuntu-26.04.deb
sudo apt-get install -f
ugis

Windows

Extract the archive and run:

ugis.exe

Build from source

Prerequisites

Ubuntu

sudo apt-get install --yes --no-install-recommends \
gcc-15 \
g++-15 \
git \
make \
pkg-config \
qmake6 \
qt6-base-dev \
libboost-dev \
libcurl4-openssl-dev \
libgdal-dev \
libjpeg-dev \
default-libmysqlclient-dev \
libpng-dev \
libpq-dev \
libspatialite-dev \
libsqlite3-dev \
libtbb-dev \
odbc-postgresql \
unixodbc-dev

Windows

Install the following:

  • Visual Studio 2026 (MSVC, NMake)
  • Git
  • Qt 6 (MSVC 64-bit)
  • Boost (headers only)
  • OSGeo4W — GDAL, libcurl, libjpeg, libmysql, libpng, libpq, libspatialite, sqlite3, zlib (development packages)

Run the following commands from the x64 Native Tools Command Prompt for Visual Studio 2026:

set INCLUDE=C:\boost_1_91_0;C:\OSGeo4W\include;%INCLUDE%
set LIB=C:\OSGeo4W\lib;%LIB%
set PATH=C:\Qt\6.10.3\msvc2022_64\bin;C:\OSGeo4W\bin;%PATH%
set QT_PLUGIN_PATH=C:\Qt\6.10.3\msvc2022_64\plugins

Build ugis

Ubuntu

git clone --depth=1 https://github.com/storm-ptr/boat.git
cd boat/example/ugis
qmake6 ugis.pro QMAKE_CC=gcc-15 QMAKE_CXX=g++-15
make --jobs="$(nproc)"

Windows

git clone --depth=1 https://github.com/storm-ptr/boat.git
cd boat\example\ugis
qmake
nmake

The executable is placed in release\ugis.exe.