Skip to content

developmentseed/tifeatures

Repository files navigation

Simple and Fast Geospatial Features API for PostGIS.

Test Coverage Package version License


Documentation: https://developmentseed.org/tifeatures/

Source Code: https://github.com/developmentseed/tifeatures


⚠️ This project is on pause while we focus on developmentseed/tipg ⚠️

ref: developmentseed/timvt#96


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.


Install

$ 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 .

OGC Specification

Specification Status link
Part 1: Core https://docs.ogc.org/is/17-069r4/17-069r4.html
Part 2: CRS by Reference https://docs.ogc.org/is/18-058r1/18-058r1.html
Part 3: Filtering / CQL2 https://docs.ogc.org/DRAFTS/19-079r1.html

Notes:

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).

PostGIS/PostgreSQL

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;

Configuration

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.

Example of .env file can be found in .env.example

# you need define the DATABASE_URL directly
DATABASE_URL=postgresql://username:[email protected]:5432/postgis

Launch

$ 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

See CONTRIBUTING.md

License

See LICENSE

Authors

Created by Development Seed

Changes

See CHANGES.md.

About

Simple and Fast Geospatial Feature Server for PostGIS.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •  

Languages