Why not ask your question on the new OpenStreetMap Community Forum?

Hi everyone!

First of all, I am a beginner at using OpenStreetMap for development purposes. Now, I am being involved in a project where we would like to have the planet map for offline usage due to limited or no internet connection.

So, we are considering to self-host an OpenStreetMap Tile Server locally on our HMI touchscreen device using this approach described here, by running a docker image. And feed our Qt application on a touchscreen device with map data through the local self-hosted tile server and update data when it's possible with a better internet connection.

However, our HMI touchscreen device has limited hardware capabilities and I am really concerned about this step where we have to import .osm.pbf raw data into PostgreSQL. Since we want to load the planet map the importing time and resources can be extremely high and this is a big problem during first-time device installation.

Is there a tool to filter or shrink the planet map .osm.pbf file size? For example to discard information about places, streets, and side roads, since we are mainly interested in cities, ports, airports, and highways? And also apply a range of specific zoom levels to be exported? Or do you have any idea for a different strategy, such as first-time importing data into PostgreSQL on a more powerful machine and then copy final docker volume on target devices?


asked 25 Jun '21, 12:48

pc_pacman's gravatar image

accept rate: 0%

A bit more info on the specifications of the "HMI touchscreen device" you're trying to use would be helpful, and also what zoom levels, what geographical area you want to cover and what map style you're planning to use.

If it's really limited then a different approach (perhaps using vector tiles, as is often done for phone-based map apps) might be a better one.

(25 Jun '21, 13:01) SomeoneElse ♦

A different approach using vector tiles how it can be achieved? Any helpful guide and initial reference?

Below you can find more info about the device and specs.

Hardware Requirements of our HMI touchscreen device:

CPU: Intel® Pentium® QuadCore N4200 GPU Graphics: Intel® HD Graphics Memory 4GB DDR4 non-ECC (max. 8GB) Storage: Industrial 128GB SSD

Geographical area: the whole planet since we may need to display points anywhere in the planet map

Zoom Level: Preferred range of zoom levels from 2 to 16.

Map Style: we can start with the basic style and later it's under discussion to select a different map style

(25 Jun '21, 14:40) pc_pacman

If you need the planet in z2-16, that hardware specs is nowhere able to help you out with raster tiles.

You may have a look at openmaptiles.org for vector tiles but I'd strongly recommend to not render anything on that hardware, be it vector or raster.

And even if you would render the raster tiles elsewhere, 128gb is not sufficient to save all those tiles. That might be different with vector tiles w/ reduced data/information and overzooming used.

(25 Jun '21, 19:08) Spiekerooger

Is there a tool to filter or shrink the planet map .osm.pbf file size? For example to discard information about places, streets, and side roads, since we are mainly interested in cities, ports, airports, and highways?

You can use osmium for this, using the tags-filter option.

permanent link

answered 25 Jun '21, 22:20

mvexel's gravatar image

accept rate: 0%

I started working with osmium using the tags-filter and it seems that can help me shrinking the planet map file size. Now, I am trying to find all the suitable filter expressions for what should be excluded. Do you think by shrinking the .osm.pbf and using vector tiles instead of raster that it could be possible to load the planet map in offline mode on the device specs mentioned?

(28 Jun '21, 13:16) pc_pacman
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 25 Jun '21, 12:48

question was seen: 1,001 times

last updated: 28 Jun '21, 13:16

powered by OSQA