Some hints to create a list like this:
Way 31981987 [highway=residential, mkgmap:admin_level10=Schönwalde I, mkgmap:admin_level2=DEU, mkgmap:admin_level4=Mecklenburg-Vorpommern, mkgmap:admin_level6=Landkreis Vorpommern-Greifswald, mkgmap:admin_level8=Greifswald, mkgmap:city=Greifswald, mkgmap:country=DEU, mkgmap:postal_code=17491, mkgmap:postcode=17491, mkgmap:region=Mecklenburg-Vorpommern, mkgmap:residential=yes, name=Joliot-Curie-Straße]
Way 285741470 [highway=service, mkgmap:admin_level2=DEU, mkgmap:admin_level4=Mecklenburg-Vorpommern, mkgmap:admin_level6=Landkreis Vorpommern-Greifswald, mkgmap:admin_level7=Anklam-Land, mkgmap:admin_level8=Neetzow-Liepen, mkgmap:admin_level9=Neetzow, mkgmap:city=Neetzow-Liepen, mkgmap:country=DEU, mkgmap:postal_code=17391, mkgmap:postcode=17391, mkgmap:region=Mecklenburg-Vorpommern, mkgmap:residential=yes, name=Am Schlosspark, oneway=no]
For mkgmap you need Java 1.8 or later, splitter, mkgmap and bounds.zip
and enough disk space for the list (it will be 1G - 1.5G)
The latter can be downloaded here:
http://www.mkgmap.org.uk/download/mkgmap.html
http://www.mkgmap.org.uk/download/splitter.html
Next, download germany.osm.pbf ,e.g from geofabrik:
http://download.geofabrik.de/europe/germany-latest.osm.pbf
- Create a directory, e.g. e:\citylist
- Now, unzip mkgmap and splitter in this directory
- copy bounds.zip into this directory
- make sure that Java Runtime 1.8 or later is installed
change to the directory and execute splitter with a command like this:
java -Xmx4G -jar splitter-r591\splitter.jar --output=pbf --max-nodes=2000000 --write-kml=splitter.kml f:\osm\germany-latest.osm.pbf > spliter.log
This will run a few minutes. In the meantime you can create a so called style.
For your purpose this is very simple. The mkgmap package contains an example style called default.
(citylist\mkgmap-r4143\examples\styles\default )
Create a copy of the directory , name it e.g. style_citylist
Change to the directory of the copy, remove these files :
points, polygons ,options, and relations
Next, open the file lines in an editor and replace the content by these two lines:
include 'inc/address';
highway=* & name=* & mkgmap:city=* {echotags ""}
The echotags function tells mkgmap to print one line for each way with highway=* and a name tag to stderr.
When splitter has finished its work you should find several files in directory citylist.
Change to that dir and use this command to produce the list:
cd \citylist
java -Xmx6G -jar mkgmap-r4143\mkgmap.jar --style-file=mkgmap-r4143\examples\styles\style_citylist --bounds=bounds.zip --max-jobs -c template.args 2> citylist.txt
Now, be patient. I suggest to test this with a smaller input, e.g. the file for bremen.
The list contains a lot more tags than needed. I assume you are able to filter what you need.
edit: list size