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 haveclass
orid
specified. Unless marked asinvisible
the 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 aboundary
element into regions.region
– the shape is not shown but instead its properties are applied to the enclosing geometric region obtained by sub-dividing aboundary
shape.siblings
– the shape’sclass
property is applied to all siblings within the parent group that do not haveclass
specified.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
,invisible
andregion
directives.assigning a common class using to siblings using the
sibling
directive.
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 ID
then mapping data is taken from subsequent rows otherwise the worksheet is ignored.A shape’s
class
is used as the key into thePower point identifier
column to obtain a preferred anatomical identifier for the shape.If no
Preferred ID
is 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
.