ReLucBlog - SIG, MOZILLA & NTIC

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 2 juillet 2009

OsmTransport : application de suivi des réseaux de transports publiques

OsmTransport est un outil qui permet d'afficher par dessus un fond de carte OpenStreetMap les lignes de transports publiques : métro, bus et tramway.

OsmTransport 0.1 Paris

Les lignes sont extraites des données sources d'OpenStreetMap à partir des relation "routes" (http://wiki.openstreetmap.org/wiki/Relation:route#Public_Transportation) et mises en forme en fonction du type de ligne et de la couleur spécifiée dans la relation route par le tag "color". Il y a pour l'instant une couche de données (un layer) par type de ligne et un par type d'arrêts.

Pour l'affichage du réseau non avons choisi d'utiliser un affichage vectoriel à la différence de Google. Les principaux avantages de l'utilisation de l'affichage vectoriel par rapport à l'utilisation de Mapnik pour afficher ces lignes sont :

  • l'utilisation dynamique du tag "color" pour styliser chaque ligne (pas besoin de créer autant de styles que de lignes ce qui nécessaire dans Mapnik). Une ligne dont la route n'a pas de tag "color" est affichée en noir.
  • la possibilité d'afficher ou non chacune des couches, si on ne souhaite par exemple que voir les lignes de métro.
  • la possibilité d'avoir des informations complémentaires sur un arrêt (ou un ligne) sur clic de l'élément. Pour l'instant, seules des informations sommaires sont données, et seulement sur les arrêts.

L'un des objectifs principal de cet outil est d'aider les contributeurs à visualiser l'avancement des transports publiques par commune. Un autre objectif est de montrer les informations à corriger ou à compléter sur les lignes et les arrêts (Par exemple une ligne noire montre l'absence du tag "color" dans la relation, ou bien on peut comparer les lignes de tramways issues de la relation route=tram avec celles issues du railway=tram)

L'affichage de données vectorielles demande des ressources qui croissent avec le nombre d'éléments à afficher par le navigateur. C'est pouquoi le choix a été fait de créer des zones nommées "locations" pour lesquelles les lignes sont extraites. Ces locations correspondent en fait à des villes. On peut sélectionner une "location" pour zoomer automatiquement sur la zone concernée, et voir les lignes de cette zone (seules les lignes de cette zone sont affichées, pour ne pas surcharger le navigateur).

OsmTransport 0.1 Besançon

Si une location n'est pas dans la liste, on peut en créer une en cliquant sur le lien "Add a location" en haut à droite. Il faut au préalable zoomer sur la zone souhaitée. Ensuite, il faut cliquer sur "Draw" puis dessiner un rectangle de la zone voulue, puis ajouter le nom de la zone (utiliser si possible le nom de la ville) puis le pays, et enfin valider avec le bouton "Add". Si tout se passe bien, la page se rafraîchit sans message d'erreur et vous voyez les lignes qui ont déjà été cartographiées. Si vous ne voyez pas de lignes, c'est sûrement parce qu'il n'y a pas de routes correspondantes dans la données d'OpenStreetMap, ou bien que les couches n'ont pas été rafraîchies depuis l'ajout de cette données.

OsmTransport 0.1 Toulouse

