Skip to main content

Simple and Fast Geospatial Features API for PostGIS.

Project description

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


:warning: This project is on pause while we focus on developmentseed/tipg :warning:

ref: https://github.com/developmentseed/timvt/discussions/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:password@0.0.0.0:5432/postgis

Launch

$ pip install uvicorn

# Set your postgis database instance URL in the environment
$ export DATABASE_URL=postgresql://username:password@0.0.0.0: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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tifeatures-0.1.0a4.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

tifeatures-0.1.0a4-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file tifeatures-0.1.0a4.tar.gz.

File metadata

  • Download URL: tifeatures-0.1.0a4.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.3

File hashes

Hashes for tifeatures-0.1.0a4.tar.gz
Algorithm Hash digest
SHA256 b3c267f2b71626c01e6ffdcb45f055f7e3731da8e973253522f3c66b6ae83653
MD5 679127df1669423ffb68051bc3772629
BLAKE2b-256 c5a705b5077a289c5c46c69780602734ef7fef0670019bdf86c623406540034c

See more details on using hashes here.

File details

Details for the file tifeatures-0.1.0a4-py3-none-any.whl.

File metadata

File hashes

Hashes for tifeatures-0.1.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 af14ad4fda38ab939a14b9f60999e51265ae2b07db2385c51c0da477989696f3
MD5 2d8693576105515e6c6afc0bdec26906
BLAKE2b-256 84966e29215cc387c16d8769b570c6d71bc11d1df9eae4471a3ecc944f73fbb3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page