-
Notifications
You must be signed in to change notification settings - Fork 10
/
config-met.yml
213 lines (180 loc) · 9.86 KB
/
config-met.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# The name of the app; this will be the unique identifier and path of the app, e.g. localhost:2222/apps/amnh/
name: met
# Site metadta to be used in the meta tags and introduction screen
title: "Collectionscope Demo: The Met Open Access"
titleFormatted: "Collection<strong>scope</strong> Demo:<br /><small>The Met Open Access</small>" # May contain HTML
description: Explore the Met's collections across time and space.
introductionText: There are over <strong>40,000 objects</strong> on display at <a href="https://www.metmuseum.org/" target="_blank">The Met</a> at any given time, but this is only <strong>2 percent</strong> of the Museum’s collections! Where are these objects from? When were they added to The Met’s collection? And why were they chosen? Let’s explore.
# May contain HTML
creditText: The <a href="https://amnh-sciviz.github.io/collectionscope/" target="_blank">CollectionScope Tool</a> is a part of the Knight Foundation's <a href="https://knightfoundation.org/press/releases/shaping-the-future-of-technology-in-museums-knight-invests-750000-in-five-experiments-using-immersive-technology-in-the-arts/" target="_blank">Immersive Technology in the Arts Fund</a> # May contain HTML
credits:
- name: American Museum of Natural History
url: https://amnh.org/
image: ../../img/amnh_logo.png # this path is relative to your /apps/{your project}/index.html file
- name: Knight Foundation
url: https://knightfoundation.org/
image: ../../img/knight_logo.png
#################################
# Define your meta data source
#################################
# this can be an absolute path or a path relative to the `make_app.py` script
# you can download this sample data here: https://www.dropbox.com/s/241lb77p6baojkh/Met_Objects_2021-03-24.csv?dl=1
# and place it in the ./data/ folder
metadataFile: data/Met_Objects_2021-03-24.csv
# Basic query for filtering out metadata if applicable; comment this out or leave blank if you want all the data
# Supports the following: =, !=, <, >, <=, >=, CONTAINS, EXCLUDES, EXISTS, AND, OR
# Examples:
# Year >= 1900 AND Year <= 2000
# Description CONTAINS Portrait OR Description CONTAINS Figure
# Image EXISTS True AND Image != no image
# String conditions are case-insensitve
# Parentheses currently not supported
metadataFilterQuery: "Filename EXISTS True" # This will only show rows with image filenames
# column that contains a unique identifier for each item
identifierColumn: Object ID
#################################
# Dates
#################################
# If you data has a date column, enter it here, otherwise comment it out
# Note that this can be a date string in any format as long as the year is 4-digits within the valid year range
# For example '1979', '1979-01-01', 'January 1, 1979' are all valid, while '1/1/79' is not valid since the year is ambiguous.
# Regular expressions will be used to extract the year automatically, so the format doesn't need to be consistent
dateColumn: AccessionYear
dateLabel: Accession Year # name of this date for displaying to the user
# If there is a valid range of years for date, enter it here, otherwise comment it out.
# Entries with invalid dates will be removed
minimumYear: 1600
maximumYear: 2050
#################################
# Location
#################################
# Latitude and longitude values as floats are required for location-based visualization
# E.g. NYC would have latitude 40.674239442221605 and longitude -74.02503271185628
# If you do not have lat/lon values but have countries, states, cities, and/or addresses,
# there is a script for geocoding these: see `scripts/geocode_locations.py`
# if you used this process, "Latitude" and "Longitude" columns should have automatically been added
# Entries with invalid or missing Lat/Lon will be excluded
latitudeColumn: Latitude
longitudeColumn: Longitude
# Country column is used for labelling countries in the map view; comment out or ignore if not applicable
countryColumn: Country
# This is the map that will be used for the map view
baseMap: ../../img/world_map.png # path is relative to your /apps/{your project}/index.html file
# And the map used for the map key in the map view
baseMapKey: ../../img/world_map_key.png # path is relative to your /apps/{your project}/index.html file
#################################
# Group by
#################################
# This column will be used to group the items in different ways; ideally this would be somewhere between 3 and 12 unique groups
# E.g. "Object type", "Subject", "Era", etc
# If there are a large number of resulting groups, excess groups can be combined into an "Other" group which is configurable below
groupByColumn: Department
groupLabel: Department # the name of this column for displaying to the user
groupLimit: 8 # the maximum number of groups; if greater than this number, the last group will be "Other" (combination of all remainder groups); you can disable this in the next parameter
showOtherGroup: true # if number of groups exceeds the group limit above, combine the remaining groups into an "Other" group; if false, disregard remaining groups
otherLabel: Other # what to call the "Other" group if applicable
# Each group will be assigned a color for use in the UI
groupColors:
- "#7aa030"
- "#726aa4"
- "#d37200"
- "#d6a900"
- "#529c99"
- "#b13734"
- "#1f3c90"
- "#5a0661"
#################################
# Item details
#################################
# These are arbitrary fields that will be displayed to the user when they select an item
# Comment any of these out if they are not applicable
# Entries with blank or null values will not be displayed
itemFields:
- column: Title
isTitle: true # titles will be displayed as headings
- column: Link Resource
label: View item details # labels support string formatting, e.g. View {Title}
isLink: true # links will look like a button and hyperlink to a new window/tab
- column: primaryImageSmall
isImage: true # images will be embedded in the page, so larger images will negaively impact the user experience since it will take longer to load
- column: Object Number
label: Object Number
- column: Department
label: Department
- column: AccessionYear
label: Accession Year
- column: Country
label: Country of origin
- column: Artist Display Name
label: Artist
- column: Medium
label: Medium
- column: Dimensions
label: Dimensions
- column: Classification
label: Classification
- column: Credit Line
label: Credit
#################################
# Images
#################################
# It is assumed you have all of the item images somewhere accessible from the computer you are
# running the scripts from. If the images are somewhere else and accessible by URL, you
# can run the following script for downloading these somewhere locally: `scripts/download_images.py`
# If you have a column in your .csv file that has the name of the image file, put it here.
# Note if you ran `scripts/download_images.py`, this filename has been added to your .csv file
# Alternatively you can define a format string, e.g. "{OtherColumnName}.jpg" (where "OtherColumnName"
# is the name of an existing column in the .csv file)
filenameColumn: Filename
# Path to where the images are stored; again, you can use a format string based on existing column names
# this can be an absolute path or a path relative to the `make_app.py` script
imageDirectory: "F:/collectionscope/met/"
# do images have a transparency value? (i.e. PNG images)
imageHasAlpha: false
# if image filename contains this value, treat it as if there's no image
noImageValue: ""
# color of item if no image is present
defaultColor: "#3C3C3C"
#################################
# Visualizations
#################################
# This app currently supports a number of different visualizations. All of them are enabled by default
# and you can customize or comment out any one that is not applicable to you.
# Don't edit these if you want to see the default visualizations (recommended)
visualizations:
# This places items randomly within a sphere
randomSphere:
radius: 8192 # increase this number to make less dense
# This stacks item on top of a map; this will be disabled if no "latitudeColumn/longitudeColumn" fields are set above
geographyBars:
mapWidth: 8192 # increase this to make the map larger
barHeight: 2048 # increase this to make the bars taller
# This places the items along a "tunnel" organized by time; this will be disabled if no "dateColumn" field is set above
timelineTunnel:
radius: 256 # increase this to make the tunnel wider
depthPerYear: 400 # increase this to make the tunnel longer
# Places items along "tracks" based on "groupBy" categories along a timeline
timelineTracks:
trackWidth: 180 # width per each track; increase to make the tracks wider
depthPerYear: 400 # increase this to make the tracks longer
trackHeight: 512 # increase this to make the tunnel wider
#################################
# User interface
#################################
# You can mostly leave these alone, but update these values to customize the user interface
labels:
# these are the labels of the years for the `timelineTunnel` and `timelineTracks` views
yearFontSize: 24
yearFontThickness: 4
# these are the labels for each group in `timelineTracks` view
groupFontSize: 16
groupFontThickness: 1
# these are the labels of the countries in the `geographyBars` view
countryFontSize: 12
countryFontThickness: 1
animation:
startTransitionDuration: 5000 # The initial fade in duration
transitionDuration: 3000 # The amount of time to transition between views
componentTransitionDuration: 500 # How long components like labels and overlays should fade in/out
zoomInTransitionDuration: 2000 # How long it takes ot zoom when user selects an item
minAlpha: 0.0 # the transparency of inactive items (not visible by default)