Suite

Comment créer des couches OpenStreetMap interactives dans TileMill ?


Si je lis bien la spécification UTFGrid, vous ne pouvez avoir que 65 501 fonctionnalités interactives différentes. Ou plus précisément, chaque fonctionnalité a besoin d'un ID unique dans la plage 0-65501.

TileMill utilise UTFGrid pour son interactivité, cette limite semble donc s'appliquer. Il apparaît en tant que JSON non analysable généré, JSON gérant les exceptions, etc.

Alors, quel ID pouvez-vous utiliser pour les fonctionnalités OpenStreetMap (chargées dans une base de données PostGIS), étant donné que leosm_idcolonne aura des valeurs dans les centaines de millions.


Si vous voulez un identifiant unique par ligne, il sera plus facile d'utiliser le numéro de ligne.

SELECT (row_number() OVER())-1 AS id, way, (… )

De cette façon, vous obtiendrez un identifiant incrémentiel à partir de 0 et n'aurez pas à vous soucier des collisions.


J'ai trouvé une solution de contournement simple qui semble fonctionner correctement. Créez une couche PostGIS avec une colonne supplémentaire comme celle-ci :

(chemin SELECT,… osm_id % 65500 AS tinyid FROM planet_osm_point) p

Ensuite, réglezminusculecomme "Champ clé unique" de la couche.

C'est-à-dire, prendre le réelosm_idmodulo 65500 pour toujours produire une valeur comprise entre 0 et 65500. Cela provoquera parfois des erreurs si deux entités d'une même tuile ont le mêmeminuscule.

(Il pourrait y avoir de meilleures façons?)


Faire en sorte que la nouvelle carte Tilemill corresponde aux styles d'étiquette par défaut de Mapbox

Je souhaite créer une carte dans Tilemill qui correspond à la façon dont les étiquettes sont affichées dans cet exemple, jusqu'aux pays qui obtiennent des étiquettes à chaque niveau de zoom, quel pays obtient l'abréviation. par rapport au titre complet, en utilisant des lignes pour connecter des étiquettes à des pays plus petits, etc.

Cela semble être le style d'étiquette par défaut de Mapbox (je remarque que cette carte Mozilla agit exactement de la même manière), car il n'y a aucune personnalisation là-bas. Cependant, lors de la création d'une nouvelle carte Tilemill, il n'y a aucune étiquette. Que dois-je faire pour ajouter des étiquettes exactement de la même manière que cet exemple Mapbox (c'est-à-dire les styles d'étiquette par défaut de Mapbox) ?


1 réponse 1

Je suis dans une situation similaire, donc je ne connaître la réponse, mais d'après ce que j'ai pu comprendre, je pense que vous êtes sur la bonne voie.

J'ai commencé par utiliser l'approche Mapbox, qui simplifie les choses tant que vos données sont statiques. Vous utilisez Tilemill non seulement pour générer vos tuiles PNG (une fois que vous avez utilisé Carto pour faire un joli style) mais aussi pour importer vos ensembles de données.

TileMill peut exporter vos fichiers TileJSON et UTFGrid avec les tuiles PNG toutes emballées et prêtes à l'emploi. Mapbox hébergera ensuite tout cela pour vous, et vous pouvez utiliser leur bibliothèque mapbox.js (une extension de Leaflet) pour tout rassembler dans le navigateur, avec une interactivité totale. L'ouverture de fenêtres contextuelles serait quelque chose que vous feriez en Javascript dans le navigateur - et si vous voulez dire infoWindows (la fenêtre de superposition associée à un point de carte), ce serait un appel à l'API Leaflet.

Si vous êtes heureux de créer vos couches et d'importer vos données hors ligne, cette approche semble être vraiment simple et puissante, Mapbox rendra même les tuiles en utilisant plusieurs couches superposées - ainsi, par exemple, vous pouvez voir vos cercles au-dessus d'une image satellite, fusionnés en un seul PNG.

Le problème survient vraiment lorsque vos données doivent être mises en ligne et vous ne pouvez donc pas tout préparer à l'avance dans TileMill. J'essaie toujours de comprendre tout cela, mais il semble qu'une combinaison de TileStache et de Mapnik puisse vous fournir les fichiers TileJSON, GeoJSON et UTFGrid dont vous auriez besoin ainsi que les tuiles elles-mêmes, d'ailleurs vous avez décrit dans la question.

Vous voudrez peut-être également PostGIS et GeoDjango ou similaire dans les coulisses afin de conserver et de gérer vos données en direct, respectivement.

Comme je l'ai dit, j'essaie toujours de faire fonctionner ma pile complète, donc je ne peux pas garantir cela à 100%, mais si vos données sont collectées à l'avance, je recommanderais certainement la route TileMill par souci de simplicité.


2 réponses 2

Voici comment j'ai fini par résoudre le problème.

Comme Tilemill ne lit pas nativement les fichiers .osm/.o5m/.pbf, j'ai utilisé Osmosis pour convertir un fichier .osm en fichiers .shp.

J'ai ensuite créé un nouveau projet dans Tilemill et ajouté les fichiers .shp particuliers que je voulais comme calques dans le nouveau projet. Il faut un peu de bricolage pour que la carte ressemble à ce que vous voulez, mais elle est très similaire à CSS et assez facile à récupérer au fur et à mesure.

Une fois que la carte avait l'apparence que je voulais, je l'ai exportée en tant que fichier .mbtiles. Cela prend beaucoup de temps à faire et les fichiers peuvent être très volumineux selon le niveau de détail des tuiles. J'ai fait une carte de l'Irlande avec des niveaux de zoom compris entre 7 et 14 inclus et j'ai fait une seule carte de la ville de Dublin avec des niveaux de zoom de 11 à 17 inclus. Même si la carte de la seule ville de Dublin avait beaucoup moins de tuiles, elles étaient toutes les deux


OpenLayers Layer.XYZ ne peut pas obtenir la latitude, n'est-ce pas ? (avec TileMill + TileStache)

J'ai construit un serveur de tuiles local pour servir à une application javascript locale, et je reçois les tuiles de carte via openlayers en tant que Layer.XYZ.

