{
  "reviewedAt": "2026-09-30",
  "scope": "Modern approximate building extrusions, not ancient reconstruction or surveyed architectural models.",
  "provider": "OpenFreeMap public instance",
  "tilejsonUrl": "https://tiles.openfreemap.org/planet/latest",
  "observedTileTemplate": "https://tiles.openfreemap.org/planet/20260913_164504_pt/{z}/{x}/{y}.pbf",
  "observedSchemaVersion": "3.16.0",
  "providerMaxZoom": 14,
  "displayMinZoom": 15,
  "sourceLayer": "building",
  "tileFields": [
    "colour",
    "hide_3d",
    "render_height",
    "render_min_height"
  ],
  "heightProvenanceAvailablePerFeature": false,
  "heightInterpretation": "render_height and render_min_height combine tagged values, floor-derived estimates and defaults. Tiles do not identify the origin; even a value of 5 m cannot be classified as a fallback from that value alone.",
  "documentedGeneratorPolicy": {
    "height": "ceil(height or building:height; otherwise levels or building:levels times 3.66; otherwise 5 m)",
    "base": "floor(min_height or building:min_height; otherwise min_level or building:min_level times 3.66; otherwise 0 m)",
    "hide3d": "Relation outlines marked hide_3d are omitted to avoid duplicating building parts.",
    "versionLimit": "Policy checked against current upstream Planetiler OpenMapTiles source; exact production generator commit is not supplied by TileJSON."
  },
  "renderPolicy": {
    "terrain": "MapLibre GL JS 5.20 uses the DEM elevation at each extrusion centroid; ground-level bases extend 10 m downward to reduce gaps on slopes. No custom elevation offset is added.",
    "height": "Use provided render height/base, clamp to non-negative values and base <= height; 5 m fallback only if tile height is missing or invalid.",
    "display": "Enabled by default; layer appears in 3D at zoom >=15; no vector source is added before the first eligible view.",
    "failure": "Hide only the building layer; base imagery and terrain stay available. Toggle off/on to retry."
  },
  "sources": [
    {
      "title": "OpenFreeMap service and attribution",
      "url": "https://openfreemap.org/"
    },
    {
      "title": "OpenFreeMap TileJSON and public tile versions",
      "url": "https://github.com/hyperknot/openfreemap/blob/main/README.md"
    },
    {
      "title": "OpenMapTiles building schema",
      "url": "https://openmaptiles.org/docs/schema/#building"
    },
    {
      "title": "Planetiler OpenMapTiles building generator",
      "url": "https://github.com/openmaptiles/planetiler-openmaptiles/blob/main/src/main/java/org/openmaptiles/layers/Building.java"
    },
    {
      "title": "MapLibre GL JS 5.20 terrain-aware extrusion shader",
      "url": "https://github.com/maplibre/maplibre-gl-js/blob/v5.20.0/src/shaders/fill_extrusion.vertex.glsl"
    },
    {
      "title": "OpenStreetMap copyright and ODbL",
      "url": "https://www.openstreetmap.org/copyright"
    }
  ],
  "attribution": "OpenFreeMap · © OpenMapTiles · © OpenStreetMap contributors",
  "sampledTiles": [
    {
      "area": "jerusalem",
      "tile": [
        14,
        9795,
        6665
      ],
      "url": "https://tiles.openfreemap.org/planet/20260913_164504_pt/14/9795/6665.pbf",
      "sha256": "55047b40c408f94c3b36379f457a104b0ae39ca340a7615c6bfdc082e4037e25",
      "featureCount": 33,
      "polygonExteriorRingCount": 4384
    },
    {
      "area": "bethlehem",
      "tile": [
        14,
        9794,
        6669
      ],
      "url": "https://tiles.openfreemap.org/planet/20260913_164504_pt/14/9794/6669.pbf",
      "sha256": "cf8fdd55e9cb891d759ab6dd4a3e68d6b215bd3fc105f252532419d623062059",
      "featureCount": 13,
      "polygonExteriorRingCount": 3505
    },
    {
      "area": "tiberias",
      "tile": [
        14,
        9809,
        6610
      ],
      "url": "https://tiles.openfreemap.org/planet/20260913_164504_pt/14/9809/6610.pbf",
      "sha256": "c8905f6d226debebd206a37d21a843f11af71f85775c537dbc2dc615988e63e2",
      "featureCount": 8,
      "polygonExteriorRingCount": 754
    }
  ],
  "limitations": [
    "One z14 tile per sampled city does not establish citywide or 50-place coverage.",
    "Merged polygon features, building parts and tile-edge fragments are not a count of real buildings.",
    "No original OSM height-vs-level-vs-default provenance is preserved in the served building fields.",
    "Footprints, heights, imagery dates and DEM elevations may disagree.",
    "No textured facades, detailed roofs, interiors or ancient reconstruction."
  ]
}
