From cd4ad13b9e4221bda9bab66e091ffb81eab59781 Mon Sep 17 00:00:00 2001 From: Maxime Petazzoni Date: Thu, 10 Jun 2010 17:56:40 +0200 Subject: [PATCH] Skeleton for the State of the Map 2010 talk (July 2010) Signed-off-by: Maxime Petazzoni --- talks/beamerthemeMapOSMatic.sty | 23 ++++++++ talks/sotm-2010.tex | 93 ++++++++++++++++++++++++++++++++ talks/sotm.jpg | Bin 0 -> 29875 bytes 3 files changed, 116 insertions(+) create mode 100644 talks/beamerthemeMapOSMatic.sty create mode 100644 talks/sotm-2010.tex create mode 100644 talks/sotm.jpg diff --git a/talks/beamerthemeMapOSMatic.sty b/talks/beamerthemeMapOSMatic.sty new file mode 100644 index 00000000..9b551039 --- /dev/null +++ b/talks/beamerthemeMapOSMatic.sty @@ -0,0 +1,23 @@ +\DeclareOptionBeamer{compress}{\beamer@compresstrue} +\ProcessOptionsBeamer + +\mode + +%\useoutertheme[footline=authortitle]{miniframes} +\useoutertheme{infolines} +\useinnertheme{circles} +\usecolortheme{whale} +\usecolortheme{orchid} + +\definecolor{beamer@blendedblue}{rgb}{0.137,0.466,0.741} + +\setbeamercolor{structure}{fg=beamer@blendedblue} +\setbeamercolor{titlelike}{parent=structure} +\setbeamercolor{frametitle}{fg=black} +\setbeamercolor{title}{fg=black} +\setbeamercolor{item}{fg=black} + +\setbeamersize{text margin left=1cm} + +\mode + diff --git a/talks/sotm-2010.tex b/talks/sotm-2010.tex new file mode 100644 index 00000000..dc527683 --- /dev/null +++ b/talks/sotm-2010.tex @@ -0,0 +1,93 @@ +% MapOSMatic - State of the map 2010 presentation +% -*- coding: utf-8; mode: LaTeX -*- + +% Copyright (C) 2010 Maxime Petazzoni +% Thomas Petazzoni +% Distributed under the terms of the Creative Commons CC-by-sa 3.0 + +\documentclass{beamer} +\usepackage[utf8]{inputenc} +\usepackage[american]{babel} + +\mode +\usetheme{MapOSMatic} +\setbeamercovered{dynamic} + +\title{MapOSMatic: city maps for the masses} +\author{Thomas \& Maxime {\sc Petazzoni}} +\institute{SOTM} +\date{July 11th, 2010} + +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Introduction} +\begin{frame}[t,plain] + \titlepage + + \begin{center} + \includegraphics[height=2.5cm]{sotm.jpg} + \end{center} +\end{frame} + +\begin{frame}[t]{Outline} + \setcounter{tocdepth}{1} + \tableofcontents +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{The story} + +\subsection{The story behing MapOSMatic} +\begin{frame}[t]{From the idea to the code} + \begin{itemize} + \item<1-> An idea from Gilles Lamiral + \item<2-> The first hackfest in August 2009 + \end{itemize} +\end{frame} + +\subsection{Hackfests} +\subsubsection{August 2009} +\subsubsection{December 2009} +\subsubsection{August 2010} + +\subsection{Features timeline} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{MapOSMatic} +\subsection{The user experience: the MapOSMatic.org website} +\subsubsection{A quick walkthrough} +\subsubsection{Example renderings} +\subsubsection{Some statistics} + +\subsection{Behind the web page} +\subsubsection{Our server and infrastructure} +\subsubsection{Rendering pipeline architecture} +\subsubsection{Standing on the shoulders of giants} +\subsubsection{Internationalization} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{OSM/Mapnik weak points} +\subsection{OpenStreetMap administrative boundaries} +\subsubsection{The {\tt admin\_level} problem} +\subsubsection{Missing boundaries} +\subsubsection{Incorrect polygons and {\tt osm2pgsql}} + +\subsection{Mapnik rendering} +\subsubsection{Street labels and zoom level} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{The database} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Future work} +\subsection{Semantics: make the most out of OSM data} +\subsection{Map improvements} +\subsection{Infrastructure improvements} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Conclusion} +\begin{frame}[t]{Conclusion} +\end{frame} + +\end{document} diff --git a/talks/sotm.jpg b/talks/sotm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44011d1436b9d527b1e85f4864c162fe0bace4f2 GIT binary patch literal 29875 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 Y$8zk_e<|_*cJfai%s*|QoqxRh7Yzsdi~s-t literal 0 HcmV?d00001