RecoverLand: Formats

Supported Formats

RecoverLand works with all editable QGIS formats, but not all formats offer the same level of reliability. This page describes precisely what works, what works partially, and what does not work.

Support matrix

FormatCaptureRestoreIdentityLevel
GeoPackageYesYesSTRONGFull
SpatiaLiteYesYesSTRONGFull
PostgreSQL / PostGISYesYesSTRONGFull
Oracle SpatialYesYesSTRONGFull
MS SQL ServerYesYesSTRONGFull
Shapefile (.shp)YesYesMEDIUMFull
GeoJSONYesYesMEDIUMFull
FlatGeobuf (.fgb)YesYesSTRONGFull
CSV / TextYesYes (risky)WEAKPartial
WFS-TYesYesMEDIUMPartial
Memory layerYesNoNONEInformational
Virtual layerNoNoNONERefused

Reading the table

Capture

"Yes" means RecoverLand records changes made on this format. Recording is identical regardless of format: attributes, geometry, operation type.

Restore

"Yes" means RecoverLand can re-apply a previous state to the layer. "Yes (risky)" means the restore is technically possible but the result may be incorrect if feature identifiers have changed in the meantime.

Identity

The identity strength determines how reliably RecoverLand can locate the correct feature at restore time:

  • STRONG: Stable primary key. The feature is located with certainty.
  • MEDIUM: FID generally stable. Correct in most cases, but fragile after certain file operations.
  • WEAK: FID = row number. Shifts as soon as a row is added or deleted.
  • NONE: No stable identifier. Restore is impossible or not meaningful.

GeoPackage (.gpkg)

STRONG

GeoPackage is the recommended format for RecoverLand. It is an OGC-standardized SQLite file with spatial extensions.

Why it is the best choice

  • Auto-incremented primary key (fid) that never reuses deleted values
  • Single file (no .shx, .dbf, .prj to manage)
  • Multi-layer support in a single file
  • Rich data type support (date, datetime, 64-bit integer, blob)
  • No 10-character limit on field names (unlike shapefile)
Recommendation: If you are starting a new project and have a choice of format, use GeoPackage. It offers the highest reliability with RecoverLand.

Shapefile (.shp)

MEDIUM

The shapefile is a legacy but widely used GIS format. RecoverLand fully supports it for capture and restore, with a caveat about FID stability.

What works

  • Capture of all changes (attributes, geometry, deletions, insertions)
  • Correct restore as long as the file has not been re-exported or packed

What can fail

Unstable FID: The FID of a shapefile is the row number in the .dbf file. If the shapefile is re-exported, packed (Pack), or reorganized after deletions, FIDs change. The restore risks modifying the wrong feature.

Concrete problem cases

  • You export the shapefile using "Save As..." to a new file
  • An external script reorganizes or packs the .dbf
  • You delete features then "Pack" the shapefile in another tool

If you edit the shapefile only in QGIS without re-exporting it, FIDs remain stable and the restore works correctly.

GeoJSON (.geojson)

MEDIUM

Same behavior as shapefile. FIDs are generally stable as long as the file is edited only in QGIS. A re-export or external edit can change FIDs.

FlatGeobuf (.fgb)

STRONG

FlatGeobuf uses stable identifiers similar to GeoPackage. It is a good choice for large files thanks to its built-in spatial index.

CSV / Delimited text

WEAK

CSV has no concept of a primary key. The FID is the row number in the file.

Highly risky restore: Adding or deleting a single row shifts all subsequent FIDs. RecoverLand captures the changes, but the restore has a high chance of modifying the wrong row if the file has changed.

Recommended use

Use RecoverLand on a CSV only to consult the history (see what changed and when). Avoid automatic restore on this format. If you must restore, export the CSV to GeoPackage first.

PostgreSQL / PostGIS

STRONG

PostgreSQL tables have an explicit primary key (usually gid or id). RecoverLand stores this key in feature_identity_json and uses it for restore.

Two modes: RecoverLand supports PostgreSQL via the local SQLite backend (automatic capture) and via the legacy backend (direct connection). The local mode is recommended because it does not depend on server availability to browse the history.

SpatiaLite

STRONG

Similar to GeoPackage: SQLite file with spatial extensions, stable auto-incremented primary key. Fully supported.

MS SQL Server

STRONG

Explicit primary key, strong identity. Fully supported for capture and restore.

Oracle Spatial

STRONG

Explicit primary key, strong identity. Fully supported for capture and restore.

Memory layer

NONE

Memory layers have no source file. They exist only in the current QGIS session and disappear when it is closed.

RecoverLand captures changes for audit purposes only (the history is visible), but restore is impossible: there is no persistent target to re-apply the data to.

WFS (Web Feature Service)

MEDIUM

WFS-T (transactional) layers are supported for capture and restore. Reliability depends on the WFS server and the stability of the identifiers it provides.

Network dependency: Restore requires the WFS server to be accessible at restore time. If the server is offline, the restore fails.

Virtual layer

REFUSED

Virtual layers are views derived from other layers. RecoverLand refuses them entirely: no capture, no restore. Modifying a virtual layer makes no sense because it is recalculated from its sources.

Format recommendation

Recommended GeoPackage, SpatiaLite Acceptable Shapefile, GeoJSON Risky CSV, Delimited text Stable primary key Reliable restore Multi-layer FID stable in normal use Fragile if re-exported Widely used FID = row number Unreliable restore Consultation only

If you have a choice of format, use GeoPackage. It is a single portable file with stable identifiers. RecoverLand will operate optimally with this format.