Diary Entries in English

Recent diary entries

Why is OpenStreetMap Fundamental for Search and Rescue by Drones

Posted by HermannstadtGeographer on 29 July 2016 in English (English)

Search and rescue crews from all over the world need a technology that is able to cover vast distances with a minimum cost. This type of technology can take the form of aerial drones because drones are cost effective and they can cover vast distances. Moreover, recent developments in terms of collaborative mapping and computing power mean that drones will have a higher resolution camera and they will benefit from a universal map that can be of significant importance to the coordination effort.

Drones need to use a common map in order to keep track of the distance that they cover. This map can be created by the OpenStreetMap community and it can be supplied to organizations such as in order to save lives. We need to acknowledge one fact and that fact is that OpenStreetMap is a fantastic tool for search and rescue people. Moreover, OSM is also great for tourists who may get lost on a mountain.

Imagine a scenario for example – one person gets lost in the woods. There is the need to establish a perimeter around the area and given the fact that a lot of victims are found dozens of miles away – the perimeter needs to be larger than usual and this implies the fact that securing such a perimeter with foot power is not easy. It is far easier to secure this perimeter with drones. With the help of a map and with the help of an automatic communication system between drones this type of perimeter can easily be established and maintained while essential manpower can be used in order to provide additional effort inside the perimeter.

Search and rescue crews need drones more than ever and it is about time to use technology in order to save more lives. Far too many people get lost in the woods and far too many people are never found. Just imagine for a second how much land a drone can cover and you will soon realize that this technology has a huge potential for amplifying the effort of search and rescue crews.

Now, to begin with – search and rescue operations are not typical. They do not have a typical response and it is not easy to determine what can happen. Quite often, the weather goes bad and this fact alone can spell gloom and doom for the victim that may get lost in the woods or natural forests. For this exact reason, I strongly believe that the OpenStreetMap community must be fully aware of the fact that mapping remote locations is a fundamental effort for the search and rescue people.

As members of this community, we are fully aware of the fact that we are working on one of the best maps in the world and we need to add in all the details that we need in order to create a useful map for search and rescue people. I believe that we need to map out only important information and this information is local. Local knowledge is important but in the rest, when it comes to armchair mapping – we need to come up with something smart and fortunately, there are plenty of options available in order to do some great armchair mapping.

I believe that in the near future, the price of drones will go down exponentially due to the fact that computer chips will become cheaper. In about 5 years we will be able to use 40$ drones in order to create high-quality imagery and this fact alone is going to contribute to the overall quality of our maps in an exponential way.

In the end, it is important to acknowledge the fact that search and rescue organizations need aerial imagery and maps and with our strong community we have the power to help these organizations in a truly innovative way. Just as drones have created a revolution in the realm of imagery, drones will also create a revolution in OSM and the innovations brought on by this revolution will spread to the search and rescue organizations of the world.

Really trying to review Scout

Posted by ryebread on 28 July 2016 in English (English)

As I try to continue writing about various OpenStreetMap-based navigation applications, I'm really struggling to write something about Scout.


It is a weird application.

It is a combination of a navigation engine (offline download costs money), but it only works in the US, ignores service roads, and does not show buildings. It has a chat built in, but I have 5 chat clients already. It supports sending your location to other people, but these other people must have Scout installed as well, and you can't just say "here, watch me go somewhere", you MUST provide your destination (unlike Glympse). You don't see POIs unless you search for them, and the POI database may not have correct location for the addresses. Since there are no buildings (and no satellite imagery), you can't see you are directed to a shed instead of Walmart Superstore.

Has anybody here used Scout and thinks it is the best thing since sliced bread?

Location: North Pontiac Trail, Commerce Township, Oakland County, Michigan, 48390, United States of America

Adding Mansfield + Mansfield Woodhouse (Unparished) Parish

Posted by alexkemp on 28 July 2016 in English (English)

(see also Nottinghamshire Civil Parishes - names for unnamed areas)

What fun (not) this is.

A fantastic amount of work has already been put into the OSM map by masses of folks in the past. In this diary entry I document myself trampling all over some of their work and (hopefully) leaving all the good bits intact as I make nips & tucks to correct some errors introduced from NPE maps & stuff in the past in addition to adding a hole (which is what, in effect, an unparished parish is).

The source material for these edits is csmale's GPX downloads derived from the 2016 OS .shape files. Those include the latest corrections to all UK BoundaryLines.

I'm absolutely terrified when editing these sorts of things! By the nature of Boundary Lines there can be several boundaries within the same line. In OSM a boundary is established as a Relation. That relation's members are the ways that constitute the totality of the boundary. There are 6 different levels of administrative boundary, from Border, external (admin_level=2) (with the Irish Republic) down to the Civic Parish (CP) (admin_level=10). By the nature of it, each lower level consists of sub-divisions within the larger boundary that is the level above it.

Then it swiftly gets more complicated. There are also Ceremonial boundaries (I have zero idea as to the difference between it & an Administrative boundary). And there are others, some of which — in my darker moments — I begin to think have been invented, just for malicious fun.

To illustrate, here is a current tally of boundaries within the area that I started at, at a spot where both Derbyshire & Nottinghamshire County boundaries meet Warsop CP (southern tip):

  1. name=Derbyshire; boundary=ceremonial
  2. name=Nottinghamshire; boundary=ceremonial
  3. name=VC56 Nottinghamshire; boundary=vice_county; ref=56
  4. name=Derbyshire; boundary=administrative; admin_level=6 (County)
  5. name=Nottinghamshire; boundary=administrative; admin_level=6
  6. name=Bolsover; boundary=administrative; admin_level=8 (District)
  7. name=Mansfield; boundary=administrative; admin_level=8
  8. name=Shirebrook CP; boundary=administrative; admin_level=10 (Civic Parish)
  9. name=Warsop CP; boundary=administrative; admin_level=10

Now, you may well think — and you would have a point — that this level of detail is far too much. The issue, for me, is that I dare not do anything unless I understand things at that level of detail. As an example, I've just changed the ‘Warsop Civic Parish’ name from “Warsop” to “Warsop CP”, and could only do that because I can back up the name-change from both documented sources & also from depth of understanding of the issues involved.

This post was prompted because I've just shifted Rainworth CP + Rufford CP boundary line a smidge from it's NPE-designated meeting with the Mansfield, Newark and Sherwood (districts) & Clipstone CP boundary lines. I ended up using Unnamed_shape_5861.gpx, Rainworth CP.gpx + Mansfield district.gpx to be able to convince myself that yes, that node needed nudging. Really, I wanted those that worked on it before me to know that I was showing the best respect to their work that I could muster.

