Skip to main content
Skip to main content

Welcome to FilterMate

FilterMate is a production-ready QGIS plugin that provides advanced filtering and export capabilities for vector data - works with ANY data source!

πŸŽ‰ What's New in v2.3.7 - Project Change Stability Enhancement​

Enhanced Project Change Handling​

  • πŸ›‘οΈ Complete Rewrite of _handle_project_change() - Forces cleanup of previous project state
  • πŸ—‘οΈ Full State Reset - Clears PROJECT_LAYERS, add_layers queue, and all state flags
  • πŸ”— Dockwidget Sync - Resets layer references to prevent stale data access

New cleared Signal Handler​

  • πŸ“’ _handle_project_cleared() Method - Proper cleanup on project close/clear
  • πŸ”Œ Connected to QgsProject.instance().cleared - Handles new project and project close events
  • πŸ›‘οΈ State Reset - Ensures plugin state is properly reset when project changes

F5 Shortcut: Force Reload Layers​

  • ⌨️ Press F5 in dockwidget to force complete layer reload
  • πŸ”„ Manual Recovery when automatic project change detection fails
  • πŸ“Š Status Indicator shows reload in progress ("⟳")

Bug Fixes​

  • πŸ› Fixed Project Change Not Reloading Layers - Root cause identified and fixed
  • πŸ› Fixed Signal Timing Issue - QGIS emits layersAdded BEFORE projectRead handler completes
  • πŸ”§ Now manually triggers add_layers after cleanup instead of waiting for missed signal

Previous Updates​

v2.3.6 - Project & Layer Loading Stability (December 18, 2025)​

  • πŸ›‘οΈ Centralized Timing Constants - STABILITY_CONSTANTS dict
  • ⏱️ Timestamp-Tracked Flags - Auto-reset after 30 seconds
  • βœ… Layer Validation - _is_layer_valid() checks C++ object validity
  • πŸ”„ Signal Debouncing - Graceful handling of rapid signals

v2.3.5 - Code Quality & Configuration v2.0 (December 17, 2025)​

  • πŸ› οΈ Centralized Feedback System - Unified message bar notifications (show_info/warning/error/success)
  • ⚑ PostgreSQL Init Optimization - 5-50Γ— faster layer loading with connection caching
  • βš™οΈ Configuration v2.0 - Integrated metadata structure with auto-migration
  • πŸ”’ Forced Backend Respect - User choice strictly enforced (no fallback to OGR)
  • πŸ› Bug Fixes - Fixed syntax errors and bare except clauses
  • 🧹 Code Quality - Score improved to 8.9/10

v2.3.4 - PostgreSQL 2-Part Table Reference Fix (December 16, 2025)​

  • πŸ› CRITICAL: Fixed PostgreSQL 2-part table references - Spatial filtering now works correctly with tables using "table"."geom" format
  • ✨ Smart display field selection - New layers auto-select the best descriptive field (name, label, titre, etc.)
  • πŸ› οΈ Automatic PostgreSQL ANALYZE - Query planner now gets proper statistics before spatial queries

Why FilterMate?​

  • πŸš€ Fast: Optimized backends for PostgreSQL, Spatialite, and OGR
  • 🎯 Precise: Advanced spatial predicates and buffer operations
  • πŸ’Ύ Export Ready: Multiple formats (GeoPackage, Shapefile, GeoJSON, PostGIS)
  • πŸ“œ History: Full undo/redo with filter history tracking
  • 🎨 Beautiful: WCAG-compliant UI with theme support
  • πŸ”§ Flexible: Works with any vector data source

Quick Start​

  1. Install: Open QGIS β†’ Plugins β†’ Manage and Install Plugins β†’ Search "FilterMate"
  2. Open: Click the FilterMate icon in the toolbar
  3. Filter: Select a layer, write an expression, click Apply
  4. Export: Choose format and export your filtered data

πŸ‘‰ Complete Installation Guide


⚑ Try FilterMate in 3 Minutes​

New to FilterMate? Start with a quick task to see it in action immediately:

