Revue des blogs en français

Rapide re-stats sur la belgique

bmaron.net - jeu 23 juin 2011 - 23:29

Voilà un billet rapide avec les dernières stats (oui oui j'adore ça...)

Au 23/06/11 Nous avons :

91037.82 km de 'motorway', 'residential','unclassified','tertiary','secondary','primary','living_street','trunk'

soit 2062,85km en plus depuis le 13/05

soit encore ~51 Km de route en plus chaque jour

nous avons aussi:

108011.89 km de 'motorway', 'residential','unclassified','tertiary','secondary','primary','living_street','trunk','track'

soit 3618,87 km en plus depuis le 13/05

soit encore ~90 Km de route (+semi carossables) en plus chaque jour.

Nouvelles cartes des éoliennes

Blog de Rodolphe Quiédeville - mer 22 juin 2011 - 23:02

En avril 2010 j'ai réalisé une première carte des éoliennes en france, cette carte utilise un fichier de données GML comme source de données. Afin de pouvoir réaliser une carte mondiale des éoliennes en particulier et des sources d'énergie en général j'ai mis en place une instance GeoServer avec une base de données Postgis comme source.

Ceci m'a permis de réaliser cette nouvelle carte de couverture mondiale qui recense aujourd'hui 40 781 éoliennes au plan mondial.

Cette carte sera mise à jour une fois par semaine dans un premier temps puis quotidiennement si la puissance machine le permet.

Présentation OSM à Courcouronnes le 25 juin 2011

freeroute (Marc Sibert) - ven 17 juin 2011 - 21:02

Lancée par Liness et supportée par le RERS de Courcouronnes, je participe le 25 juin prochain 14h30 à une présentation OpenStreetMap et à petite Mapping Party à suivre.

.entry .olMapViewport img { max-width: none; }#map_1 {padding: 0; margin: 0;}#map_1 img{padding: 0; margin: 0;border:none;margin-top:0px;margin-right:0px;margin-left:0px;margin-bottom:0px;}/* = limit) { return OpenLayers.Util.getImagesLocation() + "404.png"; } else { x = ((x % limit) + limit) % limit; return this.url + z + "/" + x + "/" + y + "." + this.type; } }var lonLat = new OpenLayers.LonLat(2.41480350494385,48.6289510130882).transform(map.displayProjection, map.projection);map.setCenter (lonLat,17);var markers = new OpenLayers.Layer.Markers( "Marker" );map.addLayer(markers);var data = {};var currentPopup;data.icon = new OpenLayers.Icon("http://freeroute.fr/wp-content/plugins/osm/icons/wpttemp-green.png", new OpenLayers.Size(24,24), new OpenLayers.Pixel(0, -24));var ll = new OpenLayers.LonLat(2.41480350494385,48.6289510130882).transform(map.displayProjection, map.projection); var feature = new OpenLayers.Feature(markers, ll, data);feature.closeBox = true;feature.popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {"autoSize": true, minSize: new OpenLayers.Size(150,150),"keepInMap": true } );feature.data.popupContentHTML = "RERS Courcouronnes
1, Place du Printemps
91080 Courcouronnes";feature.data.overflow = "hidden";var marker = new OpenLayers.Marker(ll,data.icon.clone());marker.feature = feature;var markerClick = function(evt) { if (this.popup == null) { this.popup = this.createPopup(this.closeBox); map.addPopup(this.popup); this.popup.show(); } else { this.popup.toggle(); } OpenLayers.Event.stop(evt);};marker.events.register("mousedown", feature, markerClick);markers.addMarker(marker);map.addPopup(feature.createPopup(feature.closeBox));})(jQuery)/* ]]> */ Ordre du jour
  1. Introduction
    1. Présentation d’OpenStreetMap
      La raison d’être d’OSM et la base de données (cf. la FAQ)
    2. Licences et données libres
      Licences CC-BY-SA 2.0 et ODbL (en cours)
    3. Les objets stockés et leur caractérisation :
      • Le Node (point) :
        C’est l’élément de base, le seul ayant des coordonnées géographiques dans le repère WGS84 (longitude et latitude en degrés).
      • le Way (ligne brisée) : 
        Suivant les usages, le way représente une ligne ou une surface fermée (polygone). Il est composé de Nodes (ordonnés).
      • la Relation :
        Regroupe des éléments (Nodes, Ways & Relations) avec des rôles (ordonnés).
      • les Tags (attributs) : {key = valeur}
        Il s’agit de paires clé/valeur caractérisant chaque élément. Les tags sont uniques pour un élément donné. Si plusieurs valeurs sont admissibles, elles seront séparées par un « ; ».
  2. La Mapping Party
    1. Choisir les éléments à cartographier
    2. Présentation de Walking Papers
    3. Sur le terrain…
    4. Numérisation des résultats et injection dans les éditeurs
      Exemples de scans dans le sud de Courcouronnes :

  3. La saisie dans OSM
    1. Le Wiki
    2. Les sources de données libres
    3. Les principaux éditeurs (Potlatch & JOSM)
    4. Aller plus loin dans JOSM
  4. Utiliser OSM
    1. Une constellation de services
    2. Intégrer les cartes et les données avec OpenLayers
Références

Revue de presse de la semaine

Géotribu.net - ven 27 mai 2011 - 11:15

Comme tous les vendredis, continuons notre exploration du monde GeoWeb.

en lire plus

Rendu de tuile dynamique sous Debian Squeeze

Blog de Rodolphe Quiédeville - lun 23 mai 2011 - 13:18

Nous allons mettre en oeuvre une méthode génération de tuile à la volée en utilisant l'outil TileCache sur une distribution Debian Squeeze. Le principe de TileCache exposé ici et de servir par Apache un cgi qui va générer une tuile en utilisant le moteur de rendu mapnik et la stocker sur le disque pour ne pas avoir à la regénérer à chaque appel. La procédure part d'une installation minimale de la dernière version stable de Debian à savoir Squeeze.

Première étape, installer quelques outils de travail qui ne sont pas liés au sujet qui ici nous importe mais dont nous aurons besoin. Cette action se fait avec l'utilisateur root évidemement, chaque futur changement d'utilisateur unix sera clairement explicité.

apt-get install subversion wget unzip bzip2 apache2

Sans trop détailler cette partie nous allons installer une base de données spatiale.

apt-get install postgresql postgis postgresql-8.4-postgis osm2pgsql

Si votre environnement par défaut n'utilise pas une locale en UTF-8 vous aurez à recréer votre cluster postgres, pour cela détruisez l'actuel (toutes données seront perdues) et recréé le par défaut en UTF-8. Les trois commandes suivantes supprime le cluster actuel, créé le nouveau et le démarre.

pg_dropcluster --stop 8.4 main pg_createcluster 8.4 main --locale fr_FR.UTF-8 pg_ctlcluster 8.4 main start

Pour les manipulations purement postgresql on travaille toujours avec l'utilisateur unix postgres, On passe donc sous cet utilisateur

su - postgres

On vérifie que le cluster est par défaut en utf-8 avec la commande :

psql -l

La colone encoding doit indique 'UTF8'

On créée un utilisateur sans privilèges particulier qui sera utilisé plus loin dans la configuration de mapnik.

createuser -S -D -R -P render

on considère dans la suite du billet que vous affectez ici le mot de passe 'render' à cet utilisateur ; dans la vrai vie personne n'ose faire une chose pareille évidemment :-)

Création de la base de données nommée render, que l'on affecte à l'utilisateur "render"

createdb -O render render

Les trois commandes suivantes servent à spatialiser la base. Cela permet de stocker et manipuler les objets géométriques directement avec des primitives postgres.

createlang plpgsql render psql -q -d render -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql psql -q -d render -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql

Les 3 commandes précédentes doivent être siliencieuses en cas de succès.

On rend la propriété des objets créés à notre utilisateur "render" (les commandes ont été lancées avec le user "postgres")

psql -d render -c 'ALTER TABLE geometry_columns OWNER TO render' psql -d render -c 'ALTER TABLE spatial_ref_sys OWNER TO render' psql -d render -c 'ALTER VIEW geography_columns OWNER TO render'

Il nous reste à effectuer l'installation du moteur de rendu mapnik et à charger le fichier de données dans la base de données Désormais nous allons travailler avec un utilisateur dédié au rendering

Retour en root pour installer la paquets nécessaires

apt-get install python-mapnik mapnik-utils

et création d'un utilisateur lambda

adduser render

On passe sous cet utilisateur render pour la suite.

su - render

Installation de mapnik depuis le dépôt svn officiel d'openstreetmap dans le répertoire /home/render/mapnik

svn co http://svn.openstreetmap.org/applications/rendering/mapnik

Toutes les informations nécessaires au rendu ne sont pas stockées dans la base de données, une partie est utilisée depuis des fichiers de formes appelés Shapefiles. On trouvera par exemple dans ceux-ci le contour des continents, qui contrairement aux autres données dans OSM bougent bien peu. Avant de pouvoir faire nos rendus nous allons donc les récupérer grâce à un script bash qui télécharge les fichiers nécessaires et les décompresse dans le répertoire courant :

cd mapnik && bash get-coastlines.sh

Là vous pouvez aller prendre un café, un sandwich ou une entrecôte suivant le débit de votre liaison internet. Le total des fichiers réléchargés dépasse les 450Mo.

A cette étape nous nous rappochons d'OpenStreetMap et allons récupérer les données pour les charger dans notre base. Nous récupérons le fichier pour la région Basse-Normandie, à vous d'adapter pour coller à votre besoin. Les deux sources de fichiers d'export les plus utilisés aujourd'hui sont Geofabrik et Cloudmade, arbitrairement nous utiliserons Cloudmade.

wget http://downloads.cloudmade.com/europe/western_europe/france/basse-normandie/basse-normandie.osm.bz2

Le chargement des données dans la base se fait avec le logiciel osm2pgsql, celui-ci utilise en entrée un fichier de données (comme celui fraichement téléchargé) et un fichier de style qui permet de filtrer les clés sur les objets en fonction de ce que l'on veut afficher sur notre carte. Le packaging de debian évoluant moins rapidement que les tags dans OSM nous allons légèrement adapter le fichier de style ajoutant la clé 'addr:housename' au fichier de style pour que notre démonstration fonctionne.

cp /usr/share/osm2pgsql/default.style . echo 'node,way addr:housename text linear' >> default.style

Longue étape, le chargement des données se fait avec la commande :

osm2pgsql -s -S default.style -d render basse-normandie.osm.bz2

là encore pour pouvez aller vous ressourcer en alcaloïde méthylxanthine ,

Avec les sources de mapnik est distibué le style utilisé pour le rendu sur le site openstreetmap.org autant l'utiliser. Étant assez complexe il est découpé en plusieurs fichiers xml qu'il faut réassembler en spécifiant la connexion à postgresql qui sera utilisée pour le rendu. Cela se fait en utilisant le script pyhton generate_xml.py de la façon suivante :

./generate_xml.py --host=localhost --port=5432 --user=render --password=render --dbname=render osm.xml > osm-local.xml

Le fichier osm-local.xml sera celui utilisé au final par mapnik, il fait tout de même 9682 lignes, on voit bien l'intérêt du découpage.

J'en profite pour féliciter ceux qui sont arrivés jusque ici et les rassurent aussi, on voit le bout.

Si on fait le point, nous avons nos données de stockées dans la base et le moteur de rendu est installé et configuré, ne nous reste donc plus qu'à passer au sujet principal de ce billet, à savoir TileCache :

Installation se fait au travers du paquet eponyme

apt-get install tilecache

La configuration s'effectue dans le fichier dans /etc/tilecache.cfg auquel nous ajouterons juste une section finale composée de :

[osm] type=Mapnik mapfile=/home/render/mapnik/osm-local.xml spherical_mercator=true tms_type=google

Cette simple configuration conclue l'installation et il ne nous reste qu'à tester l'ensemble

Par défaut TileCache va stocker les tuiles générées dans /tmp/tilecache à vous d'adapter au besoin. Dans un prochain billet on verra le cache des tuiles directement dans Memcached.

Ma machine de test s'appelle geti que vous remplacerez dans l'url suivante par le nom de votre machine

L'appel de cette url devrait vous afficher la ville de Cherbourg

http://geti/cgi-bin/tilecache.cgi/1.0.0/osm/12/2029/1395.png

Vous reconnaitrez facilement la forme de l'url que vous pourrez utiliser avec Leaflet par exemple.

Pour tester plus en avant votre installation vous pouvez récupérer un fichier simple de test disponible sur mon serveur, adaptez le nom de la machine dans le code et placez le fichier à la racine de votre site web, vous disposerez d'une carte navigable avec des tuiles générées à la volée !

wget http://carto.quiedeville.org/leaflet/article-test.html

Bugs, problèmes, mécompréhension, les commentaires sont ouverts.

Leaflet, un nouveau concurrent pour OpenLayers ?

Blog de Rodolphe Quiédeville - dim 22 mai 2011 - 16:20

Dans un précédent billet j'évoquais les possibilités de réduction de taille de la librairie OpenLayers, avoisinant le méga de données en natif je trouve cette librairie un peu trop gourmande. En réduisant au maximum les fonctionnalités j'arrivais à une taille de 154Ko ce qui permettait d'afficher des tuiles issue d'OpenStreetMap et d'avoir les fonctionnalités de déplacement et de zoom de base.

Si la problématique de la taille est primordiale dans votre déploiement de carte ligne vous serez intéressé par la nouvelle librairie Leaflet que vient de publier Cloudmade. Conçue pour les applis web et mobiles Leaflet ne pèse à ce jour que 64Ko. On ne retrouve que les fonctions de bases, mais déjà bien assez pour la plupart des cartes vues sur le web. Les fonctions de bases sont présentes avec en plus des possibilités d'ajout d'objets géometriques et les interactions minimales pour ouvrir les classiques popups. Publiée sous licence BSD le code est disponible sur Github, vous pourrez y signaler des bugs éventuels ou demander des nouvelles fonctionnalités sur la page de suivi d'anomalie.

Même si tous les exemples utilisent comme source le service MApzen de Cloudmade, il est possible d'utiliser n'importe quel serveur de tuile. J'ai fait une carte sommaire de la Bretagne avec les tuiles OSM standards, je suis assez emballé de la rapidité d'affichage,

Je vous invite à laisser en commentaire vos impressions et éventuellement à débattre de ses avantages/inconvénients par rapport à OpenLayers ; dont on attend la version 2.11 dans les jours/semaines à venir.

Stats OSM pour mai :)

