Data & licence
Points of interest
The pins on the map are the places a landscape photographer drives to: viewpoints, summits, waterfalls, lighthouses, ruins, arches, caves, beaches, huts, trailheads and the car parks that make the rest reachable. They come from OpenStreetMap, they are under ODbL 1.0, and so is the database made from them.
Celeris carries them itself because the map it draws them on does not.
MapKit has a point of interest layer, and on the hybrid style — the
satellite imagery this app plans against — it draws none of these:
MKPointOfInterestCategory has no viewpoint, no summit, no
waterfall and no lighthouse, which are the four things the app is mostly
about. So the places travel as data, one small file per degree of ground,
fetched once when the crosshair moves into a region that has been built and
kept on the device afterwards.
Where they come from, and what was changed
The places are derived from OpenStreetMap, © OpenStreetMap contributors. Four things were done to them:
- Filtered — to eleven kinds of place worth photographing, listed in the table below. Everything else in the survey was dropped.
- Scored — each place carries a rank from 0 to 255, worked out at build time from its kind and its tags: a summit's height, a waterfall's drop, whether it is named, whether anyone wrote an encyclopaedia article about it. The app draws the best sixty in frame, so the rank is what decides which sixty.
- Bucketed — into cells of one degree, each holding its places in rank order. There is no pyramid of zoom levels: a viewpoint is a viewpoint at any zoom, and what changes with the zoom is only how many of them there is room to draw.
- Compressed — raw deflate, so a densely covered alpine degree comes to something on the order of a hundred kilobytes.
The source is available under the Open Database License (ODbL) 1.0, and so is this derived database.
Download the derived database
The archive below is the complete machine-readable database offered under ODbL 1.0. It contains the manifest and every degree cell in the production data set as at August 2026.
The archive includes a byte-identical copy of the production manifest and every cell it names. It is replaced when the published database changes.
The manifest
manifest.json carries three keys. format is the
version of the cell format below. licence repeats the terms —
licence, attribution, obligations and a link to the source — so that a copy
of the cells found anywhere still says what it is. coverage is
a bitmap of the degree cells that have been built: 180 rows of 360 columns,
one bit each, 8100 bytes, base64. The bit for the cell whose south west
corner sits at a whole degree is number
(latitude + 90) × 360 + (longitude + 180),
counted from the least significant bit of the first byte upwards. Where it
is set, the file exists.
How a cell is named
After its south west corner: N or S and two
digits of latitude, then E or W and three digits
of longitude. The degree holding the Karwendel is N47E011, and
its file in the archive is cells/N47E011.cpoi.
It is the same name the elevation tiles and the Copernicus deliveries use,
so a degree of ground has one name across the whole project.
The file format
A cell begins with ten bytes in the clear: the four bytes CPO1,
a format version byte, the latitude of the south west corner as a signed
8-bit integer, its longitude as a signed 16-bit integer, and the number of
places as an unsigned 16-bit integer. Everything after that is raw deflate,
no zlib header. Unpacked it is that many records end to end, highest rank
first: a kind byte, a rank byte, the latitude and the longitude as
unsigned 24-bit offsets north and east of the corner in tenths of a
microdegree, the height above sea level in metres as a signed 16-bit
integer — −32768 where the survey carried none — a length byte, and that
many bytes of UTF-8 holding the name. Everything is little endian. A record
says how long it is, so a cell can be walked from the front without an
index, and a nameless place costs eleven bytes.
| Kind | What it is |
|---|---|
0 | Viewpoint |
1 | Summit |
2 | Waterfall |
3 | Lighthouse |
4 | Castle, fort or ruin |
5 | Arch, stack or free-standing rock |
6 | Cave entrance |
7 | Beach |
8 | Mountain hut or shelter |
9 | Trailhead |
10 | Car park |
The kind numbers are the wire format and are never renumbered: a phone holding last month's cached cells would otherwise read every pin as the wrong thing.
Licence
OpenStreetMap is available under the Open Database License (ODbL) 1.0, and these cells are a derivative database, so share-alike applies to them and not merely attribution. Anyone redistributing the cells, modified or not, has to do so under ODbL 1.0 and carry the attribution © OpenStreetMap contributors. Anything that merely displays them — a map with these pins on it — is a Produced Work and owes the attribution alone.
Those terms travel in the archive's manifest.json,
README.txt and LICENSE.txt as well as standing
here. The full copyright notice of the project the data come from is at
openstreetmap.org/copyright.
The other data Celeris carries have pages of their own: the star catalogue, the time zone boundaries and the elevation data.
The orbital elements the space station is drawn from have no page, because nothing about them is changed: they are read exactly as CelesTrak publishes them.