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.0a3.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tifeatures-0.1.0a3.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.0a3.tar.gz
Algorithm Hash digest
SHA256 6db45ac1b956047a9f01c8684aa1bfdb07e3bc43376460879f3d67020c2df91f
MD5 460d969e510395416410733a654d9f73
BLAKE2b-256 aee398e1c34913d309ba58f39bbfdc6efa0ddacbab66c8d56961001c645e0297

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tifeatures-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 5b87b482ff5910e6020bc678832af29e5db356a9a6525d062d738c405567f189
MD5 f27ff2a887a61a0925081eea51435003
BLAKE2b-256 b0c736dba124a9f85d4e7fd49b81e14b9a34ba34d450e8e32aebf00d72e0f68d

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