Les données sont mises à jour tous les matins à 6h30 à partir des fichiers tar.gz fournis par Geofabrik ( http://download.geofabrik.de/osm/europe/ ). Pour l'instant, les données ne sont téléchargées et donc disponibles que pour la France métropolitaine.

Un permalink est fourni une fois la "location" choisie et la page raffraîchie. Par exemple pour la ville de Montpellier : http://3liz.fr/public/osmtransport/index.php?location=Montpellier&BtChooseLocation=Ok

OsmTransport 0.1 Montpellier

Cette version étant la toute première et que nous souhaitons respecter l'adage :"Release often release early", certains bugs sont déjà connus :

  • une fois le bouton "Draw" cliqué, parfois le rectangle ne se dessine par où on le souhaite.
  • la couche des arrêts de métro affiche aussi toutes les stations de train. Pour l'instant, nous n'avons pas trouvé le moyen avec osm2pgsql de trouver les points de type "bus_stop" ou "railway=station" qui appartiennent respectivement à une route de type "route=bus" ou "route=tram".
  • la pop-up sur clic d'un arrêt ne fonctionne que pour la couche visible la plus au dessus (la plus en bas dans le switcher OpenLayers). Ce bug va être corrigé grâce à l'utilisation de la nouvelle fonctionnalité implémentée dans la dernière version d'OpenLayers (2.8).

Découvrez, créez et participez à la création de données libres de réseaux publiques : http://3liz.fr/public/osmtransport/

mardi 30 juin 2009

Firefox 3.5 et sa géolocalisation disponible à tous

Aujourd'hui, la fondation Mozilla publie la version finale de Firefox 3.5.

Cette version intègre une implémentation de l'API de géolocalisation du W3C. Cette API permet a un site web de vous demandez la position géographique du navigateur. Pour que le site exploite la position obtenu par le navigateur vous devez accepter de fournir cette position. Vous êtes donc libre de fournir la gélocalisation trouvée par Firefox 3.5.

Afin de permettre à tous d'accéder facilement à cette fonctionnalité, Mozilla a décider d'exploiter le service Web de Géolocalisation de Google. Ce service est déjà exploité dans Google Latitude. Il utilise la liste des points WiFi autour de vous et votre adresse IP pour vous géolocaliser. Donc si les points WiFi qui vous entourent ne sont pas présent dans la base de Google, c'est votre IP qui vous localise. Dans le premier cas vous pouvez obtenir un positionnement dont la précision est de l'ordre de 150 mètres, sinon elle peut attendre 24000 mètres. D'ailleurs dans le second cas vous pouvez très bien vous retrouver sur un autre continent ou à l'autre bout du pays (Problème des IP).

Exemples de résultats avec la démo 3liz :

Henri Bergius

Mapperz

Geoweb Guru

Vous pouvez la tester vous-même sur http://3liz.org/geolocation après avoir télécharger Firefox 3.5 bien sûr ;-) mais aussi avec l'iPhone 3GS ou grâce à Google Gears. Pour en savoir plus sur la géo-localisation sur le web vous pouvez consulter ce FAQ.

dimanche 28 juin 2009

Ubiquity 0.5 comprendra-t-il le français ?

Ubiquibot 3D

Une version preview de Ubiquity 0.5 a été publié par le Mozilla Labs. Cette future version d'Ubiquity sera la première localisée et localisable.

Cette nouvelle version d'Ubiquity intègre le nouveau parser de commande alias Parser 2. Ce nouveau parser permet d'utiliser un langage naturelle qui n'est pas forcément l'anglais! Dans la page d'édition d'Ubiquity vous pouvez sélectionner le français par exemple mais seul l'anglais, le danois ou le japonais ont toutes les commandes . Il faut donc encore améliorer la localisation en français.

Le français comme l'italien ou le catalan offre quelques difficultés pour la localisation des commandes. Ces langues présentent la particularité de contracter les prépositions. Par exemple en français on ne dit pas : envoyé à les amis mais envoyé aux amis!

Donc le français ne devrait pas être finalisé pour la sortie de cette version qui devrait intervenir mardi. Ce qui est sûr par contre c'est que la localisation sera réalisé pour la version finale 1.0 d'Ubiquity. Par contre si vous ne souhaitez pas attendre qu'Ubiquity comprenne le français, l'espagnol, le catalan, l'italien, le basque, le breton, l'allemand, le flamand ou tout autre langue de notre bonne vieille europe un tutoriel a été publié pour vous : Ubiquity 0.5 Command Localization Tutorial.

Si vous voulez en savoir plus sur la localisation d'Ubiquity je vous conseille de lire une bonne partie des liens suivants :

Bien sûr vous n'êtes pas obligé de tout lire!

Pour en savoir plus sur la roadmap d'Ubiquity : Fighting scope creep in the Ubiquity roadmap. (Also: Ubiquibot)

mardi 23 juin 2009

OpenLayers 2.8 et GeoExt 0.5

Aujourd'hui deux annonces importantes ont eu lieu pour les développeurs d'application de WebMapping et de WebSIG, la publication d'OpenLayers 2.8 et de GeoExt 0.5!

Tout d'abord voici une petite sélection des évolutions qu'apporte OpenLayers 2.8 :

Pour plus de détailles vous pouvez lire la note sur les évolutions pour OpenLayers 2.8. Il y a aussi l'avis de James Fee. Cette nouvelle version corrige aussi de nombreux bugs, mais les grosses évolutions en font un client Web parfaitement intégrable à un Sytème d'Information Géographique respectant les normes de l'Open Geospatial Consortium.

Ensuite GeoExt 0.5 offre aux développeurs d'application WebSIG :

Cette nouvelle version nécessité OpenLayers 2.8 et ExtJS 2.2 au minimum. Vous trouverez de la documentation sur le site.

Il reste plus qu'à inventer les applications et les utilisations qui vont avec...

lundi 22 juin 2009

En vrac géomatique...

samedi 13 juin 2009

geolocalisation et open street map

Pour le projet 35 jours de Mozilla, j'ai créé une démo utilisant la géolocalisation avec des logiciels Open Source et des données libres provenant de différentes sources. Article sur hacks.mozilla.org.

Il y a trois jours Doug Turner a publié un article décrivant comment la géolocalisation fonctionne dans Firefox 3.5. J'ai donc utilisé la fonction de géolocalisation de Firefox 3.5 et l'ai associé avec les données d'OpenStreetMap et d'autres sources de données libres. Vous pouvez tester la démo ci-dessous. N'oubliez pas de cliquer sur le bouton Partager sa localisation dans le menu surgissant lorsqu'il apparait sur le site.

Lancez la démo dans Firefox 3.5

En supposant qu'il ai réussi à trouver votre localisation, vous devriez voir où vous êtes grâce à un marqueur rouge. Un cercle bleu entourant le marqueur rouge indique la précision de votre localisation. Il est a notez que votre localisation est fondée sur une combinaison de votre adresse IP locale et, éventuellement, des points d'accès WiFi, la précision peut varier.

Cette démo tente également de récupérer des informations locales provenant de différentes sources. Chaque ensemble d'information est présenté sous forme de couches. Ces couches sont :

  • Le fond de carte est celui d'OpenStreetMap. OpenStreetMap est un projet de création et de mise à disposition de données géographiques libres comme une carte de monde pour ceux qui en veulent. Tout comme Wikipedia, il est possible à quiconque de modifier les cartes et d'ajouter leurs propres informations.
  • La couche suivante est basée sur les articles de Wikipedia. Dans certains articles, comme Montpellier ou de Mountain View, vous pouvez y trouver des coordonnées. GeoNames fournit un service Web permettant de faire une requête spatiale sur les articles Wikipedia. Avec cette démo, vous pourrez découvrir les articles de Wikipedia sur les choses et les lieux qui vous entourent.
  • Les dernières couches sont basées sur GeoNames. GeoNames est une base de données géographiques couvrant l'ensemble des pays et contient plus de huit millions de lieux. Dans cette démo, vous pourrez découvrir des lieux stockés dans la base GeoNames comme des villes, des villages, des lacs, des parcs et même des hôtels.

La carte et les couches sont construites en utilisant OpenLayers, une bibliothèque libre JavaScript que vous pouvez utiliser pour mettre une carte dynamique sur n'importe quelle page web.

Ressources

Nous avons également inclus quelques captures d'écran qui disposent de données déjà chargés.

geolocation with open street maps

For the mozilla 35 days project, I created a demo which used Geolocation with open source software and open data from various projects. Article on hacks.mozilla.org

Three days ago we had a post from Doug Turner describing how Geolocation works in Firefox 3.5. I have taken the geolocation functionality in Firefox 3.5 and blended it together with data from OpenStreetMap and a few other sources of free data. You can try the demo below. Don’t forget to click the Share Location button in the drop down when it appears on the site.

Launch the Demo in Firefox 3.5

Assuming that it was able to find your location, you should see where you are with a red marker. A blue circle surrounds the red marker indicating the accuracy of your location information. Note that since this information is based on a combination of your IP address and possibly local WiFi access points, its accuracy can vary.

This demo also tries to pull in information from other sources about your local area. Each set of information is shown as a layer. These layers are:

  • The base layer is the map itself, provided by OpenStreetMap. OpenStreetMap is a project to create and provide free geographic data, such as street maps, to anyone who wants them. Much like Wikipedia, it’s possible for anyone to edit the maps and add their own information.
  • The next layer is based on articles in Wikipedia. In some articles, like Mountain View or Montpellier, you can find coordinates. GeoNames provides a web service to query Wikipedia’s articles by location. With this demo you can discover Wikipedia articles about things and places around you.
  • The last layer is based on GeoNames. GeoNames is a geographical database covering all countries and contains over eight million placenames. In this demo you can see things from the GeoNames database like cities, villages, lakes, parks, or even hotels.

The map and layers are built using OpenLayers, a free JavaScript library that you can use to put a dynamic map on any web page.

Resources

We’ve also included a couple more screenshots of places that have data already loaded.

jeudi 28 mai 2009

Les nouveautés cartographiques de Google

Google a profité de la fin du mois de mai et deux 2 conférences importantes pour présenter 2 nouveautés importantes de sa sphère géographique.

Google Maps Data API

Lors de la conférence Where 2.0, Google a annoncé la publication de l'API Google Maps Data. Cette API permet d'accéder et de modifier les données de Google My Maps. Google offre donc la possibilité aux développeurs d'imaginer de nouvelles solutions d'éditions de données géographiques mais aussi et surtout un espace de stockage pour ces données.

Par exemple on peut imaginer que :

  • Google Earth deviennent votre éditeur de données Géographiques et plus seulement Google My Maps;
  • vous ayez la possibilité d'utiliser une interface basée sur OpenLayers pour créer ces donnnées
  • de nouvelles applications mobiles (comme MyTracks) profitent de l'espace de Google

Par contre, pour le moment, ils n'est pas possible de partager ses données géographiques comme ses Google Docs... Ce qui a mon avis devrait bientôt arriver.

Voici quelque liens sur le sujet :

Google Maps API v3 beta

Ensuite c'est au cours du Google I/O qu'une nouvelle anonce pour le monde de la géomatique a été faite : la publication de la Beta de la version 3 de l'API Google Maps. Cette nouvelle version vise tout particulièrement à améliorer les performances sur des navigateurs pour mobile (iPhone, Android, etc). Elle est aussi basé sur une architecture MVC (Modèle-Vue-controlleur). Le nommage des objets Google Maps a été revu, par exemple ce n'est GMap2 mais google.maps.Map. Enfin pour le moment il n'est plus nécessaire de posséder une clef.

Pour ce qui est du dernier point, aucune information n'est encore disponible sur le fait que la version finale ne nécessitera pas de clef, ce qui remettrait en cause les licences Google Maps API Premier.

Voici quelque liens sur le sujet :

Info en plus

samedi 16 mai 2009

Petite actu Mozilla

samedi 9 mai 2009

Mozilla Labs annonce Prism 1.0 Beta

Prism A l'occasion de la sortie de Prism 1.0 Beta, Mozilla met en ligne un site pour cette application/extension très utile : prism.mozilla.com.

Prism est un outil qui permet de porter une application Web sur votre bureau. Elle se présente sous forme d'une application que vous pouvez installer et qui vous permettra de déporter vos applications Web préférées sur le bureau, ou d'une extension pour Firefox qui vous permet directement via le menu outil de votre navigateur de porter vos applications Web vers le bureau.

Prism est initialement un projet de Mark Finkle, il s'appellait alors WebRunner. Il y a 18 mois, il a rejoint le giron du Mozilla Labs. En mars 2008 la version 0.9 a été publié. L'évolution majeur de la 0.9 fut la publication d'une version Extension. En mars 2008 la version 0.9.1 améliorait l'intégration au bureau des applications. Aujourd'hui Prism est proche d'une version finale stable.

Cette version stable est l'aboutissement d'un ans de travail et d'utilisation par des entreprises pour le déploiement d'applications, comme par exemple Yahoo! Zimbra et DesignLinks International.

Si vous avez des applications Web que vous utilisez très régulièrement, comme un WebMail, un WebCalendar ou autre, et que vous utilisez Firefox comme navigateur principal je vous conseille fortement d'installer Prism et de déporter ces applications Web sur votre bureau!

jeudi 7 mai 2009

En vrac géomatique...

mardi 5 mai 2009

Google Latitude vous permet d'accéder à votre position en GeoJSON ou KML

Google vient de faire évoluer son outil de géolocalisation personnelle : Google Latitude. Cette application vous permet de vous positionner sur terre et de partager ces informations avec vos amis mais aussi avec tout le monde. Elle s'installe sur votre téléphone portable ou s'ajoute à votre iGoogle.

L'évolution de Google Latitude est de pouvoir accéder à votre position publique en dehors de Google Latitude grâce au Google Latitude Badge!

La première utilisation de cette nouvelle fonctionnalité est de pouvoir ajouter à un site ou à votre blog une carte centré sur votre position enregistré par Google Latitude. Techniquement cela se fait au travers d'une <iframe/> qui chargera la carte. Pour ce genre d'utilisation, Google a cherché à faire au plus simple pour des non développeurs. Par contre pour ceux qui ne font pas parti de ces derniers, Google nous offre un moyen d'imaginer d'autres utilisations de notre positions.

Pour les développeurs, Google Latitude offrent maintenant la possibilité d'accéder aux flux de positions au format KML ou GeoJSON! Il sera donc possible d'afficher sa position dans Google Earth, dans Google Maps, dans sa propre application basée sur l'API Google Maps, ou tout autre application supportant le format GeoJSON (OpenLayers, GDAL/OGR, etc). Mais comme il est toujours plus intéressant d'être nombreux, ces flux de localisations peuvent contenir plusieurs positions, par exemple ceux de vos amis.

Mais, car il y a un mais, il n'est pas pour le moment possible de mettre à jour sa position Google Latitude autrement qu'avec l'application Google Latitude, ce qui ne saurait tardé, enfin espérons le!

Annonce officielle!

vendredi 1 mai 2009

La Géolocalisation dans Firefox 3.5 et Fennec

Fennec La fondation Mozilla a publié la semaine dernière la 4e Beta du futur Firefox 3.5. Une des évolutions intéressante de cette version, hormis l'amélioration du moteur JavaScript, l'élément <video/>, les Web Workers, ou le chargement de Font CSS, est l'intégration de l'API de Géolocalisation du W3C. Firefox 3.5

L'API de Géolocalisation est une futur norme du W3C pour permettre aux pages Web et donc aux applications Web d'interroger le navigateur sur le position sur terre de l'utilisateur. Actuellement cette API est accessible aux utilisateurs de Google Gears. Firefox 3.5 augmentera encore le nombre d'utilisateurs susceptibles de profiter de cette innovation, et Fennec, la version pour Mobile de Firefox, devrait encore augmenter l'intérêt des développeurs pour cette fonctionnalité.

L'utilisation de cette API dans une page Web est assez simple :

<html>
<head>
<script type="text/javascript">

function displayLocation(loc) {
  var locDiv = document.getElementById("locationDiv");
  locDiv.innerHTML = "lat: " + loc.coords.latitude + ", lon:" + loc.coords.longitude;
}

function getLocation() {
    navigator.geolocation.getCurrentPosition(displayLocation);
}

</script>
</head>

<body>
<a href="#" onClick="getLocation()">Click here to display location</a><br>
<div id="locationDiv"></div>
</body>
</html>

L'intérêt est de pouvoir fournir un service plus précis :

  • un centrage plus précis sur une carte
  • une recherche plus précise de lieu ou d'information
  • ne pas avoir à installer un nouveau logiciel pour partager sa position
  • ou tout autre service pouvant profiter d'une localisation

Bien sûr l'aspect sécurité et protection de la vie privée a été pris en compte par l'équipe Mozilla. Ainsi voici le point de vue développé par Doug Turner lors d'une conférence sur air.mozilla.org :

  • Protection de la vie privée : le respect de la vie privée est super importante pour nous (Mozilla) et nous estimons avoir la meilleure politique en matière de protection de la vie privée vis à vis de vos données. L'utilisation de données Wifi, d'adresses IP, de protocoles associés ne doit jamais être utilisée pour espionner les utilisateurs, les suivre ou les partagers sans un accord explicite.
  • Préserver le choix de l'utilisateur : Si l'utilisateur ne fait rien, la géolocalisation n'est jamais utilisée. Lorsqu'une page Web veut demander la position de l'utilisateur, une boîte de dialogue, comme pour lorsque vous entrez un login / mot de passe, apparaît. L'utilisateur est libre de choisir si il fournit l'information, mais s'il ne fait rien aucune géolocalisation n'est fournit à la page Web. La fonctionnalité est désactivé par défaut. Enfin l'utilisateur est libre de choisir un autre système de géolocalisation qu'il installe grâce à une extension.

Mais afin de développer l'utilisation de cette API et de faire naître de nouveaux services, Mozilla souhaitait proposer au moins un service de géolocalisation. Par contre ce service doit être en accord avec les règles de sécurité et de protection de la vie privée de la fondation Mozilla, ce qui est la cas des services de Google. Donc par défaut dans Firefox 3.5 et Fennec, la géolocalisation est fourni par le service de géolocalisation de Google que l'on retrouve dans Google Latitude.

Donc techniquement cela donne :

  1. L'utilisateur se rend sur une page contenant du JavaScript demandant la géolocalisation au navigateur, Firefox ou Fennec.
  2. Lorsque la page est chargé par le navigateur une boîte de dialogue appraît.
  3. Si l'utilisateur ne sélectionne rien ou clique non, le navigateur ne demande aucune géolocalisation et retourne simplement un message d'erreur.
  4. Si l'utilisateur a répondu oui, Firefox ou Fennec formate les données des point d'accès Wifi en JSON et les envois au Service Google de Localisation via HTTPS (les données sont donc cryptées).
  5. Le Service Google de Localisation retourne une géolocalisation au format JSON.

Pour en savoir plus :

mercredi 29 avril 2009

En vrac géomatique...

samedi 25 avril 2009

En vrac géomatique...