Essai de géolocalisation des BU

Après avoir récupéré toutes les fiches des RCR à partir du site du Sudoc (voir billet précédent), j’ai tenté de les exploiter en créant une carte dynamique. Il s’agit avant tout d’un essai destiné à tester quelques outils.

Les outils

De nombreux outils en ligne ou à télécharger permettent de réaliser des cartes personnalisées, mais je n’ai aucune expérience en la matière. Après avoir lorgné du coté de Géoclip qui permet d’avoir sous la main des jeux de données statistiques intéressants et présente l’avantage d’être centré sur la France, j’ai finalement préféré utiliser Mapbox, et son outil hors ligne TileMill, qui me semblaient plus souples.

Je n’ai pas lu en détail les CGU de Mapbox, mais elles me semblent honnêtes :

Your content is your content. You retain ownership of all content that You contribute to the Services, but in order to provide the Services hereby grant Mapbox a non-exclusive, worldwide, royalty-free, transferable right and license (with the right to sublicense), to use, copy, cache, publish, display, distribute, modify, create derivative works, and store such content and to allow others to do so. On termination of Your membership to the Site and use of the Services, Mapbox shall make all reasonable efforts to promptly remove from the Site and cease use of the content; however, You recognize and agree that caching of or references to the content may not be immediately removed. You warrant, represent, and agree You have the right to grant Mapbox the rights set forth above.

Mapbox peut s’utiliser directement en ligne, après création d’un compte gratuit (il y a des fonctionnalités payantes), ou servir de plateforme de diffusion pour une carte réalisée avec l’outil hors ligne TileMill. Cet outil permet apparemment un travail plus fin et complexe que Mapbox. Je l’ai donc téléchargé sur mon ordi et réalisé la carte avec lui avant de l’uploader vers Mapbox. TileMill permet également d’exporter la carte dans d’autres formats, destinés à l’affichage (PNG, PDF), au graphisme (SVG), ou spécifiquement à la cartographie (MBTiles et Mapnik XML). J’imagine qu’un export dans ces deux derniers formats permettrait de réutiliser la carte dans d’autres logiciels.

TillMill est apparemment une surcouche graphique permettant d’utiliser le moteur de rendu Mapnik (outil libre sous licence GPL 2).

Son usage repose sur:

  • des « couches » d’affichages alimentées par différents fichiers,

Pour cet essai, j’ai utilisé 4 couches :

  • countries : couche installée par défaut, indiquant les limites des pays,
  • 10m-admin-1-states-provinces-lines : limites infranationales de 1er niveau (chez nous, les régions), couche disponible (avec de nombreuses autres) dans le dépôt de couches de Mapbox,
  • bu : couche réalisée à partir d’un fichier csv reprenant les données relatives aux BU et bibliothèques de recherche,
  • villes : couche réalisée à partir d’un fichier csv recensant les villes universitaires.
couches dans TileMill

couches dans TileMill

 

 

 

 

 

 

 

 

Les fichiers csv importés doivent comprendre une ligne d’entête, dont deux colonnes « latitude » et « longitude », qui seront utilisées automatiquement par le logiciel pour placer les points correspondant à chaque item.

Il faut ensuite appliquer une feuille de style CartoCSS pour définir les éléments à afficher et surtout la manière de le faire…

Voici mon code:

La structure est proche du CSS, mais les propriétés sont différentes.

Chaque #id correspond à une couche de données (on peut aussi les utiliser sous forme de .class mais je n’ai pas testé).

Le langage permet de mettre en oeuvre des conditions, avec la syntaxe [condition], où condition se réfère à une des colonnes d’un jeu de données:

  • [COUNTRYNAM= »France »] permet de n’afficher les limites régionales que pour la France,
  • [afficher= »x »] permet d’afficher uniquement le nom de certaines villes (mon fichier csv comprend toutes les communes françaises, mais j’ai ajouté une colonne « afficher » contenant la valeur « x » uniquement pour les villes universitaires),
  • #bu [Type= »Bibliothèque universitaire »] [Specialite!= »Bibliothèque électronique »] joue combine deux conditions : un style d’affichage déterminé est prévu pour les données du fichier « bu » qui sont de type « Bibliothèque universitaire » ET dont la spécialité n’est pas « Bibliothèque électronique »
  • [Sous-type= »ESPE »] et [Sous-type= »IUT »] permet de cibler les BU rattachées à ces deux types d’établissement.

Les marqueurs peuvent être des ronds (en standard), ou des formes géométriques. J’ai importé un jeu d’icônes (Maki) pour avoir des formes supplémentaires (j’utilise juste le carré et le triangle).

Pour les villes, j’ai uniquement affiché leur nom, sans définir un marqueur. L’affichage des labels est assez casse-pied, et les options assez mal documentées à mon goût, donc le code n’est sans doute pas optimal.

Enfin, TillMill permet de définir une légende (à coder en HTML, avec une lacune : il n’est semble pas possible de réutiliser de manière simple le fichier SVG utilisé pour définir un marqueur dans le code CartoCSS), et deux types d’infobulles : un teaser qui s’affiche au survol, et une boite plus détaillée qui s’affiche après un clic. Les infobulles peuvent contenir des balises html, du texte, et des références à des champs d’une couche de données.

