Mapsplit is a command line Java application for splitting OSM data in pbf format into single tiles. The tool is written with a custom hashmap and bitmanipulation for an efficient and fast way to split the data in main memory. The code is open source and under public domain.
Mapsplit is used to split OSM data for 3D rendering using OSM2World. Files created with Mapsplit can also be used to provide OSM data to Vespucci as read-only data sources when there is no sufficient internet connectivity available.
The source code and prebuilt jar files can be obtained from GitHub:
- Source: https://github.com/simonpoole/mapsplit
- Releases: https://github.com/simonpoole/mapsplit/releases/
Mapsplit is reliable, however, there are still some missing features and there are still possible improvements that will be incorporated in the future. A list of things that will probably be added in the near future can be found on GitHub.
Some documentation for Mapsplit can also be found on GitHub.
As the data gets written as it's read, mapsplit needs to keep many open file descriptors. In a default linux installation a user process may typically only open 1024 files at a time. For larger input data with many changes this limit will be reached quite soon. To extend this limit edit /etc/security/limits.conf and add the following line
heinz - nofile 4096
This will allow a process run by user heinz to open 4096 at once.
In case you run of of memory use