J'ai acquis des données brutes pour le Massachusetts auprès de thinkgeo. Il s'enregistre aux bonnes coordonnées, car il s'aligne sur la carte du pays intégrée à Tilemill.

J'exporte la carte de tilemill via mapnik (je l'ai également fait via mbtiles avec une réduction de taille extrême) et configure tilestache pour utiliser le fichier de sortie approprié. Il semble fonctionner correctement, car lorsque je charge mon javascript, les cartes des pays sont extraites avec succès et lorsque je trouve le Massachusetts, les routes sont mises en évidence comme je le souhaite.

Lorsque j'ai réglé le zoom et réglé le centre sur le lon/lat de Boston, qui fonctionnait correctement sur un Layer.OSM dans la version en ligne que j'ai rédigée précédemment, cela me donne l'océan juste au nord-ouest du Groenland. En fait, je dois régler la latitude sur -lat pour même être à portée des massachusetts, mais cela ne me met toujours pas à Boston.

J'ai défini la configuration TileStache pour utiliser WGS84 et l'importation OpenLayers pour utiliser EPSG:4326, ce que toute la documentation indique comme étant le même. Ainsi, je me demande s'il y a quelque chose dans les couches XYZ d'OL qui rend cela plus difficile?

Si quelqu'un a d'autres suggestions, liées aux autres logiciels que j'utilise, je suis tout ouïe.


Création de cartes Web en Python à l'aide de Folium – Premières impressions

Folium est un package Python conçu pour faire le pont entre le muscle de gestion des données de Python et la bibliothèque JavaScript facile à utiliser de Leaflet pour créer des cartes Web attrayantes et interactives. Le Leaflet open source est un outil de cartographie Web très populaire en raison de sa flexibilité, avec un bon nombre de plug-ins développés par la communauté élargissant encore ses capacités natives. Alors que Python est un langage de programmation robuste, avec de nombreux packages contribuant à l'analyse géospatiale, Pandas, GeoPandas, Fiona, Shapely, Matplotlib et Descartes pour n'en nommer que quelques-uns, Folium se différencie par sa facilité d'utilisation et le potentiel interactif du produit final. . Après quelques expérimentations avec la bibliothèque, il n'a pas fallu très longtemps pour produire une carte Web fonctionnelle, quoique simple, avec des données ponctuelles regroupées, accompagnée de fenêtres contextuelles. Cependant, il était évident qu'il y avait plus à explorer avec Folium, car il fonctionne bien avec de nombreux types de données géospatiales, comprend des fonctions et des méthodes intégrées pour produire des choroplèthes, des visualisations temporelles et permet de marier le meilleur de Python et Brochure.

Le code et les cartes résultantes montrent un exercice simple d'extraction des coordonnées géographiques (correspondant déjà à la projection web-mercator par défaut de Leaflet) et de quelques valeurs d'attribut correspondant aux entrepôts/centres de distribution de Lehigh Valley en Pennsylvanie à partir d'une feuille de calcul Excel. La bibliothèque Pandas a été utilisée pour lire le document Excel et convertir les informations souhaitées en une base de données. Folium a été utilisé pour initialiser une carte Leaflet, ajouter des enregistrements sous forme de points avec une certaine stylisation appliquée. Il s'agit d'un code bref qui pourrait facilement être ajouté à la fin d'une analyse spatiale plus intensive à l'aide de Python. Il peut fournir un moyen rapide de publier des résultats dans un format interactif sans nécessiter l'utilisation de JavaScript/html/CSS, ou pourrait servir de point de départ pour un style plus élaboré.


Directives de soumission de projet à terme

Dans Geog 585, vous devez créer un projet de terme qui prend certaines données qui vous intéressent et les fusionne en une carte Web utile. Le terme projet peut être de nature simple et ciblée, mais doit inclure :

  • un fond de carte pour donner un contexte géographique
  • une ou plusieurs couches thématiques distinctes du fond de carte
  • un ou plusieurs éléments interactifs qui révèlent plus d'informations (comme la possibilité de cliquer sur une entité pour afficher une liste d'attributs ou de filtrer de manière sélective les informations dans une couche de carte).

Lors de la création de votre projet de semestre, vous devez utiliser au moins un outil ou une technique qui n'a pas été abordé dans les supports de cours. Cela pourrait, par exemple, être un outil de (pré)traitement des données, ou il pourrait s'agir d'une classe ou d'une méthode Leaflet que vous avez explorée. Vous n'avez pas besoin de connaître cette partie lorsque vous faites la proposition, mais au fur et à mesure que vous travaillez sur les différents exercices du cours, vous devez rester conscient des fonctions supplémentaires que vous pourriez incorporer pour répondre à cette exigence.

Le projet doit être entièrement construit avec FOSS. Cette exigence n'est pas en place pour faire de vous un « puriste » du logiciel libre, mais plutôt pour vous obliger à mettre pleinement en pratique les compétences que vous avez acquises dans ce cours et à découvrir de nouvelles façons de faire les choses. S'il y a une partie du traitement des données de votre projet que vous pensez ne pas pouvoir être complétée avec FOSS, veuillez en discuter avec l'instructeur.

Le terme soumission de projet comprend trois parties :

  1. une vidéo en ligne démontrant la fonctionnalité du projet.
  2. un article décrivant l'objectif et l'approche du projet. Cela inclut également votre code.
  3. deux brèves revues de projets d'autres étudiants.

Les exigences de la soumission sont décrites en détail ci-dessous. Veuillez consulter la rubrique de notation des projets sur Canvas pour comprendre exactement comment ces exigences seront évaluées.

Soumission de la vidéo du projet

