-
Couldn't load subscription status.
- Fork 5
Metadata schema for atlascope‐v2
An Atlascope instance represents the configuration necessary for a single Atlascope installation to initialize itself. The instance metadata is located in the required file /src/config/instance.json.
The instance.json file depends on a historic layers footprints file, which points to spatial metadata used to load atlas layers.
Finally, the historicLayersFootprintsFile points to individual TileJSON files that contain a field for the XYZ tiles where atlas layers are hosted.
All of these keys are required components of the instance.json file except for coverageDescriptiveList.
An example instance.json file can be found here: https://github.com/bplmaps/atlascope-v2/blob/main/src/config/instance.json
| Key | Type | Description |
|---|---|---|
name |
String | Name of host city |
tagline |
String | Tagline for instance |
geographicCoverage |
String | Common language description of area covered |
institutionalShortName |
String | Maintaining institution name |
institutionalCredit |
String | Common language institutional credit |
defaultStartLocation |
Object | Object that configures starting location |
historicLayersFootprintsFile |
String (URL) | Fully-qualified URL to a GeoJSON file with the extents of each historic layer |
referenceLayers |
Array | Array defining base layers for initialization |
baseURL |
String (URL) | Base URL of the deployed instance |
coverageDescriptiveList |
Array | Optional array for places of interest, stored as an object with keys of name and center
|
| Key | Type | Description |
|---|---|---|
name |
String | Common language start name |
center |
Array | Center of start location |
zoom |
Integer | Zoom level |
overlayLayerId |
String |
id of atlas overlay for initialization |
baseLayerId |
String |
id of base map for initialization |
An example array for the referenceLayers value can be found here: https://github.com/bplmaps/atlascope-v2/blob/main/src/config/instance.json#L25
The key historicLayersFootprintsFile must have a value of a GeoJSON file endpoint consisting of Polygon or MultiPolygon objects, each of which should be the outer extent of a single atlas layer’s coverage. Each object should have the following properties
| Key | Type | Required | Description |
|---|---|---|---|
identifier |
String | Yes | A unique, opaque identifier for the layer |
publisherShort |
String | No | A truncated version of the publisher |
year |
Integer | Yes | Year which is primarily depicted by atlas layer |
bibliographicEntry |
String (Markdown) | No | Full bibliographic entry in the preferred format, in Markdown |
source |
Object | Yes | Link to the map source as an object with keys type and url
|
catalogPermalink |
String (URL) | No | Permalink to the catalog record |
heldBy |
Array | No | Array of text names of institution/s holding the map |
plateGeometryFile |
String (URL) | No | Link to a file containing information about geometry and name for each plate within the atlas |
fallbackTitle |
String | No | Optional fallback title if not using year as the listing in the drop-down menu |
fallbackSubtitle |
String | No | Optional fallback subtitle if not using publisherShort as the subtitle in the drop-down menu |
sponsors |
Array | No | Array of sponsors for the map, stored as object with keys name and url
|
This file should be saved as {name}-volume-extents.geojson; e.g., in Atlascope Boston, the historic layers footprints file is saved as boston-volume-extents.geojson.
An example historicLayersFootprintsFile can be found here: https://s3.us-east-2.wasabisys.com/urbanatlases/extents/boston-volume-extents.geojson
The key source of historicLayersFootprintsFile must have a value of an object containing at least the type and url keys as described below:
| Key | Type | Required | Description | Example Value |
|---|---|---|---|---|
type |
String | Yes | One of "tilejson", "xyz" | "tilejson" |
url |
String | Yes | URL endpoint | "https://s3.us-east-2.wasabisys.com/urbanatlases/als97ccxx/tileset.json" |
hidden |
Boolean | No | ??? | No |
The historic footprints layers file loads atlas layers as XYZ tiles through individual TileJSON files (usually saved as tileset.json). Atlascope Boston follows the TileJSON 2.2.0 specification.
An example TileJSON formatted for Atlascope can be found here: https://s3.us-east-2.wasabisys.com/urbanatlases/al7rtfm98/tileset.json
| Key | Type | Required | Description |
|---|---|---|---|
tilejson |
String | Yes | The version of the TileJSON specification used |
name |
String | Yes | The name of the layer |
description |
String | Yes | A string value describing the layer |
version |
String | Yes | The version number of the layer |
attribution |
String | Yes | Attribution information |
scheme |
String | Yes | A string value indicating the tile scheme used (e.g., "xyz") |
tiles |
Array | Yes | An array containing the XYZ tile endpoint of this layer |
data |
Array | Yes | An array containing the endpoint of the plates.geojson file |
minzoom |
Integer | Yes | The minimum zoom level at which this layer is available |
maxzoom |
Integer | Yes | The maximum zoom level at which this layer is available |
bounds |
Array | Yes | An array containing bounding box lat/long derived from plates.geojson file |
Each atlas should also have its own plates.geojson (typically saved somewhere in the same Wasabi directory, and linked to from the plateGeometryFile property in the footprints file) that describes the geometry of each plate, and information about the plate. Usually this can be the very same "topology" file which is used during the georeferencing process. It should contain Polygons or MultiPolygons, each of which describes the boundaries of a single plate, and with the following properties
| Key | Type | Required | Description |
|---|---|---|---|
identifier |
String | Yes | Suffixed from the identifier key of the entire atlas. e.g., ark:/50959/tt44pv907/26 or ark:/50959/tt44pv907/26a
|
name |
String | Yes | Human-readable plate name, e.g., "Plate 26" |
imageUri |
String | No | Stable IIIF Image API identifier for this item |
allmapsMapID |
String | No | Allmaps map ID |
digitalCollectionsPermalinkPlate |
String | No | URI to the plate in digital collections if available at the plate level |
An example plate extents file can be downloaded here: https://s3.us-east-2.wasabisys.com/urbanatlases/als97ccxx/plates.geojson"
identifier required string: Suffixed from the identifier key of the entire atlas. For instance, if the identifier required string: for the atlas was ark:/50959/tt44pv907, then plate 26 could be ark:/50959/tt44pv907/26
- For plates containing multiple maps, the suffix will follow a numbering convention in which individuals numbers are suffixed with, e.g.,
../1a,../1b - Letters should be assigned alphabetically from left to right, according to the order in which maps appear on an atlas plate
name required string: human readable plate name, e.g. “Plate 26”
imageUri string: stable IIIF Image API identifier for this item (e.g., https://iiif.digitalcommonwealth.org/iiif/2/commonwealth:1r66mq13h)
allmapsMapID string: Allmaps map ID
digitalCollectionsPermalinkPlate string: if available at the plate level, URI to the plate in digital collections