What's Changed
A. Theme-specific changes
1. Base
- Add new `infrastructure` feature type.
- Numerous updates to documentary SQL to update OpenStreetMap to Overture class mappings.
- Update documentary SQL query to rename `class` → `subtype` and `subclass` → `class`, to keep them aligned with recent schema structural changes.
- Add new subtype for `land` feature type: `desert`.
- Add new classes for `land` feature type: `cave_entrance`, `desert`, `island`, `islet`, `mountain_range`, `plateau`, `peninsula`, `saddle`, `stone`.
- Add new subtypes for `land_use` feature type: `grass`, `pedestrian`
- Add new classes for `land_use` feature type: `beach_resort`, `graveyard`, `pedestrian`, `plaza`.
- Add new subtypes for `water` feature type: `spring`
- Add new classes for `water` feature type: `bay`, `blowhole`, `geyser`, `hot_spring`, `sea`, `spring`, `waterfall`.
- Rename water class `fish_pond` to `fishpond`.
3. Buildings
- Rename `part` feature type to `building_part`. This is to responsive to a recent decision that feature type names (*e.g.* land, building, connector, *etc.*) will be globally unique. While `part` was already globally unique, we felt it was so generic it stood a high probability of generating a naming conflict in the future, so we qualified it.
- Add `min_floor` property for buildings and building parts.
- Update documentary SQL to improve some OpenStreetMap to Overture building class mappings. OSM tag `building=parking` is now classed as `transportation`.
- Tidy up obsolete class mapping files.
4. Divisions
- Add reference documentation for *divisions* theme schema. Note that *divisions* is replacing the now-deprecated *admins* theme.
5. Transportation
- Lift road segment `class` up from road property to be a top level property. This is to increase consistency across the theme schemas.
- Rename `at` property for geometric scoping/linearly referenced ranges to `between`. This is to allow `at` to be used later to indicate point LR, rather than range LR.
- Push `during` property for temporal scoping down under `when` clause. This is to unblock future addition of an `except` scoping clause at the same level as `when` that allows further refinement of scopes.
- Correct issues with scoping schema. This is a big structural change that should fix remaining Parquet-blocking mixed type issues and also conceptual issues within the transportation schema, including:
1. Adding temporal scoping support to lane block model.
2. Removing the option to have a flat lane block that's not participating in an array of lane block rules.
4. Fixing scoping support for speed limit rules, including adding support for heading (forward/backward) and vehicle scoping to speed limits, and generally aligning ensuring the schema is aligned with generated data.
6. Fixing a conceptual issue where vehicle properties (length/width/height/weight) within vehicle scopes did not have units.
- Fix a small bug where road width rules did not require a value.
- Push segment `level` down into the segment's `road` property and add linear referencing support for `level`. This unblocks the addition of a large amount of level data in the Overture April 2024 data release.
- Simplify `speed_limits` property so that `max_speed` and `min_speed` sub-properties use `{value:, unit:}` objects instead of arrays. The array method was tidy, but unsupported in programming environments that aren't as flexible as JSON. In particular, it was impossible to convert the transportation schema to Parquet accurately when arrays could contain mixed types. This simplification fixes that.
- Remove `reason` property from prohibited transition rules. The types of things contemplated by the `reason` property (*e.g.* gates) will be covered by separate schema updates, coming soon, that will cover features like barriers.
- Fix `min_occupancy` conceptually to be a simple scalar number attached to the lane. Previously, this property was defined in a confused/nonsensical and redundant manner.
- Add `path` road class.
B. Documentation changes
1. To decouple iteration on the documentation from iteration on the schema, we have migrated the bulk of the narrative documentation out of this (schema) repo and into a separate repo. Reference docs will remain in the schema repo.
2. Add JSON Schema `title` property in various places to improve rendering of reference documentation.
Full Changelog
**Full Changelog**: https://github.com/OvertureMaps/schema/compare/v0.9.0...v0.10.0-beta