Pour partager votre projet avec l'instructeur et d'autres, vous créerez un enregistrement d'écran en ligne "vidéo" expliquant le but du projet et donnant une visite guidée de ses fonctionnalités. En moins de 5 minutes, la vidéo doit couvrir les éléments suivants :

  • Donnez un aperçu de l'objectif du projet et de la façon dont un utilisateur tirerait profit de cette carte.
  • Expliquez où vous avez obtenu les données.
  • Décrivez les étapes de prétraitement et les outils que vous avez utilisés pour préparer les données pour l'utilisation de la carte Web.
  • Montrez comment les données sont divisées en fond de carte et en couches thématiques.
  • Décrivez les approches que vous avez adoptées pour exposer les données en tant que services Web et Pourquoi vous avez choisi ces approches (par exemple, un service dessiné dynamiquement à l'aide de WMS, des tuiles conçues avec TileMill, des tuiles extraites d'OpenStreetMap, une couche GeoJSON dessinée par le navigateur, etc.).
  • Démontrez les éléments interactifs de votre carte Web. Suivez "l'histoire" de ce qu'un utilisateur ferait en s'approchant de votre carte. Par exemple : "Supposons que vous travaillez pour _____ et que vous voulez apprendre ____, alors vous arrivez sur cette carte et voyez que vous pouvez activer la couche ______ qui vous indique _______. Vous voyez alors que ______ est cliquable, donc vous cliquez dessus et apprenez que _______ est ________. Vous connaissez maintenant _________, ce qui vous aide à prendre une décision concernant _______. »
  • Décrivez au moins un outil ou une technique utilisé dans la création de votre carte Web qui n'a pas été abordé dans les supports de cours.

On s'attend à ce que la vidéo enregistre simplement l'écran (vous n'avez pas besoin d'apparaître devant la caméra). Il existe de nombreuses alternatives pour produire la vidéo, y compris des logiciels et des services gratuits d'enregistrement d'écran. En tant qu'étudiants de Penn State, vous avez un accès gratuit à Kaltura. Une autre option gratuite qui a bien fonctionné dans le passé est Screencast-O-Matic qui vous oblige à exécuter un petit programme sur votre ordinateur. La vidéo enregistrée peut être stockée sous forme de fichier .mp4 ou elle peut être partagée via leur site Web. Alternativement, si vous avez accès à un logiciel d'enregistrement d'écran professionnel tel que Captivate, Camtasia, Fraps, etc., vous pouvez l'utiliser. Une grande partie de ce logiciel est disponible pour des périodes d'essai gratuites. Une option pour les utilisateurs de Mac consiste à utiliser QuickTime. Il existe des descriptions sur la façon de procéder sur le Web. Pour partager votre vidéo, vous pouvez également la télécharger sur votre espace PASS ou utiliser tout autre service de partage de fichiers, par exemple dropbox.com.

Il est fortement recommandé de réserver au moins un jour ou deux pour la création de la vidéo. Cela vous permettra de faire face à tous les défis techniques imprévus et de faire plusieurs « prises » si nécessaire. Les choses se passeront plus facilement si vous préparez un script ou un aperçu des choses que vous voulez montrer et que vous vous y référez pendant l'enregistrement vidéo.

La vidéo est à remettre dimanche soir avant la date de fin du cours. Pour soumettre la vidéo, suivez la description sur la page Soumission du projet à terme et mini conférence.

Rédaction de projet et soumission de code

Veuillez également soumettre un récapitulatif de plus de 500 mots :

  • le but de votre projet
  • le processus de décision que vous avez suivi pour décider comment servir les différentes couches
  • les façons dont votre projet renforce et étend les informations des leçons Geog 585
  • les choses que vous avez apprises dans ce projet qui vous seront les plus précieuses dans votre carrière professionnelle ou universitaire.

Veuillez soumettre tout le code source de votre projet avec votre écriture. Vous pouvez coller le code dans la rédaction ou simplement compresser les fichiers HTML et JavaScript d'origine avec votre rédaction.

La rédaction doit suivre les conventions de rédaction et de grammaire professionnelles et doit faire l'objet d'une vérification orthographique. La rédaction et le code sont dus dans la boîte de dépôt du projet de trimestre avant la date de fin du cours.

Pointe: Si vous terminez la rédaction avant de faire votre narration vidéo, les mots peuvent venir plus facilement lorsque vous êtes " devant la caméra ".

Commentaires sur les projets des autres étudiants

Le projet sera sans aucun doute une expérience d'apprentissage pour vous, mais il y a aussi beaucoup à apprendre des expériences et des soumissions des autres étudiants. Au cours des trois derniers jours du cours (lundi, mardi, mercredi), prenez le temps de consulter le "Forum de révision des vidéos et des amplis du projet de session" sur Canvas pour parcourir les autres soumissions. Sélectionnez deux projets qui vous intéressent et, avec chacun, publiez une brève critique en guise de réponse. Votre avis doit inclure :


Consultants Microsoft Power BI

La création de cartes personnalisées n'est que la pointe de l'iceberg lorsqu'il s'agit de libérer le potentiel de visualisation des données de Microsoft Power BI. Innovative Architects est un partenaire Microsoft Gold Certified et nos consultants peuvent aider votre entreprise à tirer le meilleur parti de vos investissements technologiques d'entreprise, y compris Power BI.

Avec des bureaux à Atlanta, GA, Washington, D.C. et West Palm Beach, FL, nous sommes stratégiquement situés pour nous connecter avec des entreprises dans l'est des États-Unis. Contactez-nous dès aujourd'hui pour commencer.

Nous travaillons en partenariat avec une liste diversifiée de fournisseurs leaders du secteur afin que vous obteniez toujours la bonne solution


Revue des autres blogs

Tout au long du cycle électoral de 2012, nous avons été fascinés par l'idée de visualiser les résultats des élections en temps réel. Le jour du scrutin, à compter de la fin du vote sur la côte Est, les salles de rédaction se précipitent pour traiter et visualiser les totaux des votes dans chacun des 50 États, 435 districts du Congrès et 3 200 comtés du pays. L'Associated Press fournit un flux de données de résultats agrégées à partir du personnel déployé à travers le pays à des intervalles de huit minutes. Étant donné que presque tous les organes de presse s'abonnent à ces données, la course pour rapporter les résultats en premier consiste en fait à disposer d'un temps de publication incroyablement court, tout en maintenant une concentration constante sur la fiabilité pendant ce qui est souvent la nuit de trafic le plus élevé pour les sites Web d'information. L'excitation de la nuit et la disponibilité d'une source fiable de données rapides en font un problème vraiment passionnant à résoudre.

