====== Open Refine ======
===== Ressources =====
* [[http://openrefine.org/|OpenRefine]] : permet de manipuler des données CSV et d'aggréger des données via des web services
* Voir aussi [[http://tabula.technology/|Tabula]] : extraction de données tabulaire d'un PDF
* http://www.tela-botanica.org/wikini/DevInformatiques/wakka.php?wiki=AideGoogleRefine
===== Services web utiles =====
**Hexadécimal vers décimal : **
* Web service : http://www.binaryhexconverter.com/hesapla.php?fonksiyon=hex2dec°er=2F
* Exemple GREL : '' 'http://www.binaryhexconverter.com/hesapla.php?fonksiyon=hex2dec°er='+escape(value, 'url') ''
** Rechercher une latitude & longitude basé sur un nom : **
* Web service : http://nominatim.openstreetmap.org/search/?q=Langogne&countrycodes=fr&format=json&app=google-refine&email=anonymous@tela-botanica.org
* Exemple GREL : '' 'http://nominatim.openstreetmap.org/search/?q='+escape(value, 'url')+'&countrycodes=[codeISO3166DePays]&format=json&app=google-refine&email=[votreCourriel]' ''
** Rechercher un nom commune et son code INSEE : **
* Web service : http://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon=3.86589&lat=44.73702
* Exemple GREL : '' "http://api.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon="+cells["longitude"].value+"&lat="+cells["latitude"].value ''
** Convertion de Lambert 93 vers WGS84 : **
* Web service : http://api.tela-botanica.org/service:eflore:0.1/coord-transfo/point?x=934279&y=6488852&epsg-src=2154&epsg-dest=4326
* Exemple GREL : '' "http://api.tela-botanica.org/service:eflore:0.1/coord-transfo/point?x="+cells['ext:coordonneeLambert93X'].value+"&y="+cells['ext:coordonneeLambert93Y'].value+"&epsg-src=2154&epsg-dest=4326" ''
** Rechercher l'altitude d'une coordonnée: **
* Web service : http://api.tela-botanica.org/service:eflore:0.1/nasa-srtm/altitude?lon=3.86589&lat=44.73702
* Exemple GREL : '' "http://api.tela-botanica.org/service:eflore:0.1/nasa-srtm/altitude?lon="+cells["longitude"].value+"&lat="+cells["latitude"].value ''
===== Formules =====
Découper un code INSEE pour récupérer le numéro de département :
if(value.length() == 4, "0"+match(value, /(\d)\d\d\d/)[0], match(value, /(\d\d)\d\d\d/)[0])
Comparer 2 colonnes :
if(or(isBlank(cells["code_commune"].value), isNull(cells["code_commune"].value)), "vide", if(cells["code_commune"].value+"" == cells["code_insee_calcule"].value, "identique", "différent"))
===== Templates =====
Template pour créer une tableau multi-dimenssionnel PHP :
'' '{{cells["tag_cel"].value}}' => array('id' => '{{cells["id"].value}}', 'tag' => '{{cells["tag"].value}}', 'categorie' => '{{cells["categorie"].value}}') ''
===== Aides =====
* Récupérer le contenu d'une colonne : '' cells["nom_de_la_colonne"].value ''
* Parser du JSON et récupérer une valeur ayant pour clé "ma_cle" : '' "" parseJson(value).get("ma_cle") "" ''