logo

FOSS4G 2022 | pygeofilter: geospatial filtering made easy

FOSS4G

FOSS4G

10 followers

time1 yr agoview1 views

Abstract

pygeofilter (https://github.com/geopython/pygeofilter/) is a library to support the integration of geospatial filters. It is split into frontend language parsers (CQL 1 + 2 text/JSON, JFE, FES) , a common Abstract Syntax Tree (AST) representation and several backends (database systems) where the parsed filters can be integrated into queries.

Parsers

Currently pygeofilter supports CQL 1, CQL 2 in both text and JSON encoding, OGC filter encoding specification (FES) and JSON filter expressions (JFE) as input languages. Additionally pygeofilter provides utilities to help create parsers for new filter languages. The filters are parsed to an AST representation, which is a common denominator across all filter capabilities including logical and arithmetic operators, geospatial comparisons, temporal filters and property lookups. An AST can also be easily created via the API, if necessary.

Backends

pygeofilter provides several backends and helpers to roll your own. Built-in backends are for Django, SQLAlchemy, raw SQL, (Geo)Pandas dataframes, and native Python lists of dicts or objects.

Usage

pygeofilter is used in several applications, such as PyCSW (https://pycsw.org/), EOxServer (https://github.com/EOxServer/eoxserver/) and ogc-api-fast-features (https://github.com/microsoft/ogc-api-fast-features/)

Fabian Schindler-Strauss

https://talks.osgeo.org/foss4g-2022/talk/GPPKXW/

#foss4g2022 #generaltrack #Stateofsoftware

Loading comments...