||7 months ago|
|.vscode||1 year ago|
|.gitignore||1 year ago|
|README.md||7 months ago|
|Swisstopo-REFRAME-Web-API.pdf||1 year ago|
|main.py||7 months ago|
|poetry.lock||1 year ago|
|pyproject.toml||1 year ago|
Fire Hydrants Data Converter
NOTE: This information and scripts apply only to Kanton Zurich, Switzerland.
Unfortunately coordinates of fire hydrants are seemingly not common Open Data in Kanton Zurich. Stadt Zürich has a very nice Open Data strategy, data is openly accessible here https://data.stadt-zuerich.ch/dataset/geo_hydranten.
There is an Android App called GVZ Hydranten Finder which is able to display locations of fire hydrants on a map, but it's very limited and the data is seemingly not accessible.
But: The app has to have to data from somewhere. When extracting this data and feed it to this little Python script, the fire hydrants are then available as GPX file. The data is stored in an SQLite database locally. It is retrieved on startup from a Google Firebase database.
Get the data
- Install the Android App
- Start the App, the data is now downloaded
- Copy the SQLite database to your computer:
adb root adb pull /data/data/ch.gvz.hydrants/databases/hydrants_live.sqlite
Convert the data
Run the script
python main.py <PLZ> > hydranten.gpx and you're done.
About the data and coordinates
The data is stored in a single table
hydrants with the following columns:
The coordinates are stored in LV95 format which needs to be converted to
WGS95 to be compatible with the GPS format. This seems to be a conversion which isn't very accurate, so the position of the fire hydrants is not very accurate as well. But it seems to be "good enough".
Conversion of the coordinates happen with a local function, the source is from here: libracore/erpnextswiss/. This code is AGPLv3 licensed.
An alternative to convert the coordinates could be the REST service REFRAME of Swisstopo.