Simple and Fast Geospatial Features API for PostGIS.
Source Code: developmentseed/tifeatures
TiFeatures, pronounced T[ee]Features, is a python package which helps creating lightweight Features server for PostGIS Database. The API has been designed with respect to OGC Features API specification.
$ python -m pip install pip -U $ python -m pip install tifeatures # or from source $ git clone https://github.com/developmentseed/tifeatures.git $ cd tifeatures $ python -m pip install -e .
|Part 1: Core||✅||docs.ogc.org/is/17-069r4/17-069r4.html|
|Part 2: CRS by Reference||❌||docs.ogc.org/is/18-058r1/18-058r1.html|
|Part 3: Filtering / CQL2||✅||docs.ogc.org/DRAFTS/19-079r1.html|
The project authors choose not to implement the Part 2 of the specification to avoid the introduction of CRS based GeoJSON. This might change in the future.
While the authors tried to follow the specification (part 1 and 3) to the letter, some API endpoints might have more capabilities (e.g geometry column selection).
TiFeatures rely a lot of
ST_* PostGIS functions. You need to make sure your PostgreSQL database has PostGIS installed.
SELECT name, default_version,installed_version FROM pg_available_extensions WHERE name LIKE 'postgis%' or name LIKE 'address%';
CREATE EXTENSION postgis;
To be able to work, the application will need access to the database.
tifeatures uses starlette's configuration pattern which make use of environment variable and/or
.env file to pass variable to the application.
.env file can be found in .env.example
# you need define the DATABASE_URL directly DATABASE_URL=postgresql://username:[email protected]:5432/postgis
$ pip install uvicorn # Set your postgis database instance URL in the environment $ export DATABASE_URL=postgresql://username:[email protected]:5432/postgis $ uvicorn tifeatures.main:app # or using Docker $ docker-compose up
Contribution & Development¶
Created by Development Seed