πŸ” Task 1: Filter by Attribute​

Time: 2 minutes | Difficulty: ⭐
Goal: Show only large cities

Filter expression: "population" > 100000

▢️ Start Tutorial


πŸ“ Task 2: Geometric Filter​

Time: 3 minutes | Difficulty: ⭐
Goal: Find buildings near roads

Use spatial predicates with 200m buffer

▢️ Start Tutorial


πŸ’Ύ Task 3: Export Filtered Data​

Time: 2 minutes | Difficulty: ⭐
Goal: Save filtered features to GeoPackage

Choose format and CRS, click Export

▢️ Start Tutorial

Sample Data Available

Don't have data to test? Download our sample dataset (Paris 10th - 5 MB) with pre-configured QGIS project.


Explore what you can achieve with FilterMate:

πŸ™οΈ Urban Planning​

Find properties within walking distance of transit stations

Combine buffer operations with attribute filtering for transit-oriented development analysis.

View Workflow β†’


🏠 Real Estate Analysis​

Filter homes by price, size, and school proximity

Multi-criteria filtering for investment opportunities and market analysis.

View Workflow β†’


🌳 Environmental Protection​

Identify industrial sites in protected zones

Geometric filtering to assess regulatory compliance and environmental impact.

View Workflow β†’


πŸš’ Emergency Services​

Analyze service coverage areas

Distance calculations to identify underserved areas.

View Workflow β†’

Key Features​

Advanced Filtering​

  • Attribute filtering with QGIS expressions
  • Geometric filtering (intersects, contains, within, etc.)
  • Buffer operations with automatic CRS conversion
  • Multi-layer support

Multiple Backends​

  • PostgreSQL: Best for large datasets (>50k features) - 10-50Γ— faster
  • Spatialite: Good for medium datasets (<50k features)
  • OGR: Universal compatibility (Shapefiles, GeoPackage, etc.)

FilterMate automatically chooses the best backend for your data source - no configuration needed! Learn more in the Backend Selection Guide.

Export Capabilities​

  • Multiple formats: GPKG, SHP, GeoJSON, KML, CSV, PostGIS
  • CRS transformation on export
  • Style export (QML, SLD, ArcGIS)
  • Batch export and ZIP compression

Prerequisites​

Before using FilterMate:

  • βœ… QGIS 3.x installed (any version)
  • βœ… Vector layer loaded in your project
  • ⚑ Optional: Install psycopg2 for PostgreSQL support (recommended for large datasets)

Learning Path​

New to FilterMate? Follow this path:

  1. Installation - Install the plugin and optional dependencies
  2. Quick Start - 5-minute tutorial
  3. Your First Filter - Complete step-by-step example
  4. Interface Overview - Understand the UI
  5. Filtering Basics - Master filtering techniques

Getting Help​

Documentation Sections​

v2.2.0 & Earlier​

  • βœ… Complete Multi-Backend - PostgreSQL, Spatialite, and OGR implementations
  • βœ… Dynamic UI - Adaptive interface that adjusts to screen resolution
  • βœ… Robust Error Handling - Automatic geometry repair and retry mechanisms
  • βœ… Theme Synchronization - Matches QGIS interface theme automatically
  • βœ… Performance Optimized - 2.5Γ— faster with intelligent query ordering

Key Features​

  • πŸ” Intuitive search for entities in any layer
  • πŸ“ Geometric filtering with spatial predicates and buffer support
  • 🎨 Layer-specific widgets - Configure and save settings per layer
  • πŸ“€ Smart export with customizable options
  • 🌍 Automatic CRS reprojection on the fly
  • πŸ“ Filter history - Easy undo/redo for all operations
  • πŸš€ Performance warnings - Intelligent recommendations for large datasets
  • 🎨 Adaptive UI - Dynamic dimensions based on screen resolution
  • πŸŒ“ Theme support - Automatic synchronization with QGIS theme

Video Demo​

Watch FilterMate in action:

FilterMate Demo

Get Started​

Ready to start? Head over to the Installation Guide to set up FilterMate in your QGIS environment.