August 2010 hackfest

This is a private hackfest event for the MapOSMatic developers. Contact us if you're interested.

  • Where: near Toulouse, France
  • When: from 08/01/2010 to 08/08/2010
  • Who:
    • Thomas P.
    • Maxime P.
    • David D.: aug 2nd matabiau 16:40 / aug 8th matabiau 15:06 (to self: prendre le TER 16:54 en direction de Auch et descendre à Colomiers Lycée International à 17:20)
    • Pierre M.
    • Gaël U.
  • Preparation
    • Everyone should have a laptop with a working OcitySMap+MapOSMatic setup, with at least one country (France or other) imported into a PostgreSQL database. This would avoid spending a day doing some boring initial setup
    • Take light clothes (hot weather in Toulouse) and bring your bathing suit.

Development ideas

Printing output

Configurable image ratio for "poster" output

To make poster printing easier, users should be able to choose the aspect ratio of the produced output so it fits the traditional paper sizes (A0, A1, A2, A3, A4, US letter, A5). We need to think about how this would work with regard to differences between the rendering area and the target paper size (think large city on small paper size, or small bounding box on A0).


Automatically adjusted grid

Currently the grid is made of 500x500m squares. For small geographic areas this becomes rather useless and smaller grid sizes could be use. We need to determine the thresholds at which we use smaller sizes of 250m and 100m (for example).


"Booklet" output

We want to be able to generate A4, US-letter of A5 sized map+index booklets where the map and index output is split across several pages and rendered into a single “booklet” PDF ready to be printed and stapled.


Map styling improvements

A redesign of the map and index output would be very welcome, to make it more “classy”. The frame, map title, copyright and grid need to be redesigned, and a legend added to the map. The index could help being refreshed, too.

In progress.

Map customization

Provide ways of customizing the map, on different levels :

  • Different rendering stylesheets. At least pre-defined stylesheets, maybe custom stylesheets as well.
  • Different amenities in the index ?
  • Additional point of interests and itinerary, with an integration with Chimère data.

Query optimization

We need to finish solving the query optimization problem. See request_optimization. A candidate patch is already available (requires GEOS >= 3.2).


Administrative boundary level restriction

We currently restrict our search to admin_level=8, but several countries use different administrative boundary levels. In Netherlands, the good level is 10, in Germany, it's 4, 6 or 8 depending on the city, etc. How do we expose all useful levels without offering areas for which MapOSMatic isn't suitable (like full departments in France).

Done. All administrative boundaries are allowed to be rendered as long as their bounding box isn't too big.



We should update the INSTALL file for Ubuntu Lucid and remove the INSTALL.Debian_unstable file. We should specify the version of each program we use.


During State of the Map 2010, a lot of person told us that we should make a small business out of creating (eventually custom) maps. We could use the opportunity of us being all together to discuss this topic further.

Server migration

For Maxime P.: complete the server migration. Import completed on August 5th.

Things remaining to do after the hackfest (and bugs to fix)


  • In the suggest box
    • make sure that the Nominatim icon is rendered
    • improve the layout of the next/prev buttons inside the suggest box
    • use the “area too large” and “no admin” reasons to show something sensible to the user
    • show a little icon showing that the request is in progress
  • Improve the wizard
    • make sure next/prev buttons are always at the same location regardless of the current wizard panel height
    • make sure that hitting 'Enter' allows to move to the next wizard panel, if the next step is enabled
    • put some help text in the different panels
    • Preconfigure initial default landscape/portrait mode correctly (using the orientation of the Best Fit to determine it)
  • Integrate Gaël's map of maps

Map rendering

  • Use PIL to render png, jpg, etc. ?
  • White shades (forests, etc.) are ugly in the new maps. Probably due to the scaling of the map. Bug mapnik ?
  • Default write_to_png() doesn't render correctly the names of cities written with large fonts: some letters remain small, other are large. Bug mapnik ? Fixed by using PIL ??
  • With cairo_set_source_surface from an upscaled PDF surface to an ImageSurface (write_to_png or through get_data + PIL) ⇒ everything pixelized
  • Implement the MapWithIndexRenderer
  • Continue the BookletRenderer

Index rendering

  • Iterate StreetIndex._compute_column_splits over smaller font sizes until one works (or raise IndexDoesNotFitError)

: web

Nominatim proxy

  • Optimize the Nominatim search database query (we currently do one request per Nominatim result)
  • Improve the detection of the presence or absence of “next” results in the Nominatim result. For the moment, it might say that some “next” results are available (because Nominatim is telling us so), but in fact the next results are not useful results. We should query the next results from Nominatim and see if there's something interesting here.


  • Remove the INDEX

Task assignment for the next few weeks to come

  • Max:
    • WEB: User experience (wizards, etc.)
    • Ocitysmap: scale, legend (?), compass rose, etc.
  • Thomas:
    • Ocitysmap: booklet
  • Gael:
    • WEB: cartes deja rendues sur slippymap (maps of maps)
  • d2:
    • Ocitysmap: prise en compte grille dans index (+ redimensionnement auto taille de fontes) + integration dans un Renderer avec index basique
    • Ocitysmap: MAJ script cmdline (optparse). Suppression fonctionnalite de recherche par nom de ville (+ suppr index partiel ocitysmap-init.sql)
  • Pedrov:
    • Styles mapnik
    • Ocitysmap: integration wikipedia (ou autre)
hackfests/august_2010.txt · Last modified: 2010/08/08 12:47 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki