OpenStreetMap logo OpenStreetMap

pnorman's Diary

Recent diary entries

This is a repost of an entry on my blog.

To do something with OpenStreetMap data, we have to download it first. This can be the entire data from planet.openstreetmap.org or a smaller extract from a provider like Geofabrik. If you’re doing this manually, it’s easy. Just a single command will call curl or wget, or you can download it from the browser. If you want to script it, it’s a bit harder. You have to worry about error conditions, what can go wrong, and make sure everything can happen unattended. So, to make sure we can do this, we write a simple bash script.

The goal of the script is to download the OSM data to a known file name, and return 0 if successful, or 1 if an error occurred. Also, to keep track of what was downloaded, we’ll make two files with information on what was downloaded, and what state it’s in: state.txt and configuration.txt. These will be compatible with osmosis, the standard tool for updating OpenStreetMap data.

Before doing anything else, we specify that this is a bash script, and that if anything goes wrong, the script is supposed to exit.

#!/usr/bin/env bash

set -euf -o pipefail

Next, we put the information about what’s being downloaded, and where, into variables. It’s traditional to use the Geofabrik Liechtenstein extract for testing, but the same scripts will work with the planet.

PLANET_FILE='data.osm.pbf'

PLANET_URL='http://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf'
PLANET_MD5_URL="${PLANET_URL}.md5"

We’ll be using curl to download the data, and every time we call it, we want to add the options -s and -L. Respectively, these make curl silent and cause it to follow redirects. Two files are needed: the data, and it’s md5 sum. The md5 file looks something like 27f7... liechtenstein-latest.osm.pbf. The problem with this is we’re saving the file as $PLANET_FILE, not liechtenstein-latest.osm.pbf. A bit of manipulation with cut fixes this.

See full entry

OSMF Board election manifesto

Posted by pnorman on 25 November 2017 in English.

I’m Paul Norman, OSM user pnorman. I’ve been mapping since 2010, and involved in other facets of OpenStreetMap since 2011. For the last three years, I’ve been on the OSMF board, and am running for re-election. During my time I’ve seen the board grow in productivity, the finances become more stable, and us make good strides in transparency.

Outside the board, I’m also involved with the OSMF on the Data Working Group, License Working Group, and Membership Working Group. As a software developer, I’m a maintainer of OpenStreetMap Carto and osm2pgsql, as well as being involved in many parts of rendering toolchain.

In my work life I’m an independent software developer, working on map rendering, cartography, and PostGIS for clients. My main contract right now is with Wikimedia Foundation, as the developer on their maps team. In the past I’ve worked for CartoDB, Mapquest, and other companies.

Looking back at what I put in my 2014 manifesto, I’m moderately pleased with the progress we’ve made in both transparency and productive board meetings. Neither are perfect, but they’re a vast improvement over three years. Overall, I’m satisfied with my time on the board. I accomplished some of what I wanted to, and think my manifesto desires were realistic.

My concerns are now

Conflicts of interest

6/7 board members work with OSM somehow in their jobs. This includes four with employers who sell services based on OSM data and can easily run into conflicts of interest. We are not managing this, which might have worked in the past, but is not a good practice. There’s stuff we need to set up like having an email discussion out of sight of the people with conflicts. Right now it’s considered acceptable for a board member to take part in discussions where they have a conflict of interest. Clear rules would also protect board members from pressure from their employer.

See full entry

Location: Glenbrook, Glenbrooke North, New Westminster, Metro Vancouver Regional District, British Columbia, V3L 1X6, Canada

OpenStreetMap Carto release v4.3.0

Posted by pnorman on 17 September 2017 in English.

Dear all,

Today, v4.3.0 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released.

Changes include

  • Moving ford and emergency phone to a new tagging scheme
  • Moving natural=tree to higher zoom level (z18+)
  • Changing embassy color to brown
  • Rendering name for waterway=dock
  • The same line wrap of amenities for all zoom levels
  • Fixing combined railway/highway ordering regression
  • Fixing line wrapping bug in Docker
  • Some documentation and code cleaning
  • Improve ferry line text legibility
  • Hide small theme parks and zoos
  • Use solid lines for admin borders at low zooms

Thanks to all the contributors for this release, including stevenLAD, a new contributor.

For a full list of commits, see https://github.com/gravitystorm/openstreetmap-carto/compare/v4.2.0…v4.3.0

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues

OpenStreetMap Carto release v3.2.0

Posted by pnorman on 17 April 2017 in English.

Dear all,

Today, v3.20 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released.