Au cœur d'une refonte massive et d'une refonte de la marque sur tous les médias imprimés et électroniques, USA TODAY a fait appel à notre équipe pour les aider à créer une nouvelle plate-forme de cartographie électorale en temps réel. Notre travail a abouti à une application Web conçue de manière réactive qui alimentait un tableau de bord en plein écran, une vue pour téléphone intelligent et tablette, et huit vues intégrables différentes utilisées tout au long de la soirée électorale sur la page d'accueil USATODAY.com et plusieurs pages de sujets et d'articles. Voici comment nous l'avons construit.

Notre première décision a été de savoir comment rendre les cartes de manière à maximiser la fiabilité tout en réduisant le temps de mise à jour. Nous avons envisagé plusieurs options pour cela :

  • Serveur de tuiles de rendu en direct: Nous configurons TileMill sur un serveur pour générer des tuiles de carte selon un calendrier avec la publication de nouvelles données de résultats. Les tuiles de carte seraient hébergées sur mapbox.com pour assurer la disponibilité la plus élevée possible. Cette option était attrayante car nous avons beaucoup travaillé avec des cartes basées sur des tuiles, y compris la couche de base MapBox Streets, mais cela impliquerait des modifications considérables de notre serveur d'hébergement pour permettre des mises à jour plus rapides que toutes les heures.
  • Génération d'images de carte statique côté serveur: Nous avons TileMill qui rend les cartes en plein écran au lieu des tuiles de carte. Ces images peuvent être hébergées sur n'importe quel serveur Web de fichiers statiques avec des temps de mise à jour rapides. Cependant, le besoin d'une douzaine de vues différentes multiplié par des centaines de courses électorales a rendu cette option moins attrayante, et nous devons créer une méthode personnalisée de superpositions interactives.
  • Manipulation d'image dynamique côté client: si nous rendions toutes les images de carte à l'avance et manipulions uniquement les couleurs des fonctionnalités de la carte dans le navigateur en fonction des données de résultats, nous aurions l'avantage d'un hébergement de tuiles fiable combiné à des actualisations rapides des données et à une faible surcharge de génération de tuiles. Cette option était très prometteuse, et nous avions un exemple de projet de travail qui chargerait des tuiles d'images avec chaque état, district du Congrès ou comté coloré par une représentation hexadécimale de son ID FIP et utiliserait un canevas HTML5 et JavasScript pour évaluer la couleur initiale de chaque pixel, décoder sa valeur FIP et la recolorer en fonction des dernières données de résultats. Cela s'adapte bien et préserve la haute résolution des fonctionnalités disponibles avec les mosaïques d'images. Cependant, en fin de compte, cela nécessiterait un investissement important dans une solution de secours Flash pour Internet Explorer 8 et le chargement de tuiles à partir de l'origine mapbox.com distante dans un élément Canvas introduit des problèmes de sécurité inter-domaines.
  • Vecteurs SVG avec repli VML: Cette option a gagné pour plusieurs raisons. Premièrement, il existe plusieurs bibliothèques bien établies et faciles à utiliser pour le rendu vectoriel SVG qui nous permettraient de faire tout le traitement de la carte directement dans le navigateur et ne nécessiteraient absolument aucune infrastructure côté serveur. Nous avons pensé que n'importe quel serveur serait un point de défaillance considérable, c'était donc important pour assurer la fiabilité. Et cela ne nécessiterait pas autant de développement personnalisé que l'approche précédente basée sur Canvas.

Nous avons choisi D3.js pour gérer la génération de cartes SVG. D3 fournit une interface simple pour créer des SVG, ainsi qu'une prise en charge native des projections et transitions cartographiques. Comme il ne s'enlise pas dans la prise en charge des navigateurs hérités sans prise en charge de SVG, nous sommes passés à R2D3 pour les versions d'Internet Explorer inférieures à IE9.

La prise en charge de la projection D3 comprend Mercator et Albers, ainsi qu'une option pour définir la vôtre. Pour les vues nationales, nous avons utilisé une projection d'Albers, mais pour les vues à l'échelle de l'État, nous avons plutôt utilisé la projection sphérique de Mercator dans MapBox.js afin de pouvoir superposer les cartes sur la couche de terrain MapBox. C'était relativement facile à faire - en fonction du niveau de zoom de la carte, nous avons modifié la fonction de projection. Nous avons également utilisé D3 pour animer le processus de reprojection pour un effet de transition en douceur.

Nos cartes nécessitaient deux entrées : des données géographiques pour les formes et les valeurs des résultats des élections pour chaque division politique. Nous avons utilisé des fichiers de forme de recensement pour les États et les comtés, et les districts du Congrès nouvellement redécouverts d'Azavea. Les fichiers de forme source faisaient chacun plusieurs mégaoctets, nous avons donc dû simplifier considérablement leurs détails géographiques pour les rendre suffisamment petits pour être transférés via Internet dans le navigateur. Notre objectif n'était pas de plus de 300 Ko de taille compressée gzip par fichier.

Nate a traité les données avec toute une suite d'outils open source, notamment QGIS, PostGIS et GDAL OGR. Le premier défi consistait à réduire la complexité géographique et à maintenir les limites adjacentes - plus techniquement connues sous le nom de préservation de la topologie. Deuxièmement, nous devions nous assurer que les limites des entités sur différentes couches de données correspondent, par exemple, lorsque nous superposons les frontières des États sur les districts du Congrès, ce que nous avons résolu en coupant les districts et les comtés du Congrès à la limite de chaque État parent.

Assez rapidement, nous avons réalisé que nous ne pouvions pas compter sur un seul fichier de simplification pour nous donner à la fois la petite taille de fichier et les détails haute résolution que nous voulions. Nous avons donc produit un ensemble de districts du Congrès fortement simplifiés à utiliser avec les D3 et les États et les comtés simplifiés. Ces données seraient utilisées pour de petites cartes, comme les vignettes de chaque race, la carte nationale des races de la Maison et les cartes nationales au niveau des comtés. Pour les vues agrandies, comme lorsque vous cliquez sur un état pour voir les détails au niveau du comté, nous avons produit des fichiers à plus haute résolution pour chaque état de tous les comtés et districts du Congrès de cet état. L'application charge ensuite dynamiquement les données pendant que vous naviguez sur la carte. Lorsque vous chargez la vue initiale, vous recevez quelques fichiers simplifiés pour dessiner des vignettes en basse résolution et une carte principale des états en haute résolution. Lorsque vous cliquez sur un état, un fichier haute résolution des comtés pour cet état se charge, fournissant de meilleurs détails sans avoir besoin de précharger beaucoup de données géographiques supplémentaires.

Au final, nous avons essentiellement construit une API pour demander des données géographiques à deux niveaux de simplification. Pour le faire évoluer, nous n'avons pas fait le traitement à la volée. Demander des données géographiques à partir d'une base de données en direct est un risque totalement inutile lorsque les données géographiques ne vont pas changer. Nous avons rendu toutes les données dans des fichiers texte geoJSON plats que nous avons hébergés dans toutes les applications d'autres fichiers statiques.

Comme pour les cartes, nous avons atteint une évolutivité et une fiabilité élevées en déchargeant autant que possible l'application Web sur le navigateur. Il n'y avait pas d'application de serveur principal derrière l'application Web. Une seule application Web Backbone.js alimentait tous les intégrations, le tableau de bord plein écran et les vues des smartphones et tablettes.

Initialement, l'affichage de l'application ne charge que la mise en page HTML la plus basique et démarre le routeur Backbone. Selon le hachage d'URL de la demande, le routeur charge dynamiquement le reste de la mise en page HTML. L'accès à /#embed charge une vue d'intégration particulière, tandis que la demande de /#map ou /#table charge une carte d'application principale ou une vue tabulaire. Des valeurs supplémentaires après le paramètre d'affichage déterminent les paramètres de configuration tels que la taille d'intégration, la race et l'état. Pour les intégrations, l'application principale avec le hachage d'URL approprié est intégrée dans un iframe. Pour l'application principale, lorsque vous cliquez dessus, vous déclenchez de nouvelles routes en mettant à jour le hachage d'URL avec de nouveaux paramètres, ce qui met à jour la page sans avoir besoin d'une actualisation complète.

Pour une application complexe comme celle-ci, nous avons passé beaucoup de temps en partenariat avec le personnel de USA TODAY à la conception et au développement de l'application Web. Mais le principe est simple : demandez paresseusement uniquement les données dont vous avez réellement besoin pour une vue donnée, y compris le modèle HTML, les géodonnées et les données de résultats. Cela nous permet d'avoir une grande application côté client hébergée sur une seule page html sans aucune exigence d'application serveur.

Avec l'équipe USA TODAY, nous avons élaboré une spécification pour une API JSON simple pour transférer les résultats des élections en direct. Ils ont construit un processus pour ingérer les données XML d'Associated Press et les exposer selon le schéma de l'API. Nous avons prédéterminé et calculé toutes les requêtes possibles afin qu'elles puissent être mises en cache dans un CDN avec un TTL très élevé. Il y avait peu de chances que les demandes aient besoin de revenir au serveur de l'API de données. Un seul point de terminaison d'API mis à jour fréquemment - un simple numéro de la dernière version des données disponibles sur le serveur. L'application Web a interrogé ce point de terminaison toutes les 30 secondes pour s'assurer qu'il disposait des dernières données. Si la réponse de l'API avait un nombre plus élevé, l'application savait que de nouvelles données étaient disponibles et émettait des requêtes contre les points de terminaison dont elle avait besoin pour reconstruire sa vue actuelle. La méthode a fourni un équilibre entre la détection et la mise à jour rapide des modifications de données et les requêtes hautement cacheables pour protéger le serveur API. Étant donné que ce serait la seule partie de l'ensemble de l'application qui nécessiterait une application côté serveur, il était crucial d'avoir un processus de mise en cache fiable.

Nous avons initialement mis en place un processus de contrôle de version sur chacune des mises à jour de données de huit minutes en tant que sécurité intégrée. En cas de problème dans une nouvelle version des données, nous pourrions toujours revenir à une version précédente. Mais nous nous sommes vite rendu compte que ces versions offraient un sous-produit intéressant : nous pouvions analyser les différences entre les versions pour produire un flux de mises à jour afin d'attirer l'attention des téléspectateurs sur les dernières nouvelles provenant des données de résultats.

Le flux de mises à jour répertoriait trois événements principaux : les nouveaux États déclarant des résultats, les courses appelées pour un candidat et les États qui ont basculé vers un parti différent lors de l'élection présidentielle par rapport à 2008. De simples comparaisons entre les versions nous ont permis de montrer le récit de la nuit par des changements dans les données. Avec un temps moyen sur site d'une dizaine de minutes, nous étions très enthousiasmés par cette fonctionnalité.

Prime: Maintenant, nous pouvons utiliser les versions de données rejouées la nuit plus tard pour voir les résultats au fur et à mesure de leur déroulement.

Faites-nous savoir sur Twitter si vous avez des questions ou si vous réfléchissez à votre propre projet de cartographie de données en temps réel.

Meridian Release SDK pour la navigation et la localisation en intérieur

Le fournisseur de services de localisation intérieure Meridian a annoncé aujourd'hui la disponibilité de deux kits de développement logiciel (SDK) permettant aux développeurs tiers d'utiliser le logiciel de navigation intérieure de Meridian ou la technologie de localisation intérieure Meridian dans leurs applications.