bmaron.net - ven 13 mai 2011 - 15:27

Hello à tous,

j'ai eu l'occasion de tester un peu osm2pgsql (le produit qui permet de mettre les données OSM dans une DB postgis).

Une fois la db crée, postgis et hstore (pas obligatoire) installé, une commande et 2h de patience et hop votre db est chargé et prête à toutes vos folles analyses

Alors voici 2-3 truc que je trouvais sympa à partager :

Au 06.05.2011

88528,25 km de 'motorway', 'residential','unclassified','tertiary','secondary','primary','living_street','trunk'

103780,37 km de 'motorway', 'residential','unclassified','tertiary','secondary','primary','living_street','trunk', 'track'

5132062 noeuds

Au 13.05.2011

88974.97 km de 'motorway', 'residential','unclassified','tertiary','secondary','primary','living_street','trunk'

104393.020 km de 'motorway', 'residential','unclassified','tertiary','secondary','primary','living_street','trunk', 'track'

5216883 noeuds

Évolution :
  • Une augmentation de 446,72 km de routes (sans track) donc à peu près 63,81km /jour
  • Ou une augmentation de 612,64 km de routes avec "track" donc 87,5 km/jour.
  • En comptant que le réseau routier belge compte 118414km de routes, il manque 29440 km dans OSM,
  • En comptant sur une croissance kilométrique constante, il faudra encore 461 jours au projet pour mapper la belgique entière
  • Un ajout de 84821 noeuds donc 12 117 noeud par jours .