Changes include

  • Render aeroway terminal buildings like other buildings
  • Removed rendering of landuse=farm
  • Added rendering for arts centre, fitness centre, plant nursery, mixed lift aerialways
  • Rendering for fens changed
  • Typography for point road-related features, addresses, and water features changed
  • Removed rendering of waterway=canal as an area
  • Take text properties of roads under construction from the type of road they will be

Thanks to all the contributors for this release including Richard Fairhurst and jnachtigall, new contributors.

For a full list of commits, see https://github.com/gravitystorm/openstreetmap-carto/compare/v3.2.0…v3.1.0

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues.

OpenStreetMap Carto release v3.1.0

Posted by pnorman on 29 January 2017 in English.

Dear all,

Today, v3.1.0 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released.

Changes include

  • Added coffee shop rendering
  • Added health clinic rendering
  • Adjusted place label typography
  • Road shield rendering improvements
  • Internal code cleanups

Thanks to all the contributors for this release.

For a full list of commits, see https://github.com/gravitystorm/openstreetmap-carto/compare/v3.0.1…v3.1.0

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues.

Spreading the credit

Posted by pnorman on 3 January 2017 in English.

As one of the more visible people in OpenStreetMap rendering and styling, I get a credit for a lot of the work done in projects like osm2pgsql, OpenStreetMap Carto, and other associated projects, sometimes undeservedly. A lot of people are less visible are doing work that we should be thankful for when looking back over the year, and deserve more credit. Here are three:

Sarah Hoffmann (lonvia)

Sarah is not just the administrator of the OSMF Nominatim server, she is the other maintainer of osm2pgsql, and has been responsible for many of the recent changes, and cleaning up and modernizing the code.

Matthijs Melissen (math1985)

As I’ve tried to step back from some of the maintainer tasks with OpenStreetMap Carto, Matthijs has stepped forward and kept up with the reviews, merges, and coordination.

Bas Couwenberg (sebastic)

Bas does most of the Debian packaging work for OpenStreetMap related software on Debian and Ubuntu. Most OpenStreetMap-related servers out there rely on his packaging work in some way. In 2011 setting up OpenStreetMap servers was a lot more complicated as you had to install many of the components from source

I can think of others, both within projects I contribute to and outside on other projects, but I wanted to keep this list short. Also, like many of my blog posts, this is ending up late and was supposed to be vaguely Christmas themed.

OpenStreetMap Carto v3.0.0

Posted by pnorman on 22 December 2016 in English.

Dear all,

Today, v3.0.0 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released.

Major changes include

  • Mapnik 3 is now required
  • CartoCSS 0.16.x is now required
  • Official Tilemill support is dropped
  • Shapefiles are downloaded with a new python script

Changes include

  • Noto Naskh is now used for Arabic
  • Visual impact of campsites and quarries reduced below z13
  • Wilderness huts rendered
  • Subway entrances rendered

Thanks to all the contributors for this release including jojo4u, a new contributor.

For a full list of commits, see https://github.com/gravitystorm/openstreetmap-carto/compare/v2.45.1…v3.0.0

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues

Serving Vector Tiles

Posted by pnorman on 20 November 2016 in English.

This is a repost from my blog because there’s been a fair amount of interest from OSM people on what I wrote.


If you want to serve vector tiles, there are a few server options that have developed, each with different strengths and weaknesses.

node-mapnik based

Language: nodejs
Layer definitions: Mapnik layer definitions in XML, typically preprocessed from YAML
Vector tile formats: Mapbox Vector Tiles
Data source support: PostGIS

Kartotherian, tessera, and other servers based on tilelive all rely on Node bindings to Mapnik to produce vector tiles. They all work with Mapnik layer definitions. This is a reasonably well understood language and consists primarily of a SQL statement for each layer. This is reasonably flexable and it’s possible to do proper code review, git conflict resolution, and other processes you need with an open style.

Some servers can turn the Mapbox Vector Tiles into GeoJSON, but not all do. There are other minor differences, but they all have the same major advantages and disadvantages.

The biggest problem with these options is that you have to either use the exact same versions of everything as the Mapbox developers while hoping their changes work with your code, or lock down your versions to a set of known good versions and periodically update when you need new features, retesting all your code. Neither of these is practical for an open-source style which wants to involve others.

If you don’t do this, you’ll find parts of your server failing with different combinations of Mapnik and node-mapnik.

Tilezen tileserver