Ces SDK, appelés NavKit (pour les cartes intérieures et la navigation) et BluDotKit (pour la localisation intérieure.

Les hybrides rechargeables Ford exploitent les données GPS pour conduire plus longtemps en mode « électrique uniquement »

"Nous savons d'après nos recherches que les conducteurs hybrides veulent conduire aussi souvent qu'ils le peuvent en mode électrique uniquement, en particulier près de leur domicile ou dans des endroits fréquemment visités", a déclaré Kevin Layden, directeur des programmes d'électrification et de l'ingénierie de Ford.

Pour répondre à cette demande des consommateurs, le constructeur automobile a développé EV+, une fonctionnalité qui commute le moteur i.

"OpenStreetMap.org User's Diaries": Le mode simple Potlatch 2 cache trop

http://www.openstreetmap.org/browse/way/89902961/history Notez que wambag a changé la vitesse max (probablement correctement la ville a récemment pris en charge la maintenance de l'état), mais la source:maxspeed n'a pas été touchée (et est donc incorrecte à présent). Je n'ai pas eu de réponse, mais il est très probable qu'il utilisait le mode simple de PL2, qui vous permet de choisir la vitesse maximale dans une liste déroulante, mais ne mentionne pas source:maxspeed.

Solution possible : placez une liste de toutes les balises en bas (en ignorant peut-être certaines d'entre elles comme TIGER), avec une sorte d'indice montrant la corrélation entre les balises simples en haut et celles en bas. Cela a pour effet secondaire bénéfique de faciliter la courbe d'apprentissage.

Navigation pas à pas avec Openstreetmap : utilisation et intérêt croissants

"OpenStreetMap.org User's Diaries": Routage, ça marche la plupart du temps

Je contribue à OpenStreetMap depuis un certain temps maintenant, mais je teste en fait les données OSM aujourd'hui.

Un membre de la famille a récemment acheté un nouveau véhicule équipé d'un GPS intégré fourni par le fabricant et contenant des données cartographiques exclusives. Nous avons décidé d'avoir un lecteur aujourd'hui pour le tester. J'ai apporté mon Garmin eTrex 20 chargé de cartes TalkyToaster dérivées d'OpenStreetMap. Les cartes de TalkyToaster sont routables et ont un grand nombre de points d'intérêt.

Nous avons parcouru 35 km jusqu'à Dungeness dans le Kent. Pendant que j'étais là-bas, j'ai fait quelques relevés de site dans le froid glacial et j'ai fait quelques mises à jour d'OSM.

Le routage a surtout travaillé. Et les données étaient bonnes. A l'aller, j'ai vérifié beaucoup de rues latérales par lesquelles nous sommes passés, et toutes celles que j'ai vérifiées avaient le bon nom et il n'y a eu qu'un seul problème que j'ai trouvé avec les données : il y avait un tout petit cul-de-sac que j'ai repéré ce n'était pas sur la carte. Je l'ai ajouté en tant que waypoint sur mon Garmin et je l'ajouterai à la carte lors du prochain transfert de données.

L'itinéraire n'a eu qu'un seul problème et c'était sur le voyage de retour, en longeant Lower High Street, Wadhurst. Plutôt que de continuer sur High Street, l'appareil Garmin a plutôt indiqué qu'il fallait se tourner vers Church Street. Church Street est une petite rue à largeur unique qui n'est utilisée que pour l'accès et qui est étiquetée autoroute=résidentielle. Vous ne le monteriez pas, surtout dans un véhicule plus gros comme une camionnette. Il dispose en fait d'un panneau d'avertissement interdisant aux poids lourds d'entrer. Mais le Garmin insistait beaucoup pour qu'on y conduise. Le GPS installé par le fabricant a déclaré avec précision qu'il devait continuer le long de la High Street.

Je ne devrais pas être surpris de la qualité des données OpenStreetMap (j'en ai ajouté beaucoup), mais ce léger incident de routage mis à part, certainement ici dans le sud-est de l'Angleterre, il est maintenant assez proche d'assez bon pour qu'il puisse être utilisé pour la navigation en voiture. Après avoir vu le nombre de mises à niveau de données pour certaines unités GPS de voiture (jusqu'à 150 £ dans certains cas), l'avenir devrait vraiment appartenir à OpenStreetMap.

Nous avons des données ouvertes, nous avons maintenant des systèmes d'exploitation open source (Linux, Android), du matériel bon marché, Kickstarter pour le financement : quelqu'un pourrait construire un système de navigation par satellite complètement open source.

"OpenStreetMap.org User's Diaries": Mapathon - Operation Cowboy

Comme la Nuit des cartes vivantes a été (du moins à mes yeux) un succès, je me suis senti motivé pour démarrer une autre fête de la cartographie mondiale (mais quelque peu virtuelle) à la fin de l'année.

C'est ici: Opération Cowboy Comme vous pouvez vous y attendre, cette fois, nous essayons d'aider notre communauté américaine/américaine en apportant plus de détails à cette immense nation et en aidant à améliorer les données TIGER importées.

Mais bon, notre communauté est sociale, alors pourquoi ne pas organiser une fête locale pour votre communauté ?

Je suppose que ce sera à nouveau amusant !

OpenGeoData : Résumé OSM hebdomadaire #55

22 octobre 2012 et 5 novembre 2012

Un résumé de tout ce qui se passe dans le OpenStreetMap (OSM) monde.

  • Merci beaucoup à Yandex pour avoir fourni un nouveau Tile-Server à Moscou.
  • La page utilisateur OSM prend désormais en charge les images utilisateur Gravatar. Vous pouvez l'activer dans vos paramètres utilisateur.
  • Le site Web et l'API OpenStreetMap sont désormais disponibles via IPv6.
  • Après la "Nuit des cartes vivantes", nous avons un nouvel événement à venir. « Opération Cowboy » est un événement mondial Mapathon. En savoir plus à ce sujet ici.
  • Richard Fairhurst et le nouvel éditeur Javascript OSM iD. Tom MacWright a également écrit un article de blog à ce sujet. sur les deux premières semaines de la nouvelle Équipe humanitaire OpenStreetMap (CHAUD) Projet EUROSHA. sur une carte.
  • Frederik Ramm a écrit au sujet des allégations "Anti Business".
  • La page Web &ldquoComment avez-vous contribué à OpenStreetMap?&rdquo a été mise à jour. Lire plus d'informations dans un article de blog.
  • Simon Poole a créé une nouvelle couche &ldquolive&rdquo avec des rues qui n'ont pas de nom.
  • Martijn van Excel a écrit un article de blog sur OSM US TIGER Deserts.
  • MapRoulette has a new Challenge: Connectivity Bugs. You can also find several other potential error sources at the OSM Inspector website and its Routing layer.
  • Tom MacWright wrote an article about "CSS For Maps".
  • The source code of the iOS POI+ editor and FixMyStreets have been released.
  • Mike Niceman published some source code which allows the conversion of OSM to GTFS data.

Did we miss something? You can contact us via [email protected]

"OpenStreetMap.org User's Diaries": UK football Stadium mapping

I have decided to get all the 138 English and Scottish football league stadiums on OSM. It will take me months but I'll chip away.

Some local knowledge but mostly Bing tracing.

Done the A's on my list so far.

Adams Park, Wycombe Wanderers (http://osm.org/go/eus8

Almondvale Stadium, Livingston (http://osm.org/go/evc

Amex/Falmer Stadium, Brighton and Hove Albion (http://osm.org/go/euq7FKbpg--)

One of these wasn't on the map and Already mass confusion on the names of 2 of them.

Linking to Wikipedia pages, operators, websites, adding addresses, Stands (sometimes at the moment as a separate building entity inside the stadium, still thinking of the best way to do this) among other info

I'll update the OSM wiki stub for stadium at some point to when I have seen the pitfalls/best way to map all of this.

MapQuest Adds Traffic-based Routing to iPhone’s Navigation App

MapQuest yesterday introduced a new version of its free turn-by-turn navigation app for the iPhone that now performs routing based on the traffic situation. the new app is also optimized for the larger screen of the iPhone 5.

No name of traffic provider has been given, but INRIX has been the supplier of MapQuest for their web mapping portal fo.

Frederik Ramm: Anti Business

I recently found myself confronted with the sentiment that, as far as OSM or the OSMF are concerend, I had an “anti business” attitude. That’s a funny allegation about someone who was among the first people on this planet to run a business based on making OSM data available commercially, or training commercial entities how to work with OSM.

I’m not anti business. I confess that my output on mailing lists and other forms of OSM project communication may be large, but anyone with a pair of eyes will find that, for example in the license discussion, I have often argued for the business side. For as long as I can think, I vehemently fought the idea that “nobody should make money from our work”, an idea that was and still is occasionally voiced by community members, notwithstanding the fact even the old CC-BY-SA license allowed commercial use.

The one thing that I do regularly say, and where this “anti business” idea might come from, is this: OSM est not a business (and neither is the the OSMF). We are a movement, or a mass membership organisation. In my eyes, the main difference between us and Google Map Maker is not that they have a proprietary license and ours is open. The main difference lies one level deeper: They are ultimately driven by the stock market and we’re not.

Making this distinction is not anti-business it is just about saying things as they are. Organisations driven by the stock market have other kinds of goals, are optimizing for different time frames, have other forms of management, a different type of competition, a different constituency, a completely different set of rules and values. There’s also more at stake – if Google goes bankrupt, lots of people lose their jobs, but if OSM breaks down then a different group of people will just carry on where we left off.

I’m all in favour for working with businesses who can help us make OpenStreetMap better known or more widely used, or give us access to data or help us write code. Any such cooperation will only profit from getting the basic facts right: You are a business, we are not your goal is to make money, our goal is to make a map – and now let’s see how we can do something together that helps us both! It doesn’t help anyone if OSM tries to act like a business. Dealing with OSM will always be totally different from dealing with a commercial map data provider. Our best way to be business friendly is to explain to businesses how we work – to make them understand, and ultimately embrace, the ways in which OSM is special.

MapBox blog: Server Stats from Sandy

Our maps are critical to our users and to the wider public. They were especially crucial for predicting and tracking Sandy’s progression, communicating evacuation plans, and tracking surges.

MapBox powers maps on several storm-related services, including Weather Decision Technologies maps for hundreds of subscribers, USA Today’s main weather map, NYC Government’s evacuation map, and WNYC’s storm surge map. Sunday traffic was up 50% and spiked up 100% when Sandy hit land on Monday. During the storm, our traffic was 450% higher compared to the same time period last month.

Predictions put Sandy on a direct course toward our Virginia data center. Our preparations focused on ensuring full availability knowing that one of our data centers was about to get clobbered. We assumed the worst in terms of physical data center impact - that the power would go out for days, generators would fail, physical equipment would be damaged, and the data center would be shut off and temporarily abandoned. But regardless of what was going to happen, our maps needed to keep working and handle the incredible traffic increase during and after the storm.

MapBox runs hot in two data centers, one in Virginia and the other in Ireland, and our Dyn DNS fails over traffic should one go down. We assumed Virginia would go down and were not comfortable running only in Ireland for what could be several days. It was unclear what network traffic would look like if the only data center were in Ireland and with a badly damaged East coast. Based on the idea that Virginia would fail, we drew up the following plan on Friday:

  1. Setup an additional instance of MapBox at AWS’s Oregon data center.
  2. Made it hot by using Dyn’s Traffic Manager to direct all West coast traffic to Oregon.
  3. DNS failover any traffic from VA to OR in the event of a data center outage.

When Sandy hit landfall, MapBox was running in three data centers, handling 450% of normal traffic, and all traffic going to Virginia was ready to fail over to the remaining data centers.

Highly available architecture

Each instance of MapBox within a data center is also designed to be highly available based on the recommendations of AWS. Within each data center a full MapBox instance runs in at least two availability zones, which are basically like separate warehouses of servers, each with separate private networks, power, and internet uplinks. In other words, there are at least two instances of MapBox running in each data center where MapBox is deployed. The use of multiple availability zones does not guarantee an infrastructure to be 100% fail proof. Even though each availability zones has a separate power source, network, and physical location, past issues indicate how one availability zone can affect another based on how the private network across availability zones is used.

These types of issues and issues like the power outage this summer that could easily knock out multiple power supplies are examples of why MapBox runs in multiple AWS regions. However, there are sometimes smaller outages like last week’s event where running in multiple availability zones can prevent a regional outage of your service. Our approach is to design knowing core parts of our system will fail at a point. This level of persistent paranoia helps us avoid failure at as many levels as possible, and this is how we are prepared for AWS single availability zone and region-wide failures.

Whether an event is somewhat predictable like Sandy, or unpredictable like the earthquake that affected the East coast last summer, we will be open with how MapBox is designed to cope with such unfortunate occurrences and aim to serve your maps, and to serve them as fast as possible, no matter the circumstances. Find MapBox’s current status on the MapBox status page.

Image of the Week: Surging seas climate change New York 10ft

The "Surging Seas" map blends OpenStreetMap and aerial imagery to interactively simulate sea level rise due to climate change. Here we see New York after a 10ft rise, the maximum setting. The storm surge of Hurricane Sandy brought a rise of up to 13ft.

CycleStreets: London Cyclist magazine features OpenStreetMap & CycleStreets

We’ve contributed a two-page article to London Cycling Campaign‘s London Cyclist magazine – sent to all its members – on OpenStreetMap. (Do join LCC if you cycle in London!)

The article introduces the LCC journey planner that we created for them, and talks about how it uses OpenStreetMap, a project that cyclists can contribute to.

The article also includes a box about the England Cycling Data project.

Grâce à LCC for this great publicity for OSM, and thanks to Shaun, Andy and Harry who had a look over the drafts for us!

"OpenStreetMap.org User's Diaries": calculate ways instead of drawing or: a look at average tracks

Since I was at it I checked again Average tracks mentioned yesterday.

In the valley of Trenta there is a nice highway with a lot of logs uploaded but it isn't drawn really nice so far. I downloaded all the GPS data using JOSM, converted it to a data layer cleaned it so that only good traces remained. Saving the data as gpx again, the resulting file contained nearly fifty tracksegments. I split that file into single gpx files each containing one of the segments. These I converted into csv format since the script wants this format.

A first run on all segments I cancelled after short time remembering the runtime of osm-makeroads. I randomly selected some segments but since some covered only a part of that highway the result was unusable.
So I selected nine segments which covered the same part of the road with a length of 19 kilometres. The duration of the calculation with some seconds was satisfying short. The result itself is not to my liking. Though it is in most parts quite usable I will draw a better way by hand.

Conclusion: Most likely won't use this script in the future. It is not much advantage from drawing some kilometers of a way to checking and fixing a calculated one over its complete length before uploading.

(Sorry for the big screenshots, but all for the best visualisation :) The yellow line is the averaged track.)

"faulty" length: about 1200m

U-blox Acquires Competitor Fastrax for €13m

Fabless GPS and wireless semiconductor maker u-blox continues in strategy of targeted investments with the acquisition of Fastrax, Oy, a Finnish company specializing in GNSS modules, technologies and antennas. u-blox spent €13 million to acquire the company.

“Over its 12 year history, Fastrax has established itself as a successful player i.

Image of the Week: Kartograph italy showcase

Kartograph's rendering of Italy, showing just how much can be done in Javascript.

OpenGeoData: A weekend of Potlatch

We usually talk about data on this blog, but OpenStreetMap wouldn't happen without code, too. Running the world's biggest user-editable map (and, increasingly, one of the world's biggest maps, full stop) requires thousands upon thousands of lines of code. from the low-level stuff that keeps the servers flying along, via the API and editing software that enables you to contribute, to the programs and stylesheets that turn all this raw data into pretty maps.

Much of this work happens in isolation, co-ordinated by IRC conversations or mailing lists. But we also have 'hack weekends', where developers - experienced and newcomers alike - come together to share knowledge and bounce ideas off each other.

Last weekend saw a major hack weekend in Toronto, attracting developers from the US, Britain, and the Netherlands as well as Canada. This weekend saw a rather smaller gathering in Charlbury, a tiny town in the Cotswolds, England, which coincidentally is home to the lead developers of both Potlatch (our online editing software) and Mapnik (the 'renderer' which turns OSM data into map images).

The focus for this weekend was Potlatch, with a vast list of improvements undertaken over the two days. The theme was "little things that mean a lot", so when the new version goes live soon, you'll notice quicker loading, neater appearance, more reliable operation, and so on. (Those of a technical bent can see the long list of code changes.)

OpenStreetMap's users are hungry for new features and our existing developers are run off their feet keeping up. So if you have technical skills, come and join in. Whether your knowledge is Ruby, JavaScript or design (the openstreetmap.org website), ActionScript (Potlatch), C++ (various site components) - or whatever it might be - we'd love to have you aboard. Check out the mailing lists (osm.org site, Potlatch, full list) and the #osm-dev IRC channel, and find out how you can get involved.

Coming MapOSMatic hackfest

New week, some of MapOSMatic contributors and developers will join Rennes for a one week MapOSMatic hackfest. We hope to fix the numerous bugs and feature requests we have! Restez à l'écoute! -)


Facturation

How much do the Maps APIs cost?

Go to the pricing page to learn about pricing for maps.

What happens if I exceed the free API requests?

We’ll send you an automated notice when you exceed your free requests, so you know when you’re being charged. As long as your payment information is valid, we will automatically invoice you. If you exceed the limit and don’t have payment information on your account, we’ll send you an email notifying you and give you a short grace period to pay us so your maps won’t get shut down.


Temple PSM dans le SIG

Have you ever wanted to create a 3D map, well WRLD has a free solution for you to use. WRLD is a geospatial company that provides users the ability to create 3D maps through the use of their free API. WRLD uses reputable sources for their geospatial data including OpenStreetMap, USGS, NASA and more. The first step towards creating 3D maps is to create a WRLD 3D account at https://www.wrld3d.com . Once your account has been created and verified, you will then need to create an API key which is located under your account information. Each user will have an unique API key that will be used by WRLD to track the amount of usage. The API key is free as long as you have less than 60,000 users / web views per month.

In this example I used the Brackets text editor which is available for free to download at http://brackets.io . Brackets is cross-platform and interactive with Leaflet which is an open source map based on Javascript, HTML and CSS. Additional coding tips are available on the Leaflet tutorial site at https://leafletjs.com which includes tutorials and code snippets. To begin, open up Brackets and copy the following code into brackets–see the # sign for a description of the line of code and line comments for a description of a block of code:

Make sure to save the file with the extension with .html within Brackets in order for it to work using your localhost. Once connected to the live preview (volt button on top right), the maps will be seen below. Also, you will be able to zoom in and out by “pinching.” 3D coverage is available throughout the world in major metropolitan areas and additional areas can be built for a fee from the WRLD company.