ERDDAP2WFS is a project allowing ERDDAP datasets to be translated and exported as WFS OGC API server that is mimially compliant with the OGC API - Features (OAPIF) standard.
ERDDAP Dataset Compatibility:
Designed to work with OTN Slocum Glider datasets, but should work with any dataset that has time/lat/lon
Most to least compatible:
- Works best with variables
m_gps_lat/m_gps_lonto find surfacings - If those variables aren't in the ERDDAP dataset, it uses
profile_idanddepthto try and find likely surfacings - If all else fails it will just use
time/lat/lon
- Configure the
ERDDAPenvironment variable in the docker-compose.yml - Run with:
docker compose up
- In the top menubar navigate to
Layer > Data Source Manager - In the dialog box's side menu go to
WFS / OGC API - Features - Click
Newand enter the address of the computer running the server underURL, eg:http://localhost:8000/ - To verify it's working, click
Detectbutton next to theVersionbox, it should auto detect the version, if not check to make sure the IP is correct and there are no errors coming from the server. - Now when you click the
Connectbutton you should see all the ERDDAP layers from the configured ERDDAP.
Available API endpoints:
- /docs
- /collections
- /collections/{collection}
- /collections/{collection}/items
- /collections{collection}/items/{feature_id}
Forked from: python-wfs-server
This is a WIP project. However, the main branch is, and should continue be functional.
- python-wfs-modification
- Modified codebase to work with custom ERDDAP proxy code instead of geojson files
- Removed unused code (mostly related to tiles)
- Fixed some data structure bugs
- Updated docker files
- ERDDAP Datasets as collections
- Translate ERDDAP dataset to OGC API (collection)
- Convert dataset only when requests, caches the dataset for future use, since ERDDAP is slow
- Refactor server code (was originally made just as a proof of concept)
- Translate ERDDAP dataset to be path or points (currently just points)
- Stream data to eliminate request freezing for long periods of time (again, since ERDDAP is slow)
- I think this can only be done with points
- Fix tests, I guess