Dans mon cas, le teaser contient

 

Et l’affichage complet

 

Les données

Les fiches des RCR contiennent la latitude et la longitude de la grande majorité des bibliothèques. Mais dans une dizaine de cas j’ai dû les ajouter (en prenant les coordonnées de la ville) à la main, ou les corriger car les données du Sudoc étaient fausses.

D’autre part, j’ai ajouté plusieurs colonnes désignant le type secondaire (pour l’instant juste les bibliothèque d’IUT et d’ESPE), et la spécialité de la bibliothèque. Je n’ai pas exploité cette dernière information, sauf pour exclure de l’affichage les « bibliothèques électroniques », qui n’accueillent pas de public.

La carte regroupe donc 3 types de bibliothèques, réparties selon les catégories du Sudoc:

Catégorie Nombre dont bibliothèque électroniques
Bibliothèque universitaire 494 60
Bibliothèque d’institut ou de département universitaire 794 1
Bibliothèque d’enseignement supérieur et de recherche hors université 463 13
Total Résultat 1751 74

La dernière catégorie déborde le monde universitaire, puisqu’elle inclut des bibliothèques de grands établissements publics, mais aussi d’écoles privées ou d’EPST (CNRS, INSERM, INRA…) qui participent le plus souvent simplement au Sudoc pour signaler leurs périodiques. Il serait possible de les masquer au besoin.

J’avoue être un peu déçu par la répartition des bibliothèques au sein de ces trois catégories :

  • j’aimerais savoir si une bibliothèque est classée en « bibliothèque d’institut ou de département » sur des critères fonctionnels ou administratifs (bibliothèque « intégrée » ou pas au SCD),
  • certains choix semblent incohérents. Par exemple la bibliothèque de l’INSA de Rouen est dans la catégorie « bibliothèques de recherche et d’enseignement supérieur hors université », alors que celle de l’INSA de Rennes est dans la catégorie « bibliothèques d’institut ou de département », alors que l’INSA de Rennes est indépendant (mais il partage son catalogue avec le SCD de Rennes 1, ce qui peut éventuellement expliquer ce choix),
  • on retrouve des ESPE dans les trois catégories, et des IUT dans les deux premières. Pour les ESPE, j’imagine qu’à terme tous ceux qui vont être détachés de leur université pour être repris par une COMUE auront vocation à rejoindre la 3e catégorie.

Concernant les IUT et les ESPE, voici la répartition:

  • « bibliothèques universitaires » :
    • ESPE des académies de Poitiers, Rouen, Créteil, Versailles, Reims, Lyon, Grenoble, et certains de l’académie de Toulouse,
    • IUT des académies de Bordeaux, Montpellier, Paris, Nancy, Strasbourg,
  • « bibliothèques d’instituts ou de département »
    • ESPE des académies de Strasbourg, Besançon, Dijon, Aix-Marseille, Montpellier, Bordeaux, Nantes, Rennes, Caen, Orléans-Tours, Amiens, Clermont-Ferrand
    • tous les IUT sauf pour les Académies de Bordeaux, Montpellier, Paris, Nancy, Strasbourg
  • « bibliothèques de recherche et d’enseignement supérieur hors université »:
    • certains ESPE des académies de Toulouse, et ceux de Paris et Lille.

La carte

Pour l’instant ce n’est pas tout à fait au point, en particulier pour l’affichage de l’outre-mer, le niveau de zoom, qui est réduit par rapport à l’outil hors-ligne (l’espace de stockage dans la version gratuite de Mapbox est limité…), et la superposition des points, parfois gênante, mais voila ce que ça donne (voir en ligne) :

carte dynamique des BU

carte dynamique des BU

Légende :

Légende

Légende

 

Correction:

J’ai remplacé la couche décrivant les régions par deux couches issues d’openstreetmap et publiées sur data.gouv.fr : une pour les régions et une pour les départements.  La couche des départements ne s’affiche qu’à partir d’un certain niveau de zoom. Cette propriété s’obtient en ajoutant la condition [zoom >8] dans le code cartoCSS.

 

Inconvénient (modéré) : la couche « pays » ne coïncide pas parfaitement avec les deux couches « régions » et « départements », en raison de leur origine différente. Cela crée un effet disgracieux sur les frontières terrestres et maritimes françaises lorsqu’on les observe avec un très fort niveau de zoom.

Exemple avec le vieux port de Marseille:

Une polygone a bouché le vieux port...

Une polygone a bouché le vieux port…

 

 

 

 

 

 

 

 

 

 

 

La frontière franco-espagnole:

La frontière franco-espagnole

La frontière franco-espagnole

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J’ai pensé résoudre ce problème en n’affichant pas les frontières françaises (au moyen d’une limitation [NAME!= »France »] pour la couche pays.

Mauvaise idée… Les frontières maritimes ne posaient plus de problème, mais la France se retrouvait à la dérive (que fait le gouvernement?)…

La France à la dérive...

La France à la dérive…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bref, tout cela n’est pas très important de toute façon.

Enfin, la carte peut être intégrée à du code HTML au moyen d’une IFRAME (en version « monde », on peut voir les BU d’outre-mer, mais on ne peut pas zoomer sur elles, cela aurait pris trop de place dans Mapbox)

 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

*