Language: Python
Layer definitions: SQL in jinja2 templates, YAML
Vector tile formats: Mapbox Vector Tiles, TopoJSON, and GeoJSON
Data source support: PostGIS

Tilezen tileserver was written by Mapzen to replace their TileStache-based vector tile generation. Having been written by developers who wrote previous vector tile servers, it combines ideas and functionality other options don’t have.

See full entry

Location: Uptown, Moody Park, New Westminster, Metro Vancouver Regional District, British Columbia, V3M 3S3, Canada

OpenStreetMap Carto release v2.44.1

Posted by pnorman on 12 October 2016 in English.

Dear all,

Today, v2.44.1 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released. Also, v2.44.0 was released last month without an email, so this email includes changes in both.

v2.44.0 has been rolled out to the openstreetmap.org servers, but v2.44.1 has not yet.

Major changes are

  • Rendering of restricted access roads and paths significantly changed
  • Changed to use Noto fonts for all languages

Other changes in both versions include

  • A code of conduct adopted, based on the Go code of conduct
  • Adjustments to city wall rendering
  • Revised low zoom place rendering
  • Render both house name and number if address has both

Thanks to all the contributors for this release, in particular Lukas Sommer, Hsiao-Ting Yu and vholten for work in debugging complex font issues with the Noto CJK fonts.

For a full list of commits from both releases, see https://github.com/gravitystorm/openstreetmap-carto/compare/v2.43.0…v2.44.1

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues

OpenStreetMap Carto release v2.43.0

Posted by pnorman on 6 September 2016 in English.

Dear all,

Today, v2.43.0 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released. It has not yet been rolled out to the openstreetmap.org servers.

Changes include

  • Adjust alotments pattern
  • Whitespace cleanups of code
  • Adjust colours of dog parks and construction sites
  • Increase font size of addresses
  • Fix combination of long names and oneway arrows

Thanks to all the contributors for this release, including Ircama and measad, both new contributors.

For a full list of commits, see https://github.com/gravitystorm/openstreetmap-carto/compare/v2.42.0…v2.43.0

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues.

I’ve been experimenting with generating my own vector tiles and client-side rendering with Tangram in order to figure out how to best write a style in its language.

Tangram is a GL-based renderer written by Mapzen and normally used with their Tilezen vector tiles, but I’m interested in being able to make my own vector tiles with different cartographic choices.

Having a diverse selection of vector tile schemas is important, as is avoiding a situation where only large players in the market can get involved like right now.

For a toolchain I used osm2pgsql with ClearTables and Mapnik via Kosmtik to write vector tiles. With the demo I’m serving pre-rendered vector tiles from disk, but Kosmtik is useful in development with it’s xray functionality. I input the style into Tangram Play, a web-based editor that automatically reloads the map when you change the style.

The cartography and vector tile definitions are loosely based on OSM Clear, a demo style I wrote. I didn’t want to learn the language while designing new cartography at the same time. Being a learning exercise I don’t consider the style complete or free of bugs.

The demo page is on my server at http://tangram-clear-demo.faramir.paulnorman.ca/ with the style and vector tile code at https://github.com/ClearTables/tangram-clear-demo.

I’m not sure what direction I’m going to take next as I don’t have any particular style goals right now, or collaborators.

Cross-post from https://lists.openstreetmap.org/pipermail/dev/2016-August/029448.html

OpenStreetMap Carto release v2.41.0

Posted by pnorman on 13 July 2016 in English.

Today, v2.41.0 of the openstreetmap-carto stylesheet (the default stylesheet on openstreetmap.org) has been released.

Changes include

  • More consistent fonts for POI labels
  • Less saturated stadiums
  • Rendering obelisks and dog parks
  • An updated list of font packages
  • Cleaning up the font list
  • Rewriting the road colours script for easier changes
  • Various bug fixes

Thanks to all the contributors, including jdhoek, a new contributor.

For a full list of commits, see https://github.com/gravitystorm/openstreetmap-carto/compare/v2.40.0…v2.41.0

As always, we welcome any bug reports at https://github.com/gravitystorm/openstreetmap-carto/issues.

OpenStreetMap active users

Posted by pnorman on 7 January 2016 in English.

This is a repost from my blog

Periodically people make the claim of over 2 million active users for OpenStreetMap, but what this mean? This is the total number of accounts, including those who never edited, those who left long ago, spammers, and actual active contributors.

The closest metric to a standard is active users over the last 30 days. Although we can’t get that number, we can look at the changeset dump and analyze it with ChangesetMD and some SQL.

The SQL is fairly simple.