Moorhaigh Bridge

Aargh! A complex of boundaries come together near the Moorhaigh Bridge and, unfortunately, the Mansfield + Ashfield District boundaries that come together up from the south had been joined at the wrong point to a vast plexus of boundaries coming down in 2 streams from the north (Derbyshire, Nottinghamshire, Bolsover district, Ault Hucknall CP + Pleasley CP). The joint had been made as a single point on an unclassified road next to Newboundmill Lane, whereas the OS BoundaryLines all said that it happened as 2 joins, with the second to the south close to where the 2 streams met & the bridge crossed them both.

I'm starting to get good at this relation surgery, so here is how to do it:

  1. In JOSM, switch OFF File | Download OSM Data Continuously
  2. Identify the correct boundary relations
    (I've had to use Ashfield District.gpx, Pleasley CP.gpx, Nottinghamshire County.gpx, Mansfield District.gpx + Unnamed shape 5861.gpx to be certain of the correct routes)
  3. For myself, select the Mansfield/Ashfield plexus + the join-node & use Alt+J (Tools menu) to disconnect the node from the Mansfield/Ashfield way.
    (That leaves the main way + Pleasley way intact & disconnects Mansfield/Ashfield from those ways)
  4. Re-join the free end of Mansfield/Ashfield in it's correct location (‘M’ for menu: Tools | Merge Nodes)
    (There is now a strip of the main way which wrongly has Mansfield as one of it's relations, and is missing Ashfield as a relation)  
  5. Select the new join-node + main-way & press ‘P’ (menu: Tools | Split Way)
  6. Select the main-way between the old join-node & new join-node & select ‘Mansfield’ in the Memberships window & delete it.
  7. Now to add the missing-snippet for Ashfield
    Whilst the split-off way is selected, press Alt+Shift+R (menu: Windows | Relations), select ‘Boundary[8] (Ashfield)’ relation + press the Relation Editor button. The split-off way was selected in the rhs window, and one of the buttons added it as a member in the lhs window (the first time I've been able to do that!). It also needed a role of ‘outer’ applying.

The final item was to make sure that I could get all members to join up in a circle. It is very likely that some of the members will not yet appear in the editor (they will show as ‘incomplete’). Selecting such a member will make a “download incomplete members” button available. Alternatively, a similar option is available via a right-click from the Alt+Shift+R Relation window. For that I pulled the view back a long way (using the ‘-’ button) and “walked the bounds” as described at the bottom of my original post on Nottinghamshire Civil Parishes. I was successful in that act. Hooray!

I'm now going to do the same for the Mansfield district boundary and then, hopefully some time soon, I shall be able to add this Unparished Parish.

(later same day)
2 unparished-parishes entered:

  1. Mansfield + Mansfield Woodhouse
  2. Kirkby-in-Ashfield + Sutton-in-Ashfield

The first was horrible due to needing to fix mistakes in existing Boundary Lines. The second was fiddly, but easy.

A lesson from both is that there are un-referenced level-10 admin boundaries originated from NPE maps but without any name nor Relation. I was able to re-use one for the ashfields above, but others simply need deleting.

Location: Mansfield Woodhouse, Mansfield, Nottinghamshire, East Midlands, England, United Kingdom

Carlton Vistas:— the Fair Comes to Town

Posted by alexkemp on 27 July 2016 in English (English)

Serendipity allowed me to be in the right spot at the right time to catch a troupe of Travellers as they began to setup their Summer Fair on the fields above the Carlton Richard Herrod Centre:

Carlton Summer Fair, July 2016

I've surveyed my way Eastwards along both Carlton Hill & Foxhill Road until I found the Carlton town-centre. I discovered from the local historian, living within the town's original Police Station, that St Paul's Junior school was demolished & the end of Foxhill Road East re-routed so that Tesco could be built (Foxhill currently terminates on Cavendish Road, but originally turned right & terminated on Carlton Hill). Even more astonishing, I discovered from a council worker at the Cemetery that a churchyard next to the Junior School was de-consecrated, also to allow the Tesco to be built. If we consider that the nearby Methodist Church parishioners have an average age in their 70s and are numbered at a score or more, it is clear where the modern spiritual attendance has shifted to (hint: it begins with a ‘T’).

Having reached Carlton town-centre I turned around and am now surveying along Cavendish Road, then Coningswath Road + all roads between those & the previous patch. Thousands & thousands of houses & lots of interesting discoveries.

To join the large list of House Art listed at the bottom of a previous post here is yet another Leaded-Lights front door. The lady that let me photo this one (the door is recessed and, unfortunately, I had to get very close for my mobile's photo-circuitry to register it correctly - there is much more of it to see) proudly boasted that she had designed it; and very fine it looks, too:

the best so far

Now back to the fair. Quite a few folks may know that Nottingham boasts of having the largest fair in Britain (held during the Autumn months). That happens to be wrong - as a Hull-born man, and as a much younger man having spent some of my time selling trinkets from a bench at that fair, I know that Hull Fair is much larger than Nottingham Goose Fair. It just doesn't have as good a name.

In general, the fairground folks rest during the summer. However, there are enough that need to eat during the summer, so Summer Fairs are a feature throughout England.

That entire vast patch of sports-fields & tennis courts splits the lands to north & south. I took my opportunity on Monday 25 July to return home by walking one of the footpaths across the field. A sign near the start says “land is prone to flooding” (there is an entire diary entry devoted to the nearby Flood Lagoon). So, if you plan to visit the fair & it starts raining, then probably best to take some thigh-high waders with you!

Location: Thorneywood, Sneinton, Nottingham, East Midlands, England, United Kingdom

Session videos from the State of the Map US 2016 in Seattle - 43 videos Updated today!

Posted by ImreSamu on 27 July 2016 in English (English)

State of the Map US 2016 - videos

current status: OpenStreetMap US : 43 videos Updated today

Feedback regarding a enhancement to JOSM that will speed adding of a Grid city

Posted by baditaflorin on 27 July 2016 in English (English)

I define a grid city as a city formed from straight roads.

You can read more and see a video where i try to explain here

Now, if we have a matrix of 7*7 grid, we have to click almost 50 times to add the city.

With this solution, we should only add the vertical and horizontal lines, clicking 14 times, and then using the Validation, it will see that we have 49 Crossing ways, and would offer the possibility to fix, by merging the overlapping ways together


1 1 2 2 3 3 4 4 5 5 6 6 7 7


Cities by only buildings

Posted by schleuss on 26 July 2016 in English (English)

Just a quick post here:

Maning Sambale already posted about the meta data added by Los Angeles Building Import. We've imported more than 1.2 million buildings and we were flattered to talk about our work at last weekend's State of the Map. You can see our slides here.

But what I find particularly interesting is how this building data stacks up against other city imports. These maps show any polygon tagged as building=value. Feedback welcome.

sanfrancisco newyork chicago seattle bakersfield portland austin la-jan1 la-jul23

Location: Historic Core District, Bunker Hill, Los Angeles, Los Angeles County, California, 90014, United States of America

Deriving centerlines from riverbanks without.

Posted by Marcos Dione on 26 July 2016 in English (English)

This post should be in my glob, bu it's down for the moment :(

For a long time now I've been thinking on a problem: OSM data sometimes contains riverbanks that have no centerline. This means that someone mapped (part of) the coasts of a river (or stream!), but didn't care about adding a line that would mark its centerline.

But this should be computationally solvable, right? Well, it's not that easy. See, for given any riverbank polygon in OSM's database, you have 4 types of segments: those representing the right and left riverbanks (two types) and the flow-in and flow-out segments, which link the banks upstream and downstream. With a little bit of luck there will be only one flow-in and one flow-out segment, but there are no guarantees here.

One method could try and identify these segments, then draw a line starting in the middle of the flow-in segment, calculating the middle by traversing both banks at the same time, and finally connect to the middle for the flow-out segment. Identifying the segments by itself is hard, but it is also possible that the result is not optimal, leading to a jagged line. I didn't try anything on those lines, but I could try some examples by hand...

Enter topology, the section of maths that deals with this kind of problems. The skeleton of a polygon is a group of lines that are equidistant to the borders of the polygon. One of the properties this set of lines provides is direction, which can be exploited to find the banks and try to apply the previous algorithm. But a skeleton has a lot of 'branches' that might confuse the algo. Going a little further, there's the medial axis, which in most cases can be considered a simplified skeleton, without most of the skeleton branches.

Enter free software :) CGAL is a library that can compute a lot of topological properties. PostGIS is clever enough to leverage those algorithms and present, among others, the functions ST_StraightSkeleton() and ST_ApproximateMedialAxis(). With these two and the original polygon I plan to derive the centerline. But first an image that will help explaining it:


The green 'rectangle' is the original riverbank polygon. The thin black line is the skeleton for it; the medium red line is the medial. Notice how the medial and the center of the skeleton coincide. Then we have the 4 branches forming a V shape with its vertex at each end of the medial and its other two ends coincide with the ends of the flow in and flow out segments!

So the algorithm is simple: start with the medial; from its ends, find the branches in the skeleton that form that V; using the other two ends of those Vs, calculate the point right between them, and extend the medial to those points. This only calculates a centerline. The next step would be to give it a direction. For that I will need to see if there are any nearby lines that could be part of the river (that's what the centerline is for, to possibly extend existing rivers/centerlines), and use its direction to give it to the new centerline.

For the moment the algorithm only solves this simple case. A slightly more complex case is not that trivial, as skeletons and medials are returned as a MultiLineString with a line for each segment, so I will have to rebuild them into LineStrings before processing.

I put all the code online, of course :) Besides a preloaded PostgreSQL+PostGIS database with OSM data, you'll need python3-sqlalchemy, geoalchemy, python3-fiona and python3-shapely. The first two allows me to fetch the data from the db. Ah! by the way, you will need a couple of views:

CREATE VIEW planet_osm_riverbank_skel   AS SELECT osm_id, way, ST_StraightSkeleton (way)      AS skel   FROM planet_osm_polygon WHERE waterway = 'riverbank';
CREATE VIEW planet_osm_riverbank_medial AS SELECT osm_id, way, ST_ApproximateMedialAxis (way) AS medial FROM planet_osm_polygon WHERE waterway = 'riverbank';

Shapely allows me to manipulate the polygonal data, and fiona is used to save the results to a shapefile. This is the first time I ever use all of them (except SQLAlchemy), and it's nice that it's so easy to do all this in Python.

Latest Spam

Posted by alexkemp on 26 July 2016 in English (English)

The world is discovering how easy it is to spam OSM. These are the latest:

(gone spam 1) ...leading to an inspiring talk on "Become a Respected Leader of the Good and Easy" (zero application to OSM; just more spam)

(gone spam2) ...leading to an inspiring webpage on Jeep - it's natural agate (Round trips organized fun days possible integration of ATV trips rural romantic campfire meals around the campfire gourmet meals)

(many thanks to admin + mods for removing these users)

CubaConf & FOSS4G NA & !DebConf

Posted by tassia on 26 July 2016 in English (English)

This summer I missed DebConf16 in Cape Town and, being completely offline, not even the videos I followed this time. I hope I can meet many of my old Debian friends next year in Montreal, and I'll try to slowly catch up with what happened during those days in Africa.

Luckily I had attended CubaConf and FOSS4G NA that fulfilled my needed dose of conference days and brought me many other friends and projects that I hope to keep up when I go back to real life. After almost 3 months of comings and goings of all kinds of trips, between conferences and family commitments, now I'm finally packing to go back home. It seems more than time to publish some late reports.

CubaConf took place in Havana from April 25th to 27th. It was the first international free software conference in the Island, with people from 17 countries, mainly from Latin America. All sessions in the main room were simultaneously translated to/from English/Spanish. The conference had a colorful and diverse environment, above the average of all the other tech meetings I've already attended.

CubaConf was an eye-opening experience for me with respect to:

  • The barriers for participation of Cuban people in free software development, namely poor connectivity and scarce hardware resources. Putting in perspective, can you imagine what would be your contribution to free software if you did not have a personal computer? Or if you could only access the Internet twice a week, for a short period of time?

  • The impressive capacity of Cubans to deal with and overcome obstacles. "We need to work with what we have. A crime would be to close our arms and do nothing".

  • The alignment between the Free Software movement and non-capitalist values, and how Cuba is a fertile ground for Free Software flourishing. "Free Software for us is not a technical choice but a philosophy of life".

  • The power of a community working together, which is much greater than the sum of all individual efforts. That was CubaConf.

Here are some highlights of the conference:

  • Hamlet Lopez Garcia: "Las tecnologías libres en Cuba. Una mirada desde la cultura." This was an awesome choice of keynote to open the conference and set up the solidarity environment we could feel throughout the meeting. Hamlet talked about the adoption and development of Free Software in the context of Cuban history and culture. If you read Spanish, I highly recommend Hamlet's article "Las comunidades virtuales de software libre en Cuba" in the book Bienes Comunes.

Hamlet Lopez Garcia

  • OSM community sessions: OSM activities started before I arrived in Havana, with a talk given by PB during Flisol (Festival Latinoamericano de Instalación de Software Libre) and a bike tour in El Vedado to map POIs and take photos to mappillary. During the conference there were many OSM-related sessions: Introduction to OpenStreetMap by Wille, Mapping Ecuador after the Earthquake, by Ivan Terceros, OSM to map risk of flooding in Costa Rica, and a mapping workshop at the last day. The conference was offline, and Wille did a good job in preparing enough screenshots to show how to map using certain applications, and he also had the iD editor running locally so that we could simulate an edition in OSM server. The fact that we didn't have satellite imagery as a background really puzzled me, cause the lack of Internet was not an issue of CubaConf only. Cubans in general have very little access to Internet, so in practice most of them cannot engage in base map drawing. Local mapathon activities need to consider that and plan in advance, either acquiring imagery in advance or using drones/balloons/kites for local aerial surveying. If none of this is possible, local contributions will be limited to filling nodes' attributes, which is for sure a great contribution, but doesn't use all the potential workforce Cubans could provide as OSM mappers.

  • Debian community sessions: Valessio gave a talk on his experience as a Debian contributor and how it was important for his trajectory from Jacobina, a small town in the Northeast of Brazil, to the world. I translated his speech to English, while he was speaking in "Portugnol". During the unconference day, Maykel gave the talk "MiSOX - Personalización de Debian GNU/Linux, a su medida o necesidad", where he presented this tool that allows to create Debian Derivatives using local mini repositories that contains most popular packages among their users. Then I gave a talk on the Universality of Debian Contributors, where I exposed the demographics of Debian Developers (which I suspect coincide with many other Free software projects) and talked about how it is important for the project to have contributors from diverse backgrounds if we want to move towards the utopia of an Universal Operating System. At the last day of the conference we made a Debian community meeting, which was named "the first MicroDebconf in Cuba". There we shared our experiences, cases of successes and frustrations. By the end of the meeting we were all very inspired and planning a miniDebConf in the Island soon.

Micro-DebConf en La Habana, Cuba

Cubaconf was organized by User Group of Free Technologies (GUTL) from Cuba and Best Of Open Technologies (BOOT e.V.) from Germany. The conference in itself was a very collaborative effort and faced many issues that are unthinkable for most people outside Cuba. It was with no doubt a great great success, many thanks for all the organizers and participants that made it real. Here is a nice video put together by Valessio, to share with the world the energy of those special days.

Back from Cuba, I spent a couple of days in Montreal then I flew to Raleigh, North Carolina. FOSS4G NA happened between May 2nd and 5th, followed by a geotour at the university on May 6th.

My highlights of FOSS4G NA were the contact with the GRASS community, playing with tangible interfaces, meeting OSM/HOT members and figuring out many free software solutions and challenges for fields that are largely dominated by proprietary software.

Here is my list of memorable sessions, you can follow the links for more info and slides:

I came back from both conferences inspired and full-charged to keep my efforts towards lowering the barriers for people from all backgrounds to engage actively in Free Software projects. Yes we always need more contributors, but more important than our needs, the opportunity to contribute to a Free Software project is everyone's rights.

Route numbering in Angola

Posted by NicEd on 26 July 2016 in English (English)

About to start creating the non-existent relationships and important route numbers in Angola.

Can anyone assist me regarding this matter, as Angola still seems not to have a standard route marking and tagging. Also, I'd like to receive some input from any mapper experienced with the SADC Regional Trunk Road Network. The whole road system in Angola is messed up, as there are no standards, no presets, settings and rules, and unfortunately the Wiki page has little to none info on Angola, so I'd like to use the existing database and layers to start organising the whole setup. I'm open to suggestions and help.

Highway shields, state by state

Posted by Minh Nguyen on 25 July 2016 in English (English)

With State of the Map U.S. still fresh on everyone’s mind, let’s revisit a favorite topic among many U.S. mappers: highway shields. We’ve been talking about ways to improve the sorry state of route shield support across the OSM ecosystem since at least 2011. We haven’t yet reached the vision outlined by Richard Weait in that SotM talk, but things aren’t as bleak as the renderers may let on.

In America, things are complicated

The national standard for U.S. state route markers is black numerals in a white oval. But almost every state eschews this oval in favor of its own design. (Some states have several, depending on the type of road.)

State highway shields by state (Chris-T)

In most states, the marker consists of a number in a distinctive shape, possibly with color:

Kansas state highways, such as K-10, are indicated on signage by a yellow sunflower, the state’s official flower. (Steve Alpert)

By adopting these various designs, maps can optimize usability for motorists. While driving, one should be able to compare the route shield the navigation application is displaying with guide signage up ahead, without having to know the ins and outs of the local road network. Getting the iconography correct is important because the same route number on a different shape may lead you in a different direction.

SR 562
Ohio state highways, such as SR 562, are indicated by the state’s simplified shape. (allen, CC BY-SA 4.0)

Regular expressions to the rescue?

Unlike most OSM-based maps, the recently departed MapQuest Open layer included different route shield designs for each state. But it relied on a fragile assumption that the way’s ref tag had to begin with the state’s postal abbreviation, e.g. ref=KS 10 in the example above. Parsing a way’s ref tag is suboptimal for various reasons:

  • There are known conflicts with other countries and other countries’ political subdivisions. For example, ref=CA… occurs in both California and the Cantabria region in Spain. ref=NH… occurs both in New Hampshire and throughout India.
  • Some states have multiple statewide route networks. Texas famously uses 12 distinct shield designs for state-level routes, and several of these networks overlap numerically. The postal abbreviation isn’t enough to distinguish one network from another.
  • Many states have county, township, or even city routes with distinct markers. In Ohio, each county has its own design, and within many of those counties, there are a variety of township route marker designs. A generic prefix like CR or TR is insufficient for selecting a suitable marker image, yet fully qualifying the jurisdiction on every way (ref=US:OH:MRW:SouthBloomfield 190) would also be tedious and error-prone.

In some states, the highway department doesn’t use the state’s postal abbreviation when abbreviating route numbers, nor do most residents in writing:

Ohio uses “SR” on variable message boards where a pictograph would be infeasible. (ODOT)

In Ohio, the consensus has been to tag ways with the “SR” prefix and rely on route relations for disambiguation. Some other states have similar practices. Unfortunately, this approach caused the state’s routes to be marked with the generic oval instead of the state’s shape. MapQuest Open is no longer available on, but the need to choose state-specific shields remains common among renderers.

For years, members of the U.S. OSM community have promoted an alternative, more flexible tagging scheme for highway routes: the ref and network tags on route relations. In 2013, Phil Gold developed an experimental “shield renderer” to demonstrate how a renderer might make use of this data:

The OSMUS shield renderer supports a variety of shield designs as well as route concurrencies.

But making use of route relations is a difficult problem for production-level consumers of OSM data, so parsing ways’ ref tags remains the most common approach to selecting route shields, despite the disadvantages above.

“Perl Problems”, xkcd (Randall Munroe)

A baby step using spatial queries

When I’m not mapping speed bumps and backyard swimming pools for fun, I work at Mapbox on the open-source Mapbox iOS SDK and the Mapbox GL renderer that powers it. Mapbox GL renders Mapbox Streets vector tiles, applying a stylesheet designed in Mapbox Studio.

The style language used by these tools doesn’t yet support regular expressions, so the vector tiles can’t include the raw way refs for the renderer to parse. Instead, when an OSM way is baked into a vector tile, a spatial query determines the relevant ISO 3166-2 code (the country code plus the postal abbreviation), which goes into an iso_3166_2 field.

This field makes it possible for anyone to create a map that includes state-specific route shields. To prove it, I used Studio to create a custom style, Interstate, based on the default Streets style:

With a regular expression–based filter, a conventional renderer would be unable to distinguish between Ohio and Indiana state route refs.

I wanted to get back to armchair mapping, so I only customized the shields for Ohio, Kentucky, and Indiana rather crudely. But with a bit of effort and more graphics design chops than I possess, the other states could receive similar treatment.

Note that this is only a stopgap solution to the problem of choosing state-specific shields: Mapbox GL doesn’t support grouped icons for route concurrencies yet, and ISO 3166-2 codes don’t identify counties, townships, or the myriad route networks in Texas. But it’s still better than seeing homogeneous white ovals everywhere.

Build your own Interstate

It takes a certain amount of roadgeekery to care about state-specific route shields on a map, but it doesn’t take any programming skills to design and publish a style like Interstate:

  1. Sign up for a free Mapbox account and open Studio.
  2. Click New Style and choose a template. (Other than Satellite and Empty, each of the templates is based on the Mapbox Streets source and thus OSM data.) For this style, I chose the Streets template: Templates
  3. Zoom the map in to level 10 or beyond and center it somewhere in the U.S., so that the generic oval state route shields are visible.
  4. The left sidebar lists the style’s layers, which are akin to layers in a vector graphics tool like Inkscape or Adobe Illustrator. Expand the “Highway shields” folder. Layers
  5. Two layers of interest are “road-shields-white” and “road-shields-black”. The former is for shields that have white text, such as for Interstate highways and California state highways, while the latter is for shields that have black text, including most states’ highway shields. For this style, select “road-shields-black”. (You can also click on the roads on the map to select these layers.)
  6. In the flyout for this layer, switch to the Icon tab and note that the Image property is set to {shield}-{reflen}. Mapbox GL fills in the shield and reflen tokens so that a three-digit state route gets the us-state-3 shield. Now switch to the “Select data” tab. The lengthy filter ensures that the layer doesn’t rope in any roads whose shields should have white text. The map highlights the ways that remain. These are the state routes you want to style. The filters beforehand Data on the map
  7. At the top of the layer list, click the Duplicate button and name the new layer “road-shields-state-black”. Duplicate
  8. In the new layer’s “Select data” tab, delete the existing shield filter. Replace it with one that includes a shield that “is any of” us-state. Then add another filter for an iso_3166_2 that “is any of” US-OH, US-KY, or US-IN. The resulting filters
  9. Back in the Style tab, in the Icon tab, change {shield}-{reflen} to {shield}-{reflen}-{iso_3166_2}. You’ll be adding icons with names like us-state-3-US-OH. (Alternatively, you could create a separate layer for each state, but more layers means more maintenance overhead and possibly worse performance.)
  10. Uh-oh: where previously there were generic state route shields on the map, now there are only numbers. Missing shields Click the “{}” button on this text field to open the icon manager flyout. The style already has a lot of icons, including highway shields for many countries. Icon manager flyout Click the “Add SVG Images” button and upload a roughly 20×20 SVG image for each state-reflen combination you want to support. If you’re looking for inspiration, here are some existing SVG route shield sets that you could adapt in Inkscape or Adobe Illustrator (MUTCD-compliant iconography is in the public domain, but note that some designs may be trademarked):
    • Shield templates from the 2013 shield renderer – Remove the text span from each image before use. Mapbox GL will superimpose the route number onto the shield. You can customize the number’s styling in Studio.
    • Shield blanks from Wikimedia Commons – You may want to remove the black background from many of these images. The black background improves visibility for reassurance markers, but it’s unnecessary when the shield is merely a “sticker” on a map.
    • Some crude images I made based on a few of the Wikimedia Commons images above
  11. After uploading the images, you should see them in the flyout, and the map should now show state-specific shields. Uploaded icons Shields fixed Finally, click the Publish button at the top of the left sidebar to make your changes public.

As seen on TV

I encourage you to check out Interstate. The map starts out at the Ohio-Kentucky-Indiana tripoint, so you can see the special style rules in action. Unlike the 2013 shield renderer, Interstate is the real deal: it’s served from production servers, ready to be embedded in a Web, desktop, or mobile application. (But please create your own copy using the instructions above instead of hotlinking this demonstration style.)

An example of what an iOS navigation application would look like using the Interstate style, the Mapbox iOS SDK, and the OSRM-powered Mapbox Directions API.

It’s worth noting that the ref tag isn’t just for renderers: OSRM includes the ref of each way along the route, so that a turn-by-turn navigation application can announce “Turn left onto SR 4.” If locals don’t refer to the highway as “OH 4”, neither should the voice announcement.

The ISO 3166-2 codes exposed by Mapbox Streets partly decouple the ref tag’s format from the visual output. This frees up the ref tag to reflect the notation that’s used by humans and verifiable “on the ground”, rather than some arbitrary standard enforced for the benefit of renderers. The sooner we wean renderers off their dependence on specific ref tag patterns, the sooner we can expect renderers to support route relations. I can’t wait for that day to arrive.

Tagging: single values vs. value lists vs. separate keys

Posted by BushmanK on 25 July 2016 in English (English)

Ongoing voting on Education 2.0 proposal have demonstrated, that some OSM members don't understand the situation with multiple properties. I was a kind of surprised by this lack of understanding, since it is already explained in Wiki, so I want to explain it one more time.


  1. Single value stands for key=value case, for example: man_made=tower
  2. Value list stands for semicolon-separated list of values, for example: sport=basketball;volleyball
  3. Separate keys stand for multiple binary keys for each property, for example: sport:basketball=yes, sport:volleyball=yes

Case (1) is the most simple and traditional in OSM. However, if certain feature uses this tagging style, its value becomes exclusive, which means, there can be only one value. And for certain features it's completely acceptable, because, for example, man-made structure can't be a mast and a tower in the same time.

Case (2) was, probably, the first way to find a workaround for non-exclusive values. It's a straightforward way for those cases, when properties are non-exclusive, which means, certain object can have several properties of one feature. Just like in example above, a pitch could be used for playing basketball and volleyball.

Case (3) is, at first glance, similar to (2). And some people think that it's only a different tagging style. Indeed, it allows to represent the same situation, but with separate keys (tags) instead of value list in one tag, so semantically it doesn't have any advantage. It even looks more complicated, because its structure actually consists of three elements, not two: namespace:subkey=boolean_value, where namespace equals to key in case (2), subkey equals to each value from list in case (2) and boolean_value is just yes or no (in case of no, the whole tag is omitted).

Technical side

But the thing is, OSM is a database. Which means, those tags we using are actually data structures. And data structures should be usable. There is a whole applied science on that topic - data architecture. So, if you've never heard about it or you don't know what exactly it stands for, please, read an article about it in Wikipedia (link is above).

From the point of view of general public, there is no semantic advantage of method (3) over method (2). But there is huge advantage from the point of view of data architecture. That is why method (2) is strongly discouraged for the most cases, except only a few of them, as it is more or less clearly described in Semi-colon value separator article. In simple words, semicolon separator is usually acceptable for those cases, where value list contains a list of strings (portions of free text), used for labels or descriptions, not properties. In more technical words, where these strings from lists are not used for querying objects for any purpose, including subsetting data, applying rendering style, etc. It includes complex text structures such as lane tagging or opening hours, meant for deeper parsing by design.

Why value lists are so bad for querying? It's simple, it's all about performance and having known predictable data structures. Having something like sport=basketball;volleyball from case (2), to work with it, software needs to break it down first and to store resulting list somewhere in memory. Before it starts doing that, it should first determine, how many elements are in list. While in case of (1) and (3), number of operations is smaller and there is nothing unpredictable, since namespace:subkey always breaks into known number of strings (even if subkey is compound, like subkey:sub-subkey - usually we don't have to care about it, it can be processed as a single string) with predictable order.

There is another technological reason: OSM uses XML-style "attribute=value" constructs, therefore, it's quite logical to be able to use tools, intended for working with XML, such as query languages, frameworks and so on. And usually, these tools are not intended for dealing with values comprised by lists (by technical reasons explained above). While methods (1) and (3) are perfectly compatible with general XML ecosystem.

Anyone can easily get some experience and compare methods (2) and (3) by writing an example of Overpass API (significant part of OSM ecosystem) query for both cases, given in definitions section above: sport=basketball;volleyball and sport:basketball=yes, sport:volleyball=yes. Imagine that you need to select all pitches with both these properties. I can guarantee you, that method (2) will require utilizing CPU-hungry regular expressions, which will inevitably reduce query performance.


Voters on Education 2.0 proposal have expressed certain objections to method (3) I want to address directly.

... semicolon-separated lists are much more concise and therefore easier.

Easier for what? For reading - maybe (if such list is very short), but not for any technical purpose, including tagging preset development, editor interface development and so on.

... it's just an aversion to semicolon-separated values. I understand that this is a proposal by Russians, and some Russians such as XXzme have expressed their aversion to semicolon-separated values. I respect their opinion, but I have the opposite opinion, sorry.

No, it's logic, not an aversion. Read everything above. And it's not "another opinion". Opinion is a view, not necessarily based on facts or logic, however, logic behind preferable use of method (3) is explained both in Semi-colon value separator article and in this diary entry. If someone finds it false, feel free to point on it. Otherwise, you have an aversion, based on personal preference, which doesn't have to be respected, since it contradicts reasonable requirements to tagging schemes.

... you cannot model the whole world in a key:*=yes ontology, ...

That's actually classic demagogy - to say, that your opponent said something false (which he didn't) and to prove it's false to discredit him. Nobody claimed that it's possible and/or necessary to use method (3) to model the whole word (it's another piece of demagogy - incorrect universal quantification). If someone thinks, that collision of exclusive properties will never occur for certain feature, it's okay to point on it and explain, why method (1) is acceptable. But using demagogy usually reveals lack of real argumentation.

... that ridicules the key=value scheme in OSM

How exactly? Again, method (3) is actually recommended by OSM documentation in Semi-colon value separator article. And it is technologically much closer to method (1) than method (2) is.


Tagging method with separate subkeys and Boolean values is an effective part of tagging system. It doesn't replace other methods completely and nobody claims that it does. For cases, where any chance of collision between exclusive values exists, it's the only effective method. Value list method is equivalent to it only semantically, but it's inferior to it in technical aspects of data architecture, performance, usability. Usability for mappers strongly depends on tools: complex schemes are rarely used in fully manual manner - plugins, presets and other tools helping people to use it, therefore, it doesn't really matter, how exactly these tags look.

And the last thing. Being a part of OSM project for several years, I've heard many references to national features, like "in this country, we do it this way". But I've never seen anyone making general references to any nation in negative connotation, like it happened in one of comments to opposing vote on Education 2.0 proposal. Indeed, there are several members of Russian community, including myself and Xxzme (notoriously famous for his Wiki activity, but who has no connection to this proposal) mentioned in that comment, who trying to promote separate keys method for cases, where collision of properties can occur and who from time to time criticizing legacy tagging methods.

But shouldn't judgment be based on what is said and its logic instead of who said that or other personal features? I really hope, opposite thing will never happen again.

I Ask for a #3 Buzzcut & This is What I Got!

Posted by alexkemp on 25 July 2016 in English (English)

the author, shaven!

I got a very welcome invitation to go see my grandchild Ollie's final performance at his Junior School (playing Jim-lad in Treasure Island). The family live in Ware, Herts SG12 and the map was house-free; no houses had been added in Ware at all. That was going to change!

The invitation was last-minute (the performance was the following day) and I wanted to look my best. The folks that did my hair were at the bottom of Donkey Hill, whilst I lived at the top. It was 30℃ heat, but this was important, so I walked down to them. The shop was still there, and so was all the equipment, but none of the staff. They had moved to Albany House Day Service (up and over the hill & across the ridge then halfway down the other side).

When I got to Albany House they eventually told me that the hair folks only attended on Wednesdays (the day after the performance). I trudged back up the road to a hairdresser on Gordon Road. Lou (next door) told me that she only attends by appointment. I was now seriously cheesed off.

By this point I was on a mission. My next-door neighbour Ruth was worried by my request, but agreed to use my shaver to give my scalp a #3 buzz-cut. It's what I use to give my beard a #1 trim. It's not really designed for head-hair, but at 66 I don't have too much left up there anyway.

Ruth did the best she could with an imperfect tool. Then I made my mistake: I had a chat with the neighbour opposite. He turned out to have the proper commercial shaver (from Argos, he said) and offered to “level the uneven cut”. Like the fool I am, I agreed; he shaved me, but without using any spacer (it was a #0 trim). I realised only afterwards when I saw the spots of blood on my scalp. Oh dear.

The following day was 34℃ heat and the air-con in the car clearly needs a service. My grandchildren & daughter-in-law-ex were amused by my scalping. Naturally, Ollie was fantastic in his lead role.

It was far too hot to do any surveying, but I did some anyway. An 82-year-old lady that I met told me that the area where they live was called King George Fields (and was all fields) between the last 2 wars. She was born into a recently-built house. George V was King & Emperor (6 May 1910 — 20 January 1936) of ⅓ of the peoples of the Earth, and the roads, the park & the allotments were named & dedicated after him. In fact, even the local Postbox is from his era (‘GR’: “George Regina”) (although the local Post Office is long gone):—

SG12 120

A hundred+ houses now decorate the map within Ware, and will be extended as/when/if I get more invitations.

Location: Ware CP, East Hertfordshire, Hertfordshire, East of England, England, United Kingdom


Posted by CA Steve on 24 July 2016 in English (English)

Update information for Old Hunt Rd/ACR 5270

Sunset Reflections and Water Ripples

Posted by Zabot on 24 July 2016 in English (English)

Sunset Ripples Here's another update, now you can see the reflections of the sky in the water, and the water is nice and wavy, but you may notice that the sky has turned into a box. There's still some kinks to work out, but the technique of drawing a cubemap of the sky and using it to calculate what is reflected maps quite well onto buildings. Once the creases are ironed out (literally), reflections of the rest of the world should follow smoothly.

The Challenge of Creating the Big Map of Sibiu

Posted by HermannstadtGeographer on 24 July 2016 in English (English)

Sibiu is definitely not a small city. Sibiu was the only city from Romania that has gained the title of European Capital of Culture but in a remarkable twist of fate, the city does not even have a hardcore OpenStreetMap community. This is quite shocking for a city that has its own Geographic research institute. However things are about to change as I have challenged myself to create the Big Map of Sibiu.

The Big Map of Sibiu is nothing more than an average OpenStreetMap but there is a big difference because every house will be placed on the map and the map will have a high richness in terms of detail. My plan is to create a map that abounds in details and that can be even better than the OpenStreetMap of Paris. Moreover, I have even created a personal website dedicated to the OpenStreetMap community of Sibiu (unfortunately the local community has only one member up until now). The website is called Hermannstadt Cartographic Laboratory

Hermannstadt is the old city name of Sibiu and I believe that this name suits the idea of a laboratory quite well. Of course that some of you may ask why did I created this laboratory instead of creating an average community website. The idea is that the community needs a place where they can have the latest and greatest information about OSM and I want to assist the community through this knowledge. Moreover, given the fact that in Romania we have limited financial resources, the best way to map our cities is by sharing knowledge to remote OSM contributors. I must admit that this job is not easy but I enjoy it a lot since I have the opportunity to learn a plethora of things about OSM. I am absolutely fascinated about the detailed graphics of OpenStreetMap and I love the uniqueness of the design.

This fantastic map that I am going to design is going to be of great use for the Red Cross and for the local fire department. I read about the recent developments regarding the OpenFireMap and I want my city to be safe when it comes to a disastrous fire. I will not start to map every fire hydrant but I will first add every single address and point of interest.

I truly hope that my mapping effort will inspire others to map as well. Mapping is important and it is a skill that you need to develop. The more you map, the easier it gets and if you practice long enough you will soon map entire cities in days. Every single house that you place on a map will be there for a very long time. Every tree that you place will also be there. While everything is static, your effort is dynamic and as time goes by details get richer and richer and more lives are saved and more people enjoy an easier life due to your crucial effort.

As a civilization we are at a point where we need to realize that we can simply not put a price on place and time. After discovering the fact that there is nobody else available that can map out my city I took the full responsibility to do it alone. I have decided to quit my job, stop going out in town and I have invested all of my effort into OpenStreetMap because I truly believe in the fantastic power of this free and open map.

Mapping an entire city all alone is not easy but is definitely worth it. I want to be part of the pioneers of open source mapping and I am proud to be part of this community. I am proud to be part of a community of people that is dedicated towards making the world a better place, a place where nobody can get lost, a place where you know exactly where you are and a world where life can be easier for all of us.

As of today, progress is going really well and I am trying to map out about 3 streets every day. Things are smooth and I am sure that by the end of the year I will also manage to map up some nearby towns as well. I have this big plan of mapping the entire county in 2 years and I am quite confident in my ability and I hope that I will be able to map it faster. This is all that I have to share for now, I will be back with more updates on The Big Map of Sibiu.

Getting started

Posted by christianstorer on 24 July 2016 in English (English)

Learning how to edit; started adding some of my local subdivision. Looking for confirmation of tagging and techniques.

The map is a fractal

Posted by Minh Nguyen on 24 July 2016 in English (English)

I spent this morning watching live online transcripts of State of the Map U.S. roll in. (What a time to be alive!) Each year, there’s a talk or lightning talk that looks to the future. Alan McConchie’s talk today imagines the project’s possible trajectories, both good and bad. The eventual outcome may end up being some combination of Alan’s scenarios: a ghost town in some respects, a garden in other respects, a Borgesian map in Germany even.

In most of my eight years armchair-mapping for OpenStreetMap, I’ve stayed pretty close to where I started: in my hometown of Cincinnati, Ohio, in the United States. At some point, especially after moving across the country to Silicon Valley, I must’ve imagined that I’d eventually map Cincinnati to completion and move on to other, less well-tended areas. But that never happened. Instead, I found myself mapping the same places over and over again, even as my interests expanded to neighboring counties and states.

To me, OpenStreetMap behaves like a fractal: the beautiful structure in mathematics that gets more intricate the longer you stare at it.

Koch snowflake
Koch snowflake, António Miguel de Campos, public domain

Iteration 0

Koch snowflake iteration 0
Koch snowflake iteration 0, Wrtlprnft, public domain

The zeroth iteration, back in 2008, was tracing Yahoo! Aerial Imagery in Potlatch 1. Despite having tons of free time back then, the best I could do with the tools I had was:

  • Realigning TIGER-imported roads to Yahoo!’s blurry imagery
  • Dividing TIGER-imported freeways into dual carriageways, reclassifying them above highway=residential, and adding them to relations
  • Removing “(historical)” GNIS-imported schools and post offices or retagging them as historical=yes
  • Adding misshapen buildings (because Potlatch didn’t have a right-angle tool) that looked OK at z17
  • Tracing river centerlines
  • Delineating golf courses and cemeteries

Iteration 1

Koch snowflake iteration 1
Koch snowflake iteration 1, Wrtlprnft, public domain

When the first iteration began sometime in 2010, allowing me to trace Bing aerial imagery in Potlatch 2, any area I mapped had to meet a higher standard. But I also couldn’t help but go back and retrofit the old areas – areas I cared about most – to meet this higher standard too:

  • Realigning hand-drawn buildings to have right angles and look OK at z18
  • Adding cul-de-sacs and crosswalks
  • Adding soccer fields and tennis courts
  • Tracing riverbanks and wooded creeks
  • Tracing the paths in golf courses and cemeteries
  • Expanding the network of high-voltage power lines
  • Aligning county boundaries to better follow road and river centerlines

Iteration 2

Koch snowflake iteration 2
Koch snowflake iteration 2, Wrtlprnft, public domain

Roughly each year since then, Bing and Mapbox have provided ever sharper imagery for the area, and that imagery has revealed just how much the world changes on a regular basis. Again I had to retrofit my original areas of interest:

  • Adding traffic lights and alleys
  • Adding new wings to industrial buildings as they expand
  • Deleting houses as they’re torn down in urban renewal programs
  • Replacing farmland with residential subdivisions
  • Delineating and naming residential and retail developments
  • Aligning city limits to changes in road pavement quality

Meanwhile, the community grew alongside the map. People with very different interests than me built up bicycle infrastructure, identified countless coffee shops, filled in the map’s background with land use polygons, and even cleaned up the buildings I’d previously drawn.

Iteration 3

Koch snowflake iteration 3
Koch snowflake iteration 3, Wrtlprnft, public domain

These days, newer tools like iD and Mapillary mean so much more source material to map and so many more tempting presets to make use of:

  • Realigning hand-drawn buildings to look OK at z19 and counting their floors
  • Naming businesses that never would’ve caught my attention while field surveying
  • Entering lane counts, speed limits, and turn restrictions
  • Adding sidewalks, crosswalks, and driveways
  • Adding backyard swimming pools
  • Tracing drainage ditches

Bots, crowdsourcing tools like MapRoulette, and paid mappers are present, too, taking care of basic upkeep so fractal mappers like me can focus on the next level of detail.

The next iterations

Koch snowflake iteration 7
Koch snowflake iteration 7, Wrtlprnft, public domain

Today at State of the Map U.S., there’s talk of mapping curbs and verges, of tracing “road banks” the way we started tracing riverbanks in iteration 1, of using 3D building data in ways that’ll probably require ever granular measurements. Machine learning is taking the gruntwork out of armchair mapping, freeing us to map even more creatively.

Each time I embark on a new iteration of the fractal, I get much the same overwhelming feeling that I got when I first opened Potlatch 1 back in 2008. It’s like we’re starting from scratch, filling in data we didn’t expect to ever care about, except the tools are right here to support us.

Whatever the future appearance of OpenStreetMap and its community, the full potential is, fittingly, a version of the coastline paradox. Unlike Borges’ map, OpenStreetMap’s fractal remains the same size but its complexity, accuracy, and precision keeps increasing. As new organizations and technologies push ordinary field and armchair mappers like me out of manual tasks we used to perform, we continue to push the boundaries of what can be mapped, what can be articulated about the world.

Great Britain’s coastline
Great Britain’s coastline, measured at decreasing scale but increasing complexity, Alexandre Van de Sande, GFDL 1.2 or CC BY-SA 3.0

Did Lynne Truss Live Here?

Posted by alexkemp on 23 July 2016 in English (English)

Carnarvon Grove comma

Lynne Truss, for those who do not know or have heard of her, is an English humourist & writer who has a particular obsession with the importance of punctuation. She once stood outside of a shop (I believe that it was in London) with a comma on the end of a stick, holding it up at the place that it was missing from text on the front of the shop. Wonderful; I empathise deeply.

I'm a couple of weeks behind in uploading my surveying; this was in Carnarvon Grove in Carlton and, although it may not be the case, I fantasised that perhaps someone bought the house without a comma and, being infected with the same obsession as Lynne (and myself) could not stop themselves from adding it.

Added Sunday 24 July:

This next housename-plaque also (hopefully) has correct punctuation, which is my miserable excuse for placing it here. However, mostly I'm putting it in because I like it; I think of it as an exemplar in the art of house-names & can join other street-art that I've already documented: stone lions; floral display; leaded lights 1; leaded lights 2 + squirrel; plaster boys & girls; leaded lights 3; Bill & Ben + a Silver Salamander; potted displays; house art; brick porn:


Location: Arnold and Carlton (unparished), Gedling, Nottinghamshire, East Midlands, England, United Kingdom
Older Entries | Newer Entries