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.