Shape Markup¶
The mapmaker tools processes shapes defined either in SVG files or Powerpoint slides to generate a set of GeoJSON features which are converted to Mapbox vector tiles. The id (SVG) or name (Powerpoint) of shapes can contain textual markup, which along with JSON files, determines how resulting features are generated, styled, and annotated.
Shapes¶
Statements about shapes on a Powerpoint slide are made using the name field, accessible from PowerPoint’s Selection Pane. Statements are used to specify properties of a feature for map generation, for specifying RDF annotation, and for constructing additional features based on the geometry of a group of shapes.
Statements are identified by the name field having a period (.) as the first character, and consist of a white-space separated list of directives.
Directives either have the form DIRECTIVE_NAME or DIRECTIVE_NAME(PARAMETER). Valid directives are:
boundary– signifies that the shape will be divided into feature regions by sibling shapes that do not haveclassoridspecified. Unless marked asinvisiblethe sibling shapes will appear in the generated map.class(CLASS)– the class of the shape, used to find the anatomical style of the generated feature.id(ID)– a unique identifier for the shape. These are mainly for connection routing but also allow for more specific annotation than that determined by a shape’s class.invisible– the shape does not show in the generated map when dividing aboundaryelement into regions.region– the shape is not shown but instead its properties are applied to the enclosing geometric region obtained by sub-dividing aboundaryshape.siblings– the shape’sclassproperty is applied to all siblings within the parent group that do not haveclassspecified.style(STYLE)– a property that can be used to modify the style of the feature.
Groups¶
A PowerPoint slide supports hierarchical grouping of shapes and groups. The group hierarchy as such is ignored when generating a map – the resulting map’s features are a flattened view of the slide’s shapes. A group of shapes is only significant for:
constructing features from a shape and its siblings, using the
boundary,invisibleandregiondirectives.assigning a common class using to siblings using the
siblingdirective.
Anatomical mapping file¶
Initial version¶
Excel spreadsheet:
All worksheets of a workbook are read. If the first row of a worksheet has cells containing
Power point identifier,Preferred ID, andUBERON IDthen mapping data is taken from subsequent rows otherwise the worksheet is ignored.A shape’s
classis used as the key into thePower point identifiercolumn to obtain a preferred anatomical identifier for the shape.If no
Preferred IDis defined then the UBERON identifier is used.The shape’s label is set from its anatomical identifier by looking up the appropriate ontology; if none is assigned then the label is set to the shape’s class.
No anatomical based styling:
the map’s background is tiled images derived from a PDF of the Powerpoint slide.
Future¶
A JSON file:
{
"classes": [
{
"class": "CLASS",
"entity": "ANATOMICAL_ID",
"label": "FALLBACK_LAYER_TEXT",
"layer": "LAYER_ID"
},
{
"class": "spinal_1",
"entity": "UBERON:999"
}
],
"features": [
{
"id": "ID",
"entity": "ANATOMICAL_ID",
"label": "FALLBACK_LAYER_TEXT"
}
]
}
Note
An ANATOMICAL_ID has the form PREFIX:SUFFIX where PREFIX specifies an
ontology and SUFFIX is specific to the ontology. Valid values for PREFIX
are FMA, ILX, MA, and UBERON.