Home

Awesome

Share geospatial data via modern Web APIs

License Build Status GitHub tag (latest SemVer)

ldproxy allows you to quickly set up Web APIs that make geospatial data available to others or to your own applications via HTTP.

Work on ldproxy started in 2015 to explore how existing spatial data infrastructures could be improved. The design of ldproxy has been inspired by the parallel development of the W3C/OGC Spatial Data on the Web Best Practices as well as the W3C Data on the Web Best Practices. Since then, ldproxy has provided input to the Open Geospatial Consortium (OGC) and the emerging OGC API Standards. It is one of the most complete implementations of these specifications.

Key characteristics:

To get an idea how the APIs look like, have a look at the demos.

More information on the supported specifications and technologies is available in English and German.

Getting started

The recommended environment is a current Linux or macOS operating system with docker. ldproxy is available on Docker Hub. If you are new to Docker, have a look at the Docker Documentation.

To install and start the lastest stable ldproxy version, just run the following command:

docker run -d -p 7080:7080 -v ldproxy_data:/ldproxy/data iide/ldproxy:latest

For more information, have a look at the deployment guide (English, German).

When your container is up and running, it is time to create your first API (English, German).

To run ldproxy without docker, a 64-bit Java environment with Java 11 is recommended.

Development

The only requirement is an installation of JDK 11. To set up a local development environment, follow these steps:

git clone https://github.com/interactive-instruments/ldproxy.git
cd ldproxy
./gradlew run

That's it, a local server is running at port 7080.

You can also create a distribution by running ./gradlew distTar or ./gradlew distZip. The resulting archive can then be extracted on any machine with Java 11 and ldproxy can be started with one of the scripts under ldproxy/bin/.

Additional information will be documented in a developer and design documentation (work-in-progress).

<!-- ## Community extensions For additional extensions to ldproxy that are not part of the releases, see [(TODO)](https://github.com/interactive-instruments/ldproxy-community). -->