Répartition du type de routes :
  • living_street => 268 ==> 269 km
  • trunk => 1332 ==> 1316 km
  • motorway => 3466. ==> 3465 km
  • primary => 5484 ==> 5503 km
  • secondary => 7235 ==> 7220 km
  • tertiary => 11972 ==> 11998 km
  • track => 15252 ==>15418 km
  • unclassified => 25065 ==> 25379 km
  • residential => 33704 ==> 33822 km
Unmapped Places :

Comme d'habitude les endroits peu ou pas mappé en Belgique (présence de nœuds à proximité du village) est répertoriée à cette adresse : http://bmaron.net/osm_stats/unmappe... et sur une carte : http://bmaron.net/osm_stats/unmappe...

En gros les stats pour 1 mois :

  • Pas Cartographiées : 230 => 117
  • Peu Cartographiées : 457 => 390

(sur à peu près 4970 lieux)

à se rythme il faudra près 32 jours pour finir les villes pas cartographiées et 6 mois pour les villes pas mappées du tout

Bref il reste encore pas mal de travail, mais globalement le projet avance à une vitesse faramineuse!

Premier Mapcss ... les rues non nomées

bmaron.net - mer 30 mar 2011 - 20:51

Un amis me demandais l'autre jour s'il était possible de voir facilement les rues non nommées depuis potlatch.

