Skip to content

gispulse-src-ign

IGN reference data source for GISPulse — BD TOPO vector layers and Admin Express administrative boundaries via IGN Géoplateforme WFS (domain BASE, jurisdiction FR).

Provider

FieldValue
Upstream producerIGN (Institut national de l'information géographique et forestière)
RedistributorIGN Géoplateforme (public WFS, no API key required)
DatasetsBD TOPO v3 (BDTOPO_V3), Admin Express COG (ADMINEXPRESS-COG.LATEST)
LicenceLicence Ouverte 2.0
CadenceAnnual millésime (service-wide)

Note: GEOFLA is deprecated upstream. The geofla entry id is kept as a legacy alias of the Admin Express communes entry and resolves transparently.

Entries

All entries use AccessProtocol.WFS, endpoint https://data.geopf.fr/wfs/ows, format application/json.

idLabelWFS typenameDatasetPayloadJurisdiction
batimentsBuildings (BD TOPO)BDTOPO_V3:batimentBD TOPO v3VECTORFR
routesRoad segments (BD TOPO)BDTOPO_V3:troncon_de_routeBD TOPO v3VECTORFR
cours_eauWaterways (BD TOPO)BDTOPO_V3:cours_d_eauBD TOPO v3VECTORFR
communesCommunes (Admin Express)ADMINEXPRESS-COG.LATEST:communeAdmin ExpressVECTORFR
departementsDépartements (Admin Express)ADMINEXPRESS-COG.LATEST:departementAdmin ExpressVECTORFR
regionsRégions (Admin Express)ADMINEXPRESS-COG.LATEST:regionAdmin ExpressVECTORFR

Legacy alias: geofla resolves to communes in _entry() / revision() lookups but is not listed by entries() or catalog(). Use communes for new code; geofla is accepted silently for backwards-compat.

Revision

revision(entry_id) issues a single HTTP HEAD against the Géoplateforme WFS GetCapabilities URL:

https://data.geopf.fr/wfs/ows?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetCapabilities

The freshness token is derived from the ETag header (preferred) or the Last-Modified header. The IGN millésime is service-wide, so all six entries share one probe. The legacy geofla alias is resolved before the id is validated. Returns None — meaning "freshness unknown" — when the endpoint is unreachable or exposes neither header.

Usage

python
from gispulse.plugins.api import get_catalog_entry

entry = get_catalog_entry("ign", "communes")
# entry.access.protocol → AccessProtocol.WFS
# entry.access.endpoint → "https://data.geopf.fr/wfs/ows"
# entry.access.params   → {"typename": "ADMINEXPRESS-COG.LATEST:commune"}

# Legacy alias — resolves to communes internally (not listed in catalog):
entry = get_catalog_entry("ign", "geofla")  # equivalent to communes

The plugin registers automatically via the gispulse.data_sources entry-point when installed:

bash
pip install gispulse-src-ign

References

  • Upstream issue: #194 (pilot — multi-layer DeclarativeSource, BD TOPO + Admin Express)
  • Upstream issue: #197 (source watcher)
  • Upstream issue: #198 (revision() freshness probe)
  • EPIC: #175
  • Data portal: https://data.geopf.fr/

Published under AGPL-3.0 license.