Cette API utilise la base de données "KerOfis" libérée par l'Office public de la langue bretonne (OPLB). Le jeu de données est disponible sur cette page.
Cette API offre les méthodes suivantes :
[TODO]
Retourne un ensemble d'informations globales sur la base de données :
- date du dernier import de données
- liste des dates de tous les imports / mises à jour de la base de données
{
"attribution_br": "KerOfis gant osm-bzh",
"attribution_en": "KerOfis by osm-bzh",
"attribution_fr": "KerOfis par osm-bzh",
"file_imports": {},
"last_file_import": "2017-10-31",
"licence": "Open Database License (ODbL) v1.0",
"name": "KerOfis data provided by Ofis publik ar brezhoneg"
}
[TODO]
[TODO]
Renvoie la liste (non paginée) de toutes les communes contenues dans la base de données.
{
"attribution_br": "kerOfis gant osm-br",
"attribution_en": "kerOfis by osm-br",
"attribution_fr": "kerOfis par osm-br",
"count": "4",
"licence": "Licence Ouverte / Open Licence",
"municipalities": [
"{'insee':'29152','name:br':'Motrev','name:fr':'Motreff','nb': 83}",
"{'insee':'29174','name:br':'Ploneour-Lanwern','name:fr':'Plon\u00e9our-Lanvern','nb': 481}",
"{'insee':'29212','name:br':'Plouzane','name:fr':'Plouzan\u00e9','nb': 196}",
"{'insee':'35047','name:br':'Bruz','name:fr':'Bruz','nb': 55}"
]
}
Renvoie une liste de communes, en fonction de 4 critères de recherche :
- code insee :
insee={insee}
- nom en breton :
name:br={name:br}
- nom en français :
name:fr={name:fr}
- langue de recherche :
lang=fr
oulang=br
Si le code INSEE ne contient que 2 chiffres, une recherche départementale sera effectuée. Exemple : /kerofis/municipalities/search/?insee=29
Exemples :
- la liste des communes dans le Finistère :
/kerofis/municipalities/search/?insee=29
- la liste des communes qui commence par plou :
/kerofis/municipalities/search/?name:fr=plou
- recherche des voies dont le nom en fr contient min :
/kerofis/search/?insee=*&lang=fr&name=min
- recherche des voies dont le nom en br contient min :
/kerofis/search/?insee=*&lang=br&name=min
- toutes les voies d’une commune :
/kerofis/search/?insee=29152&lang=br&name=*
- liste des objets contenant "maner" sur Ploneour-Lanwern :
/kerofis/search/?insee=29174&lang=br&name=maner
- liste des lieux-dits contenant "maner" sur Ploneour-Lanwern :
/kerofis/search/?insee=29174&lang=br&name=maner&type=K%C3%AAriadenn
- liste des rues contenant "maner" sur Ploneour-Lanwern :
/kerofis/search/?insee=29174&lang=br&name=maner&type=Hent
- PostgreSQL > 9.4
- Python 2.7
- psycopg2
# get the code
git clone https://github.com/osm-bzh/api-kerofis.git
cd api-kerofis
# set up phyton venv
virtualenv venv
# install flask and psycopg2
pip install flask psycopg2
# turn on venv
. venv/bin/activate
# tell your terminal the application to work with by exporting the FLASK_APP environment variable
export FLASK_APP=kerofis.py
# launch flask
flask run
* Serving Flask app "kerofis"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Ouvrir un navigateur et aller sur http://127.0.0.1:5000/kerofis/
# get the code
git clone https://github.com/osm-bzh/api-kerofis.git
cd api-kerofis
# check python version
python --version
# installing psycopg2
apt-get install python-psycopg2
# install required modules
pip install -r requirements.txt