Bien qu'il existe le rendu noname de cloudmade, il n'est pas mis à jour très souvent et n'est pas directement disponible dans potlatch.

Alors j'ai pris mes 2 petites main et j'ai fait mon premier Mapcss file... Et oui il est possible de faire son propose style dans potlatch mais aussi dans josm ou dans d'autres outils avec un "standard" très très proche du css pour le web.

Le fichier de style fait tout de suite 3 lignes et ne fais que reprendre le style par défaut en ajoutant une magnifique couleur rouge pour les rues non nommées.

Un fichier crossdomain.xml plus loin, voici comment l'ajouter dans votre potlatch :

Commencez par ouvrir potlatch, puis cliquez sur Map Style et Edit.

Ensuite Ajouter le style avec l'url suivante : http://osm.bmaron.net/styles/pot.css

Fermez la fenêtre et choisissez le dans la liste (Bouton Map Style).

Voici le résultat =)

N'hésitez pas à voir la source du style et découvrez comme c'est simple de le modifier! ....

Présentation de MapOSMatic

David Mentré's blog - sam 12 mar 2011 - 18:58

Le lundi 7 mars dernier, j'ai fait une présentation de MapOSMatic, un site web permettant à chacun de faire son plan de ville à partir des données d'OpenStreetMap :

  • présentation générale du site ;
  • comment nous avons fait pour faire ce logiciel ;
  • comment ça marche derrière la page web ;
  • quelques infos sur la prochaine version.

