2#include <nlohmann/json.hpp>
3#include <magic_enum.hpp>
11template<fishnet::geometry::Geometry G>
37 static std::vector<fishnet::util::Predicate_t<G>>
getFilters(
const nlohmann::json & filtersDesc){
38 std::vector<fishnet::util::Predicate_t<G>> filters;
39 for(
const auto & filterDesc: filtersDesc){
41 if(filter.has_value()){
42 filters.push_back(std::move(filter.value()));
48 static std::vector<fishnet::util::BiPredicate_t<G,G>>
getBinaryFilters(
const nlohmann::json & filtersDesc){
49 std::vector<fishnet::util::BiPredicate_t<G,G>> filters;
50 for(
const auto & filterDesc: filtersDesc){
52 if(filter.has_value()){
53 filters.push_back(std::move(filter.value()));
FilterType
Definition FilterType.hpp:3
BinaryFilterType
Definition FilterType.hpp:7
Filter that approximates the area in m² and checks if it is equal or greater than the required area.
Definition ApproxAreaFilter.hpp:10
Binary Filter, testing if the other polygons contain another or are inside a hole.
Definition InsidePolygonFilter.hpp:9
Definition JSONFilterFactory.hpp:12
static std::vector< fishnet::util::BiPredicate_t< G, G > > getBinaryFilters(const nlohmann::json &filtersDesc)
Definition JSONFilterFactory.hpp:48
static std::vector< fishnet::util::Predicate_t< G > > getFilters(const nlohmann::json &filtersDesc)
Definition JSONFilterFactory.hpp:37
static fishnet::Option< fishnet::util::Predicate_t< G > > getFilter(const nlohmann::json &filterDesc)
Definition JSONFilterFactory.hpp:15
static fishnet::Option< fishnet::util::BiPredicate_t< G, G > > getBinaryFilter(const nlohmann::json &filterDesc)
Definition JSONFilterFactory.hpp:27
Definition FunctionalConcepts.hpp:36
std::function< bool(const T &)> Predicate_t
Definition FunctionalConcepts.hpp:39
std::function< bool(const T &, const R &)> BiPredicate_t
Definition FunctionalConcepts.hpp:45