Cities without streets

Some recent changes to the city update process caused an issue where cities that have been removed from OpenStreetMap (either due to deletion or due to edits resulting in data recreation) to have all their streets deleted in CityStrides.

I’ve since fixed that issue, but some cities might still be out there with 0 streets. In many cases, I’ve been able to correct things in CityStrides by updating its reference to the OSM data. Let me know here if you have a city with 0 streets - just share a link to the city page & I’ll look into it.

Hi James, the first two cities I mentioned here have no streets anymore. They have been merged:

Many of the cities in Latvia were affected. Based on this info, I’d guess more of Latvia is affected, but I haven’t checked beyond my own list. Here is a selection from my run log:

Hi James. Anchorage Alaska is still missing streets.


I’m working on creating the new Maashorst which replaces Uden & Landerd.

Oof … looks like Kurzeme was entirely reworked. I’ll be deleting most cities there, then reimporting the entire region.

Anchorage is being updated now.


:sweat_smile: Sorry for the mess.
Out of curiosity, does that mean the cities will be in CityStrides directly, or did you mean you will reimport the region into OSM? Just wondering how I can make map changes in the future, if need be.

I’m not sure if I’m fully understanding your question.
All of the cities will be added to CityStrides into Kurzeme, Latvija - CityStrides

It’s looking like Vidzeme, Latvija - CityStrides has been updated quite a bit, as well. It’s not as clean of a restructuring as Kurzeme, though. I’ll have to review each zero-street city individually…

As i understand it, all CityStrides info is pulled from OSM. I didn’t know if this zeroing issue was with OSM or CS, and thus where the fixing needed to get done.

I suppose the crux of my question is, if a street needs changed after the import procedure, do i still need to go to OSM to make a fix?

The issue of cities dropping down to zero streets was entirely my mistake in the CityStrides code.
I recently updated the process to be more resilient (it would occasionally leave people with incorrect percentage progress). I didn’t properly configure the new setup to fully exit the update process if no city record was found in OSM - this resulted in the update dumbly marching along and figuring that meant all the streets should be removed.

This sounds like a separate question. If a street is somehow incorrect (e.g. it’s private and not tagged that way in OSM) then yeah that edit needs to be made in OSM. Nothing has changed with the relationship between CityStrides and how it retrieves data from OSM.

The zero-street issue should no longer occur.

1 Like

Hey James, got some more in The Netherlands:

Interesting - looks like these three got combined into Relation: ‪Voorne aan Zee‬ (‪15070820‬) | OpenStreetMap

1 Like

Ah, didn’t notice that! Apparently Voorne aan Zee is a thing since january 2023.

For Vidzeme, Latvija - CityStrides … I think I should change the admin level that I bring into CityStrides.

I previously brought in admin level 6 - overpass turbo
It seems like 7 & 8 are more accurate as “cities” - overpass turbo
You’ll need to click the top left “Run” button on each page to view the map

In addition to the 7 & 8 places, I could also bring in this single admin level 6 place - Relation: ‪Rīga‬ (‪13048688‬) | OpenStreetMap

I’ll swap those out tomorrow, unless there’s objection.

Thanks James!

Hi James,

As far as I can tell, the admin levels basically control how zoomed in the boundaries become.

I would tend to agree that Admin Level 6 seems to be more regional. The only problem I see with changing to Level 7/8 is a bunch of empty space that was previously accounted for within Level 6.

How would the empty spaces in Overpass Turbo affect the CS maps, and the possibility of recording progress in those areas? (A lot of it is countryside, and not properly defined as cities, or even towns, but there still is runnable infrastructure in those areas. Something equivalent to counties in the states, perhaps.)





Looks like Latvia changed their admin structure to have fewer but larger entities Administrative divisions of Latvia before 2021 - Wikipedia

1 Like

Then Level 6 shows the administrative municipalities and large cities, and Level 7/8 seems to show the territorial units (parishes, towns, etc.) within those municipalities. But it doesn’t show them all for some reason hence the gaps on the map. Maybe the others are buried at Level 9 or higher?

There’s a great feature in the OSM website that might be helpful if you (or someone reading along) end up doing more work on this city-level effort. You can zoom into an area you’re uncertain about, right click, and choose “Query features”. This will update the left column with two lists - “Nearby features” and “Enclosing features”. The Enclosing features section will list out all the relations that contain the clicked area. It’s sorted from smallest to largest.
Sometimes this helps to show a usable city, but often it just helps to confirm that nothing has been mapped at the appropriate level.

For example, in the sparse Northern section of Relation: ‪Vidzeme‬ (‪1775823‬) | OpenStreetMap
The admin level 6 Relation: ‪Valmieras novads‬ (‪13047875‬) | OpenStreetMap contains Relation: ‪Mazsalaca‬ (‪13048880‬) | OpenStreetMap at admin level 7
We know from the 7|8 Overpass query ( overpass turbo ) that Mazsalaca stands alone, so we can pan down the map a little bit to Skankalne & use that “Query features” to see that it does have a city mapped at admin level 9 ( Relation: ‪Skaņkalne‬ (‪10373131‬) | OpenStreetMap )

Alternatively, panning up in the map until you reach Ramata - we see that it is not mapped below admin level 6 ( Query Features | OpenStreetMap )

Adding to the complexity - I can’t bulk import 7,8,9 because there’s overlap: overpass turbo (and the enclosing cities don’t seem big enough to warrant nesting these)

Relation: ‪Babītes pagasts‬ (‪13325363‬) | OpenStreetMap contains, for example, Relation: ‪Klīves‬ (‪13081154‬) | OpenStreetMap

1 Like

@JamesChevalier Then, perhaps, it is best to bulk import Levels 7 & 8 like you suggested, and also import the large city municipalities individually since they seem to be missing from Levels 7 & 8.

Large city municipalities being:
Daugavpils, Jelgava, Jūrmala, Liepāja, Rēzekne, Rīga, and Ventspils.

…if it isn’t too much hassle :melting_face:

Hi James,

My cities all look fine, although the nested “cities” all have 0 streets, for example, Playa Vista, California - CityStrides

I wasn’t sure how you were planning to handle/update these but either way it’s a minor issue, just wanted to let you know.

Thank you!

1 Like