Les transparents sont maintenant disponibles, en version PDF ou les sources LaTeX.

Une remarque sur l'origine du nom, puisqu'on nous demande toujours pourquoi on a utilisé un nom pareil. ;-) MapOSMatic = « Map » pour carte en anglais + « OSM » pour OpenStreetMap + le suffixe « atic » comme dans automatique. Simple non ? :)

Les WPS, le mariage du calcul scientifique et de la géomatique

georchestra - lun 14 fév 2011 - 13:19

Qu'est-ce qu'un WPS (Web Processing Service) ? "Un service de traitement Web donne accès à des calculs et à des modèles qui traitent des données à référence spatiale. Un service de traitement Web peut être configuré pour offrir tout type de fonctionnalité SIG à des clients reliés à un réseau, ce qui comprend l'accès à des calculs et/ou à des modèles de calcul préprogrammés qui s'appliquent à des données à référence spatiale. Un tel service peut offrir des calculs aussi simple que la soustraction d'un ensemble de nombres à référence spatiale d'un autre ensemble (p. ex., pour calculer la différence entre le nombre de cas d'influenza entre deux saisons) ou aussi compliqué qu'un modèle de changement climatique mondial." Source : http://www.geoconnections.org/fr/communities/developers/standards/web_processing_service . Concrètement... Une équipe d'AGROCAMPUS OUEST - INRA (Institut National de la Recherche Agronomique) a testé des services WPS. Ceux-ci concernent l'accès à des modèles de calcul sur des bassins versants. Mieux qu'un long discours, nous vous proposons de retrouver ci-dessous le fruit de leur travail sur cette vidéo et de découvrir comment avec QGIS, on peut très simplement utiliser toute la puissance de calcul de services WPS :

Get your own valid XHTML YouTube embed code

Merci à Hervé Squividant pour cette vidéo et ce travail.

Une perspective est de pouvoir implémenter cette architecture dans geOrchestra.

Le Conseil général du Pas-de-Calais se lance sur geOrchestra

georchestra - mar 1 fév 2011 - 11:22

