Lors des imports massifs les données sources peuvent être intégralement en majuscule ou en minuscule, il faut alors reprendre un à un tous les noms pour les écrire correctement. Cette tâche est longue et fastidieuse, pour réduire cette lourdeur j'ai écris une fonction à intégrer dans une base PostgreSQL en PL/Perl qui simplifie grandement le travail de ré-écriture. La fonction osm_capitalize suit les règles définies dans le Code officiel géographique de l'INSEE. Au vu des règles suivies la fonction n'est valide que pour les toponymes français.

Un exemple d'utilisation de la fonction, la première colonne présente le nom tels que trouvés dans un import, et la colonne de gauche le même nom passé au travers de la fonction.

Le petit pré                | Le Petit Pré
Le petit du champs des prés | Le Petit du Champs des Prés
LE PETIT DU CHAMPS DES PRÉS | Le Petit du Champs des Prés
la près d'hier              | La Près d'Hier
Bourg-en-bresse             | Bourg-en-Bresse
BOURG-EN-BRESSE             | Bourg-en-Bresse
l'epine                     | L'Epine
L'EPINE                     | L'Epine
LA ROCHE-SUR-YON            | La Roche-sur-Yon
CLAVANS-EN-HAUT-OISANS      | Clavans-en-Haut-Oisans
l'isle-jourdain             | L'Isle-Jourdain
PONT D'AIN                  | Pont d'Ain
SAINT-ANDRÉ-D'HUIRIAT       | Saint-André-d'Huiriat

Mise à jour du 26 juin : le code a migré chez Gitorious