SELECT COUNT(DISTINCT user_id) AS active_users, date::date FROM osm_changeset JOIN generate_series('2007-01-01'::timestamp, '2015-12-31'::timestamp, '1 day') AS d(date) ON (created_at <= d.date AND created_at > d.date - '30 days'::interval) GROUP BY date ORDER BY date ASC;

OpenStreetMap was around before 2007, but the way data was stored was different so changeset dumps aren’t reliable that far back.

Taking the resulting file and a bit of gnuplot magic gives us a graph.

OpenStreetMap active contributors

See full entry

OSMF Board candidates: Yantisa Akhadi

Posted by pnorman on 28 November 2015 in English. Last updated on 29 November 2015.

In preparation for the 2015 OSMF board election I am gathering basic info and question responses by candidate, to help people be better informed about their choices.

I’ve added annotations in italics where I felt they would be useful.

Yantisa Akhadi

Questions

Where do you currently participate in the OSMF?

I want to contribute in the Engineering Working Group, unfortunately the meeting time is equal with 00.30am my time. I hope in the future there will be meeting time to cater peoples from different timezones.

Which contributions to OSM should I consider for my decision beyond your data edits at OSM?

her than edits, which is still not much, I was more interested in writing and introduce people about OSM. I have given talks in multiple local, national, international levels to introduce OSM as well as its application in disaster management. There have been multiple blogpost written in our OSM-ID website to tell the story about the event. I am also actively participated in OSM-ID Facebook group, since this much more popular channel compared to OSM-ID mailing list.

Do you use OSM at work for business purposes?

Yes, I currently work as Humanitarian OpenStreetMap Team Project Manager for Indonesia. Here in Indonesia, we are focusing on how we can use OSM in data preparedness for disaster. In the past 4 years, our team have trained more than 2,400 peoples on data collection using OSM, QGIS and InaSAFE in various phases of disaster as well as economic development.

Conflicts of Interest

See full entry

OSMF Board candidates: Douglas Ssebaggala

Posted by pnorman on 28 November 2015 in English.

In preparation for the 2015 OSMF board election I am gathering basic info and question responses by candidate, to help people be better informed about their choices.

I’ve added annotations in italics where I felt they would be useful.

Douglas Ssebaggala

  • Location: Uganda
  • OSM User Douglo
  • Manifesto reproduced below

First edit was 4 years ago, and have not looked back ever since, getting involved in other activities beyond mapping, with these upcoming OSMF Board elections, i have great anticipation to show how global the OSM project is: one of the ways that the global reach can be reflected is to have an intercontinental representation on the OSMF Board. Some of the gaps that (i think) need to be covered is how the OSMF relates to the community of users, being part of the awesome board members, and well wishers will greatly improve on how best this relationship can be communicated, and strengthened.

Questions

Where do you currently participate in the OSMF?

I have participated in the Local Chapters Working Group, and would be willing to have more frequent involvement in this WG.

Which contributions to OSM should I consider for my decision beyond your data edits at OSM?

Do you use OSM at work for business purposes?

Yes. To date, mapping coordinator for Uganda, with a mix of voluntary work under a local non-profit Organisation Fruits of Thought

Conflicts of Interest

No, there would be no conflict of interest, most of the work i do is for the advancement and betterment of OSM, which would most likely be inline with the OSMF

Who should the OSMF serve?

Has not responded.

Role of the board

Has not responded.

Communication with the community

Has not responded.

See full entry

OSMF Board candidates: Martijn van Exel

Posted by pnorman on 28 November 2015 in English.

In preparation for the 2015 OSMF board election I am gathering basic info and question responses by candidate, to help people be better informed about their choices.

I’ve added annotations in italics where I felt they would be useful.

Martijn van Exel

  • OSM User mvexel
  • Manifesto reproduced below

Bringing almost a decade of grassroots OSM experience and 4 years of US Chapter board experience to the table. Read my OSM diary to learn more about me. Please get in touch with me if you have questions, or to let me know what you want from the OSMF board. I work for Telenav on OSM

Questions

Where do you currently participate in the OSMF?

Board member of OSM US 2011-2015. Started User:Mvexel/Welcome_Working_Group (now dormant). Participated in LWG and CWG, but not particularly actively.

Note: OSM US work is not part of OSMF

Which contributions to OSM should I consider for my decision beyond your data edits at OSM?