Le Conseil Général du Pas-de-Calais vient de publier un MAPA relatif développement d'une application métier basée sur Georchestra afin de répondre aux besoins de son Centre Départemental d'Archéologie (http://archeologie.pasdecalais.fr).

Objet du marché : Développement, intégration, maintenance, hébergement du Système d'informations Archéologiques du Conseil Général du Pas-de-Calais et prestations associées basé sur l'outil libre Georchestra.

Téléchargement des pièces : Les pièces du dossier sont mises à disposition sur le portail internet du CG62 (https://marches.local-trust.com/index.php5?page=entreprise.EntrepriseDetailConsultation&refConsultation=767&orgAcronyme=cg-62).

Date limite de réception des offres : 1er mars 2011, à 16 heures.

Service de frame pour cartes libres

Blog de Rodolphe Quiédeville - lun 31 Jan 2011 - 15:18

Une remarque fréquemment entendue lors des présentations du projet OpenStreetMap est l'apparente compléxité à mettre une carte sur son site ; comparaison généralement faite avec d'autres services de cartes en ligne que nous ne nommerons pas ici.

Il est déjà possible d'obtenir un code d'iframe grâce au bouton Export sur le site du projet ; mais cette option n'est pas suffisemment connue ni facilement accessible à la diffusion des cartes dans les pages contact des sites web.

Pour remédier à cela et participer à la diffusion du projet OSM j'ai mis en ligne un service web de mise à disposition de frame nommé cartosm.eu.

Le service permet la création du code HMTL à insérer sur un site web pour y ajouter une iframe contenant une carte avec différentes options. Les cartes générées sont configurables pour y inclure une épingle, les rendre fixes, ajouter un lien vers une carte plus grande, ...


Voir sur une carte plus grande

La carte ci-dessus est ajoutée à ce billet en y insérant le code HTML suivant :

<iframe width="330" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://cartosm.eu/map?lon=-3.4549803733223&lat=47.637733494058&zoom=18&width=330&height=250 &mark=true&nav=true&pan=true&style=default"></iframe><br /><div id="cartosmlink"><a href="http://www.openstreetmap.org/?lat=47.637733494058&lon=-3.4549803733223&zoom=18&layers=M" style="text-align:left;">Voir sur une carte plus grande</a></div>

Revue de presse de la semaine

Géotribu.net - ven 28 Jan 2011 - 18:13

Au menu de cette revue de presse hebdomadaire, la sortie en version papier du manuel utilisateur de Qgis, une tonne de nouveautés chez MapQuest, la mise en ligne du géoportail russe, l'utilisation d'un globe 3D, la nouvelle version de
Gdal/OGR et enfin la mise a disposition d'une nouvelle API chez Esri.

en lire plus

Réduire la taille de la librairie OpenLayers

Blog de Rodolphe Quiédeville - ven 21 Jan 2011 - 14:55

La librairie OpenLayers est constituée d'un ensemble de classe, de fonctions, de librairies externes, qui sont séparés dans 292 fichiers Javascript. Le principe de la construction de la librairie est de rassembler tous les fichiers pour n'avoir au final qu'un seul .js à mettre sur votre serveur web. Nous allons décrire ici la méthode qui permet de pour choisir quelles parties seront incluses dans le fichier final. Pour ma part j'ai l'habitude d'exclure tous les objets type Marker des cartes qui ne sont composées que de tuiles de bases, on enlèvera de même tous les contrôles inutilisés.

Tout d'abord, récupérez l'archive contenant les sources sur le site du projet, la version à la rédaction de ce billet est la 2.10.

wget http://www.openlayers.org/download/OpenLayers-2.10.tar.gz

Décompressez ensuite l'archive obtenue et placez vous dans le répertoire build qui contient les scripts de construction.

tar xvfz OpenLayers-2.10.tar.gz cd OpenLayers-2.10/build/

On trouve dans le répertoires les scripts build.py et buildUncompressed.py écrits en python. Les fichiers de profile full.cfg library.cfg, et lite.cfg, le fichier de licence et un traditionnel README.txt qui contient un peu d'aide, juste un peu.

Le script nommé build.py prend 2 options. La première permet de spécifier le fichier de profile à utiliser (par défaut full.cfg) et la deuxième le nom du fichier généré (par défaut OpenLayers.js)

exécution du programme :

./build.py

ou

./build.py full

on note que le fichier de profil est à indiquer sans l'extension .cfg

build.py utilise jsmin (présent dans le répertoire tools/ de l'archive) pour minifier le code généré, si vous ne souhaitez pas le faire il vous faudra alors utiliser le script buildUncompressed.py pour construire votre librairie. La génération non compressée aboutit à un fichier de 2.6M, on réservera cette version pour les devs :-)

Par défault le script build.py utilise le fichier de configuration full.cfg qui comme son nom l'indique contient l'ensemble des librairies et classes du projet OpenLayers ainsi que les inclusions externes. Les fichiers sont placés dans le répertoire lib/ dans la racine de l'archive. La création du build full donne

Total files merged: 269 Compressing using jsmin.

Pour une taille de 929K.

Une compilation avec la configuration plus légère en utilisant le profile lite.cfg aboutit à 128K pour seulement 23 fichiers de sources utilisés, le gain est net et sans appel.

On aboutit avec ce fichier au minimum requis pour afficher une carte dans une page web, un minimum de contôles sont toutefois nécessaires pour permettre à l'internaute d'interagir sur la carte. C'est dans ce sens que j'ai créé le fichier ci-dessous qui me permet d'aboutir à un fichier de 154K ce qui fait tout de même un gain de 80% en taille.

[first] OpenLayers/SingleFile.js OpenLayers.js OpenLayers/BaseTypes.js OpenLayers/BaseTypes/Class.js OpenLayers/Util.js [last] [include] OpenLayers/Map.js OpenLayers/Layer/TMS.js OpenLayers/Control/Attribution.js OpenLayers/Control/PanZoom.js OpenLayers/Control/Navigation.js OpenLayers/Control/ArgParser.js [exclude]

Un fichier de profile se décrit en 4 sections qui contiennent chacune un ensemble de nom de fichier faisant référence au répertoire lib/ de la racine. Les fichiers présents dans include sont inclus dans le fichier final quand ceux de la section exclude en sont exclus. Il est possible de laisser la section include vide et de ne seulement spécifier que ceux qui ne seront pas utilisés, dans ce cas tous les fichiers sources sont inclus ; c'est d'ailleurs le choix fait dans le profil full.

Un fichier présent dans la section first sera inclus en début de processus, pour la section last il sera poussé à la fin du fichier, un fichier présent dans l'une de ces 2 sections doit figurer également dans la section include sinon une erreur se produit. La section include à prédominance sur la section exclude, un fichier présent dans les 2 sera inclus au final.

Dans la version par défaut la localisation française n'est pas incluse, on ajoutera la ligne "OpenLayers/Lang/fr.js" dans la section include pour corriger cela, raison de plus pour les francophones de construire eux mêmes leur librairie.

Il ne faut pas voir la finalité de la réduction de taille comme un gain en temps de transferts, au vu du volume de tuiles qui accompagnent une carte cela ne serait pas pertinent. Le gain le plus intéressant se trouve au niveau de l'exécution du code javascript dans le navigateur pour une part. D'autre part moins on à de code exposé, moins on a de bugs potentiels.

Un dernier intérêt à mettre en place cette méthode et vous l'aurez vite compris c'est que vous pouvez inclure votre propre code Javascript dans la lib et ne plus avoir qu'un seul fichier .js à charger pour animer vos cartes, et un fichier de moins, c'est une socket de moins, des octets en moins, une ligne de log en moins ...

Import des données de la 4C dans OSM

freeroute (Marc Sibert) - jeu 20 Jan 2011 - 17:21

Suite à un appel à contributeurs sur la liste talk-fr@openstreetmap.org, je me suis lancé dans la manipulation de ces données. Sous la main, j’avais le fichier compressé transmis par la Communauté de Communes et le bel outil SpatiaLite et en particulier son interface graphique.

Finalement, les données sont en ligne mais ne feront pas l’objet d’un import massif. Pour les récupérer, il suffit de passer par freeroute.fr/4c et de sélectionner le cadre dont on souhaite récupérer les données. Une bulle vous propose un lien vers le fichier au format .osm. Les cadres correspondent à ceux de QualityStreetMap afin que le suivi de l’import puisse être facilité.

Vous pourrez retrouver tout le processus décrit en détail.

« OpenData » à Rennes, ça avance !

David Mentré's blog - mer 19 Jan 2011 - 21:30

J'étais mardi à la Cantine Rennaise pour assister à un BarCamp OpenData à propos du concours « Rennes Métropole en accès libre ». Je ne candidate pas au concours mais comme j'ai pas mal critiqué l'actuelle licence des données « libérées » par Rennes Métropole et que j'avais eu en retour une discussion avec des acteurs du dossier[1], j'ai voulu aller aux nouvelles.

Le dossier avance ! Une nouvelle version de la licence est en préparation, dont on peut espérer un brouillon en ce début d'année. Des clauses seront supprimées, par exemple la clause qui oblige la mise à jour de son application en cas de changement de l'API. Une contrainte même pour des gens qui font des applications propriétaires, comme me le faisait remarquer un collègue. Reste à voir le résultat final, affaire à suivre ! ;-)

Sinon, soirée très sympa, où j'ai rencontré pas mal de Gulliveriens et d'anciens Gulliveriens. Sylvain a pointé très justement ces questions sur la licence dans la partie questions de l'exposé. J'ai aussi eu un très bon contact avec des responsables du service SIG de la Ville de Rennes. Ils connaissent OpenStreetMap (et même MapOSMatic !) et envisagent diverses manières d'y contribuer. Ça prendra un peu de temps (probablement en 2012) mais on devrait voir des choses intéressantes. Là aussi, une affaire à suivre !

Sinon, la date du fameux concours a été repoussée. Pourquoi ? Parce que la mise à disposition des applications développées au grand public dépend de la vitesse avec laquelle Apple valide les applications sur sa plateforme propriétaire. Vous n'y voyez pas une contradiction ? Moi si : on ne parle que de données « Libres » mais les applications développées ne sont disponibles que sur la plateforme fermée et propriétaire d'un seul constructeur. Le monde est plein de paradoxes. :-)

Notes

[1] Il y avait aussi des gens d'OpenStreetMap et de Wikipédia.

geOrchestra labellisé "Territoire innovant" pour sa déclinaison dans GéoBretagne

georchestra - ven 7 Jan 2011 - 10:40

Le forum des interconnectés de Lyon, dédié aux usages innovants des collectivités en matière de nouvelles technologies, décerne chaque année ses labels « Territoire innovant » : ils distinguent les projets qui misent sur les nouvelles technologies pour développer un territoire ou améliorer les services et relations aux citoyens. Cette année, le partenariat GéoBretagne décroche un label pour son portail d’information géographique www.geobretagne.fr, développé avec la solution libre geOrchestra. Il fait partie des 25 projets retenus sur les 100 projets concourants et figure dans la catégorie "Performance et outils collaboratifs".

Liens sur le web :

http://www.interconnectes.com/fr/live2010/ (Atelier 18 : sig au coeur de l'organisation/)

http://www.collaboratif-info.fr/actualite/25-territoires-innovants-decrochent-le-label-2010-des-interconnectes

La version 0.17 de Merkaartor....

bmaron.net - mer 29 déc 2010 - 17:43

Après plusieurs rc, voici la version finale de merkaartor 0.17 enfin publiée.

Cet éditeur de carte OpenStreetMap écrit en Qt et C++ est souvent considéré comme plus simple à prendre en main que ses 2 grands frères potlatch et josm (bien que la récente version 2 de potlatch adresse une partie de ses précents problèmes).

Voici donc un petit aperçu de ces nouvelles fonctionnalités.

Une des fonctionnalité les plus attendue est l'ajout de nombreux plugins dont entre autre le cadastre français , Bing Map et walking papers.

Le plugins bing map permet de visualiser simplement en fond de carte les images satellite bing et d'ajouter automatiquement pour tout élément crée un tag source=bing (une bonne pratique OpenStreetMap)

Les outils non plus ne sont pas en reste grâce à par exemple l'aligmenent des axes qui vous permet de redresser vos zones rectangulaires :

deviens alors

Un retravail du copier / coller à égallement été effectuer avec un "copier" plus approfondis :

et le filtrage des éléments à afficher :

On voit aussi apparaître la possibilité de télécharger les données de OpenStreetMap directement grâce à une requête Xapi

Une autre grosse nouveautée aparue tardivement est le support du décalage des images de fond (pour corriger l'alignement de bing à certains endroits par exemple).

Il vous suffit alors de tenir la barre d'espacement et de faire glisser l'image de fond. Vous pourrez alors sauver l'ajustement par niveau pour le réutiliser plus tard.

et le Guide des changements plus complet sur http://merkaartor.be/projects/merka...

Pour Rappel, Merkaartor est disponible sur plusieurs plateforms comme Linux (évidement), Windows et osx.

Pour archlinux le package aur viens d'être mis à jour par mes soins.

Imagimap Baselayers v2

Géotribu.net - lun 13 déc 2010 - 14:25

L'annonce de Microsoft en fin d'année et celle de MapQuest durant l'été auront des répercussions sur OpenStreetMap.

en lire plus

OpenStreetMap et MapQuest sous OpenLayers

Géotribu.net - jeu 2 déc 2010 - 18:55
Introduction

MapQuest propose depuis peu une API permettant de 'jouer' avec les données OpenStreetMap. Il s'agit là d'une avancée significative selon moi pour la démocratisation de cette base de données géographiques. MapQuest propose donc plusieurs services basés sur OSM :

  • un service d'itinéraire ;
  • un service de géocodage ;
  • un service d'affichage de tuiles prégénérées par MapQuest ;
  • un service d'élévation (je ne pense pas qu'il soit basé sur OSM ...).

en lire plus

Pages