Some highlights: * Mapping since 2007 (see my profile). * (Co-)Organizer of many events small and large: SOTM ‘09, SOTM US ‘12, ‘13, ‘14, ‘15. Local events in Amsterdam and Salt Lake City since 2008. * Started local groups in Amsterdam and Salt Lake City. * Blogging about OSM, first on my own blog and now on my OSM diary. * Author of MapRoulette (together with emacsen) and many other smaller tools. See my Github page. * Active participant in OSM mailing lists and IRC channels.activites * Did a whole lot of talks and workshops on OSM since 2010. * Find me on Twitter, LinkedIn. * Spending part of my time at Telenav creating and releasing useful data and tools for mappers. * Taught OSM to Geography students.

Do you use OSM at work for business purposes?

See full entry

OSMF Board candidates: Gonzalo Perez

Posted by pnorman on 28 November 2015 in English.

In preparation for the 2015 OSMF board election I am gathering basic info and question responses by candidate, to help people be better informed about their choices.

I’ve added annotations in italics where I felt they would be useful.

Gonzalo Perez

  • Location: Argentina
  • OSM User Zalitoar
  • Manifesto quoted below

I wish to serve in a broader sense to the project. The projects and activities that we have done in South America in the last year boosted the growth of the communities in this part of the world, a strategy which I consider necessary and possible in other regions.

Questions

Gonzalo has not responded to any questions, and his manifesto is too short to fill in answers from.

OSMF Board candidates: Wille Marcel

Posted by pnorman on 28 November 2015 in English. Last updated on 2 December 2015.

In preparation for the 2015 OSMF board election I am gathering basic info and question responses by candidate, to help people be better informed about their choices.

I’ve added annotations in italics where I felt they would be useful.

Wille Marcel

Questions

Where do you currently participate in the OSMF?

I have contributed to the Communication Working Group.

Which contributions to OSM should I consider for my decision beyond your data edits at OSM?

Beyond edits, my main contributions are: * Talks about OSM in conferences in Brazil. See on [osm.org/user/wille/diary my diary]. * Organize local meetings. See on [osm.org/user/wille/diary my diary]. * I am one of the managers of [http://twitter.com/openstreetmapbr @OpenStreetMapBR] twitter account and I have done some efforts to put OSM on the media in Brazil. * I am developing a software to detect harmful changesets, it’s divided in two parts: [https://github.com/willemarcel/osmcha osmcha] (python library) and [https://github.com/willemarcel/osmcha-django osmcha-django] (web interface). In the next weeks I’ll commit some features and officially release it. * Contributed to translation of some softwares, like iD editor. * I’ve done some more contributions to OSM related software, see on my [https://github.com/willemarcel/ github]

Do you use OSM at work for business purposes?

I am a GIS and web developer. Sometimes I use data or tiles of OSM on my work, but it is not the main part of my work.

Conflicts of Interest

I don’t see risk of conflicts of interest with my job.

Who should the OSMF serve?

I think OSMF must not control OSM, but it must do all the possible to make OSM bigger. I think my main priorities will be to support local communities in places like Latin America, Africa and Asia, where we don’t have a community as big as in Europe or United States.

Role of the board

Has not responded.

Communication with the community

See full entry

OSMF Board candidates: Ryan Peterson

Posted by pnorman on 28 November 2015 in English. Last updated on 30 November 2015.

In preparation for the 2015 OSMF board election I am gathering basic info and question responses by candidate, to help people be better informed about their choices.

I’ve added annotations in italics where I felt they would be useful.

Ryan Peterson

Questions

Where do you currently participate in the OSMF?

I’m happy to participate or help recruit relevantly-skilled participants.

Which contributions to OSM should I consider for my decision beyond your data edits at OSM?

From my Candidate Introduction, “I’ve been an active member of OSM since 2011 contributing in a variety of ways including: editing data locally, editing data remotely for humanitarian efforts, training new users, funding numerous events and efforts, speaking and attending many OSM conferences around the world amongst others described in the Candidate Introduction.

Do you use OSM at work for business purposes?

Yes, my passion for OSM has led me to create roles where I do OSM related activities at work. Candidate Introduction has detail.

Conflicts of Interest

Yes, but in the unlikely event there is a COI, I’ll recuse myself from the related discussions.

Ryan works for Apple

Who should the OSMF serve?

The electorate/OSMF members, and secondarily, but extremely importantly, the OSM contributors, of any contribution type.

Role of the board

:I agree with the role as defined in the OSM Mission Statement.

Communication with the community

I subscribe and regularly read many mailing lists, the diaries, Twitter, LinkedIn and Facebook groups, I communicate regularly with OSM contributors.

Community involvement in OSMF

See full entry